Spring Advanced

Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как документирование REST-сервисов, сериализация данных, транзакции в Spring, JWT-авторизация, практическое применение WebFlux, тестирование, развертывание в Docker и многим другим.
Курс: JVA-075 new
Длительность: 30 ч.

Описание

Курс посвящен темам, необходимым для профессионального применения Spring Framework на практике, таким как расширенные вопросы применения Spring REST, технологии HATEOAS и CORS, документирование REST-сервисов, сериализация и ограничение данных, передаваемых клиенту, тонкости применения аннотации @Transactional, применение оптимистических транзакций, JWT-авторизация и сервер авторизации OAuth2, практическое применение реактивного программирования с использованием WebFlux, тестирование Spring-сервисов, планировщик задач и Actuator, развертывание в Docker.

Разбираемые темы

1. Spring Data REST – расширенные темы (4 ч).
  1. Spring Data REST (2 ч)
    • Условные операции с применением заголовков (ETag, If-Match, If-None-Match, If-modified-since) – 0,5 ч
    • REST-события – 0,5 ч
    • Модель зрелости REST-сервисов – 0,5 ч
    • Spring HATEOAS – 0,5 ч
  2. API RestTemplate и WebClient для написания клиентов REST-сервисов (1 ч)
  3. Документирование REST-сервисов с использованием Swagger и SpringFox (1 ч)
  4. Домашняя работа (~2 ч)

2. Object Mapping и валидация (4 ч).
  • Ограничение данных, передаваемых клиенту: @JsonIgnore, nullifying fields, DTO – 0,5 ч
  • Проекции и ограничения в Spring Data REST – 0,5 ч
  • Использование MapStruct для автоматического мэппинга в DTO – 1 ч
  • Пользовательские сериализаторы и десериализаторы – 1 ч
  • Валидация данных модели с помощью аннотаций javax.validation и кастомных аннотаций – 1 ч
  • Домашняя работа (~2 ч)

3. Транзакции (3 ч).
  • Анотация @Transactional – 0,5 ч
  • Распространение транзакций – 1 ч
  • Уровни изоляции транзакций – 1 ч
  • Обработка исключений в транзакциях – 0,5 ч

4. Безопасность для REST-сервисов (JWT авторизация и управление ролями) (4 ч).
  • Подходы к использованию безопасности в Spring – 1 ч
  • Разработка сервера UAA с использованием OAuth2 – 1 ч
  • JWT токены – 1 ч
  • Использование Spring Security для доступа на основе ролей – 1 ч
  • Домашняя работа (~2 ч)

5. Реактивное программирование на Spring WebFlux (7 ч).
  • Обзор реактивного подхода – 0,5 ч
  • Классы Mono и Flux – 0,5 ч
  • Операторы – 1,5 ч
  • Реактивные драйверы БД R2DBC – 0,5 ч
  • Реактивный Spring Data – 0,5 ч
  • Построение REST API с использованием WebFlux – 1 ч
  • WebClient для получения реактивных данных – 0,5 ч
  • Протокол RSocket – 1 ч
  • Реактивный доступ к RabbitMQ – 0,5 ч
  • Реактивные паттерны и бенчмарки – 0,5 ч
  • Домашняя работа (~2 ч)

6. Тестирование сервисов Spring (4 ч).
  • Юнит-тесты с применением Mockito – 0,5 ч
  • Интеграционное тестирование – 1 ч
  • Аннотации тестирования Spring – 0,5 ч
  • Фреймворк TestContext – 0,5 ч
  • Серверные тесты REST – 0,5 ч
  • Тестирование REST сервисов в IntelliJ IDEA – 0,5 ч
  • Тестирование WebFlux – 0,5 ч
  • Домашняя работа (~2 ч)

7. Spring планировщики (0,5 ч).
  • Аннотация @Scheduled
  • fixedRate, fixedDelay, initialDelay
  • Использование выражений CRON
  • Домашняя работа (~0,5 ч)

8. Spring кэширование (1 ч).
  • Использование кэширования
  • @Cacheable
  • @CacheEvict, @CachePut
  • @CacheConfig
  • Conditional кэширование
  • Java-based кэширование
  • Кэширование в Spring на основе EhCache
  • Конфигурирование EhCache
  • Домашняя работа (~1 ч)

9. Spring Boot Actuator (1 час).
  • Actuator endpoints
  • Метрики в Spring Boot
  • Мониторинг и управление через HTTP
  • Инструмент мониторинга Spring Boot Admin

10. Развертывание приложения Spring (1,5 часа).
  • Развертывание в Docker – 0,5 ч
  • Развертывание в nginx as a front server в качестве фронт-сервера (включая балансировку нагрузки) – 0,5 ч
  • Развертывание приложения Spring с помощью nginx - контейнерная установка, docker-compose – 0,5 ч
  • Домашняя работа (~0,5 ч)

Цели

Познакомить слушателей с расширенными темами применения Spring Framework, предоставить примеры применения.

Целевая аудитория

Разработчики Java, архитекторы Java.

Предварительная подготовка

