Блог экспериментатора инженера-разработчика: Infanty.
Я пишу how-to статьи на редкие темы или статьи обзоры - для себя и тех кто со мной работает.
Блог существует при поддержке: "Оккупационных сил Марса".

Жизнь в стиле Agile или как всё успевать

Как всё успеть при управлении проектами и в жизни? Как тратить так, чтобы оставались деньги и на инвестиции?
Как и любой проект можно пустить на самотек и затянуть сроки разработки, превысить бюджет и получить на выходе посредственный продукт, так же и с жизнью, а так же и с деньгами. Если каждый день не делать шажок к большой цели, к следующей ступени вашего благополучия, то Вы так и будете топтаться на месте. А если не управлять деньгами то они вообще не будут задерживаться у вас в кармане. Надеюсь, Я убедил Вас в том, что жизнью можно управлять как и любым проектом. Главное работать не по 12 часов а головой.

Инфраструктура IT проекта и базовый набор софта для установки

Когда проект (например на Drupal) небольшой, он не требует особой инфраструктуры для своей разработки и поддержки. Но стоит объёму работ по проекту стать больше 16 ~ 40 часов, как его поддержка и дальнейшее развитие может превратиться в "головную боль". Чтобы этого избежать, для любого среднего проекта необходимо иметь инфраструктуру для его развития и поддержки. Она необходима даже если на проекте работает один разработчик, так как с течением времени разработчик может поменяться и новый разработчик потратит в разы меньше времени на "вхождение в проект".

Установка Ubuntu Server в VirtualBox

Используя связку VirtualBox и Ubuntu Server, можно настроить полноценный программный аналог виртуального или выделенного сервера. Такую связку хорошо применять как для разработки новых сайтов, так и для отладки существующих. Так же на такой связке очень удобно повышать свою квалификацию администратора сервера, делая копию образа диска виртуальной машины перед внесением изменений в работу Ubuntu Server и откатываясь на данную копию образа диска виртуальной машины в случае неудач.

Установка LAMP или LNMP в Ubuntu

LAMP — акроним, обозначающий набор (комплекс) серверного программного обеспечения, широко используемый во Всемирной паутине. LAMP назван по первым буквам входящих в его состав компонентов:

  •   Linux — операционная система Linux;
  •   Apache — веб-сервер;
  •   MariaDB / MySQL — СУБД;
  •   PHP — язык программирования, используемый для создания веб-приложений.

PHPStorm: от первого запуска до отладки первого проекта

При разработки нового сайта или поддержке имеющегося многие используют IDE PhpStorm. При этом на "рабочем" сервере ведётся только логирование работы сайта, а основная разработка производится на сервере "разработки" который может быть развёрнут в VirtualBox. При этом синхронизация серверов производится с помошью Git. Работу с Git пока пропустим, а вот настройку сервера "разработки" с "азов" до отладки первого проекта в PhpStorm - рассмотрим по пунктам.

Установка Xdebug на сервер в Ubuntu для удалённой отладки

XDebug — это расширение для PHP, написанное Derick Rethans, одним из разработчиков языка PHP для упрощения отладки PHP-скриптов. Основной целью расширения является максимально возможное упрощение отладки PHP-скриптов и добавление в разработку на PHP таких удобств, как точки останова, пошаговое выполнение и наблюдение за выражениями. Помимо этого, расширение также позволяет выполнять профилировку приложения и находить те части, которые замедляют его работу. Поддерживается также выполнение произвольного кода на точке останова, а также и ряд других полезных при отладке функций. В целом, расширение нужно, в первую очередь, для экономии времени программистов, так как позволяет быстро локализовать ошибку в коде.

Основные сценарии при разработке с Git

Центральный репозиторий содержит две главные ветви, существующие всё время:

  • master - главная ветвь. Весь исходный код в ней должен иметь возможность быть размещённым в проекте (на сайте) в любой произвольный момент времени.
  • develop - главная ветвь для разработки. Хранящийся в ней код в любой момент времени должен содержать самые последние изданные изменения, необходимые для следующего релиза. От данной ветви также делаются ответвления при разработке, которые должны войти в следующий релиз.