Pull to refresh
0
0
Nikolai Maltsev @yandexzombie

Developer

Send message

Наследование в Backbone.js

Reading time4 min
Views14K
Коллеги, использующие Backbone.js! Вы задумывались, как работает наследование в этой библиотеке?
Знаете, как себя ведет Backbone.Model.extend({})?
И наверняка знаете и помните, что у extend два опциональных параметра: proto props и static props.
Если хотя бы на один выше заданный вопрос вы ответили отрицательно — прошу под кат.
Постараюсь порадовать пошаговым исследованием, схемками, табличками и примерами.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments1

Как сделать кроссплатформенное десктопное приложение на базе веб-технологий

Reading time15 min
Views44K


Дмитрий Дудин (xbSoftware)


Сегодня я вам расскажу про технологию nw.js, большинство слайдов моей презентации будет посвящено ей. Это технология позволяет разрабатывать десктопные приложения и писать их на html, javascript и css. Причем приложение будет кроссплатформенное — под Windows, Linux и Mac. Можно их сбилдить и они будут иметь доступ к графическому интерфейсу системы, т.е. смогут еще работать с менюшками и т.д.
Total votes 58: ↑47 and ↓11+36
Comments119

Exploring JavaScript Symbols. Symbol — новый тип данных в JavaScript

Reading time5 min
Views32K
Это первая часть про символы и их использование в JavaScript.

Новая спецификация ECMAScript (ES6) вводит дополнительный тип данных — символ (symbol). Он пополнит список уже доступных примитивных типов (string, number, boolean, null, undefined). Интересной особенностью символа по сравнению с остальными примитивными типами является то, что он единственный тип у которого нет литерала.

Для чего же нужен был дополнительный тип данных?

В JavaScript нет возможности объявить свойство объекта как приватное. Чтобы скрыть данные можно использовать замыкания, но тогда все свойства нужно объявлять в конструкторе (так как нет возможности объявить их в прототипе), к тому же они будут создаваться для каждого экземпляра, что увеличит размер используемой памяти. ECMAScript 5 предоставил возможность указать enumerable: false для свойства, что позволяет скрыть свойство от перечисления в for-in и его не будет видно в Object.keys, но для этого нужно объявлять его через конструкцию Object.defineProperty.
Читать дальше →
Total votes 46: ↑42 and ↓4+38
Comments61

Зубные щетки. Почему они быстро приходят в негодность

Reading time2 min
Views28K
Оффтоп
Небольшое отступление. Я планирую написать серию статей с лайфхаками. Но это не те лайфхаки, к которым все привыкли, типа как разжечь огонь имея лишь пластиковую бутылку или как построить квадрокоптер из двух старых миксеров. В своих статьях я попытаюсь объяснить простые вещи, с которыми мы сталкиваемся регулярно и постараюсь объяснить, как делать их более эффективно, быстро и менее затратно.

Вступление


Когда я был маленький, я часто замечал, что у моих родителей зубные щетки очень быстро становятся такими, как на картинке выше. С моей такого не происходило. И это касалось не только зубных щеток, а всех щеток в доме: для чистки ковра (обычная хозяйственная щетка), для чистки обуви, даже старого веника из прутьев. Я не придавал этому значения, ведь есть вещи намного интереснее, чем задумываться о щетках. Тогда я просто решил, что это плохие щетки.
Читать дальше →
Total votes 126: ↑64 and ↓62+2
Comments79

Фишинг через автозаполнение в Chrome (демо)

Reading time15 min
Views35K

Давно известно, что функция автозаполнения в браузере — отличный вектор атаки. Браузер с легкостью отдает любому желающему сохраненную информацию для заполнения в форм, даже если этих форм не видно. А среди сохраненной информации в профиле автозаполнения могут быть и конфиденциальные данные. Например, домашний адрес пользователя или даже данные банковской карточки. Человек не всегда хочет делиться такой информацией, вводя просто адрес электронной почты в каком-нибудь списке рассылки. А придется поделиться, если у него браузер Chrome (в Firefox фичу обещают реализовать в ближайшее время, но пока не работает).
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments17

О языке С и производительности

Reading time31 min
Views64K


Если программист хорошо знаком только с высокоуровневыми языками, например PHP, то ему не так просто освоить некоторые идеи, свойственные низкоуровневым языкам и критичные для понимания возможностей информационно-вычислительных процессов. По большей части причина в том, что в низко- и высокоуровневых языках мы решаем разные проблемы.