Уверенное владение Java, знание Spring.
После окончания курса выдаётся сертификат на бланке Luxoft Training
Тренер в Онлайн
Дворжецкий Юрий Специалист в области Java, Java Script, .Net.
Юрий работает в Luxoft с 2011 г. в качестве Full-Stack-разработчика в проектах SITA, DHL, ГЛОНАСС, «Почта России».

Разрабатывал высоконагруженные проекты на различных платформах, а также огромные бизнес-порталы с использованием высокоуровневых технологий на платформе от Back-end до Front-end. В отдельных проектах выступал в роли консультанта по настройке и запуску DevOps процессов Continuous Integration и Continuous Delivery процессов. 

С 2005 г. занимается преподавательской деятельностью: 2008–2011 гг. – преподавал курсы по основам программирования в Четверговой математической школе; в 2011–2012 гг. – курсы по программированию в Омском государственном университете им. Ф.М. Достоевского.

Начиная с 2013 г. ведет Java-школу для сотрудников Luxoft и курсы по Java-, .Net-, C++-, JS-технологиям для внешних клиентов Luxoft Training.

Закончил Институт математики и информационных технологий Омского государственного университета. Защитил диссертацию на соискание степени кандидата физико-математических наук.

Имеет только три жизненных принципа: наследование, инкапсуляция и полиформизм.
Влюблен в Java Script, женат на Java.

Профессиональный опыт

2013 – наст. вр.
– тренер Luxoft Training.
2011 – наст. вр. – Luxoft, Java-разработчик. Работал/работаю в проектах SITA, DHL, ГЛОНАСС, «Почта России».
2011 – IssArt, Ltd., Java-разработчик. Разрабатывал back-end для веб-приложений.

Сонькин Владимир Эксперт в области разработки ПО: Java и Web-технологии
Владимир имеет опыт в области разработки ПО уровня Enterprise для крупнейших зарубежных компаний с использованием технологии Java с 2000 г.

В компании Luxoft Владимир работает с 2006 г. За это время поучаствовал в нескольких проектах для крупной американской сельскохозяйственной компании и крупнейшего швейцарского банка. Интересуется технологиями создания масштабируемых, эргономичных web-интерфейсов, а также технологиями повышения производительности труда разработчиков.

Специализируется на использовании JavaScript и Java для создания мощных и современных web-приложений, создании современных эргономичных web-интерфейсов с низким временем отклика.

Профессиональный опыт

2006–2012 – Luxoft, ведущий разработчик, участие в проектах для крупного банка (разработка системы биржевой торговли; разработка системы развертывания ПО на серверах банка); участие в проекте для американской агропромышленной компании (разработка логистической системы учета и транспортировки сельхозпродукции).
2005–2006 – ITCI, ведущий разработчик, разработка системы управления процессом разработки ПО.
2002–2004 – Институт возрастной физиологии РАО, руководитель проекта IT-поддержки систем всероссийского мониторинга школьников, разработка систем сбора и анализа данных.

Образование

1995–2000 – МГУ им. М.Ю. Ломоносова, факультет вычислительной математики и кибернетики, специальность "Прикладная математика".
Данный курс запланирован в городах: Онлайн
18.01.2021 - 29.01.2021
Время: 12:00-15:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Дворжецкий Юрий
Специалист в области Java, Java Script, .Net.
45 000 руб.
12 600 грн.
В корзину

18.01.2021

17.05.2021 - 21.05.2021
Время: 10:00-16:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии
45 000 руб.
12 600 грн.
В корзину

17.05.2021 - 21.05.2021

18.01.2021 - 29.01.2021
Время: 12:00-15:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Дворжецкий Юрий
Специалист в области Java, Java Script, .Net.
45 000 руб.
12 600 грн.
В корзину
17.05.2021 - 21.05.2021
Время: 10:00-16:00
Локация: Онлайн
Длительность: 30 ч.
Тренер
Сонькин Владимир
Эксперт в области разработки ПО: Java и Web-технологии
45 000 руб.
12 600 грн.
В корзину
Не подходят даты, время или хотите заказать корпоративное обучение для команды?
+
Предложите свой вариант
Онлайн 45 000 руб.
12 600 грн.
Связанные курсы:
Связанные курсы:

Записаться на курс

Выбрать дату
Если Вам не подходят дата и место проведения тренинга, Вы можете оставить заявку на участие в нем в любом из городов, где представлены филиалы Luxoft Training. Для этого выберите вариант "Открытая дата" и укажите желаемое место проведения курса.
Желаемое место проведения курса
Вы можете оставить заявку на корпоративное обучение сотрудников Вашей компании в любом городе России или Украины, выбрав вариант "Другой город"
Фамилия *

Имя *

Отчество

Контактный E-mail *

Компания *

Телефон *

Город *

Комментарий
Оценка и обучение ИТ-специалистов по ключевым направлениям разработки программного обеспечения. Курсы от экспертов-практиков по языкам программирования, системному и бизнес-анализу, архитектуре ПО, ручному и автоматизированному тестированию ПО, Big Data и машинному обучению, управлению проектами и Agile. Luxoft Training – первый учебный центр в России, авторизованный IIBA. Действует скидка 10% на обучение физических лиц.
Остались вопросы?
Связаться с нами
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.