Планировщик событий в MySQL

Начиная с версии 5.1 в MySQL появился планировщик событий, позволяющий выполнять различные действия в определенное время. Из этого следует то, что часть функционала можно перенести из Cron на сам MySQL.

По умолчанию, планировщик отключен. Включим его в конфиге.

event_scheduler = On

Или при помощи запроса.

SET GLOBAL event_scheduler = On;

Проверить текущее значение переменной можно следующим запросом.

Читать далее...

Шаблоны проектирования в PHP : Цепочка обязанностей

  • PHP
  • 3 года назад
  • 5/4
  • Паттерн Chain of Responsibility (Цепочка обязянностей) позволяет избежать жесткой зависимости отправителя запроса от его получателя (т.е. обеспечивается слабая связанность компонентов системы), при этом запрос может быть обработан несколькими объектами.
  • Объекты-получатели связываются в цепочку. Запрос передается по этой цепочке, пока не будет обработан.
  • Вводит конвейерную обработку для запроса с множеством возможных обработчиков.
Читать далее...

Symfony 2 Joboard : Отправка писем через Mailer

Symfony по-умолчанию содержит в себе один из лучших решений в PHP для организации рассылки - Swift Mailer. Конечно же библиотека полностью интегрирована с Symfony и включает в себя некоторые дополнительные функции. Давайте начнем с отправки простого письма с токеном, в котором партнеру сообщается, что его аккаунт был активирован. Но сначала надо настроить несколько параметров в файле parameters.yml:

Читать далее...

Почему лучше использовать Python в качестве первого языка программирования

  • Python
  • 3 года назад

Чтобы начать понимать Python достаточно хотя бы немного знать английский язык. Как показывают исследования Ассоциации Вычислительной Техники, язык Python занимает лидирующие позиции в качестве первого языка программирования во многих американских колледжах.

По опросу 39 передовых IT факультетов США, он сместил Java и стал первым языком программирования общего назначения, на который обращают внимание начинающие программисты. 8 из 10 передовых IT факультетов (80%) и 27 из 39 (69%) преподают Python на первых этапах изучения профессии.

Читать далее...

Symfony 2 Joboard : API для партнёров

В дополнение к новостным лентам, соискатели могут получать информацию о новых вакансиях в режиме реального времени.

С другой стороны, работодатели тоже хотят, чтобы как можно больше людей узнали о новой вакансии. Если вы публикуете свои вакансии на нескольких сайтах, то шанс найти хорошего сотрудника заметно повышается. Cайты партнеры смогут размещать свежие вакансии у себя. Сегодня именно этот функционал мы и попробуем реализовать.

Читать далее...

Шпаргалка по оптимизации индексирования в Elasticsearch

Планируете проиндексировать большой объем данных в Elastisearch? Или вы уже пытались это сделать, но производительность не обрадовала? В этой статье я приведу ряд советов по ускорению процесса индексирования с Elasticsearch. Одни я опробовал лично, про другие просто читал, но считаю, что они должны помочь. В любом случае, надеюсь, мои советы вам помогут.

Читать далее...

Очередь сообщений и асинхронные задачи с помощью Celery и RabbitMQ

  • Python
  • 3 года назад

Асинхронное или неблокирующее выполнение операций - это такой метод исполнения, при котором некоторые задачи выполняются отдельно от основного потока программы. Такой подход даёт несколько преимуществ, одно из которых - непрерывная работа кода на стороне пользователя.

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

Читать далее...

Создаём игру крестики-нолики на Kivy

  • Python
  • 3 года назад

Kivy - кросcплатформенный графический фреймворк на Python, направленный на создание новейших пользовательских интерфейсов даже для приложений, работающих с сенсорными экранами. Приложения, написанные на Kivy, могут работать не только на таких традиционных платформах как Linux, OS X и Windows, но также на Android, iOS и Rapberry Pi.

Это означает, что в разработке можно использовать различные библиотеки, как Requests, SQLAlchemy или даже NumPy. Допускается даже доступ к нативным мобильным API посредством дочерних проектов Kivy. Еще одна отличительная черта Cython - оптимизированный конвейерный обработчик OpenGL. При его помощи можно легко добиться сложных GPU эффектов, не прибегая к сложным конструкциям в коде.

Читать далее...