Программа: Backend-разработка на Java & Spring
Двухгодичный инженерный курс по созданию высокопроизводительных и масштабируемых серверных приложений.
Первый год: Основы Java и первые веб-сервисы (~72 часа)
Модуль 1: Углубленный Java Core 20 часов
Темы:
- Настройка среды: JDK, Maven/Gradle, IntelliJ IDEA.
- Продвинутое ООП: полиморфизм, абстрактные классы, интерфейсы.
- Generics (обобщения), Collections Framework (List, Set, Map, Queue).
- Обработка исключений: `try-catch-finally`, создание собственных исключений.
- Stream API для функциональной обработки данных.
Результат модуля:
Вы свободно владеете Java, пишете чистый, структурированный код и понимаете, как работать с коллекциями данных.
Модуль 2: Проектирование баз данных и SQL 16 часов
Темы:
- Реляционные базы данных. Нормальные формы (1NF, 2NF, 3NF).
- Углубленный SQL: JOIN'ы, подзапросы, агрегатные функции, группировка.
- Проектирование схемы БД для реального приложения.
- Индексы и основы оптимизации запросов.
Результат модуля:
Вы сможете спроектировать и создать эффективную структуру базы данных для любого веб-приложения.
Модуль 3: Создание REST API на Spring Boot 20 часов
Темы:
- Принципы REST. HTTP-методы. Коды состояния.
- Spring Core: Inversion of Control (IoC), Dependency Injection (DI).
- Создание контроллеров (`@RestController`), сервисов (`@Service`), репозиториев (`@Repository`).
- Spring Data JPA & Hibernate: работа с базой данных из Java-кода.
Результат модуля:
Вы создадите полноценное CRUD-приложение (Create, Read, Update, Delete) — например, API для блога или онлайн-библиотеки.
Модуль 4: Проект первого года: Монолитное приложение 16 часов
Задача:
Спроектировать и разработать с нуля классическое монолитное веб-приложение с REST API.
Пример проекта:
API для простого интернет-магазина: регистрация пользователей, каталог товаров, корзина, оформление заказа.
Результат модуля:
Законченный, работающий backend-проект, который демонстрирует владение всем основным стеком Java-разработчика.
Второй год: High-Load и облачные технологии (~72 часа)
Модуль 5: Безопасность и аутентификация 16 часов
Темы:
- `Spring Security`: полная настройка "под капотом".
- Аутентификация и Авторизация. Ролевая модель доступа.
- JWT (JSON Web Tokens): создание, валидация, использование для stateless-аутентификации.
- Защита от основных веб-уязвимостей (XSS, CSRF).
Результат модуля:
Ваше API станет защищённым по стандартам индустрии. Вы научитесь управлять доступом для разных типов пользователей.
Модуль 6: Docker, CI/CD и основы DevOps 20 часов
Темы:
- Принципы контейнеризации. `Docker` и `docker-compose`.
- Написание `Dockerfile` для Java-приложения.
- Основы CI/CD (Continuous Integration/Continuous Delivery).
- Настройка пайплайна в `GitHub Actions` для автоматической сборки и тестирования проекта.
Результат модуля:
Ваше приложение будет "упаковано" в Docker-контейнер и будет автоматически собираться и проверяться при каждом коммите.
Модуль 7: Асинхронность и брокеры сообщений 16 часов
Темы:
- Проблемы синхронного взаимодействия.
- Брокеры сообщений: `RabbitMQ` / `Kafka`. Паттерн "Издатель-подписчик".
- `Spring AMQP`: интеграция с RabbitMQ.
- Применение: обработка "тяжелых" задач в фоновом режиме (отправка email, генерация отчетов).
Результат модуля:
Вы научитесь строить асинхронные, отказоустойчивые системы, которые не "зависают" на долгих операциях.
Модуль 8: Микросервисная архитектура 20 часов
Задача:
Разбить свой монолитный проект на несколько независимых микросервисов.
Темы:
- Принципы микросервисов. Плюсы и минусы.
- `Spring Cloud`: Service Discovery (`Eureka`), API Gateway, распределённая конфигурация.
- Основы `Kubernetes` для оркестрации контейнеров.
Результат модуля:
Понимание принципов построения сложных, распределённых систем, которые используют в Netflix, Google и Amazon. Это — уровень Senior-разработчика.