Содержание курса
Модуль 1. Введение: от мидла к сеньору
5 уроков
1.
О курсе: как проходить обучение и канал «Логово Дата-Инженера»
↗
2.
Кто такой сеньор-разработчик на Java и чем он отличается от…
↗
3.
Что мы считаем пройденным: краткая ревизия мидл-уровня
↗
4.
Карта курса: от JVM изнутри до распределённых систем
↗
5.
Инструментарий сеньора: IDE, профилировщики, мониторинг…
↗
Модуль 2. JVM изнутри
10 уроков
1.
Архитектура JVM: class loader, runtime data areas и execution…
↗
2.
Class loading глубоко: bootstrap, extension, application и…
↗
3.
Байт-код Java: читаем .class-файлы и понимаем, что выполняет JVM
↗
4.
JIT-компиляция: C1, C2, tiered compilation и как JVM…
↗
5.
Сборщики мусора: Serial и Parallel — молодое и старое поколение
↗
6.
G1 Garbage Collector: регионы, mixed collections и настройка…
↗
7.
ZGC и Shenandoah: ультранизкие паузы и покраска указателей
↗
8.
Memory model и happens-before: переупорядочивание, volatile и…
↗
9.
JVM-флаги для продакшна: -Xmx, -XX:+UseG1GC…
↗
10.
Native Memory Tracking, jcmd и инструменты для исследования…
↗
Модуль 3. Управление памятью и утечки
6 уроков
1.
Heap dumps: jmap, jcmd GC.heap_dump и автоматические дампы…
↗
2.
Анализ дампов: Eclipse MAT, VisualVM и JProfiler
↗
3.
Типичные утечки памяти: коллекции, ThreadLocal, listeners и…
↗
4.
Reference типы: SoftReference, WeakReference…
↗
5.
Finalization против Cleaner: правильное управление нативными…
↗
6.
Off-heap память: DirectByteBuffer, Unsafe и MemorySegment в…
↗
Модуль 4. Производительность и профилирование
8 уроков
1.
JMH: микробенчмаркинг без самообмана — аннотации, state и…
↗
2.
Async Profiler и CPU-сэмплирование: где программа тратит…
↗
3.
Flame Graphs: читаем и интерпретируем — от метода к корневой…
↗
4.
JFR и JMC: Java Flight Recorder как чёрный ящик продакшна
↗
5.
Ключевые метрики: throughput, latency, allocation rate, GC…
↗
6.
Анализ горячих точек (hotspot analysis) и устранение узких мест
↗
7.
Оптимизация нагруженных систем: от прототипа к промышленному…
↗
8.
Premature optimization: когда НЕ надо оптимизировать и как…
↗
Модуль 5. Продвинутая многопоточность
9 уроков
1.
Virtual threads глубоко: как Project Loom изменил правила игры
↗
2.
Structured Concurrency: StructuredTaskScope и управление…
↗
3.
Платформенные потоки против виртуальных: когда и что выбирать
↗
4.
Reactive streams: Flow API, backpressure и когда реактивщина…
↗
5.
Паттерны Project Loom: один virtual thread на задачу — новая…
↗
6.
Actor model в Java: введение в Akka и альтернативы
↗
7.
Lock-free структуры: ConcurrentHashMap, ConcurrentLinkedQueue…
↗
8.
False sharing, cache lines и @Contended: микробитвы за…
↗
9.
Ring buffers и Disruptor: высокоскоростной обмен между потоками
↗
Модуль 6. Spring Boot professional
8 уроков
1.
Auto-configuration глубоко: как работает…
↗
2.
Жизненный цикл бинов: BeanPostProcessor, @PostConstruct…
↗
3.
Profiles и внешняя конфигурация: property sources, YAML и…
↗
4.
Тестирование Spring Boot: @SpringBootTest, slice tests и…
↗
5.
Actuator: health, metrics, info и безопасная публикация в…
↗
6.
Spring Security: базовая аутентификация, JWT и защита REST API
↗
7.
Глобальная обработка исключений: @ControllerAdvice и Problem…
↗
8.
Production-ready patterns: graceful shutdown, readiness…
↗
Модуль 7. Базы данных и хранение
7 уроков
1.
Connection pooling глубоко: HikariCP, настройка и диагностика…
↗
2.
Оптимизация SQL-запросов: EXPLAIN, план выполнения и…
↗
3.
Транзакции глубоко: уровни изоляции, propagation и…
↗
4.
Распределённые транзакции: 2PC, Saga и компенсирующие действия
↗
5.
NoSQL в Java-проекте: Redis, MongoDB, Cassandra — когда SQL…
↗
6.
Кэширование: Caffeine (in-memory), Redis и паттерн cache-aside
↗
7.
Event Sourcing: введение и когда оно оправдано в Java-системе
↗
Модуль 8. Микросервисы и распределённые системы
8 уроков
1.
Микросервисные паттерны: service decomposition, API gateway и…
↗
2.
Service discovery: Consul, Eureka и Kubernetes DNS
↗
3.
Circuit Breaker: Resilience4j, состояния и стратегии…
↗
4.
API Gateway: Spring Cloud Gateway, маршрутизация и rate limiting
↗
5.
Event-driven архитектура: Kafka как нервная система…
↗
6.
Saga-паттерн: хореография против оркестрации в распределённых…
↗
7.
Идемпотентность: idempotency key, exactly-once и операции без…
↗
8.
Distributed tracing: Sleuth, Brave и OpenTelemetry для…
↗
Модуль 9. Безопасность
6 уроков
1.
OWASP Top 10: инъекции, XSS, CSRF и подделка запросов —…
↗
2.
Spring Security глубоко: SecurityFilterChain, авторизация и CORS
↗
3.
OAuth2 и OpenID Connect: Authorization Code Flow и Keycloak…
↗
4.
mTLS: взаимная TLS-аутентификация между сервисами
↗
5.
Управление секретами: Vault, AWS Secrets Manager и Kubernetes…
↗
6.
Безопасное программирование: валидация ввода, экранирование…
↗
Модуль 10. Тестирование в продакшне
8 уроков
1.
Интеграционные тесты глубоко: Testcontainers, базы данных и…
↗
2.
Контрактное тестирование: Pact и договорённости между сервисами
↗
3.
Chaos engineering: введение, Chaos Monkey и контролируемый хаос
↗
4.
Нагрузочное тестирование: Gatling и сценарии реального трафика
↗
5.
Property-based testing: jqwik и поиск крайних случаев…
↗
6.
Мутационное тестирование глубоко: Pitest и качество тестовых…
↗
7.
Test pyramids на практике: сколько каких тестов в реальном…
↗
8.
Smoke tests, canary deployment и проверка релиза без полного…
↗
Модуль 11. Наблюдаемость
6 уроков
1.
Структурированное логирование: JSON-логи, MDC и корреляция…
↗
2.
Метрики: Micrometer, Prometheus и что измерять в Java-приложении
↗
3.
Distributed tracing: OpenTelemetry, контекст и сквозная…
↗
4.
Health checks и readiness probes: как правильно сказать…
↗
5.
Алертинг: выбор порогов, SLO и когда будить дежурного
↗
6.
Dashboards: Grafana, ключевые панели и информационная…
↗
Модуль 12. CI/CD и DevOps
6 уроков
1.
Pipeline design: стадии CI/CD и что должно происходить на каждой
↗
2.
Контейнеризация: Dockerfile для Java, multi-stage builds и…
↗
3.
Kubernetes deployment: Deployment, Service, Ingress и лимиты…
↗
4.
GitOps: ArgoCD, декларативная конфигурация и автоматическая…
↗
5.
Blue-green и canary deployments: стратегии обновления без…
↗
6.
Миграции баз данных в CI/CD: Flyway и безопасное изменение схемы
↗
Модуль 13. Архитектура enterprise
8 уроков
1.
Domain-Driven Design глубоко: bounded contexts, ubiquitous…
↗
2.
CQRS и Event Sourcing: разделение чтения и записи, проекции и…
↗
3.
Гексагональная архитектура: порты, адаптеры и независимость…
↗
4.
Modular monolith: когда микросервисы — перебор, но монолит…
↗
5.
Message-driven архитектура: асинхронная интеграция через…
↗
6.
API дизайн: REST, gRPC, GraphQL — выбор протокола под задачу
↗
7.
Разработка через интерфейсы: контракты, версионирование и…
↗
8.
Architecture Decision Records (ADR): документирование…
↗
Модуль 14. Лидерство и менторство
6 уроков
1.
Code review глубоко: как давать обратную связь, которая учит…
↗
2.
Технический долг: измерение, приоритизация и стратегия выплаты
↗
3.
Менторство джунов и мидлов: онбординг, парное…
↗
4.
Техническая коммуникация: RFC, design docs и аргументация…
↗
5.
Принятие решений: trade-off analysis, cost of delay и когда…
↗
6.
Карьерный рост: от сеньора к staff/principal engineer — что…
↗
Модуль 15. Итоговый проект сеньора
8 уроков
1.
Проектирование распределённой системы: требования, домен и…
↗
2.
Реализация core-микросервиса: Spring Boot, CQRS, Kafka и база…
↗
3.
Интеграция сервисов: event-driven коммуникация и саги
↗
4.
Тестирование итогового проекта: интеграционные, контрактные и…
↗
5.
Деплой в Kubernetes: манифесты, health checks, конфигурация и…
↗
6.
Наблюдаемость: трейсы, метрики, логи и дашборды для проекта
↗
7.
Дорожная карта дальше: анонс курсов «Scala для…
↗
8.
Сеньор — это начало, а не конец: профессиональный рост за…
↗