Подробная программа обучения
- Позиционирование курса, его границы в линейке и старт сквозного проекта Task Tracker API
- HTTP глазами backend-разработчика, а не только как «методы и статусы из теории»
- REST как практический стиль проектирования API, а не как набор догматических правил
- URI, границы ресурсов и финальная карта endpoints проекта
- Spring MVC request handling без магии и без раннего ухода в детали framework internals
- Источники входных данных в контроллере: path, query, headers и criteria DTO
- Request body, response body и корректные HTTP-ответы на create/update/delete операции
- HttpMessageConverter и реальная механика body conversion в Spring MVC
- Архитектура проекта внутри REST-курса: контроллеры, сервисы, in-memory репозитории и storage abstraction
- DTO как защита внешнего контракта и как способ не утечь внутренней моделью наружу
- Jackson 3 и JSON basics для выбранной Boot-линии курса
- Jackson-аннотации, которые действительно нужны в REST-курсе, и где надо остановиться
- JSON beyond simple DTO: generics, tree model и частично динамический input без ухода в хаос
- Стабильные response shape, list envelopes и безопасная эволюция JSON-контракта
- Базовая валидация входных данных через Bean Validation и Spring Boot validation stack
- Валидация вложенных структур, коллекций и параметров запроса
- Кастомная валидация, cross-field rules и граница между input validation и business validation
- Как возвращать ошибки валидации так, чтобы они были полезны клиенту и не ломали единый error contract
- Категории ошибок в API и современный базовый путь через ProblemDetail
- @ControllerAdvice, @ExceptionHandler и перевод исключений в единые HTTP-ответы
- Проектирование хорошего error response: коды, детали, field errors и конфликтные бизнес-сценарии
- Collection endpoints, pagination и sorting без опоры на Spring Data abstractions
- Filtering и search без превращения API в хаотичный набор query-параметров
- Создание, обновление и удаление ресурсов: POST, PUT, PATCH, DELETE без лишней путаницы
- Не-CRUD сценарии, переходы состояний и поддерживающие подресурсы без RPC-хаоса
- File upload в Spring MVC и multipart/form-data как часть нормального прикладного API
- Download endpoints, локальное файловое хранилище и разделение metadata/content
- Externalized configuration в контексте REST-курса и прикладных сценариев проекта
- Эволюция API и OpenAPI-документация как продолжение contract-first подхода
- @WebMvcTest, MockMvc и финальная сборка навыка production-like REST API
- Зачем приложению нужен persistence layer, как соотносятся JDBC, JPA, Hibernate и Spring Data JPA
- SQL refresher — таблицы, ключи, ограничения и joins как фон для entity mapping
- SQL refresher для write-сценариев — DML, индексы и транзакционная логика до @Transactional
- Поднимаем PostgreSQL, настраиваем DataSource, HikariCP и собираем каркас проекта shop-data-jpa
- Первая entity, первичный ключ и базовый field mapping
- Entity design — states, @Embeddable, value objects и границы модели
- Repository abstraction — как интерфейс становится компонентом и где граница ответственности репозитория
- ManyToOne, OneToMany, owning side и ментальная модель связей в JPA
- OneToOne, controlled ManyToMany и первые fetch-ловушки, которые лучше увидеть рано
- Derived queries, сортировка, Page и Slice для типичных REST- и service-сценариев
- JPQL и @Query как следующий шаг, когда имена методов перестают быть удобными
- Projections как нормальный read-side инструмент, а не редкая экзотика
- Native queries — только там, где JPQL уже неудобен, без превращения курса в SQL-first историю
- @Modifying, bulk update/delete и разница между «изменить сущности» и «изменить данные быстро»
- Pragmatic Specification для динамической фильтрации и controlled preview более гибкого querying
- Современный repository API, legacy-паттерны старых статей и финализация querying-блока
- Почему @Transactional — это граница бизнес-операции, а не декоративная аннотация
- Проектируем placeOrder() как полноценную unit of work, а не набор вызовов репозиториев
- Необходимая глубина по propagation, isolation и transactional defaults для Junior-уровня
- Persistence context, dirty checking, flush и detached-объекты — то, что воспринимается как «магия Hibernate»
- Lazy loading, LazyInitializationException и N+1 как первая настоящая боль ORM
- join fetch, @EntityGraph и projections для осознанного управления чтением данных
- Flyway и жизнь схемы БД — от демо-схемы к воспроизводимому data-layer
- Ограничения БД, exception translation и граница между кодовой validation и защитой данных
- Конкурентный доступ, lost update и optimistic locking как база для многопользовательского приложения
- Auditing, общие поля и поддерживаемый data-layer без лишней архитектурной тяжести
- @DataJpaTest, repository tests и проверка маппингов, запросов и pagination на изолированном data-layer
- Transactional service tests, H2 traps, optional Testcontainers preview и финальная сборка data-layer
- Зачем 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 проекта
430+
Лекций
800+
Задач
86
Тестов
А также:
- Мгновенная проверка
- AI-валидатор кода
- Плагин для IDE
- WebIDE
- Геймификация