Запуск нескольких Sphinx search на одном сервере

Запуск нескольких Sphinx search на одном сервере

Запуск нескольких Sphinx search на одном сервере

У нас часто возникает необходимость настроить поиск через Sphinx для нескольких проектов на одном сервере. Изначально мы просто давали разные имена источникам и индексам. Минусы такого подхода очевидны: мы не могли использовать разные версии sphinx’а, обновлять подобный конфиг было довольно неудобно. Позже мы просто собирали несколько версий с разными prefix’ами и запускали демоны с разными конфигами. Тут вроде бы все заметно лучше, но появляется много рутины со сборкой пакетов, в конфигах нужно прописывать разные пути к логам, индексам и pid-файлам. И появилась идея запускать сам Sphinx внутри docker контейнеров, а управлять этим всем добром централизованно с помощью puppet’а.

Повышение производительности проекта на Symfony2 c Doctrine2 ORM

Повышение производительности проекта на Symfony2 c Doctrine2 ORM

Повышение производительности проекта на Symfony2 c Doctrine2 ORM

Я уже давно намеревался написать эту статью, но все никак не доходили руки. Ну вот, я собрался с мыслями и сделал это. Значит, о чем пойдет речь... Я поделюсь некоторыми приемами работы с Doctrine2 ORM, совершим, так сказать, повышение производительности сайта на Symfony 2 (точнее, любого сайта, который использует Doctrine2 ORM). Как наглядное пособие, я создал проект и выложил его на GitHub, так что теперь любой желающий может проверить мои слова в действии.

Деплой Symfony2 приложения на Heroku Cloud

Деплой Symfony2 приложения на Heroku Cloud

Heroku Cloud Symfony2 application deployment

Во время работы над небольшим домашним проектом на Symfony2 у меня возникла потребность задеплоить его на стейджинг для тестирования API извне. Понятно, что для этого нужно иметь хостинг для сайта, т.е. либо уже располагать им, либо купить. Еще есть альтернатива в виде облачных сервисов, на которых можно разместить сайт бесплатно, но с ограниченными ресурсами. Подобных сервисов сейчас есть множество, и они конкурируют между собой. Я почему-то склонился к Heroku Cloud, я о нем слышал уже давно, и тут в нужный момент он всплыл в моей памяти.

Записки Junior-а: мой опыт работы с Evernote и Anki

Записки Junior-а: мой опыт работы с Evernote и Anki

Записки Junior-а: мой опыт работы с Evernote и Anki

Всем привет! Хочу поздравить всех с наступившими Новым годом и Рождеством, пожелать мира, здоровья, новых впечатлений и свершений! А также поделиться своими идеями относительно хранения, обработки, поиска и запоминания больших объемов информации. Уверен, что каждый читатель сможет найти для себя что-то полезное. Итак...

Пишем кастомный ParamConverter в Symfony2

Пишем кастомный ParamConverter в Symfony2

Пишем кастомный ParamConverter в Symfony2

В фреймворке Symfony2 есть отличный компонент ParamConverter, который преобразовывает параметры из адресной строки в переменные PHP. Когда не хватает функционала, который он предоставляет из коробки, приходится его расширять. В этой статье на конкретном примере я покажу как создать конвертер параметров на Symfony2.

Записки Junior-а: советы по работе с массивами NSArray

Записки Junior-а: советы по работе с массивами NSArray

Записки Junior-а: советы по работе с массивами NSArray

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

A/B тестирование в Android-приложениях

A/B тестирование в Android-приложениях

A/B тестирование в Android-приложениях

Наверняка у каждого разработчика/заказчика возникало по несколько идей реализации того или иного функционала, интерфейса или чего он там еще мог придумать.

Отчёт о PHP Frameworks Day 2014

Отчёт о PHP Frameworks Day 2014

Отчёт о PHP Frameworks Day 2014

15-го ноября состоялась очередная конференция PHP Frameworks Days, посвященная популярным PHP фреймворкам. Конференция отметилась немалым количеством участников и, как всегда, интересными докладами. На этот раз конференция прошла в Конгресс-холле «Космополитъ».