пиши как разработчик, думай как архитектор
На курсе проникнетесь мышлением архитектора и начнете думать дальше, чем видите, чтобы код напоминал произведение искусства, а не развалины
Научитесь писать чистые и управляемые проекты, создавать поддерживаемые системы и организовывать код
Бесплатно сделаете все возможные ошибки во время практических заданий, чтобы потом избежать их в работе и сохранить миллионы
старт 29 апреля
онлайн-курс на 3 месяца
Архитектура приложений
Объем программы 102 часа
видеоуроки и много практики
Результат
систематизация знаний и востребованные навыки
Консультации с экспертами
4 встречи со спикерами +1 итоговая встреча
Сертификация
при выполнении 80% практических заданий
В прошлом многие приложения создавались без проектирования. Это казалось удобным: никаких издержек, связанных с планированием, ускоренное прототипирование.
Почему архитектура приложений важна так же, как спасательный жилет на Титанике
01
Но со временем сложные приложения превращались в неуправляемый крейсер, который на полном ходу несется на айсберг.
02
Тогда-то архитектура и стала настоящим спасательным жилетом. Приложение с хорошо продуманной архитектурой легче расширять, изменять, тестировать, отлаживать и понимать.
03
Архитектура приложения — это искусство. Искусство проектировать и создавать масштабные системы.
К концу курса Вы подготовите итоговый проект. Результат вашей работы можно будет показывать на собеседованиях и прикладывать к портфолио. А можно просто гордиться тем, что вы успешно освоили весь материал.
Чему вы научитесь
Ниже рассказываем о возможных темах проектов. Одну из них вы выберете в самом начале обучения. А большинство практик будет основано на проработке именно этой темы:
Проект — это результат вашего обучения на курсе. Вы примените на практике все полученные знания и спроектируете полноценный продукт. Вы можете смело ошибаться, исправлять неточности и начинать заново. На курсе ваши ошибки не нанесут финансовый вред компании.
Сервис для рассылки уведомлений
Отслеживает изменение курса USD на сайте Мосбиржи и отправляет сообщение с актуальным курсом на электронную почту раз в час
Сервис для создания бэкапов
Телеграм-бот принимает все поступающие к нему файлы и помещает их на Яндекс. Диск
Сервис для конвертации файлов
Принимает в веб-форме odf-файл, конвертирует его в pdf и предоставляет пользователю по ссылке
REST API
Предоставляет эндпоинты для выполнения CRUD-операций в СУБД PostgreSQL
Сервис умного дома
Предоставляет API для управления выключателями и получения данных с датчиков
ETL
Сервис читает данные (csv-файлы, содержимое: key-value) из определенной директории, очищает данные по критерию «value — натуральное число» и записывает результат в другую заданную директорию в виде json-файла
Как проходит работа над проектом
01
После каждого пройденного модуля делаете задание по пройденному материалу, но в рамках своей темы. И так, шаг за шагом, формируется ваш проект. Он обрастает техническими деталями и новым функционалом.
02
В конце потока вы собираете все выполненные задания в одну презентацию и приносите готовый проект на защиту. Эксперты курса дадут вам обратную связь и предложения по правкам, если будет такая необходимость.
03
В самом начале потока вы выбираете одну из тем. Можете внести в неё небольшие изменения. Желательно некоторые темы, например REST API, привязать к конкретной предметной области.
Итоговый проект позволит вам проникнуться мышлением архитектора и видеть наперед.
Вы научитесь проектировать приложения, а не вести разработку по наитию и чувству прекрасного.
Ускоряет разработку даже сложного приложения
Что даёт архитектура приложений?
Гибкость в изменении отдельных блоков приложения
Упрощённый онбординг новых сотрудников
Возможность менять структуру даже в старых версиях приложения
Бесшовную ротацию разработчиков между проектами
Lead Software Engineer в Gcore
Автор и спикеры курса
Senior Software Engineer в Bidease
Senior Software Engineer в Retail Rocket
Егор Лукьянов
Александр Вагнер
Вячеслав
Гагарин
  • Более 15 лет в IT
  • Отвечает за архитектуру Платформы анализа больших данных
  • Руководит бэкенд-разработкой на Python
  • Сочетает в себе сильные технические знания с более чем 5-летним опытом управления командой
  • Более 10 лет в IT
  • Строит с нуля компанию и платформу Torrow
  • Основные технологии: .NET Core (C#), TypeScript, MongoDB, ElasticSearch
  • Имеет богатый опыт создания и разработки high-load веб-сервисов и приложений
  • Более 7 лет в IT
  • Занимается инструментами персонализированного маркетинга в Retail Rocket
  • Строит архитектуру системы Torrow для автоматизации бизнеса из более чем ста микросервисов
  • Аспирант университета ИТМО
Программа
Вы научитесь строить UML-диаграммы, будете рефакторить код, проводить архитектурные границы, анализировать системы. Каждый участник выполнит курсовой проект: спроектирует и полностью опишет информационную систему так, как это происходит в реальной производственной деятельности.
у вас будет 2недели на сдачу каждого домашнего задания
Тема I. Проблематика, почему важно проектировать софт грамотно. Зачем нужна архитектура, что бывает, когда о ней не думают.

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

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

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

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

Тема III. Принципы ООП: (SOLID, DRY).
Онлайн-встреча со спикерами
20 мая в 17:00
АМА
Научимся проектировать системы, используя паттерны: поймете преимущества и ограничения паттернов, сможете распознать в системах примененные паттерны
Тема I. Что такое паттерны и зачем они нужны. Их виды.

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

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

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

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

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

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

Тема III. Архитектура приложений. MVC, MVP, MVVM, MV*.
Онлайн-встреча со спикерами
1 июля в 18:00
АМА
Научимся применить знания об архитектуре к различным уровням масштаба (не только компоновка классов и модулей, но и целых систем).
Тема 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.
Онлайн-встреча со спикерами
1 июля в 18:00
АМА
Завершающий модуль
29 июля
АМА
Открытая защита проекта по желанию. Готовьте проект в течение всего курса, приходите на защиту, получайте фитбек от спикеров
Для кого мы создали этот курс
Этот курс сделает для вас то же самое, что роль Терминатора для Арнольда Шварценеггера.

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

Начните легко управлять изменениями в проекте и получите единое понимание архитектуры всей командой.
Разработчики, системные аналитики, бэкенд и фронтенд
Team Lead и Tech Lead
Сертификат
Каждому студенту вручим свидетельство об окончании курса. А тот, кто успешно выполнит более 80% практических заданий и разработает итоговый проект, получит номерной сертификат Слёрм.
Сертификат
Чем хорош наш курс
Практикуетесь на реальных темах для проекта: с основ до полноценных архитектурных диаграмм
Нет привязки к определенному языку программирования!
Расписываем системы под разными углами, от взаимодействия между классами до взаимодействия между сервисами
Прорабатываем функциональные и нефункциональные требования, закладываем возможности для дальнейшего расширения
А еще:
Сильное ревью, общение со спикерами, много реальной практики, развернутые комментарии, сильная программа, поддержка в течение всего обучения.
Начни учиться бесплатно
Познакомьтесь с материалами и спикерами курса. Откроем для вас все модули курса на 1 день.
Чему вы научитесь
На выходе вы поймете, что ИТ-системы это больше, чем просто процесс разработки
Узнаете, откуда берутся разные ограничения и зачем они нужны
Сможете создавать более качественные и долгоживущие решения
Научитесь осознанно проектировать программное обеспечение, учитывая изменчивость ИТ-систем
Станете мыслить как архитектор
Что еще вы получите
Подзарядитесь энергией комьюнити и будете работать как энерджайзер
Самостоятельно спроектируете приложение, учитывающее сложности и изменчивость проекта
Окунетесь в опыт коллег и конкурентов, увидите, как всё работает изнутри, и сгенерите идеи по улучшению продукта
Как купить курс

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

Видеоуроки, доступ 2 года
Практические задания
Встречи со спикером
Стенды для практики
при рассрочке от 4 месяцев или 110 000 ₽ единовременно

27 500 ₽/мес

Работа в группах с куратором
поток
старт: 29 апреля

Заяка от юрлица

110 000 ₽

только для компаний
Вебинар
Запись от 19 Апреля
Дизайн Web API: Обзор парадигм проектирования интерфейсов
На вебинаре обсудили:
Вячеслав Гагарин
Спикер
Senior Software Engineer в Retail Rocket
  • REST и RPC подходы при проектировании Web API
Прошедшие мероприятия
  • Форматы ответов на запросы клиентов
  • Что делать с большими списками данных в ответе
  • Зачем нужен паттерн Backend-For-Frontend и когда его используют
Менеджер по продажам
Данил Рязанов
Нужна консультация?
Обсудим ваши цели и ответим на вопросы
Присоединяйся к нашему чату архитекторов
Подпишитесь на канал, чтобы попасть в закулисье курса, пообщаться со спикерами и получить много полезного материала по архитектуре ПО
Курс «Архитектура приложений» окупает сам себя. Все ошибки сделаем бесплатно во время обучения и не унесем с собой в рабочий проект.
Рассрочка
только для физических лиц
Условия рассрочки:
Процесс оформления: