Разработка на Spring
Онлайн курс
Курс в проработке
О курсе
Для кого?
Курс рассчитан на тех, кто знаком с разработкой на Java и хочет научиться создавать веб-приложения на основе фреймворка Spring.
Что дает курс?
- Поработаем с типовой архитектурой приложения, настроим валидацию запросов и обработку исключений.
- Будем взаимодействовать с БД через Hibernate+SpringData: узнаем что такое проекция, как выполнять запросы по нескольким критериям. Поработаем с блокировками транзакций. Расширим проект до нескольких таблиц, связанных составным первичным ключом.
- Поработаем со сложной логикой по преобразованию структур данных.
- Поработаем с файлами и генерацией отчетов.
- Выстроим межсервисное взаимодействие через Rest-HTTP и Kafka. Напишем обработчик событий, научимся запускать несколько экземпляров сервиса и поговорим о проблемах микросервисных систем.
- Узнаем как легко настроить кэширование с помощью Spring.
Информация
- Курс будет проходить в новом формате — чтобы попасть на курс, необходимо выполнить тестовое задание (до 31 марта включительно). Тестовое задание появится в телеграм-канале курса после регистрации. Количество мест ограниченно.
- Лекционные материалы в формате конференций на нашем сервере в Discord, большой упор на практические материалы.
- Менторство от наших ведущих специалистов.
Программа курса
-
/01 темаБазовая архитектура back-end приложения на SpringBoot
Послойная архитектура. Работа с моделями: конвертация, валидация
Профили Spring и конфигурация
Глобальный обработчик исключений
АОП
-
/02 темаПроектирование БД и связей. Работа со слоем данных
Построение many-to-many и one-to-many связей при помощи Hibernate
N+1 проблема
Организация поиска по критериям на Spring-Data
Блокировки транзакций
-
/03 темаЮнит-тестирование
Основные принципы написания тестов на Junit+Mockito. Mock, Spy, stub
Фабрика заглушек на паттерне ObjectMother
SpringBootTest: поднятие контекста в тестовой среде. MockBean, SpyBean
-
/04 темаРабота с файлами и отчетами
Создание эндпоинтов для загрузки и выгрузки файлов
Генерация pdf/csv отчетов
-
/05 темаМежсервисная интеграция по HTTP-Rest
Настройка HTTP взаимодействия. RestClient.
Кэширование вызовов.
Сложная логика и работа со структурами данных при взаимодействии с другими сервисами. Stream-Api
-
/06 темаВзаимодействие через брокер сообщений Kafka
Интеграция с Kafka. Producer, consumer
Обработчик событий на паттерне Chain of Responsibility
Запуск нескольких экземпляров сервиса и проблемы микросервисных систем
-
/07 темаНереляционные БД
Интеграция с Redis. Распределенный кэш
Хранение ключей идемпотентности
-
/08 темаМикросервисные системы
Интеграционные тесты на Testcontainers. WireMock
Паттерны построения микросервисных систем
Docker-образы и Kubernetes