Загрузка...

Разработка сложных проектов (на PHP)

Преподаватель:

 

Макаров Илья Иванович
Технический директор Simtech

Обо мне:
Привет! Меня зовут Илья. Я начал программировать с 11 лет еще на ZX Spectrum и до сих пор не смог завязать с этой вредной привычкой. В первой 20-ке получил сертификат “Zend Certified”. С 2009 года подсел на гибкую разработку. За 7 лет работы руководителем разработки CS-Cart, а потом и техническим директором, я накопил большой опыт того, что делать хорошо, а чего делать не стоит и почему - иными словами Best practice. Выступал с докладами о внедрении Continuous Integration на DevConf и внедрении Scrum на Стачке. Увлекаюсь строением мозга и тем, что связано с возможностями человека самосовершенствоваться. 

Целевая аудитория: 
Курс рассчитан на практикующих веб разработчиков и менеджеров проектов с техническим бекграундом.

Цель курса:

  • на примерах рассказать о ключевых областях при разработке сложных проектов;
  • сделать обзор основных инструментов для проектирования, разработки, тестирования и деплоя проектов;
  • обсудить возможные камни преткновения при выстраивании процессов и их решения;
  • обсудить тренды в веб разработке, управлении разработкой и управлении продуктом.

Перед этим курсом рекомендуется посетить курсы: 

  • Базовый PHP 
 
ПЛАН ЗАНЯТИЙ
  1. Обзор стеков технологий и платформ (framework), как и что выбирать.
    1. Рассмотрим различные веб-технологии:
      1. PHP, Ruby, JavaScript, Java, Python, ASP (.NET)
      2. MySQL, PostgreSQL, NoSQL
    2. Фреймворки и их сравнение.
    3. Выбор стека под задачу и возможности:
      1. Кадры
      2. Экспертиза
      3. Ключевые требования
  2. Процесс подготовки к разработке
    1. Infrastructure as a code
    2. Github
    3. Семантическое версионирование
    4. Долгосрочное планирование
  3. Методология разработки:
    1. Обзор методологий Code&Fix / Waterfall / Agile (Scrum, Kanban)
    2. Планирование разработки (Roadmap, User Stories)
    3. Оценка результатов (Sprint review, Deploy)
  4. Проектирование и реализиция фич
    1. Терминология
    2. Impact Mapping
    3. Подходы к разработке TDD / BDD / DDD.
  5. QA и тестирование, как неотъемлемая часть разработки:
    1. Code review
    2. UnitTesting
    3. Selenium Webdriver
    4. Ручное тестирование
  6. Процесс автоматизации разработки
    1. Continuous Integration CI (окружение, автоматизация, качество)
    2. Continuous Deployment CD (миграции)
    3. Continuous Integration Server (обзор решений)
    4. Жизнь до и после CI/CD
  7. Документация кода и продукта как часть разработки
    1. Инструменты для написания документации
    2. Процесс написания/обновления документации