Программа: 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-разработчика.