⚡️ Соберите стартап, взорвите рынок и заберите AirPods, iPad или даже MacBook — всё это в нашей безумной игре ко Дню программиста

startup-crunch

Учебный центр IBS

JVA-075 Spring Advanced

Начало: По мере набора группы
Длительность: 1 неделя
СертификатОнлайн

Описание курса

Погрузитесь в мир продвинутого Java Spring и откройте новые горизонты в разработке современных приложений. Этот курс не только углубит ваше понимание фреймворка, но и научит вас оптимизировать производительность и безопасность приложений, используя последние практики и инструменты. Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как документирование REST-сервисов, сериализация данных, транзакции в Spring, JWT-авторизация, практическое применение WebFlux, тестирование, развертывание в Docker и многим другим.

  • Spring REST (3 ч):
    • Введение. Обзор Spring REST (1 ч).
    • Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since) (30 мин).
    • REST события (30 мин).
    • Модель зрелости REST-сервисов (30 мин).
    • Spring HATEOAS (30 мин).
  • API RestTemplate и WebClient для написания клиентов REST-сервисов (1 ч).
  • Документирование REST-сервисов с использованием Swagger и SpringFox (1 ч).
  • Домашняя работа: ~2 ч.
  • Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO (1 ч).
  • Проекции и ограничения в Spring Data REST (1 ч).
  • Использование MapStruct для автоматического мэппинга в DTO (1 ч).
  • Пользовательские сериализаторы и десериализаторы (1 ч).
  • Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций (1 ч).
  • Домашняя работа: ~2 ч.
  • Аннотация @Transactional (30 мин).
  • Уровни изоляции транзакций (1 ч).
  • Распространение транзакций (2 ч).
  • Обработка исключений в транзакциях (30 мин).
  • Проблема вызова транзакции из того же бина (30 мин).
  • Оптимистические блокировки (30 мин).
  • Подключение нескольких БД к проекту (30 мин).
  • Распределенные транзакции и паттерн SAGA (30 мин).
  • Подходы к использованию безопасности в Spring (1 ч).
  • Разработка сервера UAA с использованием OAuth2 (1 ч).
  • JWT токены (2 ч).
  • Использование Spring Security для доступа на основе ролей, демонстрация примеров (2 ч).
  • Домашняя работа: ~2 ч.
  • Обзор реактивного подхода (30 мин).
  • Спецификация реактивных потоков в Java 9 (30 мин).
  • Классы Mono и Flux (30 мин).
  • Операторы (2 ч).
  • Реактивные драйверы БД R2DBC (30 мин).
  • Реактивный Spring Data (30 мин).
  • Построение REST API с использованием WebFlux (1 ч).
  • WebClient для получения реактивных данных (30 мин).
  • Протокол RSocket (1 ч).
  • Реактивный доступ к RabbitMQ (30 мин).
  • Реактивные паттерны и бенчмарки (30 мин).
  • Домашняя работа: ~2 ч.
  • Юнит-тесты с применением Mockito (30 мин).
  • Интеграционное тестирование (1 ч).
  • Аннотации тестирования Spring (30 мин).
  • Фреймворк TestContext (30 мин).
  • Серверные тесты REST (30 мин).
  • Тестирование REST сервисов в IntelliJ IDEA (30 мин).
  • Тестирование WebFlux (30 мин).
  • Домашняя работа: ~2 ч.
  • Аннотация @Scheduled, fixedRate, fixedDelay, initialDelay, использование выражений CRON.
  • Домашняя работа: ~30 мин.
  • Использование кэширования:
    • Использование и параметры настройки EhCache.
    • @Cacheable, @CacheEvict, @CachePut.
    • @CacheConfig.
    • Conditional кэширование.
    • Java-based кэширование.
    • Кэширование в Spring Data.
    • Кэширование в Spring на основе EhCache.
    • Конфигурирование EhCache.
  • Домашняя работа: ~1 ч.
  • Actuator endpoints.
  • Метрики в Spring Boot.
  • Мониторинг и управление через HTTP.
  • Инструмент мониторинга Spring Boot Admin.
  • Развертывание в Docker (30 мин).
  • Развертывание в nginx в качестве фронт-сервера (включая балансировку нагрузки) (30 мин).
  • HTTP кэширование при помощи NGINX (30 мин).
  • Развертывание приложения Spring с помощью nginx - контейнерная установка, docker-compose (30 мин).
  • Домашняя работа: ~30 мин.

Отзывы о курсе

Отзывов пока нет
Будьте первым, напишите отзыв и поставьте оценку этому курсу.