OSVim: основные команды

Небольшая шпаргалка самых востребованных (часто используемых) команд редактора Vim.

Что нужно помнить — Vim имеет два основных режима:
1. Command mode — командный режим
2. Insert mode — режим вставки

i — перейти в режим вставки (insert)
ESC — перейти в режим просмотра
A — добавление в конец строки (append)
R — писать поверх имеющегося текста (replace)
u — отмена предыдущего действия (undo)
CTR-R — отмена отмены предыдущего действия (redo)

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

Yii2Украинские буквы в Sphinx

Проблема: Если вы используете Sphinx для для поиска на украинском или русском языке, то у вас могут возникнуть трудности с поиском слов содержащих буквы ї, і, є, ґ, ё и т.д. В результатах поиска слово «місто», к примеру, будет разбито на «м» и «сто».

Решение: Для полноценного поиска на украинском языке необходимо настроить таблицу символов charset_table в конфиге sphinx ( /etc/sphinxsearch/sphinx.conf) следующим образом:

index indexName
{    
    # Ukrainian chars
    charset_table = 0..9, _, A..Z->a..z, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+404->U+454, U+454, U+406->U+456, U+456, U+407->U+457, U+457, U+490->U+491, U+491, U+401->U+435, U+451->U+435, U+002D
    ignore_chars = U+0021..U+002C, U+002E, U+002F, U+003A..U+0040, U+0060, U+2019, U+00AB, U+00BB
    morphology = stem_enru
}
Читать далее...

WebDevVagrant задержки, медленная работа

Столкнулся с медленной загрузкой страниц (точнее задержками TTFB в 10-30 сек) при использовании Vagrant. Настройки классические: LAMP (Ubuntu 16, Apache, MySQL 5.7, PHP 5.6), проект на Yii2, файлы расшарены через NFS.

Проблема: проявляется задержками при загрузке страниц, как с запросами в БД так и без. При повторном открытии (обновлении страницы) задержки не происходят. Если проект вынести из расшаренной директории локально в другое место на виртуалке — то проблема не возникает.

vagrant nfs slow

Решение 1: Проблема связана с низкой скоростью дисковой подсистемы на виртуалке при работе с файлами через NFS, а также c некоторыми нюансами монтирования. И решается добавлением следующей опции в Vagrantfile:

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

WebDevОсновы Vargrant, пример использования

Vagrant — это менеджер ваших виртуальных окружений для разработки, надсройка (Command Line Interface) над системами виртуализаци VirtualBox (VMWare, LXC и т.д), которая обеспечивает быстрое создание и настройку виртуальных машин.

vagrant

Созданные виртуальные машины используются часто разработчиками web-приложений для построения необходимой среды разработки. Затем они могут быть упакованы в специальные контейнеры (боксы), для установки и использования другими разработчиками в команде.

Vagrant полностью зависит от программы виртуализации, например VirtualBox. Для развертывания и настройки виртуальных окружений Vagrant использует технологии виртуализации и технологии автоматицированного развертывания приложений от Chef и Puppet.

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