Когда-то давно я сделал на Flash-е программу для подбора цвета. Потом даже не поленился её переписать с ActionScript 2 на ActionScript 3. И вот, наконец-то, я сделал то, что запланировал еще тогда: собрал эту программу для desktop под AIR. Сделал это по двум причинам: работающая во флеш-плейере она выглядит не эстетично и сборка под AIR добавляет возможностей, которых у Flash Player попросту нет.
30 ноября 2014 г.
29 ноября 2014 г.
Способы упаковки приложений AIR для desktop
Замечательная технология AIR от Adobe позволяет собирать приложения под многие платформы (Windows, Linux, MacOS, Android, iOS и пр.). Это открывает действительно широкие возможности для дистрибуции программ. Но даже под desktop можно собрать приложение не одним способом.
4 ноября 2014 г.
Модуль выявления и обработки русской ненормативной лексики на Python
Вообще, пресечь мат (ненормативную лексику) в данных, поступающих от пользователя и никак не модерируемых — задача сложная и вряд ли решаемая. Пользователь для достижения цели (написания мата) может использовать как богатые возможности русского языка для словообразования, так и различные уловки: вставка каких-то символов между буквами, замена букв на похожие. Даже описать весь спектр возможностей — колоссальный труд. И, надо сказать, такие попытки предпринимались. Но я решил обойтись "малой кровью". Понятно, что бороться с матом сложно. Но можно помочь в модерации.
19 сентября 2014 г.
Выполнение задачи точно один раз в Celery
При количестве используемых веркеров больше одного, задача может отработать несколько раз. Порой такое поведение не нужно. И для такого случая Celery даже предлагает решение.
5 сентября 2014 г.
Основы Celery для Django
При создании некоторых web-приложений порой требуется выполнять задачи асинхронно запросу пользователя или периодически.
К первым можно, например, отнести отправку уведомлений по электронной почте. В этом случае невозможно гарантировать быструю обработку запроса. Поэтому отправку уведомления можно поместить в параллельный поток и запрос не будет зависеть от скорости этой самой отправки.
Ко вторым относятся задачи, обычно размещаемые в cron
.
И здесь на помощь как раз может придти система типа Celery — асинхронная очередь задач, основанная на передаче сообщений. Надо сказать, что Celery можно и нужно использовать не только в web-приложениях. Но здесь я расскажу о ней применительно к популярному web-фреймверку Django. Еще стоит оговориться, что я раскрою лишь малую часть системы Celery (достаточную для использования в Django), потому как её возможности достаточно велики.
16 августа 2014 г.
Пример интеграции рендерера pixi.js с Box2DJS
Интеграция физического движка Box2DJS с рендерерами совсем не сложна. Для примера можно взять популярный pixi.js.
14 августа 2014 г.
Форк от портированной версии Box2d.js
- левая кнопка мыши - таскать динамические тела
- → - следующий пример
- ← - предыдущий пример
- R - сброс примера
- S - создать сверху квадрат
- C - создать сверху круг
Знакомиться с библиотекой эмуляции физики твердых тел Box2D (в оригинале написанной на C++) начал еще с версии для Flash. Но пути IT индустрии складываются так, что Flash стремительно сдает свои позиции. Поэтому решил переметнуться в этой области к Javascript.
2 августа 2014 г.
Основы физики библиотеки Box2D
Кратенько. Для понимания в общих чертах. Движок состоит из мира. Этот мир имеет некоторые настройки для управления эмуляцией поведения абсолютно твердых тел, которыми наполнен.
3 июня 2014 г.
Thumbnailer на PHP
Хотелось лаконичного по коду, но, тем не менее, хорошо расширяемого тумбнейлера с возможностями уменьшения как вписывая в размеры, так и подрезая края. Взял PHP Gregphoto_Image за основу. Хотя, именно логику изменения размеров пришлось переписать.
23 апреля 2014 г.
Перестал работать javascript в Firefox
В один момент перестал работать js на определенном домене на ограниченном подмножестве страниц, вроде бы никак не связанных. В виртуальной машине в той же версии FF, правда под другой ОС (WinXP), js работал. У других пользователей на их машинах - работал. К сожалению, адрес домена здесь дать не смогу, потому как это песочница и извне не видна.
В панели скриптов firebug'а было написано что-то типа "На этой странице нет скриптов". Хотя в DOM они были и в исходном коде тоже. Работать js перестал, наиболее вероятно, после использования инструкции debugger для firebug. Точнее, к сожалению, сказать сложно.
2 января 2014 г.
HTML-версия игры Пятнашки
Третья версия игры Пятнашки. Первая и вторая были на Flash (на ActionScript 2, затем на ActionScript 3).
Игра стала клиент-серверной - добавил в игру общие результаты. Также пользователь Maxim Frolov написал специально для этой игры музыку - спасибо ему большое за это!
Надеюсь, больше у меня не возникнет желания переписывать эту игру. :)