Углубленный курс для Java и Kotlin-разработчиков: полный цикл создания веб и микросервисных приложений на Spring с практикой, код-ревью и итоговым проектом.
31 июля
5 месяцев
Онлайн
Вт/Пт 20:00 Мск
Курс не рассчитан на обучение программированию с нуля. Если пока не хватает знаний Java Core, начните с курса «Java разработчик. Базовый уровень».
Курс помогает перейти от использования отдельных возможностей Spring к системной разработке приложений на его экосистеме.
Вы разберете полный цикл работы с приложением: конфигурацию, данные, веб-слой, безопасность, интеграции, микросервисные компоненты и инфраструктуру.
Программа охватывает экосистему Spring целиком. Курс подойдет тем, кому нужно системное развитие, а не знакомство только с одним инструментом, например Spring Security или Actuator.
Занятия проходят онлайн два раза в неделю. На вебинарах вы разбираете архитектурные решения, пишете код, рассматриваете практические примеры и задаете вопросы преподавателям. Между занятиями выполняете домашние работы и дорабатываете решения по обратной связи.
Разбираете сложные темы вместе с практикующими разработчиками и можете уточнить детали во время вебинара.
Работаете с кодом, базами данных, безопасностью и интеграциями. Преподаватель проверяет решение и дает рекомендации.
Выбираете тему собственного приложения на Spring, планируете реализацию и представляете результат экспертам.
В ходе курса вы соберете набор учебных приложений и разработаете собственный проект на Spring. Репозиторий поможет показать, как вы работаете с архитектурой, данными, безопасностью, интеграциями и микросервисными компонентами.
Два живых вебинара в неделю с разбором теории, кода и практических примеров.
Домашние задания помогают последовательно применить компоненты Spring в приложениях.
Вопросы можно задавать преподавателям на занятиях и в чатах учебной группы.
В данном модуле будут рассматриваться понятия и функциональности, на которых базируются все проекты Spring: Inversion of Control (Spring Context), аспектное программирование (Spring AOP), Spring Expression Language (SpEL). Слушатели смогут правильно и эффективно конфигурировать Spring-приложения различными средствами и способами, а также будет рассмотрена "чёрная магия" Spring Boot - автоконфигурации.
Тема 1: Знакомство с курсом
Тема 2: Введение в Spring Framework // ДЗ
Тема 3: ЛикБез - Основы архитектуры ПО
Тема 4: Конфигурирование Spring-приложений // ДЗ
Тема 5: AOP, Spring AOP
Тема 6: "Чёрная магия" Spring Boot // ДЗ
Тема 7: Продвинутая конфигурация (часть 1) - Scopes, Lifecycle
Тема 8: Продвинутая конфигурация (часть 2) - Conditionals, Events, тестирование // ДЗ
В данном модуле будет рассмотрены проекты Spring для работы как с реляционными базами данных, так и с NoSQL базами данных. Spring JDBC, Spring ORM, Spring Data Repositories и, разумеется, работа с транзакциями. Помимо проектов Spring, участники смогут разбираться в особенностях различных баз данных, а также использовать специальные embedded-базы данных.
Тема 1: DAO на Spring JDBC // ДЗ
Тема 2: Основы ORM, JPA, Hibernate как провайдер JPA
Тема 3: JPQL, Spring ORM, DAO на основе Spring ORM + JPA // ДЗ
Тема 4: Транзакции, Spring Tx
Тема 5: "Белая магия" Spring Data: Spring Data JPA // ДЗ
Тема 6: SQL и NoSQL базы данных
Тема 7: Spring Data для подключения к нереляционным БД // ДЗ
В данном модуле будут рассматриваться возможности Spring для разработки Web-приложений: Spring MVC и современный Reactive-ориентированный Spring WebFlux. Разумеется, будут рассмотрены популярные технологии View и разработка современных SPA-приложений. И, конечно, различные "плюшки" Spring Boot, максимально ускоряющие разработку Web-приложений.
Тема 1: Введение в Spring MVC, Spring MVC View на Spring Boot // ДЗ
Тема 2: Современные приложения на Spring MVC // ДЗ
Тема 3: Reactor. Введение в реактивное программирование
Тема 4: Spring WebFlux // ДЗ
В данном модуле подробно разбираются механизмы обеспечения безопасности в приложениях на Spring. Рассматриваются архитектура Spring Security, методы аутентификации и авторизации, включая работу с ACL (Access Control Lists). Студенты научатся применять различные подходы для защиты ресурсов и настраивать доступ на уровне бизнес-логики.
Тема 1: Spring Security: Архитектура
Тема 2: Spring Security: Механизмы аутентификации // ДЗ
Тема 3: Spring Security: Авторизация
Тема 4: Spring Security: ACL // ДЗ
В данном модуле рассматриваются продвинутые проекты Spring, решающие специфичные задачи, связанные с авторизацией и аутентификацией, размещением сервисов в облаках и работой с БД, а также облегчающие создание больших монолитов и систем на микросервисной архитектуре.
Тема 1: Spring Batch // ДЗ
Тема 2: Монолиты vs. Microservices Round 1, Messaging, Enterprise Integration Patterns (EIP)
Тема 3: Spring Integration: Messages и Channels
Тема 4: Spring Integration: Endpoints и Flow Components // ДЗ
Тема 5: Монолиты vs. Microservices (Round 2), Spring Boot Actuator - must have в микросервисах // ДЗ
Тема 6: REST-клиенты, SOAP, Spring WebServices и клиенты к ним
Тема 7: Docker, оркестрация // ДЗ
Тема 8: Знакомство с Kubernetes
Тема 9: Spring Cloud. Конфигурация и взаимодействие
Тема 10: Spring Cloud. Отказоустойчивость и мониторинг // ДЗ
Тема 11: Применение RabbitMQ
Тема 12: Применение Kafka
Тема 13: Комплексный пример использования WebFlux и Kafka
Заключительный месяц курса посвящен проектной работе. Свой проект - это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе. При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей. Проект должен стать примером кода, который можно показывать потенциальным работодателям. Проект должен быть сделан на основе Spring Boot, включать работу с DB с ипользованием Spring Data репозиториев и/или Spring JDBC. Проект должен иметь UI построенный на современных принципах разработки Web-приложений (AJAX и/или SPA). Приложение должно содержать механизмы аутентификации и авторизации с использованием Spring Security Асинхронные части могут быть реализованы с помощью Spring Integration. Пектные обработки, утилиты поддержки должны быть реализованы с помощью Spring Batch + Spring Shell. Проект должен быть cloud-ready. Примеры тем: - Онлайн-библиотека - Блог с админкой/регистрацией пользователей
Тема 1: Выбор темы и организация проектной работы
Тема 2: Spring AI
Тема 3: Защита проектных работ №1
Тема 4: Защита проектных работ №2
Готовый проект станет примером кода, который можно показывать потенциальным работодателям.
Примеры тем проектных работ: Таск-трекер, Всевозможные телеграмм-боты (отслеживание цен на товары, отслеживание цен на авио- жд- билеты, ближайшие достопримечательности по геолокации, и т.д.), Трекер тренировок, Словарь для изучения языков с упражнениями.
Эксперты-практики делятся опытом, разбирают кейсы студентов и дают развернутый фидбэк на домашние задания
OTUS осуществляет лицензированную образовательную деятельность.
Вы получите сертификат о прохождении обучения, а также можете получить удостоверение о повышении квалификации.
Удостоверение о повышении квалификации: если вы успешно защитили выпускной проект и готовы предоставить копию документа о высшем или среднем профессиональном образовании
Доступ к учебным материалам курса
Ваш личный проект, который поможет проходить собеседования
Стоимость в рассрочку