Архитектура приложений: пиши как разработчик, думай как архитектор [2022] [Слёрм] [Егор Лукьянов, Александр Вагнер]
Библиотека выдана
Архитектура приложений: пиши как разработчик, думай как архитектор [2022]
Слёрм
Slurm
Егор Лукьянов, Александр Вагнер
Вас ждут теоретические лекции и практические задания. Во время обучения студенты будут выполнять лабораторные работы — все они основаны на реальных задачах.
1. Разработчиков и и всех, кто хочет думать как архитектор
Примечание: тариф Standart
Библиотека выдана
Архитектура приложений: пиши как разработчик, думай как архитектор [2022]
Слёрм
Slurm
Егор Лукьянов, Александр Вагнер
Вас ждут теоретические лекции и практические задания. Во время обучения студенты будут выполнять лабораторные работы — все они основаны на реальных задачах.
- На курсе проникнемся мышлением архитектора и начнем думать дальше, чем видим, чтобы код напоминал произведение искусства, а не развалины.
- Научитесь писать чистые и управляемые проекты, создавать поддерживаемые системы и организовывать код.
- Бесплатно сделаем все возможные ошибки во время практических заданий, чтобы потом избежать их в работе и сохранить миллионы.
- В прошлом многие приложения создавались без проектирования. Это казалось удобным: никаких издержек, связанных с планированием, ускоренное прототипирование.
- Но со временем сложные приложения превращались в неуправляемый крейсер, который на полном ходу несется на айсберг.
- Тогда-то архитектура и стала настоящим спасательным жилетом. Приложение с хорошо продуманной архитектурой легче расширять, изменять, тестировать, отлаживать и понимать.
- Архитектура приложения — это искусство. Искусство проектировать и создавать масштабные системы.
- Ускорение разработки даже сложного приложения
- Возможность менять структуру даже в старых версиях приложения
- Гибкость в изменении отдельных блоков приложения
- Упрощённый онбординг новых сотрудников
- Бесшовную ротацию разработчиков между проектами
1. Разработчиков и и всех, кто хочет думать как архитектор
Взгляните на мир глазами других архитекторов, выйдите на новый уровень в разработке ПО и повысьте свою ценность как специалиста.
2. Team Lead и Tech LeadНачните легко управлять изменениями в проекте и получите единое понимание архитектуры всей командой.
Первый модуль - Введение в архитектуру приложений
Познакомимся с подходами и парадигмами архитектуры приложений
Тема I.
Тема I.
- Проблематика, почему важно проектировать софт грамотно.
- Зачем нужна архитектура, что бывает, когда о ней не думают.
- Изоляция как средство контроля сложности.
- Спагетти-код.
- Модульность.
- Связанность (coupling).
- Статическое связывание, динамическое связывание.
- Компоненты и их взаимодействие.
- Компонент как самостоятельная сущность.
- Проектирование слабосвязанных компонентов.
- Тестирование компонентов.
- MVC как пример модульного паттерна.
- Причины изменений, изоляция по принципу причин изменений.
Второй модуль - Unified Modelling Language
Освоим язык графического отображения: сможете читать и проектировать с помощью этого языка. Научимся использовать диаграммы для визуализациии архитектруры и связей.
Тема I.
Третий модуль - Принципы ООПТема I.
- Основные компоненты (сущности, термины, диаграммы классов и последовательностей), что ими можно выражать для чего они нужны.
Научимся анализировать высокоуровнево: будете знать, как решать проблему и с помощью какой парадигмы.
Тема I.
Четвертый модуль - Паттерны проектированияТема I.
- Обзор парадигм программирования.
- ООП, принципы.
- ООП как средство архитектуры.
- Классы и методы.
- Объектный подход, как метод изоляции.
- Интерфейсы и абстрактные классы.
- Проблемы наследования.
- Принципы ООП: (SOLID, DRY).
Научимся проектировать системы, используя паттерны: поймете преимущества и ограничения паттернов, сможете распознать в системах примененные паттерны
Тема I.
Пятый модуль - Чистая архитектураТема I.
- Что такое паттерны и зачем они нужны. Их виды.
- Порождающие и структурные паттерны.
- Поведенческие паттерны.
- Антипаттерны.
Научимся проектировать по критериям чистой архитектуры, находить отклонения от чистой архитектуры и предлагать варианты системного решения. Научимся применять компановку кода, проектировать и проводить архитектурные границы для упрощения дальнейшего изменения и поддержки кода.
Тема I.
Шестой модуль - Различные архитектурные подходыТема I.
- Coupling & Cohesion (Связанность и сочетаимость).
- Архитектурные границы.
- Чистая архитектура.
Научимся выбирать подход к решению поставленных производственных задач, объяснять преимущества или чужие/собственные решения. Сможем находить подходящие решения для поставленных задач с учётом актуальной ституации
Тема I.
Седьмой модуль - Архитектура вездеТема I.
- Требования, предметная область.
- Анализ.
- Функциональные/нефункциональные требования.
- Архитектура приложений.
- Паттерны MVC, MVVM, MVP, MV.
- Архитектура систем.
- Трёхуровневая архитектура, гексагональная архитектура.
Научимся применить знания об архитектуре к различным уровням масштаба (не только компоновка классов и модулей, но и целых систем)
Тема I.
Восьмой модуль - Подводим итогиТема I.
- Виды архитекторов и их задачи.
- Архитектуры на разных уровнях (embedded, application, distributed system, cloud-native service).
Научимся без проблем выбирать инструмент под конкретную задачу
Тема I.
Тема I.
- Обзор основных инструментов и технологий, их место в архитектуре и принципы выбора.
- Хранение данных: S3, Ceph, Posgres, MongoDB, Clickhouse, Neo4J, Kafka, Cassandra.
- Языки: Python, Java, GO, C++, Javascript/Typescript, WEB.
- Frameworks: React, Vue, Angular, Jquery.
- Kubernetes и пр.
Примечание: тариф Standart
https://slurm.io/architect