Как стать автором
Обновить
4
0
Илья @ilya3d

Backend developer

Отправить сообщение

Принцип цикады и почему он важен для веб-дизайнеров

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

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Всего голосов 696: ↑682 и ↓14+668
Комментарии119

Немного о красоте T-фракталов

Время на прочтение2 мин
Количество просмотров9.1K

В 1977 году Бенуа Мандельброт написал книгу «Фрактальная геометрия природы». В ней он подробно описал, как, руководствуясь простыми правилами, нарисовать сложный и красивый самоподобный узор. И до Мандельброта, и после, и по сей день фрактальные узоры привлекают к себе внимание математиков, программистов, художников и прочих любителей красоты.

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

Посмотреть на фракталы
Всего голосов 111: ↑107 и ↓4+103
Комментарии52

Indie Game: The Movie

Время на прочтение1 мин
Количество просмотров28K
Если честно, я удивлен, что до сих пор, на хабре, никто так и не заметил релиза этого замечательного фильма. Который состоялся почти месяц назад, 12 июня. А кто не слышал о нем, я, пожалуй, немножко расскажу:



Indie Game: The Movie — документальный фильм, рассказывающий о нелегкой судьбе разработчиков самых популярных инди-игр Braid, Super Meat Boy и Fez. Фильм о разработчиках, пожертвовавших своими деньгами, здоровьем и рассудком, что бы воплотить в жизнь свои мечты и поделиться своим творческим видением со всем миром. Однозначно стоит посмотреть, даже тем, кто не связан с разработкой игр, т.к. очень мотивирует!
Под катом трейлер и ссылки на полную версию
Всего голосов 73: ↑69 и ↓4+65
Комментарии38

О прямоугольных координатах и гексагональных сетках

Время на прочтение4 мин
Количество просмотров28K
Думаю, никому не нужно объяснять, насколько широко в играх (и не только) используются гексагональные сетки. Как для заданной шестиугольной ячейки найти координаты ее центра и вершин — достаточно очевидно. Обратное же преобразование (т.е. поиск ячейки, в которую попала данная точка с координатами x и y) уже не столь тривиально. О нём и пойдет речь в данном топике.
Читать дальше →
Всего голосов 72: ↑67 и ↓5+62
Комментарии51

Нейронные сети для чайников. Сеть Кохонена

Время на прочтение3 мин
Количество просмотров346K
В статье Нейросети для чайников. Начало автор Paul_Smith доступно показал насколько просто создать нейронную сеть для распознования картинок. Но есть одно но — то что он описал нейронной сетью не является. Перед его следующей статьей хочу рассказать вам как решить ту же задачу, но с использованием нейронной сети Кохонена.

Итак, распознавать мы будем цифры, написанные белым по черному, такие как эти:
image image image image image image
Читать дальше →
Всего голосов 107: ↑101 и ↓6+95
Комментарии61

Пишем и оптимизируем Жизнь Конуэя на JS

Время на прочтение5 мин
Количество просмотров6.5K
Обновляя недавно дизайн своего хомяка, подумал – а не сделать ли мне какую-нибудь необычную страницу с 404-й ошибкой? Поскольку в детстве я был впечатлен Жизнью Конуэя (как возможно и многие из читателей), решил её на JS и реализовать.

Казалось бы, что сложного в Жизни: если у занятой клетки 2 или 3 соседа – она остается, если у пустой ровно 3 – рождается? В этой статье я расскажу о своей оптимизации алгоритма и отрисовки на canvas-е, некоторых не очевидных моментах целочисленной/бинарной арифметики в JavaScript.

Забегая вперед, конечный результат можно увидеть тут, исходники видны там же (да еще и по лицензии CC BY).
Читать дальше →
Всего голосов 67: ↑64 и ↓3+61
Комментарии52

Прототипирование игровых проектов на Unity3d