Но как можно считать себя профессионалом в каком-либо (высокоуровневом) языке, если даже не знаешь, как именно работает процессор, как он выполняет вычисления, эффективным ли способом? Сегодня автоматическое управление памятью становится главной проблемой в большинстве высокоуровневых языков, и многие программисты подходят к её решению без достаточной теоретической базы. Я уверен, что знание низкоуровневых процессов сильно помогает в разработке эффективных высокоуровневых программ.
Читать дальше →
Total votes 153: ↑141 and ↓12+129
Comments269

Математика в JavaScript

Reading time20 min
Views195K

Введение


Наличие чисел и числовых данных позволяет вам каким-либо образом работать с языком. Но помимо работы с арифметическими операторами в JavaScript, математические конструкции могут быть сложной задачей для новичков. По этой причине, нужно концентрироваться не на синтаксисе, а на общих математических функциях, этот список начинается с таких вещей как сортировка, округление и генерация случайных значений, этого достаточно, прежде чем углубляться в детали. Чтобы работать с математикой в JavaScript, вам достаточно иметь понятия о таких вещах как функция, операнд и оператор.

От переводчиков


Всем привет, с вами Максим Иванов и Дмитрий Сергиенков, и сегодня мы решили, что мы не будем говорить о модных и полезных штуках типа ReactJS, Angular, TypeScript и других. Сегодня мы уделим внимание математике в JavaScript. Если вам нравится математика, вы можете заниматься ей всё свободное время, но если вашей целью являются не научные изыскания, а работа программистом, математика вряд ли станет лучшим объектом для изучения.
Читать дальше →
Total votes 61: ↑55 and ↓6+49
Comments20

Приемы взятия сложных интегралов

Reading time3 min
Views41K

Интeгpaлы, чтo мoжeт быть вeceлee? Hу, вoзмoжнo нe для вcex, нo вce жe, я ужe дaвнo ничeгo нe пocтил тaкoгo cугубo мaтeмaтичecкoгo, тaк чтo пoпpoбую. Этoт пocт – пpo тo кaк бpaть «cлoжныe» интeгpaлы. Этoт пocт пoдpaзумeвaeт чтo читaтeль училcя тaки в шкoлe и знaeт тpивиaльныe пoдxoды (нaпpимep, интегрирование по частям). B пocтe мы будeм oбcуждaть тoлькo интeгpaлы Pимaнa, a нe интeгpaлы Лeбeгa-Cтилтьeca, Итo, Cкopoxoдa и тaк дaлee (xoтя я бы c удoвoльcтвиeм, чeccлoвo).


Becь этoт пocт — мaлeнькaя выбopкa peцeптoв или «пaттepнoв» кoтopыe мoжнo взять в кoпилку и пoтoм пpимeнять. Пocт peкoмeндуeтcя читaть нa high-DРI диcплee дaбы пpeдoтвpaтить глaзнoe кpoвoтeчeниe. Я пpeдупpeдил.


Если интересно...
Total votes 75: ↑66 and ↓9+57
Comments88

Настройка UEFI-загрузчика. Самое краткое руководство в мире

Reading time6 min
Views567K

Как устроена загрузка современных ОС? Как при установке системы настроить загрузку посредством UEFI, не утонув в руководствах и ничего не сломав?


Я обещал "самое краткое руководство". Вот оно:


  1. Создаём на диске таблицу разделов GPT
  2. Создаём FAT32-раздел на пару сотен мегабайт
  3. Скачиваем из интернета любой UEFI-загрузчик
    (нам нужен сам загрузчик, это один бинарный файл!)
  4. Переименовываем и кладем этот файл на созданный раздел по адресу /EFI/Boot/bootx64.efi
  5. Создаём текстовый конфиг, кладем его там, где загрузчик ожидает его увидеть
    (настройка и местоположение конфига зависят от конкретной реализации загрузчика, эта информация доступна в интернете)
  6. После перезагрузки видим меню загрузчика
    (Если на диске установлена Windows 8 или 10 — с большой вероятностью это руководство сокращается до пунктов 3 — 5.)

