HTTP протокол, методы POST, GET
Структура Servlet API в java
Разработка web приложения через сервлеты
Запуск сервлетов в сервере Tomcat
Подходы к визуальному отображению (frontend)
Технология JCP
Разработка frontend для web приложения
Применение JSTL на практике
SQL и NoSQL базы данных
Установка PostgreSQL
Основы SQL: select, create, update, delete
Правила нормализации
Группировки
Связи ManyToMany, OneToMany, OneToOne
Углубленный SQL:
join, group by, having, limit, offset
Проектирование базы для своего проекта
Настройка jdbc
CRUD операции с помощью jdbc
Лучшие архитектурные практики для работы с моделью данных
Разработка слоя data access в своем приложении
Архитектура фреймворка hibernate
ORM объектно-реляционная модель
Транзакции в hibernate
Кэши 1 и 2 уровня
Разработка ORM для своего приложения
Компоненты Spring Boot
Быстрый запуск REST сервера
Интеграция с Hibernate
Обзор фреймворков для разработки UI
Разработка слоя представления на ThymeLeaf
Язык HQL/JPQL
Разработка сложных запросов в базу данных
Именованные запросы
Паджинация
ACID и уровни изоляции транзакций
Пессимистические и оптимистические блокировки
Распределенные транзакции
Настройка кэша второго уровня
Inversion Control
Dependency Injection
Компоненты Spring
Контейнеры Spring
Spring bean
Жизненный цикл в Spring
SpEL Expression Language
XML конфигурация Spring
Минимизация XML конфигурации
Автоматическая связь бинов
Типы аннотаций
Аспектно-ориентированное программирование
Конфигурация аспектов
Hibernate entity manager factory
Транзакции в Spring
Управление транзакциями
ACID и уровни изоляции транзакций
Пессимистические и оптимистические блокировки
Распределенные транзакции
Настройка кэша второго уровня
Изучение компонента Spring для реализации паттерна Model View Controller
Изучение компонента Spring для разработки REST сервисов
Изучение компонента Spring для обеспечения безопасной аутентификации пользователей
Безопасность web запросов
Методы безопасности