Async JavaScript 2016 — Aviasales

17 Марта 2016

Мое выступление в Aviasales Phuket Office. Рассказываю о организации ассинхронного кода, промисах, генераторах и их устройстве, а так же сопрограммах.

Большое обновление Deployer

12 Июля 2014

Последнюю неделю активно занимался развитием инструмента для деплоя Deployer. Также обновил сайт и написал более хорошую документацию.

Deployer

Правильное сравнение PHP фреймворков

22 Марта 2014

В интернете существует огромное количество различных сравнений фреймворков.

Все они сравнивают фреймворке по скорости, памяти, популярности. Однако это неправильное сравнение, ведь не это самое важное при выборе фреймворка. Гораздо важнее, это то, какую структуру приложения предлагает фреймворк, какие функции берёт на себя, и насколько качественно написан сам фреймворк.

Одной из мер качества кода может быть цикломатическая сложность. Я решил сравнить популярные фреймворки с помощью этой меры. А также посмотреть развитие этих фреймворков в динамике.

На графике отображено изменение отношения цикломатической сложности к количеству методов для всех релизов соответствующих фреймворков. Для подсчёта цикломатической сложности воспользовался замечательной библиотекой Себастьяна Бергмана phploc.

На графике видно, что Symfony слегка выигрывает у ZF по качеству. Laravel же скачет между ними, но в общем тоже держится на хорошем уровне. CakePHP стал гораздо лучше, чем когда он появился, однако похоже нашёл свою асимптоту. Yii же пока не показывает хороших результатов.

PurePHP — NoSQL база данных на чистом PHP

19 Марта 2014

На PHP создано куча разных штук: веб-сервер, контроллер квадрокоптера и даже GUI. Я решил пополнить список странных штук и создать NoSQL базу данных на чистом PHP.

Готовый результат выложен на GitHub: elfet/purephp

Посмотрим, что умеет эта “база данных”…

Создание чата на PHP

16 Марта 2014

Пять лет назад я написал похожую статью, однако с того времени PHP и браузеры шагнули далеко вперёд. В этой статье мы создадим современный чат с применением WebSocket.

Что понадобится?

  • PHP 5.5.x
  • Composer - менеджер зависимостей.
Кстати, если вы работаете на Windows, то вам для разработки на PHP не нужно ничего больше (никаких "денверов"). PHP имеет встроенный сервер, который отлично подходит для разработки.

WebCrypt — сервис онлайн шифрования

27 Октября 2013

В интернете существует огромное множество инструментов позволяющих вам зашифровать и передать ваше сообщение. Рассмотрим некоторые из них.

webcrypt.org — open source сервис онлайн шифрования прямо в браузере. Код выложен на GitHub под GNU GPL и хостится на GitHub Pages. Для шифрования используется замечательная библиотека Стэнфордского Университета SJCL.

Создание поисковика на React PHP

7 Июля 2013

В этот статье я расскажу как самому создать поисковую систему по интернету на React PHP. Целью статьи является не создание полноценного поисковика, а разбор принципов построения такой системы на React PHP.

Нетерпеливые могут сразу посмотреть готовый проект на GitHub.

Введение в Wolfram Mathematica

6 Июня 2013

Wolfram Mathematica — это программное обеспечение, не только для математических вычислений, это гораздо больше: от моделирования и симуляции, визуализации, документации, до создания веб-сайтов. Mathematica обладает возможностью осуществлять вызовы функций и принимать вызовы с C, .NET, Java и других языков, генерировать C код, компилировать автономные библиотеки и исполняемые файлы.
Обо всех достоинствах Mathematica можно почитать на официальном сайте

Для начала работы с Mathematica вам необходимо её получить и установить на свой компьютер. Mathematica прекрасно работает на Windows, Mac, Linux.
Скачать и бесплатно попробовать Mathematica так же можно на оф. сайте.
Если же вы надумаете её купить, то цены на неё вполне приемлемые. Например для студента за семестровый вариант она обойдётся в $44.95. Для домашнего использования в $295. Если вы планируете использовать её для коммерческих целей, то наилучший вариант лицензии это Standard Edition (Вы получаете подписку на Premier Service и бесплатные обновления).