30 ноября 2014 г.

Программа для выбора цвета Color Picker на AIR

Когда-то давно я сделал на Flash-е программу для подбора цвета. Потом даже не поленился её переписать с ActionScript 2 на ActionScript 3. И вот, наконец-то, я сделал то, что запланировал еще тогда: собрал эту программу для desktop под AIR. Сделал это по двум причинам: работающая во флеш-плейере она выглядит не эстетично и сборка под AIR добавляет возможностей, которых у Flash Player попросту нет.

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 написал специально для этой игры музыку - спасибо ему большое за это!

Надеюсь, больше у меня не возникнет желания переписывать эту игру. :)

Подробнее.