TL;DR не надо прописывать путь к загрузчику в новых загрузочных записях UEFI — надо файл загрузчика расположить по стандартному "пути по-умолчанию", где UEFI его найдет, и вместо загрузочного меню UEFI пользоваться меню загрузчика, которое гораздо проще и безопаснее настраивается

Читать дальше →
Total votes 52: ↑46 and ↓6+40
Comments99

Minoca OS: новая свободная операционная система

Reading time3 min
Views69K


Двое отважных разработчиков Ивэн Грин и Крис Стивенс решились на смелый шаг. Они написали с нуля совершенно новую операционную систему Minoca OS и опубликовали её исходный код под свободной лицензией GNU GPL v3.

Это 625 000 строк отлично документированного кода, преимущественно на языке программирования Си, частично на C++ и Ассемблере. Ядро ОС для x86 имеет размер около 750 КБ. С драйверами, сетевым стеком и видеобуфером свежезагруженная система использует 5−7 МБ оперативной памяти.
Читать дальше →
Total votes 72: ↑67 and ↓5+62
Comments56

[Made in Podolsk] KickBrick — фитнес-трекер для ударных видов спорта

Reading time3 min
Views12K

Осторожно: Коленно-прикладное DIY


Меня зовут Вячеслав Голицын. Об этом не принято говорить в слух, но я хочу признаться. Я занимаюсь коленно-прикладным DIY. Многие из Вас меня поймут.

А еще я люблю карате, точнее киокушинкай карате. Однажды на тренировке мы отрабатывали время реакции. Суть упражнения заключалась в том, что сзади касаются твоего плеча и ты должен ударить по груше с наименьшим временным лагом.



При более детальном изучении вопроса оказалось, что в ударных видах спорта еще в XX веке практиковались удары по световым и звуковым триггерам. Я искал готовое устройство, способное превратить любую боксерскую грушу в умную, но не нашел. А почему бы не попробовать сделать такой узко-специализированный фитнес-трекер определенной активности для боевых видов спорта? Сказано — сделано! Ну… почти…
Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments39

Dropbox — прекращение отображения в браузере HTML-контента

Reading time1 min
Views19K
Сегодня утром (01.09.2016) на мой имейл пришло письмо со следующим содержанием:

Приветствуем, username!

Сообщаем вам, что мы отменим функцию передачи контента HTML в браузере по ссылке на доступ или общую папку. 
Если вы используете ссылки на общий доступ в Dropbox для размещения файлов HTML для веб-сайта, содержание 
больше не будет отображаться в браузере.
Читать дальше →
Total votes 29: ↑23 and ↓6+17
Comments51

На всякий пожарный: полезные Live CD/USB для аварийного запуска компьютера

Reading time6 min
Views616K
Привет, Гиктаймс! Крайние меры на то и крайние, чтобы обращаться к ним из отчаяния. Поэтому даже в том случае, когда у компьютера «поехала крыша», есть вариант починить его без полной переустановки системы. Сегодня мы поговорим о загрузочных флэшках и рассмотрим простые очевидные наборы для работы с ПК «на лету».

Читать дальше →
Total votes 47: ↑37 and ↓10+27
Comments85

Как получилось, что размер Вселенной больше её возраста?

Reading time5 min
Views136K

Мы знаем, что возраст Вселенной составляет 13,8 миллиардов лет, но размер наблюдаемой Вселенной при этом – 46 миллиардов световых лет. Как это возможно?


Природа требует, чтобы мы не превышали скорость света. Всё остальноё опционально.
— Роберт Бролт

Одно из самых удивительных открытий XX века произошло благодаря изучению огромных спиральных туманностей, рассыпанных по ночному небу.



Быстро выяснилось, что эти объекты – галактики, похожие на наш Млечный путь, находящиеся в тысячах световых лет от нас. Кроме того, большая их часть двигается по направлению от нас. Что ещё более интересно, так это то, что чем дальше от нас галактика, тем (в среднем) она быстрее удаляется. Всего через несколько лет были открыты и механизм и закон, управляющие этим явлением.
Total votes 32: ↑30 and ↓2+28
Comments260

Новую ОС Fuchsia от Google скомпилировали и изучили

Reading time4 min
Views54K


Ровно неделю назад в сети появилась информация о новой операционной системе, которую разрабатывает корпорация Google. Эта ОС, в отличие от прошлых проектов компании, не основана на Linux. Fuchsia разрабатывают с нуля, взяв в качестве основы лишь (L)ittle (K)ernel и Magenta.

