среда, 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;

воскресенье, 22 июня 2014 г.

Способы тестирования унаследованного кода

  1. Отличный доклад: Модульное тестирование "нетестируемого" кода.

  2. Что делать, если хочется занятся рефакторингом части проекта, унаследованной от предыдущей команды? Покрыть эту часть тестами и спокойно переделывать все, что не нравится. Но как написать тесты, если о тестируемости кода до вас никто не заботился?
    В докладе описывается набор техник, которые помогут покрыть unit-тестами сложные части системы. Написанные тесты будут просты для понимания и легки в поддержке. Описанные техники реализованы в виде open-source библиотеки, доступной всем желающим.
    Слайды презентации Тестирование унаследованного кода в php Александра Голубева.