Pull to refresh
20
0
Виктор Пасынок @Binjo

Front-end developer

Send message

Houdini: один из самых впечатляющих проектов в CSS, о котором вы никогда не слышали

Reading time 11 min
Views 61K


Бывало ли у вас так, что хотелось использовать какую-нибудь фичу из стандарта CSS, но вы этого не делали, потому что она поддерживается не всеми браузерами? Или ещё хуже: её поддерживают все браузеры, но поддержка глючная, противоречивая или вообще несовместимая? Наверняка вы с таким сталкивались, и поэтому рекомендую вам присмотреться к Houdini.

Это новая рабочая группа W3C, которой поставлена амбициозная задача — навсегда решить описанную выше проблему. Сделать это планируется с помощью нового набора API, который впервые даст разработчикам возможность самостоятельно расширять CSS, а также предоставит инструменты для подключения к процессу создания макета и применения стилей в ходе работы браузерного движка.

Но что конкретно кроется за этими обещаниями? Это хотя бы хорошая затея? И как всё вышесказанное поможет нам, разработчикам, создавать сайты сегодня и завтра?

На все эти вопросы я постараюсь дать ответы. Но сначала внесу ясность относительно актуальных сегодняшних проблем и необходимости их решения. А затем уже мы поговорим о том, как Houdini может нам с ними помочь, и рассмотрим ряд его наиболее впечатляющих возможностей, находящихся в процессе разработки. И в завершение я внесу ряд предложений, как сообщество разработчиков может помочь реализоваться проекту Houdini.
Читать дальше →
Total votes 48: ↑45 and ↓3 +42
Comments 26

Нейронные сети на JS. Создавая сеть с нуля

Reading time 8 min
Views 90K

КПДВ про нейронные сети


Нейронные сети сейчас в тренде. Каждый день мы читаем про то, как они учатся писать комментарии в интернете, торговаться на рынках, обрабатывать фотографии. Список бесконечен. Когда я впервые посмотрел на масштаб кода, который приводит это в движение, я был напуган и хотел больше не видеть эти исходники.


Но врожденные любознательность и энтузиазм довели меня до того, что я стал одним из разработчиков Synaptic — проекта фреймворка для построения нейронных сетей на JS с 3к+ звезд на GitHub. Сейчас мы с автором фреймворка занимаемся созданием Synaptic 2.0 с ускорением на GPU и WebWorker-ах и с поддержкой почти всех основных фич любого приличного NN-фреймворка.


В итоге оказалось, что нейронные сети — это несложно, они работают на достаточно простых принципах, которые несложно понять и воспроизвести. Самая трудная задача — это обучение, но для этого почти всегда пользуются готовыми алгоритмами, а скопировать их не очень сложно.
Доказать это просто. Ниже в статье реализация нейронной сети с нуля без каких-либо библиотек.

Читать дальше →
Total votes 53: ↑51 and ↓2 +49
Comments 43

Git Wizardry

Reading time 17 min
Views 448K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.

Читать дальше →
Total votes 89: ↑66 and ↓23 +43
Comments 76

Опыт выбора и заказа iBeacon

Reading time 6 min
Views 62K
iBeacon, анонсированная Apple в недавнем прошлом технология микро-навигации и микро-позиционирования. iBeacon представляет собой небольшой (размером с монету) девайс, выполняющий функцию маяка. Конкретнее, транслирует через Bluetooth Low Energy сигнал со своим уникальным идентификатором. Сигнал маяка обнаруживается смартфоном с возможностью определения расстояния до него. Дальность обнаружения в зависимости от модели маяка достигает 50-70 метров. Маяк работает автономно от батарейки, которой хватит от полугода до двух, а то и до трех лет.

Возможные области применения ограничены только фантазией:
  • in-door навигация в торговых центрах, на выставках и конференциях;
  • in-place информация и специальные предложения для посетителей торговых сетей;
  • смартфон — экскурсовод в музеях;
  • смартфон — ключ от квартиры, автомобиля, номера в гостинице или пропуск в офис.

Вдохновившись этими перспективами, я решил параллельно с маркетинговым анализом «пощупать» технологию своими руками, и заказал несколько пробных экземпляров.

Читать дальше →
Total votes 36: ↑35 and ↓1 +34
Comments 21

Анимации на GPU: делаем это правильно

Reading time 20 min
Views 54K

Думаю, все уже знают, что современные браузеры умеют рисовать некоторые части страницы на GPU. Особенно это заметно на анимациях. Например, анимация, сделанная с помощью CSS-свойства transform выглядит гораздо приятнее и плавнее, чем анимация, сделанная через top/left. Однако на вопрос «как правильно делать анимации на GPU?» обычно отвечают что-то вроде «используй transform: translateZ(0) или will-change: transform». Эти свойства уже стали чем-то вроде zoom: 1 для IE6 (если вы понимаете, о чём я ;) для подготовки слоя для анимации на GPU или композиции (compositing), как это предпочитают называть разработчики браузеров.


Однако очень часто анимации, которые красиво и плавно работали на простых демках, вдруг неожиданно начинают тормозить на готовом сайте, вызывают различные визуальные артефакты или, того хуже, приводят к крэшу браузера. Почему так происходит? Как с этим бороться? Давайте попробуем разобраться в этой статье.

Total votes 78: ↑78 and ↓0 +78
Comments 26

Information

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