Скоро на All-DAR Анализ систем [Тариф — Аптечка] [Школа сильных программистов] [Давыдов А, Зарудный Т, Онысько М, Борщев Ф]

ALL DAR Bot

🛡 МОДЕРАТОР 🛡
Регистрация
26 Март 2018
Сообщения
84.824
Название: Анализ систем [Тариф — Аптечка] [Школа сильных программистов] [Давыдов А, Зарудный Т, Онысько М, Борщев Ф]

f33e45692105f1afd75b7f9d0f07bd82.jpg


Описание:
Курс о том, как проектировать системы. Новые — чтобы не переделывать, старые — чтобы разобрать на части и ускорить разработку.

Научим распиливать монолиты, обоснованно выбирая технологии и архитектурные стили, оставляя после себя понятную документацию.

Урок 1. Работа с требованиями, разделение системы на элементы

Когда мы только начинаем проектировать системы, обычно нет ни внятных требований, ни времени на проектирование. После урока будет понятно, что даже в таких условиях можно собрать что-то рабочее.

Также в уроке разбиваем два антипаттерна — разбивание бизнес-логики по техническим шагам или по сущностям (entity service).

Ключевые концепции и термины:

  • Работа с требованиями
  • Event Storming
  • Модель данных
  • Базовое сравнение микросервисов и монолитов
  • Система, форма и функция системы

Урок 2. Стратегический анализ бизнеса и архитектурные стили

Программисты склонны принимать решения вокруг технологий, а не устройства бизнеса. Требования обычно этому не препятствуют. В уроке чиним это: учимся проектировать системы на основе стратегического анализа бизнеса, подробнее изучаем распределенные и монолитные архитектурные стили.

Ключевые концепции и термины:

  • Strategic DDD, subdomains
  • Coupling & cohesion, temporal coupling, local & global complexity
  • Quality attributes/non functional requirements/architecture characteristics
  • Поиск характеристик и перевод бизнес-терминов в характеристики
  • Циклы жизни систем

Урок 3. Внешние ограничения и документация

Добавляем внешние ограничения: комплаенс, географические ограничения, количество инвестиций, общий уровень разработчиков. В уроке определяем и приоритизируем их.

Научимся не только принимать решения, но и описывать их так, чтобы не терять контекст, в котором решение было принято. Это позволит быстрее онбордить новых участников команды.

Изучим новые архитектурные стили: microkernel, pipeline, event-driven (привет, попуги!).

Ключевые концепции и термины:

  • Ограничения системы
  • Выбор вида БД в зависимости от характеристик
  • Выбор вида коммуникаций и брокера для событий
  • Fitness function

Урок 4. Распиливаем монолит

Учимся рефакторить сложные системы: добавлять новую функциональность, выносить не подходящую по характеристикам, объединять сервисы, переписывать существующие сервисы и избавляться от антипаттернов вроде entity-сервисов.

Ключевые концепции и термины:

  • Добавление новой функциональности в отдельных сервисах
  • Объединение сервисов
  • Вынос функциональности из монолита в сервис
  • Strangler Fig Application, Volatility Based Decomposition, Tactical Forking, Component-Based Decomposition

Урок 5. Итоги и дальнейшие шаги

Цель: подвести общие итоги и обсудить необходимые шаги для дальнейшей работы. Разобраться, как описывать систему. Спланировать этап развития собственных навыков после курса и повторить концепции, пройденные в курсе.

Ключевые концепции и термины:

  • Всё, что в курсе было
  • 4+1, C4, arc42, iso42010

Тариф — Аптечка

Стоимость 25000

Материал «Анализ систем [Тариф — Аптечка] [Школа сильных программистов] [Давыдов А, Зарудный Т, Онысько М, Борщев Ф]», возможно, скоро появится на All-dar.

Пройдите регистрацию и оформите Premium подписку, чтобы первым получить доступ, и воспользуйтесь поиском — может быть, он уже опубликован.

Скрытый контент для пользователей All-dar.
 

Присоединяйтесь, чтобы открыть полный доступ

Комментарии и материалы этой темы доступны только зарегистрированным участникам

Новый участник?

Регистрация занимает меньше минуты

Уже с нами?

Войдите в свой аккаунт

Сверху