Как мы учили Redis геопоиску

В одном из прошлых проектов мы реализовывали систему «заражения» ближайших к источнику пользователей. Одно движение пальцем по экрану запускало процесс геопоиска, а затем сотни записей и удалений в базе. Но чем больше данных появлялось, тем хуже становилось. Итак, перед вами задача: достаточно быстрый и устойчивый поиск k-ближайших соседей на поверхности […]

Git. Архивируем измененные файлы.

git archive —format=tar —o ./<archive name>.tar <current commit> $(git diff—tree —r —no—commit—id —name—only —diff—filter=AMXTCR <previous commit> <current commit>) Команда помещает в архив все измененные, между указанными коммитами, файлы с сохранением структуры директорий. Пример: git archive —format=tar —o ./latest.tar HEAD $(git diff—tree —r —no—commit—id —name—only —diff—filter=AMXTCR HEAD^1 HEAD)

Ошибка npm install

Если во время выполнения команды npm install  вылазит ошибка This failure might be due to the use of legacy binary «node» , то делаем следующее: sudo apt—get install nodejs—legacy

Codeception. Debug тестов в PhpStorm

Для начала создаем файл скрипта. <?php /** * Codeception PHP script runner */   require_once dirname(__FILE__).’/vendor/codeception/codeception/autoload.php’;   use Symfony\Component\Console\Application;   $app = new Application(‘Codeception’, Codeception\Codecept::VERSION); $app->add(new Codeception\Command\Run(‘run’));   $app->run();

GetText. Многоязычные приложения. Профессиональная работа.

Все чаще и чаще современный разработчик сталкивается с необходимостью поддержки разных языков в рамках одного проекта. Говоря о разных языках мы здесь имеем ввиду любой язык, в алфавите которого присутствуют символы , отличные от латинских. Латинский язык мы не считаем за отдельный язык, ибо символы этого алфавита, как правило, присутствуют […]