Админ. и Програм.  Скачать [Слёрм] Архитектура приложений: пиши как разработчик, думай как архитектор (2023)

superslivman

Администратор
Администратор
Регистрация
02/07/2020
Сообщения
30,581
Реакции
3,938
[Е. Лукьянов, А. Вагнер] [Слёрм] Архитектура приложений: пиши как разработчик, думай как архитектор (2023) 0.webp

Вас ждут теоретические лекции и практические задания.

Во время обучения студенты будут выполнять лабораторные работы — все они основаны на реальных задачах.

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

1. В прошлом многие приложения создавались без проектирования. Это казалось удобным: никаких издержек, связанных с планированием, ускоренное прототипирование.

2. Но со временем сложные приложения превращались в неуправляемый крейсер, который на полном ходу несется на айсберг.

3. Тогда-то архитектура и стала настоящим спасательным жилетом. Приложение с хорошо продуманной архитектурой легче расширять, изменять, тестировать, отлаживать и понимать.

4. Архитектура приложения — это искусство. Искусство проектировать и создавать масштабные системы.

Что даёт архитектура приложений:

1. Ускорение разработки даже сложного приложения

2. Возможность менять структуру даже в старых версиях приложения

3. Гибкость в изменении отдельных блоков приложения

4. Упрощённый онбординг новых сотрудников

5. Бесшовную ротацию разработчиков между проектами

Для кого мы создали этот курс:

1. Разработчиков и и всех, кто хочет думать как архитектор

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

2. Team Lead и Tech Lead

Начните легко управлять изменениями в проекте и получите единое понимание архитектуры всей командой.

Содержание: Первый модуль - Введение в архитектуру приложений

Познакомимся с подходами и парадигмами архитектуры приложений

Тема I.

Проблематика, почему важно проектировать софт грамотно.

Зачем нужна архитектура, что бывает, когда о ней не думают.

Тема II.

Изоляция как средство контроля сложности.

Спагетти-код.

Модульность.

Связанность (coupling).

Статическое связывание, динамическое связывание.

Компоненты и их взаимодействие.

Компонент как самостоятельная сущность.

Проектирование слабосвязанных компонентов.

Тестирование компонентов.

MVC как пример модульного паттерна.

Причины изменений, изоляция по принципу причин изменений.

Второй модуль - Unified Modelling Language

Освоим язык графического отображения: сможете читать и проектировать с помощью этого языка.

Научимся использовать диаграммы для визуализациии архитектруры и связей.

Тема I.

Основные компоненты (сущности, термины, диаграммы классов и последовательностей), что ими можно выражать для чего они нужны.

Третий модуль - Принципы ООП

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

Тема I.

Обзор парадигм программирования.

Тема II.

ООП, принципы.

ООП как средство архитектуры.

Классы и методы.

Объектный подход, как метод изоляции.

Интерфейсы и абстрактные классы.

Проблемы наследования.

Тема III.

Принципы ООП: (SOLID, DRY).

Четвертый модуль - Паттерны проектирования

Научимся проектировать системы, используя паттерны: поймете преимущества и ограничения паттернов, сможете распознать в системах примененные паттерны

Тема I.

Что такое паттерны и зачем они нужны. Их виды.

Тема II.

Порождающие и структурные паттерны.

Тема III.

Поведенческие паттерны.

Тема IV.

Антипаттерны.

Пятый модуль - Чистая архитектура

Научимся проектировать по критериям чистой архитектуры, находить отклонения от чистой архитектуры и предлагать варианты системного решения. Научимся применять компановку кода, проектировать и проводить архитектурные границы для упрощения дальнейшего изменения и поддержки кода.

Тема I.

Coupling & Cohesion (Связанность и сочетаимость).

Тема II.

Архитектурные границы.

Тема III.

Чистая архитектура.

Шестой модуль - Различные архитектурные подходы

Научимся выбирать подход к решению поставленных производственных задач, объяснять преимущества или чужие/собственные решения. Сможем находить подходящие решения для поставленных задач с учётом актуальной ституации

Тема I.

Требования, предметная область.

Анализ.

Функциональные/нефункциональные требования.

Тема II.

Архитектура приложений.

Паттерны MVC, MVVM, MVP, MV.

Тема III.

Архитектура систем.

Трёхуровневая архитектура, гексагональная архитектура.

Седьмой модуль - Архитектура везде

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

Тема I.

Виды архитекторов и их задачи.

Тема II.

Архитектуры на разных уровнях (embedded, application, distributed system, cloud-native service).

Восьмой модуль - Подводим итоги

Научимся без проблем выбирать инструмент под конкретную задачу

Тема I.

Обзор основных инструментов и технологий, их место в архитектуре и принципы выбора.

Хранение данных: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Kafka, Cassandra.

Языки: Python, Java, GO, C++, Javascript/Typescript, WEB.

Frameworks: React, Vue, Angular, Jquery.

Kubernetes и пр.

Тариф Standart

Продажник:



Скачать:

 
Назад
Сверху