Особенности работы Docker контейнеров MySQL и Nginx на OSX

В ожидании релиза Docker for mac приходится использовать Docker Machine и решать проблемы которые он создает при работе с Data Volumes. О решении проблем в MySQL и Nginx я бы и хотел рассказать. Официальный контейнер MySQL работает как и ожидаешь, пока в файле docker-compose.yml не добавлено хранение /var/lib/mysql на Data Volume:

Конвертация таблиц MySQL из MyISAM в InnoDB

Вот простой трюк для перевода всех MySQL MyISAM таблиц в таблицы InnoDB. Сперва необходимо подготовить файл содержащий список SQL запросов на конвертацию каждой таблицы в отдельности. Это просто сделать выполнив следующий запрос (заменив your_database_name на имя базы):

В чем отличие .bash_profile и .bashrc

Работая с Линуксом, необходимо постоянно помнить, какой «профиль» нужно редактировать для автоматической установки переменных среды. Согласно документации по bash, файл .bash_profile исполняется для оболочек, осуществляющих авторизацию пользователя, а файл .bashrc исполняется для интерактивных оболочек, не авторизующих пользователя.

Использование нескольких конфигураций Sphinx

Разрабатывая на одном хосте несколько сайтов с поддержкой Sphinx Search меня всегда раздражала невозможность использования несколько конфигурационных файлов одновременно единственным демоном Sphinx, а также отсутствие простых готовых решений для реализации подобного функционала. К написанию своего решения этой проблемы меня подтолкнула заметка о том что в качестве конфигурационного файла можно использовать любой скрипт, в том числе […]

Имплементация LRU кэша на Go

LRU: Least Recently Used — алгоритм кэширования, при котором вытесняются значения, которые дольше всего не запрашивались. Алгоритмическая сложность O(1), а потому кеш работает очень быстро и используется в memcached. Кеш имеет очередь фиксированного размера. Когда новый элемент попадает в кеш, то добавляется в начало очереди. При запросе элемента очередь выталкивает элемент […]

Среднеквадратическое отклонение

Расскажу о среднеквадратическом отклонении на примере собак. Имея группу собак рост которых 600, 470, 170, 430 и 300 мм. Как узнать какие из этих собак большие, какие маленькие, а какие можно отнести к средним? Тут на помощь приходит среднеквадратическое отклонение — σ (греческая буква сигма). Формула очень проста: этоквадратный корень из дисперсии случайной величины. Что такоедисперсия? Это среднее […]

Простой алгоритм случайной выборки с учетом веса

Иногда вам может понадобиться выбрать случайный элемент из списка с учетом того, что некоторые элементы имеют больший шанс выбора, чем другие (имеют больший «вес»). Например, вы можете взять список приложений и количество загрузок, и случайным образом выбрать «Популярное приложение» в зависимости от количества загрузок. В этой заметке я покажу вам два […]

Что делать с No temporary folder was configured in php.ini

Причин возникновения ошибки с текстом No temporary folder was configured in php.ini может быть несколько. Например, в конфиге указана несуществующая директория, но PHP почему-то не говорит об этом прямо. Имейте это ввиду.

HighLoad++ Awards

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