Настройка unit-тестирования с PHPUnit и PhpStorm IDE

Unit-тестирование это хорошо. Много хороших статей написано о том как прекрасно это взять класс и для него написать юнит-тест. Позавчера вот Андрей Солнцев даже про расширение к TDD рассказывал — BDD. А большинство программистов по прежнему не используют.. просто потому что сложно даже настроить. Вот попробуем это для php сделать. Прежде всего понадобится свой локально установленный php […]

Google AI challenge — стратегии ботов

Университет Ватерлоо при поддержке Google организовал состязание по спортивному программированию ботов для игры стратегии реального времени Galcon. С виду игра очень простая — есть планеты и корабли (на планетах или в полёте) надо захватить или преобладать на всей карте. Бот можно написать на большинстве популярных языков — C#, Java, Python, C++, Scala, […]

Opensocial и заоблачное будущее социальных сетей

Посмотрел интересную беседу аналитиков больших компаний, с гордостью посмеялся когда аналитик Myspace сказал что ещё не видел социальной сети тесно связанной с мобильными телефонами и фильтрацией по местоположению (поскольку мы уже давно как pling.ee написали). Это заставило меня задуматься над настоящим и будущим личных данных. Социальные сети сейчас — неизбежность просто потому что 99% […]

Анализ сетей

Графы это математическая формализация сетей. Поскольку я до дипломной работы перерыл много материалов, то тут буду собирать интересные доклады по этой общей теме. Эта статья составлена на основе курсов лекций Networked Life (Michael Kearns, Pennsylvania) и Social Network Analysis (Lada Adamic, Michigan) в Coursera. Интереснейшие проблемы анализа сетей это поиск кратчайшего пути, визуализация и заражение

Unity3d

Unity3D это игровой движок 3D-игр в основном стрелялок и аркад, но при большой сноровке можно реализовать и RPG, RTS, квесты, 2D-игры, встраиваемые в браузер, iPhone и с использованием сети. Движок понимает множество разные форматы файлов 3д модели и анимация из Maya, Cinema 4D, 3ds Max, Cheetah3D, Modo, Lightwave, Blender. Форматы 3ds, fbx и […]

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

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

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

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

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

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

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

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