HighLoad Cup #2. Чемпионат для backend-разработчиков

Начало соревнованию было положено еще в прошлом году. Тогда мы знали, что HighLoad Cup — это именно тот чемпионат, которого не хватало в ряде проектов Mail.Ru Group. В первом пилотном соревновании участвовало 449 человек. Было много кода и много пота как у самих организаторов, так и участников (8789 различных решений). […]

Играем с изображением в PHP

В данном материале мы рассмотрим некоторые примеры манипуляции с изображением при помощи библиотеки GD, а именно – операции с пикселями. Манипуляции с пикселом означают, что действие будет относиться только к нему не затрагивая все окружающие пиксели. Например, мы можем сделать негатив изображения. Для этого берем каждый пиксель в изображении и заменяем […]

Исчерпывающая инструкция по PHP Mailer

Рассылка сообщений посредствам PHP может быть очень простой, а может быть очень сложной, все зависит от того, что и как вы собираетесь посылать. Стандартное электронное письмо – это обычный текст, что и используется большинством разработчиков, поэтому создание MIME заголовков для HTML писем может стать сложным процессом. Теперь трудности вам не […]

Библиотека для работы с деревьями Nested Sets

Основной особенностью библиотеки является, то, что все запросы в методах переписаны согласно стандартам ANSI и работают без изменений на подавляющем большинстве баз данных. Документация Инициализация класса <?php $tree_params = array( ‘table’ => ‘sections’, ‘id’ => ‘sections_id’, ‘left’ => ‘sections_left’, ‘right’ => ‘sections_right’, ‘level’ => ‘sections_level’ ); $db = new SafeMySQL($dsn); […]

Работа с Zip архивами — PCLZip

Не редок пример, когда мы с вами используем платный хостинг (за свои кровные) для реализации каких-то идей, которые вовсе не обязаны приносить прибыль. Само собой разумеется, для этих целей мы часто прибегаем к хорошему хостингу, но выбираем тариф минимально для нас подходящий, как правило, размер диска под сайт у нас […]

Airflow — инструмент, чтобы удобно и быстро разрабатывать и поддерживать batch-процессы обработки данных

В этой статье я хочу рассказать об одном замечательном инструменте для разработки batch-процессов обработки данных, например, в инфраструктуре корпоративного DWH или вашего DataLake. Речь пойдет об Apache Airflow (далее Airflow). Он несправедливо обделен вниманием на Хабре, и в основной части я попытаюсь убедить вас в том, что как минимум на […]

Структуры данных, используемые в Redis

Я попробую ответить на вопрос, но начну с того, что на первый взгляд может показаться странным: если вы не интересуетесь внутренностями Redis, вы не должны заботиться о том, как реализованы структуры данных изнутри. Причина этому проста — сложность каждой команды Redis вы можете найти в документации, и если у вас есть набор […]

Разбор Аннотаций Symfony 2

Одним из крутых инструменов фрэймворка Symfony 2 является возможность конфигурировать свое приложение посредством аннотаций. Изначально аннотации использовались в Doctrine 2, в частности для создания моделей и валидации. В Symfony 2 так же добавлена поддаржка аннотаций с помощью двух бандлов: SensioFrameworkExtraBundle и JMSSecurityExtraBunlde. Два этих бандла позволяют конфигурировать такие аспекты работы […]

Warcraft III: The Frozen Throne: учимся тонкостям игры

Хочу предоставить вашему вниманию статью по игре Warcraft 3, полезную для начинающих игроков. В ней я опишу некоторые тонкости, которые существенно улучшат вашу результативность. Конечно, всё это будет даваться не сразу, а с опытом…но как говорится — терпение и труд — все перетрут! И если у вас что то не […]

Как создать Roguelike

Я всегда хотел написать подробное руководство для начинающих о том, как создать roguelike, содержащее как общие, так и более специфические советы. Проведённый в этом году очередной праздник Roguelike Celebration показался мне отличной возможностью наконец-то заставить себя это сделать, поэтому я подготовил получасовой доклад по этой теме.