Подробная программа обучения
- Зачем Spring Security появляется в Spring Boot приложении и какие проблемы он решает
- Что меняется в приложении сразу после подключения spring-boot-starter-security
- Request lifecycle и anatomy filter chain в servlet-приложении
- Authentication internals без магии и лишнего low-level перегруза
- Первый осмысленный SecurityFilterChain и первые собственные access rules
- Пароли, PasswordEncoder и безопасная модель хранения credentials
- In-memory users, roles и authorities как первая рабочая security-модель
- Form login как лучший учебный мост к пониманию Spring Security
- Session-based security как полноценная модель, а не «устаревший способ до JWT»
- HTTP Basic и API-клиенты как простой и честный сравнительный baseline
- CSRF fundamentals на реальных state-changing запросах
- CORS, cookies и frontend-интеграция без мифов и blind disable
- Multipart и file upload security на примере аватара пользователя
- Переход от in-memory authentication к DB-backed users
- CustomUserDetailsService и DaoAuthenticationProvider поверх БД
- Регистрация пользователя и жизненный цикл аккаунта
- REST-friendly security errors и различие между 401 и 403
- Request-level authorization для REST API и вспомогательных endpoint'ов
- Method security как отдельный уровень защиты, а не хвостик к URL-rules
- Ownership-based access, current user и правила свой / чужой
- От stateful security к stateless API без идеологической войны
- JWT basics без маркетингового тумана и лишнего OAuth2-контекста
- Выдача JWT и проектирование login endpoint для stateless API
- Custom JWT filter как самый прозрачный путь понять stateless authentication
- Built-in Bearer/JWT support как альтернативная, более framework-native реализация
- MockMvc и базовый набор security-тестов для Spring MVC приложения
- Тестирование CSRF, form login, JWT и негативных security-сценариев
- Hardening, troubleshooting и финальный security audit проекта
- Зачем тестировать Spring Boot приложение
- JUnit 5 как рабочая база курса
- AssertJ, Hamcrest, JSONassert и JsonPath как язык проверок
- Mockito без магии и без ложного чувства надежности
- Unit-тесты бизнес-логики без Spring-контекста
- Spring Boot 4 testing landscape и карта test annotations
- Test profiles, properties и управляемая тестовая конфигурация
- JSON tests как отдельный слой качества API
- @WebMvcTest как базовый инструмент узкого controller testing
- MockMvc и HTTP-механика без поднятия сервера
- MockMvcTester как более ergonomic MVC path
- Validation и error handling в controller tests
- Более прикладные MVC-сценарии: pagination, files и boundary cases
- @DataJpaTest и честное тестирование repository-layer
- TestEntityManager, flush, clear и реальные последствия JPA-мэппинга
- Queries, pagination и мост к реальной базе данных
- Связи сущностей, lazy loading и конкурентные сценарии
- Flyway, @Sql и repeatable test data
- @SpringBootTest и карта полного контекста
- Full-context tests с MockMvc
- Running server integration tests через RestTestClient
- Минимальный профессиональный regression suite
- Security testing для защищенного Spring Boot API
- Тестирование внешних интеграций и простого async-поведения
- Testcontainers и real PostgreSQL path
- REST Docs, platform settings и финальная стратегия test suite
- Контейнерное мышление для Java/Spring-разработчика и карта всего курса
- Ежедневный Docker CLI без DevOps-overload
- Первый контейнер для Spring Boot приложения
- Dockerfile глазами Java-разработчика
- Слои, кэш и быстрая пересборка образа
- Multi-stage build как стандартный путь для Java
- Базовые образы, воспроизводимость и платформы
- Layered Spring Boot images на Boot 4.0.3
- Buildpacks и bootBuildImage
- Development target и debug-oriented image
- Externalized configuration внутри контейнеризированного Boot-приложения
- Profiles и внешние конфигурационные файлы
- Volumes, bind mounts и файловые сценарии
- Логи, health и корректное завершение приложения
- Compose как нормальный способ жить с несколькими контейнерами
- Первый взрослый стенд — app + PostgreSQL
- Startup order и настоящая readiness-модель
- Flyway и жизненный цикл локальной среды
- Добавление Redis в тот же Compose-стек
- Добавление RabbitMQ без превращения курса в messaging-track
- Developer workflow вокруг Compose
- Troubleshooting workshop
- JVM под memory и CPU limits
- Image hygiene, non-root и финальный reusable template
390+
Лекций
700+
Задач
78
Тестов
А также:
- Мгновенная проверка
- AI-валидатор кода
- Плагин для IDE
- WebIDE
- Геймификация