вторник, 11 августа 2015 г.

Docker для PHP Разработчка. Часть 2 - Практическая.

Давайте создадим изолированно приложение. Используя Docker создадим PHP приложение, которое будет доступно через nginx web-сервер и общаться с MySQL БД.

понедельник, 10 августа 2015 г.

Docker для PHP Разработчка. Часть 1 - Теоретическая.

Навеяно этим Docker for PHP Developers и Run a Symfony application using Docker and docker-compose

Первое, что приходит на ум, если говорить о виртуализации локальных окружений - Vagrant. Vagrant - это, согласно официальной документации, утилита, для создания и конфгурирования легковесных, легко воспроизводимых и портативных дев окружений. В основном Vagrant поможет вам создать витруальную машину с уникальной комбинацией ПО, сконигурированного индивидуально для каждого проекта. Этот подход предлагает решить 3 вещи:
  1. Vagrant изолирует окружение для избежания конфликтов версий ПО.
  2. Vagrant сохраняет конфигурации и версии одинаковые для каждого члена команды.
  3. Vagrant можно настроить максимально похожим к продакшен окружению.
Но, у Vagrant есть большой недостаток - он эмулирует аппаратную часть.

среда, 10 сентября 2014 г.

Сентябрьский'14 must read

The Good, the Bad and the Ugly code - Хороший код или плохой? Лично для меня хороший код обладает следующими качествами:

  • Код легко понятен разработчикам разной квалификации и хорошо структурирован
  • Код легко изменять и поддерживать
  • Приложение выполняет свои функции и обладает достаточной, для выполняемого круга задач, отказоустойчивостью.
(Интересны также комментарии автора)

воскресенье, 24 августа 2014 г.

Августовский'14 must read

Specification By Example - развернутое объяснение BDD. В статье описаны ключевые элементы наиболее эффективного, на мой взгляд, процесса разработки коммерческого ПО в современных условиях. Два продолжения будут посвящены работе со SpecFlow и автоматизации приемочного тестирования.

Design & Process Models - видео где автор исследует процесс разработки.
Сегодня мы решаем все более сложные задачи в рамках разработки, и зачастую технические и процессные решения принимаются неверно, что приводит к неминуемой расплате. Мы часто не можем принять решения, посмотрите вокруг - сплошные вопросы "Scrum или Kanban? Как поставить процесс, чтобы не было технического долга? Как научить архитекторов вырабатывать обоснованные и правильные решения? Какие использовать процессные и инженерные практики?"
Ден Пинк - Об удивительной науке мотивации - видео, где аналитик карьерного роста Дэн Пинк исследует тайны мотивации, начиная с факта, известного учёным, но не менеджерам: Традиционная идея вознаграждения не столь эффективна, как нам кажется.

пятница, 22 августа 2014 г.

Подключение к БД MySQL по локальной сети

По-умолчанию к mysql серверу можно подключить только с локального хоста. Поэтому, первое, что нужно сделать - сказать mysql слушать всю сеть (для безопаностилучше укаать не всю сеть, а только локальную), для этого изменим параметр bind-address на 0.0.0.0 в /etc/mysql/my.cnf
# nano /etc/mysql/my.cnf
...
bind-addres = 0.0.0.0
...

# sudo service mysql restart
После этого нужно создать пользователя, который может подключаться по сети к какой-то базе:
mysql> CREATE USER 'dbuser'@'%' IDENTIFIED BY 'YOUR_PASS'";
mysql> GRANT ALL PRIVILEGES ON `YOUR_DB` . * TO 'dbuser'@'%';
mysql> FLUSH PRIVILEGES;