Системное тестирование с Selenium и PHPStorm

Все в округе говорят про юнит-тестирование и TDD, но основательно менять парадигму мышления и мегабайты строк кода нехватает воли, денег и времени? Временное решение — системное black-box тестирование с Selenium Server (RC). Это значит что мы тестируем не каждый класс изнутри как то делает unit-тест (т.н. whitebox-тестирование), а только UI который […]

Управление pivotaltracker задачами в PHPStorm

Продолжаем изучать среду разработки PHPStorm. На этот раз поговорим о задачах. В общем идея в том, что при разработке проекта управляющие в вашейкомпании где-то создают список того что надо сделать или исправить — это всякие инструменты типа Jira, Mantis, Redmine.. Каждая со своими особенностями в том какзадачи описываются и дальше текут в компании.

Узоры в масштабируемых системах

Это вольный перевод и дополнения статьи Ricky Ho на англицком об алгоритмах используемых в масштабировании систем и распределённом вычислении. Обратите внимание что эти модели применимы не только в программировании, но и в управлении. Балансировщик нагрузки В этой простейшей модели центральный узел (балансировщик) определяет которая машина будет обрабатывать запрос в зависимости от показателей […]

Настройка 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. Вот нормализованная структура данных, хотя я использовал […]