Сложность
Сложность
Начинающий
Тип обучения
Тип обучения
Курс
Формат обучения
Формат обучения
С проверкой домашнего задания
Трудоустройство
Трудоустройство
Отсутствует
Сертификат
Сертификат
Да

Стоимость курса

110 000 ₽
есть рассрочка

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

Почему архитектура приложений важна так же, как спасательный жилет на Титанике

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

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

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

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

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

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

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

  • Разработчиков и всех, кто хочет думать как архитектор
    Этот курс сделает для вас то же самое, что роль Терминатора для Арнольда Шварценеггера. Взгляните на мир глазами других архитекторов, выйдите на новый уровень в разработке ПО и повысьте свою ценность как специалиста.
  • Team Lead и Tech Lead
    Обучить команду архитектуре — это как пересадить ее из Рено в Мерседес: тоже едет, но гораздо лучше. Начните легко управлять изменениями в проекте и получите единое понимание архитектуры всей командой.

Учиться проще тому, кто

  • Имеет опыт работы с Git
  • Знает хотя бы один язык программирования

Что вы получите после обучения

Приобретаемые навыки
1
Архитектура приложений
2
Модульность
3
Связанность
4
Спагетти-код
8
Паттерны проектирования
9
Чистая архитектура
10
MVC
11
MVP
12
MVVM
13
MV*
15
Kubernetes
16
Terraform
18
Хранение данных
19
Интерфейс

Вас будут обучать

Solution Architect & co-founder в TorrowTechnologies
 

  • Более 8 лет в IT
  • Строит с нуля компанию и платформу Torrow
  • Основные технологии: .NET Core (C#), TypeScript, MongoDB, ElasticSearch
  • Имеет богатый опыт создания и разработки high-load веб-сервисов и приложений

 

Старший разработчик ПО в Retail Rocket

Старший разработчик ПО в Retail Rocket
Тьютор на курсе по Архитектуре ПО в учебном центре Слёрм
7+ лет опыта в IT
Аспирант университета ИТМО

Образовательная организация

Учебный центр: обучение для инженеров и технических лидеров. 

Слёрм вырос из внутреннего обучения Southbridge, аутсорсера администрирования нагруженных проектов. В процессе обучения сотрудников появился учебный курс по Kubernetes, а потом базовый курс дополнился продвинутым, появились курсы DevOps, Docker, Ceph, SRE.

Задача Слёрма - передавать применимые на практике знания для IT-специалистов. Учим DevOps-инженеров и разработчиков от новичков до техлидов. 

Учим тому, в чём уверены сами.

Мы улучшаем IT-мир, создавая полезное образование для специалистов, и предпочитаем развиваться без оглядки на других, идти собственным путём.

Программа курса

Программа

Вы научитесь строить UML-диаграммы, будете рефакторить код, проводить архитектурные границы, анализировать системы. Каждый участник выполнит курсовой проект: спроектирует и полностью опишет информационную систему так, как это происходит в реальной производственной деятельности.
 
у вас будет 2 недели на сдачу домашней работы

Введение в архитектуру приложений 

Познакомимся с подходами и парадигмами архитектуры приложений
Тема I. Проблематика, почему важно проектировать софт грамотно. Зачем нужна архитектура, что бывает, когда о ней не думают.

Тема II. Изоляция как средство контроля сложности. Спагетти-код. Модульность. Связанность (coupling). Статическое связывание, динамическое связывание. Компоненты и их взаимодействие. Компонент как самостоятельная сущность. Проектирование слабосвязанных компонентов. Тестирование компонентов. MVC как пример модульного паттерна. Причины изменений, изоляция по принципу причин изменений.

Установочная сессия со спикерами
Знакомство студентов с курсом, спикерами и куратором. Расскажем основные организационные моменты, про программу курса, как сдавать практики на ревью.
Unified Modeling Language

Освоим язык графического отображения: сможете читать и проектировать с помощью этого языка. Научимся использовать диаграммы для визуализации архитектуры и связей.
Тема I. Основные компоненты, что ими можно выражать, для чего они нужны.

Тема II. Диаграммы классов, деятельности, последовательности и прецедентов.

Тема III. Недостатки UML. Модель C4. Инструменты


Принципы ООП 

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

Тема II. ООП, принципы. ООП как средство архитектуры. Классы и методы. Объектный подход, как метод изоляции. Интерфейсы и абстрактные классы. Проблемы наследования.

Тема III. Принципы ООП: (SOLID, DRY).

АМА-сессия со спикерами 
Онлайн встреча со спикерами в формате вопрос-ответ

Паттерны проектирования 

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

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

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

Тема IV. Антипаттерны.

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

Научимся проектировать по критериям чистой архитектуры, находить отклонения от чистой архитектуры и предлагать варианты системного решения. Научимся применять компоновку кода, проектировать и проводить архитектурные границы для упрощения дальнейшего изменения и поддержки кода.
Тема I. Coupling & Cohesion (Связанность и сочетаемость).

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

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

Различные архитектурные подходы 

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

Тема II. Архитектуные стили. Луковая, многоуровневая, сервис-ориентированная, микросервисная, event-driven.

Тема III. Архитектура приложений. MVC, MVP, MVVM, MV*.

АМА-сессия со спикерами 
Онлайн встреча со спикерами в формате вопрос-ответ

Архитектура везде 

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

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

Подводим итоги 

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

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

Очереди: AMQP, Rabbit, Kafka, MQTT.

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

Интерфейс: Консоль, нативные приложения, WEB: React, Vue, Angular, Jquery, гибрид, чатботы.

Инфраструктурные инструменты: docker, k8s, terraform, ansible.

АМА-сессия со спикерами 
Онлайн встреча со спикерами в формате вопрос-ответ
Завершающий модуль 
 
Защита проекта 

 Завершающая встреча
Открытая защита проекта по желанию. Готовьте проект в течение всего курса, приходите на защиту, получайте фитбек от спикеров

Рейтинг курса

3.1
рейтинг
0
0
0
0
0

Может быть интересно

обновлено 26.11.2024 07:05
Архитектура приложений: пиши как разработчик, думай как архитектор

Архитектура приложений: пиши как разработчик, думай как архитектор

Оставить отзыв
Поделиться курсом с друзьями