Оптимизация Sphinx

27 октября 2016

Недавно в ходе работы столкнулся с медленной выборкой новостей из Sphinx. Выборка не сложная - это фильтрация по атрибутам и сортировка по дате. Записей около 500 000. Для Sphinx такой объем данных не помеха, однако выборка происходит за 300мс. Начал разбираться.


SSH - настройка доступа по публичному ключу

1 октября 2016

По умолчанию доступ на сервер по ssh настроен по паролю. Это не самая безопасная практика, так как на 22 порт постоянно обращаются боты, которые перебирают пароль. В таком случае атака будет длится довольно долго, но если вы редко меняете пароль и он не слишком сложный, атака увенчается успехом.
В данной статье я расскажу как настроить ssh доступ на сервер по ключу, расскажу какие еще могут быть настройки для вашего ssh сервера.


Git - удаление замерженных веток

23 сентября 2016

Для того, чтобы удалить ветки которые полностью замержены выполняем в консоли команду:

git
branch --merged | grep -v '*' | xargs git branch -D


Tmux - менеджер терминалов

19 мая 2016



Tmux - менеджер терминалов, пришедший на смену screen. Я использую tmux для удобного доступа к нескольким терминалам например с удаленными ssh соединениями.


Composer - менеджер пакетов

14 мая 2016


Современного php-программиста словом composer не удивишь, но или удивишь - это будет плохой программист. Composer стал стандартом де-факто при разработке на php. Теперь программисту не нужно заботится о куче библиотечного кода, он просто делает composer install и нужные баблиотеки устанавливаются.

Что умеет composer:
1. Скачивать библиотеки и их зависимости.
2. Обновлять ваши библиотеки в случае необходимости
3. Создавать autoload.php файл, подключив который, можно использовать все скачанные библиотеки


Vagrant для разработки приложений

12 мая 2016



Как вы запускаете ваше web-приложение во время разработки? Кто-то пользуется локальной машиной с установленными nginx, apache, php-fpm. Кто-то использует еще более простые варианты типа встроенного WEB-сервера PHP. А кто-то грузит файлы на удаленный сервер. Все эти варианты имеют один недостаток, вам каждый раз приходится настраивать среду для запуска приложения. Вместо написания кода вы тратите время на рутинные операции. Чтобы избежать этого - используется Vagrant.

Vagrant - это удобная среда для управления системой виртуализации. Чаще системой виртуализации выступает VirtualBox, но может быть и Vmware. Вы настраиваете вашу конфигурацию виртуальной машины один раз, и все, ваши волосы становятся мягкими и шелковистыми.


Сортировка в БД c разбиением по страницам

30 марта 2016

Казалось бы название статьи ничем не примечательно, однако даже здесь могут возникнуть баги.

Недавно я делал вывод csv файла отчета в одной системе. Данных было много, и чтобы не забивать память использовал итератор Yii для разибиения данных по страницам.

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


Настройка Nginx и PHP5-FPM

25 января 2016

В этой статье я расскажу как поставить на linux-сервер Nginx, PHP, MySql. На своем сервере я сделал это довольно давно, но, чтобы не забывать - напишу здесь.

Ставим Nginx через apt-get:

sudo apt-get install nginx

Файл конфигурации nginx хранится в файле: /etc/nginx/sites-available/default. Этот файл является дефолтным для конфигов nginx. Я не рекомендую хранить в нем настройки для домена. Хорошая практика - разбивать настройки для ваших доменов и поддоменов по разным файлам, чтобы удобнее было работать с ними в дальнейшем. Поэтому создадим отдельный файл с конфигурацией для конкретного домена.


Настройка nginx для работы с Yii2

25 января 2016

Я уже писал про то, как настраивать nginx и php на сервере. Теперь я расскажу как настраивать nginx и php для работы с фреймворком Yii2

Полный гайд по настройке yii2 можно найти здесь.

Я лишь приведу настройки оттуда, и объясню для чего нужны те или иные настройки.