Расширения Chrome, которые реально помогают

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

Читать далее Расширения Chrome, которые реально помогают

Иногда Docker-контейнеры перестают быть доступны по сети

Симптомы такие:

  • Не пингуются;
  • При попытке curl’а он подвисает.
Читать далее Иногда Docker-контейнеры перестают быть доступны по сети

Настройка Jenkins для сборки iOS-проекта

Статья основана на Continuous integration mixing Jenkins, iOS 9 and XCode 7Автоматическая сборка iOS-приложений на разных версиях Xcode с помощью Jenkins и Continuous Integration для мобильных и веб-проектов.

Руководство подразумевает, что Jenkins уже установлен и у вас есть компьютер с OS X на котором установлен XCode, Java и Git.

Читать далее Настройка Jenkins для сборки iOS-проекта

Использование разных пулов PHP-FPM в Apache 2 с mod_fastcgi

Дано:
Есть сайт на Bitrix, установленный с поддержкой UTF-8 и все остальные сайты. Надо чтобы у сайта на Bitrix было php_admin_value mbstring.func_overload 2, а на остальных нет, т.к. остальные от этого ломаются. Также есть Apache2 с общим mod_fastcgi для всех хостов. Читать далее Использование разных пулов PHP-FPM в Apache 2 с mod_fastcgi

Автоматическое переключение версии Node.js с помощью NVM и файла .nvmrc для Fish shell

Можно сделать так, чтобы при смене директории  NVM сам переключал нужную версию Node.js. Читать далее Автоматическое переключение версии Node.js с помощью NVM и файла .nvmrc для Fish shell

Как обновить BIOS на нетбуке HP mini 110-3706er через флешку

Для начала попробуйте посмотреть официальное видео и прочитать инструкцию. Если они не помогут, то можно попробовать другой способ, описанный ниже. Читать далее Как обновить BIOS на нетбуке HP mini 110-3706er через флешку

Настройка Jenkins для сборки Android-проекта

Основано на статьях: How To Build Android Apps with Jenkins и Continuous Integration для Android с использованием Jenkins + Gradle.

Для примера возьмем стандартный «Hello World», который генерирует Android Studio. В этом проекте есть также и простой unit-тест. Читать далее Настройка Jenkins для сборки Android-проекта

Горизонтальное масштабирование Socket.io

Сразу код.

В socket.io >= 1.0 проблема горизонтального масштабирования решается с помощью «адаптеров».  Адаптеры реализуют интерфейс по управлению комнатами, рассылке сообщений всем клиентам и получение списка клиентов. По-умолчанию используется адаптер, хранящий все данные в памяти, а для горизонтального масштабирования нам понадобится хранение данных во внешней системе. Достаточно популярным является socket.io-redis, его и будем использовать. Читать далее Горизонтальное масштабирование Socket.io

Supervisor — система управления процессами

Если на вашем сервере работает несколько разных приложений (например, Node.js-, Ruby- или Python-приложение или PHP-скрипт, который должен быть всегда запущен (daemon)), то Supervisor — то, что вам нужно. Он позволяет управлять процессами из одного файла конфигурации:

  • Указывать файлы логов для каждого приложения;
  • управлять политиками запуска и перезапуска;
  • указывать от какого пользователя запускать приложения и т.д.

В моем случае есть PHP-скрипт с Websockets-сервером, который должен быть всегда запущен. В начале я запускал его просто через cron, поставив выполнение cron-а на каждый час. Если скрипт падал, то через час он восстанавливался (меньший интервал приводил к багам), это нам не очень подходило. Поэтому я начал искать другие варианты, про Supervisor я слышал уже давно, но в начале он мне показался сложным в настройке, поэтому ушел на дальнюю полку.

Сегодня я постараюсь рассказать как установить и настроить Supervisor на Ubuntu и CentOS.

Читать далее Supervisor — система управления процессами