Запуск нескольких 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, я о нем слышал уже давно, и тут в нужный момент он всплыл в моей памяти.

Пишем кастомный 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-приложениях

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

Записки Junior-а: UIAlertCollection in iOS 8

Записки Junior-а: UIAlertCollection in iOS 8

Записки Junior-а: UIAlertCollection in iOS 8

Всем привет. С выходом новой версии iOS 8 компания Apple анонсировала более 4 000 новых API. Сегодня я хочу поделиться опытом применения нового класса UIAlertController, который заменил собой сразу 2 старых объекта: UIAlertView и UIActionSheet.

Особенности Java с точки зрения Android-разработчика

Особенности Java с точки зрения Android-разработчика

Особенности JAVA с точки зрения Android-разработчика

Что же такое Java и откуда она к нам пришла? А пришла она к нам с далёкого 1995. Поначалу язык назывался Oak («дуб»), разрабатывал его бородатый Джеймсон Гослинг для программирования бытовых электронных устройств. В дальнейшем получил язык название Java, которое, по одной из версий, происходит от марки элитного кофе. Помните логотип?

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

Android Material Design

Android Material Design

Android Material Design

Всем доброго времени суток! Думаю, все смотрели презентацию Android L и видели его революционный для платформы Material Design. Что ж, релиза осталось ждать недолго, а тем временем внимательные пользователи могли заметить появление элементов нового дизайна в некоторых приложениях. Моё внимание приковало к себе обновление «Play Пресса». Выглядит и ощущается действительно революционно, я залип на несколько минут и даже начал читать прессу.