Время на прочтение6 мин
Количество просмотров19K
Так сложилось, что вот уже год как я проживаю в холодной Финляндии. Изначально приехал сюда учиться, но последние несколько месяцев активно подыскиваю себе работу: занимался массовой рассылкой своего резюме, посетил многие ивенты/конференции, побывал в нескольких офисах разных финских геймдев-контор. Коих, к слову, тут довольно много: благо, местная International Game Developers Association (в отличии от родной, украинской) живет, здравствует и собирает народ на халявное пиво раз в месяц. Так вот, я заметил, очень многие компании (вместительностью 10-20 человек) или переходят, или уже перешли на Unity3D.

Изначально статья планировалась как философское размышление на тему баланса что_прогер_пишет/что_игрок_видит, с примесями полезных сниппетов/хинтов по работе с Unity. На самом деле, во время выполнения тестового задания в одну из компаний, ко мне внезапно нагрянула муза написать подобную статью, посему я пока не знаю, что из этого выйдет.

Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии13

В jQuery 2.0 не будет поддержки IE 6/7/8

Время на прочтение1 мин
Количество просмотров15K
Разработчики jQuery опубликовали план выпуска новых версий библиотеки.

  • jQuery 1.8: выйдет в течение месяца.
  • jQuery 1.9 (начало 2013): удаляются многие интерфейсы, устаревшие в версии 1.8; некоторые из них останутся в виде плагинов или альтернативных APIs. Поддержка IE 6/7/8 пока сохраняется.
  • jQuery 1.9.x (в течение 2013 года и далее): версия с добавлением патчей, устранением багов, поддержкой новых браузеров и т.д.
  • jQuery 2.0 (начало 2013, вскоре после 1.9): поддержка тех же APIs, что и в jQuery 1.9, но удаление «странностей» IE 6/7/8, таких как модель event’ов, “attroperties” в IE7, HTML5shim и проч.

Цель состоит в том, что 1.9 и 2.0 должны быть взаимозаменяемыми в рамках поддерживаемых наборов API. Когда выйдет jQuery 2.0, разработчики получат выбор, какую из версий использовать: нужна ли им поддержка IE 6/7/8. Версия jQuery 2.0 будет меньшего размера и с лучшей производительностью.
Читать дальше →
Всего голосов 125: ↑122 и ↓3+119
Комментарии135

Плагин, конвертирующий стили фотошопа в код css

Время на прочтение1 мин
Количество просмотров39K
Неужели у кого-то было время этим запариться!

css3ps.com

Работает как вебсервис, от того время ожидания результата работы 30 секунд.

1) Качаем плагин под нужную версию фотошопа, открываем через windows->extensions->css3ps;
2) рисуем шейп, накладываем стили, отправляем на сервер через расширение;
3) ждем 30 секунд, смотрим на результат.

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



Все работает) Фантастика.
Всего голосов 68: ↑63 и ↓5+58
Комментарии28

«Изнанка» Форума Технологий 2012: how it works

Время на прочтение7 мин
Количество просмотров5.6K
24 апреля закончился Форум технологий Mail.ru – одно из крупнейших мероприятий в России для специалистов в области Web-технологий.

По итогам осеннего Форума я рассказывал о том, как подготавливалось это событие, с какими проблемами мы сталкивались и как их решали. Продолжая традицию, расскажу об «изнанке» только что прошедшего апрельского Форума. Что же мы сделали в этом году?
Читать дальше →
Всего голосов 47: ↑35 и ↓12+23
Комментарии9

Javascript: ООП, прототипы, замыкания, «класс» Timer.js

Время на прочтение19 мин
Количество просмотров96K
Здравствуйте программисты начинающие, законченные, а также все сочувствующие. Как известно, ничто не познается так хорошо, как на собственном опыте. Главное, чтобы опыт был полезный. И в продолжении этой простой мысли я хочу предложить заняться несколькими полезными делами сразу:
  • Побеседовать на тему «ООП с человеческим лицом».
  • Разобраться с прототипами в javascript, коротко и сердито!
  • Вспомнить, что «замыкание» это не только ценный мех… удар током.
  • Написать на javascript класс Timer — этакий планировщик событий для запуска анимаций, событий, любых функций.
  • Весело провести время!

