Постер курса

OTUS

Архитектура и шаблоны проектирования

  • Продвинутый уровень
  • Наставник: Есть
  • Сертификат: Есть
  • Формат: Online
  • Рассрочка: Нет
  • Язык: Русский
  • Осталось мест: Неограничено
Записаться

Архитектура и шаблоны проектирования

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


С одной стороны, разработка ПО — это процесс ведения разработки, тестирование, быстрая разработка и устранение дефектов.

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

С третьей, это внутренняя компоновка модулей разрабатываемого продукта,
подразумевающая масштабируемость.

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

Курс не привязан к конкретному языку программирования

Если вы сами разрабатываете программные продукты, занимаетесь интеграцией или развитием существующих продуктов или или только встали на стезю разработки ПО, этот курс для вас.

После курса вы будете:
1.применять шаблоны проектирования в разработках
2.Будете понимать и применять SOLID принципы
3.Поймете что такое рефакторинг и как писать чистый код
4.знать современные процессы разработки программного обеспечения
5.внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки
6.уметь вести разработку от постановки бизнес-задачи до реализации на production сервере
7.уметь отрисовывать бизнес-процессы и схемы.

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


Выпускной проект — возможность закрепить навыки, наработанные в процессе обучения. Это отдельная работа, на выполнение которой отводится последний месяц обучения.

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


Образовательный процесс происходит ONLINE в формате вебинаров (язык преподавания — русский). В рамках курса слушателям предлагаются к выполнению домашние задания, которые позволяют применить на практике знания, полученные на занятиях. По каждому домашнему заданию преподаватель дает развернутый фидбек. В течение всего учебного процесса преподаватель находится в едином коммуникационном пространстве с группой, т.е. при обучении слушатель может задавать преподавателю уточняющие вопросы по учебным материалам.
Программа обучения
Проблема сложности и способы ее решения.
  • Тема 1. Проблема сложности, ее разновидности и их связь с архитектурой ПО.
  • Тема 2. Архитектура, архитектурные стили и виды
Сложность тестирования
  • Тема 3. Модульные тесты // ДЗ
Скорость разработки ПО.
  • Тема 4. Абстрагирование. Схема применения SOLID принципов.
  • Тема 5. Определение абстракций, устойчивых к изменениям требований. // ДЗ
  • Тема 6. Общие шаблоны распределения ответственностей
  • Тема 7. SOLID и исключения // ДЗ
  • Тема 8. Расширяемая фабрика и IoC // ДЗ
  • Тема 9. Команда // ДЗ
  • Тема 10. Чистый код и рефакторинг
  • Тема 11. Стратегии разрешения зависимостей IoC
  • Тема 12. Адаптер и мост //ДЗ
Масштабирование
  • Тема 13. Проблема вертикального масштабирования и синхронизация. //ДЗ
  • Тема 14. Интеграция программного обеспечения
  • Тема 15. Системы обмена сообщениями // ДЗ
  • Тема 16. Построение архитектуры приложения, построенного на системе обмена сообщениями
Time To Market
  • Тема 17. Методологии разработки ПО
  • Тема 18. Создание микросервиса // ДЗ
  • Тема 19. DevOps
  • Тема 20. Микросервисная архитектура // ДЗ
Шаблоны проектирования
  • Тема 21. Итератор
  • Тема 22. Состояние // ДЗ
  • Тема 23. Цепочка обязанностей // ДЗ
  • Тема 24. Заместитель
  • Тема 25. Декоратор
  • Тема 26. Шаблонный метод
  • Тема 27. Интерпретатор // ДЗ
Проектная работа
  • Тема 28. Вводное занятие по проектной работе
  • Тема 29. Консультация по проектам и домашним заданиям
  • Тема 30. Защита проектных работ
Что нужно знать?
  • Знание одного из языков программирования и принципов ООП: C++, C#, Java, Kotlin,PHP или Python
Знания и навыки, которые приобретете
  • Получите сертификат об окончании курса
  • Получите материалы по всем пройденным занятиям (видеозаписи вебинаров, выполненные домашние задания, выпускной проект)
  • Применять шаблоны проектирования в разработках
  • Внедрять DevOps в свои процессы разработки, улучшая код и минимизируя ошибки
  • Получите приглашение пройти собеседование в компаниях-партнёрах (в случае успешного обучения)
Партнеры

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

  • Дмитрий Золотов

    Flutter Developer, Yandex

    DevOps, FullStack разработчик (Flutter/Python/Kotlin/GoLang/C++), системный администратор, приглашенный преподаватель в ИТМО, исследователь технологий электронного обучения. Опыт работы - 23 года.Руководил межфакультетской лабораторией перспективных информационных технологий в РГПУ им. А. И. Герцена, участвовал в создании и масштабировании ресурсов для электронного обучения (в т.ч. проект "Российская электронная школа"), проектировал и разрабатывал высоконагруженные веб-приложения и системы автоматизации. Контрибьютор в проект ReOpenLdap. Разрабатывал архитектуру отказоустойчивых конфигураций гибридного облака на основе Consul и Kubernetes, сервисных сетей, интеграционных платформ с использованием AMQP. Также являюсь преподавателем по компьютерным сетям, DevOps, операционным системам, мультимедиа-технологиям. Руководител отделом автоматизации процессов в финансовой организации, в которой был консультантом и DevOps по миграции систем с использованием облачных технологий, а также разработчиком для Android/iOS.Закончил Российский Государственный Педагогический Университет, 2002, учитель физики. Автор серии вебинаров по Kubernetes и кроссплатформенной разработке: https://www.youtube.com/channel/UCs_AMB-HbhHzMhE0VdBZByg Преподаватель

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

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

  • Владислав Родин

    Руководитель разработки

    В настоящее время занимает должность руководителя разработки, преподает в Московском Физико-Техническом Институте и на портале foxminded.Выпускник МФТИ, начал программировать на С++, работал инженером-исследователем на проекте вычислительного программного комплекса МФТИ.С 2017 года занимается Java Enterprise разработкой.Работал Java-разработчиком в таких компаниях как НСПК и Яндекс. Занимался проблемами высокой нагрузки, работая как на Spring'овом (Spring Boot, Spring Core, Spring Data, Spring Batch и т.д.) так и на Java EE'шном стеках. Улучшал инфраструктуру проектов, внедряя CI/CD и отлаживая процесс миграции БД. Строил С4- архитектурные схемы для проектов, в которых принимал участие.Является автором статей по backend-разработке на habr.com; спикер Рит++ 2020; обладатель сертификата Oracle Certified Assotiate Java SE 8 Programmer. Преподаватель

  • Лев Губин

    Разработчик в Zalando (Берлин)

    Более 4-х лет работаю Full stack разработчиком с использованием технологий Java/Spring и Javascript/React. В основном разрабатываю микросервисы и использую agile метод разработки. Также использую такие технологии как: -Kubernetes -Kafka -CI/CD -AWS Преподаватель

  • Евгений Непомнящий

    C++ и Java разработчик.В отрасли с 2006 года. Долгое время занимался разработкой под микроконтроллеры на С++, последние 3 года увлекся Java.Компании: Топаз-сервис, МвмСдал экзамен Oracle по Java: Oracle Certified Professional Преподаватель