Архив

Архив раздела ‘Coding’

Алгоритм кратчайшего пути шахматной фигуры

11 января 2018 4 комментария

Недавно мне понадобилось решить задачу поиска кратчайшего пути с клетки A в клетку B алгоритмически, и реализовать это программно. «Наверняка это уже тысячу раз кто-то делал и в интернете полно готовых решений». — подумал я, и каково же было мое разочарование… Несколько дней поисков ничего конкретного не дали. Максимум, что удалось найти, это упоминание, что решить данную задачу можно используя теорию графов и алгоритмом поиска в ширину (BFS — breadth first search). В этой статье я попробую подробно разобрать данный способ нахождения кратчайшего пути шахматных фигур с примерами кода и пояснениями.
Читать далее…

Categories: Coding Tags: , , , ,

Cocos2d-JS: загрузить внешние аудио файлы и javascript код

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

Читать далее…

Categories: Coding Tags: , , ,

OS X: Показать рабочий стол (аналог Win-D)

Давно мне не давало покоя отсутствие функции Скрыть все окна в Mac OS X. Почему это так важно для меня? Я чувствую дискомфорт от нагромождения окон на экране, или если в браузере открыта бесконечная куча вкладок, или ярлыков на рабочем столе тьма тьмущая, у меня все это вызывает приступы паники. Чтобы максимально сосредоточить внимание на конкретной задаче, мне нужно, чтоб на экране было не более трех окон. Прошло уже 5 лет, как я мигрировал с Windows, и все это время я пользовался убогим воркэраундом — Скрыть остальные (Option-Cmd-H) в меню приложений. Сегодня же я нашел и осуществил вполне себе достойный способ скрыть все окна одним кликом мыши. Сейчас расскажу, как мне удалось это сделать.

Читать далее…

Categories: Apple, Coding Tags:

Преобразовать двоичный plist в XML

Периодически возникает задача преобразовать plist файл из бинарного представления обратно в XML. Возникает эта задача как правило тогда, когда нужно из IPA архива извлечь plist файл проекта и посмотреть, что у него внутри. Это затруднено тем, что сборщик IPA (утилита xcrun) упаковывает все, что только можно, чтобы уменьшить размер приложения, и вероятно это ускоряет запуск приложения. Решил раз на пятый это дело скинуть себе в блог, чтоб не искать каждый раз мучительно.
Читать далее…

Categories: Apple, Coding Tags: , , , , ,

HexLauncher: быстрый запуск приложений в Mac OS X

5 апреля 2015 9 комментариев

История создания данного продукта возвращает меня на 5 лет назад во времена, когда я только начал входить в мир Apple технологий, а именно — мигрировать на операционную систему Mac OS X. Как и для многих пенреход был связан с некоторыми неудобставми из-за отсутствия привычных программ и элементов управления системой. Одним из недоразуменей стало отсутствие аналога кнопки Пуск для запуска программ путем выбора из списка. Честно говоря, до сих пор не уверен, что я правильно запускаю программы в OS X (для этого я использую Spotlight). И вот, спустя несколько лет я решил устранить этот недостаток.
Читать далее…

+(AppStore *) Timera: создай свое окно во времени

Настала пора поведать общественности о моем скромном участии в интересном и перспективном проекте с весьма оригинальным названием Timera (от слов time и camera). По удачному стечению обстоятельств я пребывал в активной фазе поисков новых гаризонтов развития в тот самый момент, когда руководство стартапа искало кандидата на вакансию iOS-разработчика. Суть проекта довольно проста — ее визуальное представление можно видеть на главной иллюстрации к посту (изображение кликабельно). Пользователю представляется инструмент для создания временнОго туннеля путем совмещения фотографии из прошлого с фотографией, сделанной камерой смартфона. Идея мне очень понравилась и я незамедлительно начал интегрироваться в процесс разработки, в ходе которого пришлось столкнуться и преодолеть немало сложных и интересных задач. Читать далее…

Утиная Охота: одной загадкой меньше

13 ноября 2013 1 комментарий

Давненько не обновлял блог, материала как всегда полно, но собрать что-то воедино и запостить руки не доходят. Сегодня я хотел бы написать мини-пост с элементами мемуаринга о том, что недавно на этом свете для меня стало одной загадкой меньше. Речь пойдет о приложении Duck Hunt для легендарного девайса Dendy.
Dendy — восьмибитная телевизионная приставка, клон японской Nintendo Entertainment System, подключалась к телевизору обычным коаксиальным кабелем, после чего видеосигнал настраивался на одном из каналов. Приложения запускались с помощью сменных картриджей, которые из себя представляли по сути печатную плату с микросхемой ROM, хранящий код приложения. Читать далее…

Подготовка Apple Push Notification SSL сертификата

Сегодня хотел бы записать на память один нетривиальный процесс, касающийся внедрения механизма Apple Push Notification Service, который осуществляет рассылку коротких сообщений на устройства пользователей приложений в AppStore. И хотел бы я записать последовательность действий, производимых при создании и установки SSL Push Certificate, без которого не будет работать серверная часть, рассылающая пуши. Также если останется место, напишу, как реализовать самый простецкий push-сервер на php. Сама функция Push Notification очень полезна для оповещения пользователей о новых событиях в системе. Такие монстры, как Skype, Google, WhatsApp используют технологию push, чтобы осуществлять вызов абонентов или уведомлять о новых сообщениях на манер, как это делает стандартное приложение PhoneApp. Читать далее…

Мультиязычный Zend Framework и WordPress

Как же долго я не мог себя заставить начать двигаться в направлении реализации мультиязычности на своем сайте… Эта задача оставалась нереализованной на протяжении двух лет. Обусловлено это по большей части тем, что движок сайта собственноручный, основанный на Zend Framework. Много раз я пытался подступиться к решению проблемы локализации Zend Framework, но ничего достойного никак не находилось. На официальном ресурсе (zendframework.ru) есть целая ветка форума, но там я тоже не нашел для себя идеального решения. В итоге, пришлось собирать его из разных источников. И вот, что в итоге получилось. Читать далее…

Categories: Coding, Блог Tags: , ,

Цветной UIImage из черно-белого изображения

19 ноября 2012 1 комментарий

Долгое время не мог подступиться к одной проблеме, которая то и дело периодически всплывала. В очередной раз я твердо решил, что мириться с таким положением дел не представляется более возможным и в очередной раз приступил к исследованиям. А проблема в следующем. Предположим, имеется в наличие монохромная картинка (например, иконка звезды для кнопки Избранные), а также некий каркас приложения, который реализует использование скинов (кастомизация пользовательского интерфейса). Если один клиент хочет, чтобы звезда была красной, а другой, чтобы синей, то дизайнеру придется каждый раз переделывать изображение. Но зачем, когда должно существовать более простой способ придать оттенок изображению с помощью графических функций CoreGraphics. Читать далее…

Categories: Coding, Новости Tags: ,