Предупреждение! Если вы не ждете от статьи ничего веселого… то ошибаетесь. Людям с пониженным чувством юмора читать… еще более рекомендуется! Ну-с, приступим…
Читать дальше →
Всего голосов 101: ↑87 и ↓14+73
Комментарии51

Создание расширения для Google Chrome

Время на прочтение8 мин
Количество просмотров118K
Тема создания расширений достаточно хорошо раскрыта в сети, есть множество статей, документации на эту тему. Но я не нашел ни одного ресурса, который бы описал процесс создания расширения от начала до конца. Я собираюсь исправить эту ситуацию, и рассказать о том как создать расширение, как хранить, читать настройки, как добавить поддержку нескольких языков.

Для работы с расширениями вам понадобится переключить канал обновлений на Dev или Beta.
Читать дальше →
Всего голосов 98: ↑93 и ↓5+88
Комментарии28

Формирование высокоуровневых признаков с помощью широкомасштабного эксперимента по обучению без учителя

Время на прочтение5 мин
Количество просмотров25K
В статье Распознавание лиц человеческим мозгом: 19 фактов, о которых должны знать исследователи компьютерного зрения упоминался экспериментальный факт: в мозге примата имеются нейроны, селективно реагирующие на изображение морды лица (человека, обезьяны и т.п.), причем средняя задержка составляет около 120 мс. Из чего в комментарии я сделал дилетантский вывод о том, что зрительный образ обрабатывается прямым распространением сигнала, и количество слоёв нейронной сети — около 12.

Предлагаю новое экспериментальное подтверждение этого факта, опубликованное concretely нашим любимым Andrew Ng.
Читать дальше →
Всего голосов 68: ↑64 и ↓4+60
Комментарии68

Выпадающее меню в панели номеров страниц Twitter Bootstrap

Время на прочтение2 мин
Количество просмотров6.7K
Вчера я делал верстку для панели с номерами страниц с использованием Twitter Bootstrap и мне потребовалось добавить туда выпадающее меню (для выбора вариантов сортировки и количества элементов на странице).



Bootstrap не содержит стандартных стилей для выпадающих меню в панели номеров страниц. Я написал свои стили для выпадающих меню, возможно, кому-то они будут полезны.

Версия .less (просто подключите вместе с twitter bootstrap)
Версия .css и пример использования
Демо

Пример использования
Всего голосов 44: ↑34 и ↓10+24
Комментарии23

5 полезных методов jQuery API, о которых вы могли не знать

Время на прочтение2 мин
Количество просмотров55K
В статье я расскажу о пяти методах jQuery, которые я нашел для себя полезными и о которых, по моим наблюдениям, мало кто знает.

Я с jQuery работаю уже около двух лет, но до недавнего времени не использовал эти методы, так как и без них можно обойтись. Но с ними может быть на много легче.
Читать дальше →
Всего голосов 131: ↑112 и ↓19+93
Комментарии68

Первый опыт разработки для Apple iOS (IP-калькулятор)

Время на прочтение3 мин
Количество просмотров5.8K


Хочу поделиться своим опытом разработки приложения для iOS (IP-калькулятор). Опыт нельзя назвать успешным, тем интереснее, и, надеюсь, полезнее будет мой пост для начинающих разработчиков.
Читать дальше →
Всего голосов 28: ↑15 и ↓13+2
Комментарии26

Пишем онлайн игру на NodeJS, Express и Socket.IO

Время на прочтение18 мин
Количество просмотров43K

Привет %habraname%!





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


Мало кто сегодня может сказать что не знает о NodeJS, последнее время о нём много говорят и пишут.
Я свой путь ознакомления с NodeJS начал полгода назад, тогда для меня это была просто интересное и новое, я и подумать не мог что уже через полгода это станет моим основным инструментом для разработки.

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

