Статический и динамический анализ php-кода

Автоматический анализ кода (static code analysis) очень полезен на больших проектах и он часто встраивается в серверы непрерывной интеграции. Некоторые IDE уже поставляются с простыми аналитическими инструментами, но первые всё-таки предпочтительней, потому что туда смотрит вся комманда. Всё что этот софт делает это периодически смотрит в систему версионирования (SVN) и строит график […]

Случайные сети

Случайный граф Эрдоша и Ренуи (P. Erdős, A. Renyi) начинается с фиксированного числа вершин и 0 связей между ними. Далее, выбираются случайные две вершины и между ними создаётся ненаправленная связь. Производные характеристики: p — вероятность что между вершинами есть связь. Для расчёта вероятности что заданная вершина a будет иметь степень k, можно […]

Системное тестирование с 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 и […]