Курс: Java-разработка
Продолжительность курса: 40 ак. ч.
Описание курса:
Программа включает изучение объектно-ориентированного программирования, работы с коллекциями, многопоточности, сетевого взаимодействия, Git, фреймворков Spring (включая Spring Boot), микросервисной архитектуры, SQL и NoSQL баз данных.
Аудитория:
• Junior-разработчики на Java, желающие углубить свои знания;
• Разработчики других языков, планирующие перейти на Java;
• Студенты IT-специальностей с начальным опытом программирования;
• QA-инженеры и DevOps, желающие расширить кругозор в области разработки.
Необходимая подготовка:
Базовые знания основ программирования, базовое понимание синтаксиса Java, уверенная работа с ОС Windows, Linux, macOS.
Программа курса:
Модуль 1. Основы программирования на Java:
• Введение в язык Java, его особенности и применение;
• Структура простой программы;
• Использование условных операторов и циклов;
• Типы данных: примитивные типы;
• Работа с объектами и классами;
• Одномерные и многомерные массивы;
• Практические занятия и разбор вопросов.
Модуль 2. Объектно-ориентированное программирование (ООП):
• Модификаторы доступа, наследование;
• Полиморфизм и абстракция;
• Интерфейсы и обработка исключений;
• Stacktrace и работа с ошибками;
• Generics: использование в коллекциях и методах;
• Работа с коллекциями: List, Set, Map, Queue;
• Разбор сложных случаев и практика.
Модуль 3. Система контроля версий Git:
• Введение в системы контроля версий;
• Локальная работа с репозиторием Git;
• Интеграция с удалённым репозиторием через GitHub;
• Коллективная разработка: части 1 и 2;
• Ответы на вопросы и разбор ситуаций.
Модуль 4. Java Core:
• Лямбда-выражения и Stream API;
• Работа с файлами: потоки ввода-вывода, сериализация;
• Управление зависимостями: Maven и Gradle;
• Чтение и запись файлов CSV, XML, JSON;
• Написание Unit-тестов;
• Использование Mockito для мокирования;
• Основы сетевого взаимодействия: TCP/UDP, HTTP;
• Архитектура JVM: управление памятью, сборщики мусора, инструменты анализа (VisualVM).
Модуль 5. Шаблоны проектирования:
• Классификация паттернов: порождающие, структурные, поведенческие;
• Принципы написания чистого кода;
• Принципы SOLID и их реализация в Java.
Модуль 6. Многопоточность и функциональное программирование:
• Создание и запуск потоков;
• Синхронизация в многопоточной среде;
• Особенности работы с переменными;
• Коллекции для параллельной обработки;
• Блокирующий и неблокирующий ввод-вывод;
• Основы функционального программирования;
• Методологии TDD и DDD.
Модуль 7. Web-разработка и Spring MVC:
• Основы протокола HTTP и современного Web;
• Работа с формами и данными;
• JavaScript, AJAX, REST, JSON, CORS;
• Servlets и контейнеры;
• Dependency Injection, IoC, Application Context;
• Фреймворк Spring Web MVC.
Модуль 8. Spring Boot и деплой приложений:
• Введение в Spring Boot: назначение и архитектура;
• Реализация REST-API;
• Настройка окружения: nginx, systemd, firewall, journalctl;
• Docker и Docker Compose: упаковка приложений;
• Обзор TestContainers, Kubernetes и облачных решений.
Модуль 9. Работа с данными и безопасностью:
• Основы SQL: DDL, DML;
• Подзапросы, JOIN'ы, агрегатные функции;
• JDBC API: JdbcTemplate, NamedParameterJdbcTemplate;
• Введение в NoSQL: виды баз данных и сценарии использования;
• ORM и Hibernate: жизненный цикл сущностей, связи, embeddable;
• Spring Data JPA и JPQL;
• Безопасность веб-приложений: Spring Security;
• Аутентификация и авторизация.
Модуль 10. Микросервисы и брокеры сообщений
• Введение в микросервисную архитектуру;
• Преимущества и недостатки подхода;
• Конфигурация микросервисов: Spring Cloud;
• Взаимодействие между сервисами через REST;
• Использование брокеров сообщений: Kafka и RabbitMQ;
• Разбор задач и ответы на вопросы.
Окончательная цена указывается в договоре на обучение.