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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Senior software engineer в inDriver
 

  • Более 15 лет в IT
  • Отвечает за архитектуру Платформы анализа больших данных
  • Руководит бэкенд-разработкой на Python
  • Развивает культуру осознанного проектирования программного обеспечения

 

Solution Architect & co-founder в TorrowTechnologies
 

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

 

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

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

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

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

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

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

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

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

Установочная сессия со спикерами
 
Первый модуль: введение в архитектуру приложений

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

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

Второй модуль: Unified Modelling 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
обновлено 17.01.2023 13:13
Архитектура приложений: пиши как разработчик, думай как архитектор

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

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