Domain Driven Design и асинхронная архитектура

Освойте современные подходы к проектированию устойчивых распределенных систем и улучшите свои навыки разработки

28 августа

3 месяца

Онлайн

Для кого этот курс:

  • Software Engineers
  • Frontend-developer
  • Backend-developer
  • Tech lead developer
  • Team lead developer
  • Senior DevOps engineer

Необходимые знания:

 
  • Язык программирования:
    Уверенное знание одного из языков (Python, Java, C#, JavaScript/TypeScript, Go и т.д.)
    Понимание основных парадигм: ООП, функциональное программирование
  • Базы данных:
    Понимание реляционных баз данных (SQL, PostgreSQL, MySQL) и NoSQL (MongoDB, Redis)
    Базовые навыки работы с транзакциями, индексами и запросами
  • Инструменты разработки:
    Опыт работы с Git (ветки, merge, pull requests)
    Базовые навыки работы с Docker (запуск контейнеров, создание образов)
  • Общие знания:
    Понимание основ сетевых протоколов (HTTP, TCP/IP)

Что даст вам этот курс

  • Основы асинхронности: Понимание принципов асинхронной архитектуры и разницы между синхронным и асинхронным взаимодействием, что позволит осознанно подходить к проектированию систем
  • Освоение стратегических и тактических шаблонов Domain Driven Design, включая связь с принципами SOLID, что улучшит способности к проектированию сложных бизнес-решений
  • Архитектурные паттерны: Навыки проектирования асинхронных систем с использованием популярных архитектурных паттернов, таких как Event Sourcing и CQRS, что поможет создавать устойчивые и масштабируемые приложения
  • Работа с инструментами: Умение использовать специализированные инструменты для обработки событий, логирования и анализа ошибок, что повысит качество разработки и поддержки приложений
  • Решение специальных вопросов: Понимание приемов для управления распределенными транзакциями и оптимизации масштабируемых приложений, что позволит улучшить архитектуру уже существующих проектов.
 

Вы научитесь:

  • Проектировать асинхронные приложения: способы разработки и внедрения надежных асинхронных систем, с учетом особенностей распределенных технологий
  • Применять DDD: анализ бизнес-требования и разработка архитектуры программных решений с использованием принципов DDD
  • Работать с архитектурными паттернами: интеграция паттернов Event Sourcing, CQRS в свои проекты, обеспечивающие масштабируемость и гибкость
  • Анализировать и оптимизировать: анализ производительность систем и внесение изменений для оптимизации, что позволяет снижать издержки и повышать устойчивость приложений
  • Взаимодействовать с командой: эффективная работа в команде, обсуждение архитектурных решений и применение подходов DDD в совместных проектах

Процесс обучения

Обучение проходит онлайн: вебинары, общение с преподавателями и вашей группой в Telegram, сдача домашних работ и получение обратной связи от преподавателя.

Оптимальная нагрузка

Возможность совмещать учебу с работой

Портфолио

Индивидуальная разработка итоговой проектной работы 

Перспективы

 

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

Партнеры

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

  • Получите помощь с оформлением резюме, портфолио и сопроводительного письма
  • Разместите свое резюме в базе OTUS и сможете получать приглашения на собеседования от партнеров
  • Пройдете карьерную консультацию с нашим HR-специалистом
  • Получите рекомендации, как искать работу, и советы по прохождению собеседования
Формат обучения

Интерактивные вебинары


2 занятия по 2 ак.часа в неделю. Доступ к записям и материалам остается навсегда

Обратная связь


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

Активное комьюнити


Чат в Telegram для общения преподавателей и студентов

Программа

Введение в асинхронность

Этот модуль знакомит с фундаментальными принципами асинхронной архитектуры, объясняя, почему асинхронность стала ключевым элементом современных распределённых систем, показывает разницу между синхронным и асинхронным взаимодействием.

Тема 1: Сравнение синхронных и асинхронных систем

Тема 2: Базовые концепции

Тема 3: Системы обмена сообщениями

Тема 4: Инструменты аснихронного взаимодействия

Введение в DDD

Тема 1: Стратегические шаблоны

Тема 2: Тактические шаблоны

Тема 3: Связь DDD и SOLID принципов

Тема 4: Практика проектирования в соответствии с DDD

Тема 5: Q&A занятие по ДЗ

Архитектуры асинхронных сервисов

Проектирование и построение современных асинхронных систем. Ключевые архитектурные паттерны и подходы, которые используются для создания масштабируемых и надёжных распределённых приложений

Тема 1: Основы Event Sourcing

Тема 2: Восстановление состояния и Projections

Тема 3: Event Processing

Тема 4: Сложные потоки обработки данных

Тема 5: KSQL

Тема 6: Обработка ошибок

Тема 7: Логирование и анализ ошибок

Тема 8: CQRS паттерн

Тема 9: Q&A занятие по ДЗ

Специальные вопросы

Тема 1: Управление распределёнными транзакциями

Тема 2: Оптимизация и масштабирование

Тема 3: Интеграция с внешними системами

Проектная работа

Тема 1: Выбор темы и организация проектной работы

Тема 2: Консультация по проектам и домашним заданиям

Тема 3: Защита проектных работ

Тема 4: Проектная работа

Также вы можете получить полную программу, чтобы убедиться, что обучение вам подходит

Выпускной проект


Каждый курс завершается финальным проектом, который предстоит защитить перед преподавателями и командой. Вам будет, что обсудить на собеседовании!

Вы сможете объединиться с группой и разрабатывать один масштабный проект. А ваши домашние задания станут частью проектной работы.

Преподаватель

Евгений Тюменцев

6 лет в Otus
525 занятий
3758 студентов

Директор компании по разработке программного обеспечения. 20 лет преподаю компьютерные дисциплины в ВУЗе: C++, Kotlin, C#, ООП. Технологии программирования. В прошлом занимался профессионально разработкой многопоточных кросс-платформенных приложений на С++. Код, написанный 14 лет назад, до сих пор работает в составе IBM Watson. Один из результатов - успешная разработка технически сложного коммерческого проекта командой из 7 студентов.

Преподает на курсах

  • C# ASP.NET Core разработчик
  • Математика для программистов
  • C# Developer. Basic
  • C# Developer. Professional
  • Computer Science
  • Microservice Architecture
  • Архитектура и шаблоны проектирования
  • Software Architect
  • GA-Microservice Architecture
  • GA-Математика для программистов

Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания

Корпоративное обучение для ваших сотрудников

OTUS помогает развивать высокотехнологичные команды. Почему нам удаётся это делать успешно:
  • Курсы OTUS верифицированы крупными игроками ИТ-рынка и предлагают инструменты и практики, актуальные на данный момент
  • Студенты работают в группах, могут получить консультации не только преподавателей, но и профессионального сообщества
  • OTUS проверяет знания студентов перед стартом обучения и после его завершения
  • Простой и удобный личный кабинет компании, в котором можно видеть статистику по обучению сотрудников
  • Сертификат нашего выпускника за 5 лет стал гарантом качества знаний в обществе
  • OTUS создал в IT более 120 курсов по 7 направлениям, линейка которых расширяется по 40-50 курсов в год

Подтверждение знаний и навыков

OTUS осуществляет лицензированную образовательную деятельность.
В конце прохождения специализации вы получите сертификат OTUS и официальный диплом о получении новой специальности

После обучения:

  • Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект
    и готовы предоставить копию документа о высшем или среднем профессиональном образовании

  • Доступ к учебным материалам курса

  • Ваш личный проект, который поможет проходить собеседования

Частые вопросы

Что, если в середине курса я не смогу продолжать обучение?
У вас есть право одного бесплатного трансфера в другую группу
Обязательно ли защищать выпускной проект?
Для получения сертификата OTUS необходимо сдать проект. Кроме того, проект необязательно защищать перед аудиторией, а можно сдать в чате с преподавателем.
С какого момента я смогу заниматься трудоустройством?
Получить карьерную консультацию вы сможете уже в начале обучения. Остальные опции: помощь с резюме, добавление резюме в нашу базу специалистов и т.д. будут доступны после окончания обучения.
Я могу вернуть деньги?
Да, вы можете сделать возврат средств пропорционально оставшимся месяцам обучения.