Изначально специалисты предположили, что новинка предназначена исключительно для «Интернета вещей». Но оказалось, что Fuchsia подходит и для установки на полноценные рабочие станции. Так что это все-таки за проект и зачем он нужен? Ситуацию немного прояснил Гэри Симс (Gary Sims), скомпилировавший и изучивший особенности этой операционной системы.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments23

Кубинский CDN

Reading time5 min
Views37K

Состоятельные кубинцы подключаются к интернету через один из редких публичных хотспотов. Фото: Джон Грэм-Камминг

Английский программист Джон Грэм-Камминг (John Graham-Cumming) рассказал о своём удивительном путешествии на Кубу. Говорят, что в этой стране можно познакомиться с девушкой за пару долларов, а прожить целый месяц за 10-20 долларов. Однако интернет на Кубе очень дорогой. Во всей стране всего 175 публичных точек доступа WiFi, где медленный интернет тарифицируется по 2 конвертируемых песо за час работы (конвертируемый песо заменяет доллар и равен ему). Есть также мобильный интернет по цене 1 конвертируемый песо ($1) за мегабайт. Карты для доступа WiFi продаются строго по паспорту в государственных отделениях связи, хотя можно купить их на чёрном рынке анонимно по цене в полтора раза выше (или обменять на иностранную футболку, такие вещи очень ценятся на Кубе). Но это рискованно и грозит тюремным заключением.
Читать дальше →
Total votes 48: ↑42 and ↓6+36
Comments244

Лучшие эмуляторы игровых консолей для Linux

Reading time8 min
Views63K


Представляю третью часть подборки по эмуляторам игровых приставок. В первой части собраны наиболее популярные эмуляторы под Android. Во второй части — эмуляторы под Windows. А сейчас — эмуляторы приставок под Linux. Как и в предыдущих двух частях, здесь собраны проверенные временем и пользователями программы.

Если в подборку случайно что-то не попало, пишите об этом в комментариях. Пропущенный эмулятор будет добавлен в основной материал.
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments20

Физика в мире животных: электрический угорь и его «энергостанция»

Reading time4 min
Views92K

Электрический угорь (Источник: youtube)

Рыба вида электрический угорь (Electrophorus electricus) — единственный представитель рода электрических угрей (Electrophorus). Встречается он в ряде приток среднего и нижнего течения Амазонки. Размер тела рыбы достигает 2,5 метра в длину, а вес — 20 кг. Питается электрический угорь рыбой, земноводными, если повезет — птицами или мелкими млекопитающими. Ученые изучают электрического угря десятки (если не сотни) лет, но только сейчас начали проясняться некоторые особенности строения его тела и ряда органов.

Причем способность вырабатывать электричество — не единственная необычная черта электрического угря. К примеру, дышит он атмосферным воздухом. Это возможно благодаря большому количеству особого вида ткани ротовой полости, пронизанной кровеносными сосудами. Для дыхания угрю нужно каждые 15 минут всплывать к поверхности. Из воды кислород брать он не может, поскольку обитает он в очень мутных и мелких водоемах, где очень мало кислорода. Но, конечно, главная отличительная черта электрического угря — это его электрические органы.
Total votes 40: ↑40 and ↓0+40
Comments36

Omega2: самый маленький в мире микрокомпьютер с Linux и Wi-Fi

Reading time2 min
Views64K


«Интернет вещей» все плотнее входит в нашу жизнь. Конечно, разработчики не могут обойти своим вниманием столь бурно развивающуюся сферу. Но для того, чтобы создавать соотвествующие разработки, необходимы надежные инструменты. Одним из них может стать одноплатник Omega2. Его создатели позиционируют свой микрокомпьютер под управлением Linux как самый маленький в мире. На «борту» микрокомпьютера есть модуль Wi-Fi, а стоимость всей системы — всего $5.

На Kickstarter этот проект уже давно собрал нужную сумму. Она многократно превышена — вместо $15000 собрано уже $307471. И хотя до конца сборов еще 11 дней, вероятность того, что девайс вскоре попадет к заказчикам и в магазины, очень велика.
Читать дальше →
Total votes 37: ↑28 and ↓9+19
Comments88
1
23 ...

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Registered
Activity