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