Но сейчас я чувствую в себе силы чтобы уже написать полноценный обучающий и не унылый материал от новичка до реального работающего приложения. Это будет не просто приложение, а онлайн игра с использованием самых популярных инструментов Express и Socket.IO, да-да, мультиплеер, который сможет сделать любой средне-статистический js разработчик.

О том, что такое Express и Socket.IO уже писали много где, поэтому описывать ещё раз я не буду, уделив больше внимания процессу разработки.

Для начало я хотел выбрать старые добрые танчики и хорошо что не выбрал, было бы грустно написать её вторым на хабре :)
Я решил не усложнять процесс разработки графикой и взять простую игру, так мой выбор пал на крестики-нолики, но чтобы усложнить себе задачу, было решено сделать универсально, с возможностью задать любой размер игрового поля и любое кол-во ходов для победы.

И так, решено! Начинаю делать крестики-нолики.
Читать дальше →
Всего голосов 48: ↑41 и ↓7+34
Комментарии56

Архитектура Android-приложений. Часть I — истоки

Время на прочтение8 мин
Количество просмотров110K
В этой статье мы рассмотрим архитектуру Android-приложений.

Откровенно говоря, официальную статью Google по этой теме я считаю не очень полезной. Детально отвечая на вопрос «как», она совсем не объясняет «что» и «почему». Итак, вот моя версия, и, я надеюсь, она внесёт некоторую ясность. Да, кстати, я полностью одобряю чтение статей Google, поскольку они содержат полезную информацию, повторять которую я не собираюсь.
Читать дальше →
Всего голосов 86: ↑80 и ↓6+74
Комментарии52

Минимакс на примере игры в зайца и волков

Время на прочтение11 мин
Количество просмотров89K
image Данная статья предназначена для разъяснения сути фундаментальных методов построения и оптимизации «искусственного интеллекта» для компьютерных игр (в основном антагонистических). На примере игры в зайца и волков будет рассмотрен алгоритм «Минимакс» и алгоритм его оптимизации «Альфа-бета отсечение». Помимо текстового описания, статья содержит иллюстрации, таблицы, исходники, и готовую кроссплатформенную игру с открытым кодом, в которой вы сможете посоревноваться с интеллектуальным агентом.
Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии17

Машина Тьюринга восстановлена из уплотнённого кода

Время на прочтение3 мин
Количество просмотров6.4K
День назад праздновали день рождения Тьюринга, и на сайте Гугла был дудл с джаваскриптовой машинкой Тьюринга. Уже не первый раз поисковик показывает нетривиальные и интересные скрипты, которые потом, после дня празднования, исчезают в небытие. Странно, что на странице всех дудлов о них есть немного слов, но нет работающих моделей, как, например, по рассматриваемому дудлу машины Тьюринга (UPD4 (26.06.2012, 5:20) — по этой ссылке появился живой скрипт, можно играть; но обфусцированный ещё сильнее, чем был на странице). Возможно, они где-то есть, но поиск в интернете не привёл к результату. Такое своевольное поведение стихии интернета начало надоедать, поэтому вчера я без особого напряжения и старания, но решил извлечь работающий код и попытаться им управлять.

Для этого понадобилось деобфусцировать гугловские коды страницы поиска (которую уже и поиском не назовёшь, судя по массе скриптов) и отвязать движок от родительского сайта. Получилось запустить алгоритм счётчика, который зашит в движок по умолчанию, но не работает механизм прохождения логических задач, который, судя по коду, в нём содержится, но не стартует по клику на кнопке с треугольником. Тем не менее, процентов 20 работы сделано, и не хотелось бы, чтобы она пропадала. Возможно, в другое свободное время я им займусь, а, возможно, кто-то подхватит и сделает форк с реквестом, и у него (или у нас вместе) получится запустить задания.
Восстановленные исходники
Всего голосов 84: ↑75 и ↓9+66
Комментарии30

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность