Содержание курса
Micronaut 5: компиляция вместо рефлексии
8 уроков
1.
Meterway: задача, которую решает курс
↗
2.
Compile-time модель: что Micronaut делает вместо рефлексии
↗
3.
Первый проект: Micronaut Launch и Gradle Kotlin DSL
↗
4.
Что генерирует annotation processor
↗
5.
ApplicationContext и жизненный цикл приложения
↗
6.
Конфигурация: окружения, источники, config imports
↗
7.
Micronaut Gradle Plugin и Test Resources
↗
8.
Практика: каркас Meterway
↗
Контейнер бинов: DI, скоупы, конфигурация
10 уроков
1.
jakarta.inject в Micronaut
↗
2.
Скоупы бинов
↗
3.
Квалификаторы и выбор среди нескольких реализаций
↗
4.
@Factory: бины из чужих классов
↗
5.
@Requires: условная регистрация бинов
↗
6.
@Replaces и подмена реализаций
↗
7.
@ConfigurationProperties и типобезопасная конфигурация
↗
8.
@EachProperty и @EachBean: семейства бинов
↗
9.
BeanContext, BeanProvider и события контейнера
↗
10.
Практика: реестр метрик Meterway
↗
HTTP-сервер: контроллеры, привязка, ответы
10 уроков
1.
@Controller и маршрутизация
↗
2.
Привязка простых параметров
↗
3.
@Body и составные структуры
↗
4.
HttpResponse и формирование ответа
↗
5.
Content negotiation
↗
6.
@ServerFilter и конвейер запроса
↗
7.
Загрузка файлов и потоковые ответы
↗
8.
Ошибки и их маршрутизация
↗
9.
Netty-сервер: настройка и лимиты
↗
10.
Практика: ingest API Meterway
↗
Контракты API: сериализация, валидация, ошибки, OpenAPI
9 уроков
1.
Micronaut Serialization вместо Jackson Databind
↗
2.
Настройка сериализации
↗
3.
Свои сериализаторы
↗
4.
Валидация запросов
↗
5.
Свои ограничения
↗
6.
Ошибки в формате RFC 9457
↗
7.
OpenAPI из исходников
↗
8.
JSON Schema и валидация конфигурации
↗
9.
Практика: контракт Meterway
↗
Модель исполнения: event loop, виртуальные потоки, реактивность
9 уроков
1.
Netty event loop
↗
2.
@ExecuteOn и TaskExecutors
↗
3.
Виртуальные потоки в Micronaut 5
↗
4.
Reactive Streams как первоклассный тип
↗
5.
Micronaut Reactor
↗
6.
Распространение контекста
↗
7.
Потоковый ingest
↗
8.
Асинхронные ошибки и таймауты
↗
9.
Практика: неблокирующий приём батчей
↗
Micronaut Data JDBC: сущности, репозитории, запросы
11 уроков
1.
Репозитории, которых нет в рантайме
↗
2.
@MappedEntity и модель данных
↗
3.
CrudRepository и его родня
↗
4.
Производные запросы
↗
5.
@Query и native SQL
↗
6.
Проекции и DTO
↗
7.
@Relation и связи
↗
8.
Criteria API и динамические фильтры
↗
9.
Пагинация
↗
10.
Батчи и большие объёмы
↗
11.
Практика: слой данных Meterway
↗
Транзакции, миграции и работа со схемой
9 уроков
1.
@Transactional в Micronaut
↗
2.
Распространение и изоляция
↗
3.
Программные транзакции
↗
4.
Ловушки транзакций
↗
5.
Flyway в Micronaut
↗
6.
Схема Meterway
↗
7.
Оптимистичная блокировка и ETag
↗
8.
Несколько источников данных
↗
9.
Практика: закрытие расчётного периода
↗
AOP на этапе компиляции
9 уроков
1.
Как устроен AOP в Micronaut
↗
2.
@Around и MethodInterceptor
↗
3.
Свои аннотации и биндинги
↗
4.
@Retryable и @CircuitBreaker
↗
5.
Программные retry и circuit breaker
↗
6.
Кэширование
↗
7.
@Introduction: реализация интерфейса перехватчиком
↗
8.
Диагностика AOP
↗
9.
Практика: аудит и лимитирование
↗
HTTP-клиенты и устойчивые интеграции
9 уроков
1.
Декларативный @Client
↗
2.
Низкоуровневые клиенты
↗
3.
Конфигурация клиента
↗
4.
Фильтры клиента
↗
5.
Ошибки клиента
↗
6.
Устойчивость интеграций
↗
7.
Service discovery и балансировка
↗
8.
Тестирование клиентов
↗
9.
Практика: доставка вебхуков
↗
Micronaut Security: аутентификация и авторизация
11 уроков
1.
Архитектура Micronaut Security
↗
2.
Правила доступа
↗
3.
AuthenticationProvider
↗
4.
JWT
↗
5.
Refresh-токены
↗
6.
Аутентификация по API-ключу
↗
7.
Авторизация по данным
↗
8.
Мультитенантность
↗
9.
OAuth2 и внешние провайдеры
↗
10.
CSRF, CORS и служебные эндпоинты
↗
11.
Практика: две схемы аутентификации
↗
Redis: кэш, счётчики квот, распределённые примитивы
9 уроков
1.
Micronaut Cache
↗
2.
Подключение Redis
↗
3.
Работа с Lettuce из Micronaut
↗
4.
Redis как cache-провайдер
↗
5.
Атомарные счётчики и Lua
↗
6.
Распределённые блокировки и однократность
↗
7.
Redis Pub/Sub
↗
8.
Согласованность кэша и БД
↗
9.
Практика: квоты в реальном времени
↗
Планировщик, события и фоновая работа
9 уроков
1.
@Scheduled
↗
2.
TaskScheduler
↗
3.
Пулы планировщика
↗
4.
Однократность в кластере
↗
5.
События приложения
↗
6.
События жизненного цикла
↗
7.
@Async
↗
8.
Graceful shutdown
↗
9.
Практика: конвейер закрытия периода
↗
Micronaut Kafka
10 уроков
1.
@KafkaClient
↗
2.
@KafkaListener
↗
3.
Ключи, партиции и порядок
↗
4.
Сериализация сообщений
↗
5.
Ошибки консьюмера
↗
6.
Non-blocking retry topics
↗
7.
Батчи и ручной коммит
↗
8.
Kafka Streams
↗
9.
Транзакции Kafka
↗
10.
Практика: конвейер ingest → aggregate
↗
Тестирование Micronaut-приложений
11 уроков
1.
@MicronautTest
↗
2.
Test Resources
↗
3.
Подмена бинов в тестах
↗
4.
Тестирование контроллеров
↗
5.
Тестовые окружения и свойства
↗
6.
Тестирование данных и транзакций
↗
7.
Тестирование Kafka
↗
8.
Тестирование безопасности
↗
9.
Testcontainers вручную
↗
10.
Скорость тестов
↗
11.
Практика: тестовый контур
↗
Наблюдаемость
10 уроков
1.
Micronaut Management
↗
2.
Health-индикаторы
↗
3.
Micrometer в Micronaut
↗
4.
Свои метрики
↗
5.
Prometheus
↗
6.
OpenTelemetry
↗
7.
Свои спаны
↗
8.
Логи и корреляция
↗
9.
Control Panel в разработке
↗
10.
Практика: наблюдаемый конвейер
↗
Real-time: WebSocket, SSE, GraphQL
9 уроков
1.
@ServerWebSocket
↗
2.
WebSocketBroadcaster
↗
3.
WebSocket-клиент
↗
4.
Server-Sent Events
↗
5.
Безопасность real-time
↗
6.
GraphQL в Micronaut
↗
7.
Резолверы и загрузка данных
↗
8.
Масштабирование real-time
↗
9.
Практика: живая панель потребления
↗
GraalVM native image, AOT и производительность
9 уроков
1.
Почему Micronaut дружит с native image
↗
2.
Сборка native-образа
↗
3.
Reflection, resources, proxies
↗
4.
Библиотеки в native
↗
5.
Micronaut AOT
↗
6.
Инициализация во время сборки
↗
7.
Альтернативы native
↗
8.
Производительность и память
↗
9.
Практика: native ingest-под
↗
Продакшен: конфигурация, сборка, деплой, эксплуатация
10 уроков
1.
Конфигурация в проде
↗
2.
Распределённая конфигурация и обновление
↗
3.
Сборка образов
↗
4.
Kubernetes
↗
5.
Многомодульный проект
↗
6.
Serverless-профиль
↗
7.
Миграция Micronaut 4 → 5
↗
8.
Эксплуатация Meterway
↗
9.
Ошибки, которые находят в проде
↗
10.
Практика: полный запуск Meterway
↗