Создание компьютерной игры

Создание компьютерной игры похоже на написание книги — в общем случае надо не только много знать из разных областей, но и уметь подходить к процессу творчески. В художественной литературе писатель может работать только со словом, а в компьютерной игре автор работает с мультимедийным множеством звука, видео, интерактивности и нелинейности. Универсальная игра сочетает в себе […]

Проектирование оповещений

Оповещения (notification) как правило о чём-то ( object  = существительное = событие, дружба) что изменяется ( verb  = глагол = добавлено, запрошено) кем-то ( actor  = другим пользователем, системой) и кому-то показывается (userID = пользователю, группе, компании). По сути это модель естественного языка — на этом же основаны триплеты RDF. Вот нормализованная структура данных, хотя я использовал […]

Дизайн интерфейсов

Интерфейс подобен палке слепого — он посредник между человеком и компьютерной средой. Хороший интерфейс не мешает пользователю и позволяет сфокусироваться человеку на работе. Пользователи не единственные участники процесса разработки. Эта статья — мини конспект курса лекций на Coursera.

Тестирование внутренних методов динамически с runkit

Продолжу прошлый пост о юнит-тестировании внутренних методов  — я чуть усовершенствовал конструкцию Итак, вначале я пишу тест-кейс наследую PHPUnit_Framework_TestCase. Потом я include’жу тестируемый класс. Инициализирую его в $this->object внутри тест кейса. Теперь, если в тестируемом объекте есть какой-то метод нафаршированный внутренними вызовами, которые мне мешают (например под-запросы в БД и тп.), то я […]

Задержанные (Deferred) jquery объекты

Небольшой know-how.. javascript асинхронный как вы понимаете, а это налагает ряд ограничений и проблем. Например когда у вас несколько асинхронных запросов (т.е. вы незнаете когда они завершатся), а от всех их зависит последующая логика приложения, то обычное не-асинхронное приложение (например на php) решает это в лоб — последовательно выполняет операции […]

Про аннотации и авторство кода

Недавно опросил коллег по поводу использования @author аннотаций в коде. Большинство категорично накинулись что мол де, для этого есть VCS. Саня Мочёнов даже пристыдил что я не умею и мне лень ими пользоваться. Оокей..

Покрытие кода с PHPUnit и Selenium

Расширение PHPUnit для Selenium как оказывается умеет генерировать покрытие кода! Напомню, что сам по себе Selenium через браузер бегает по сайту, тогда как покрытие кода генерируется на сервере. Это сразу написано в документации PHPUnit, но увы это не так просто настроить. В частности нужна поддержка XDebug.

Собеседование php разработчика — темы для обсуждения

Как работник, я часто ходил на собеседования и поэтому решил составить такой небольшой check-list для себя, но может пригодиться как работникам так и работодателям. Справа оставил место для заметок на случай если вы распечатаете. Отсортировано согласно логичному течению интервью