Курс: Программирование на языке Java. Углубленный курс 5AJP
Курс: Программирование на языке Java. Углубленный курс 5AJP
Продолжительность курса: 40 ак. ч.
Описание курса:
В курсе детально и подробно объясняются важнейшие темы Java и программирования в целом, которые необходимы для работы в индустрии, особый упор сделан на технологии, практически используемые сегодня в промышленной разработке. В процессе прохождения курса будет разобран не только язык Java, но и смежные инструменты разработки.
Аудитория:
• Слушатели, владеющие языком Java на начальном уровне, и желающие усовершенствовать свои знания языка Java.
Необходимая подготовка:
Базовые знания основ программирования на Java, начальные знания баз данных и языка запросов SQL.
Программа курса:
Модуль 1. Функциональное программирование в Java:
• Понятие и использование функциональных интерфейсов;
• Синтаксис и применение лямбда-выражений;
• Использование ссылок на методы и конструкторы;
• Обзор стандартных функциональных интерфейсов Java;
• Лабораторная работа. Разработка и настройка сборочной конфигурации проекта.
Модуль 2. Системы контроля версий:
• Основные понятия и команды Git;
• Работа с ветвями и их слиянием;
• Интеграция Git в среду разработки IntelliJ IDEA;
• Лабораторная работа. Настройка и управление проектом через систему контроля версий.
Модуль 3. Многопоточность в Java:
• Создание и запуск потоков;
• Применение ключевого слова volatile;
• Синхронизация методов и блоков;
• Использование демонических потоков;
• Управление потоками через ExecutorService;
• Шаблон "Производитель-Потребитель";
• Работа с методами wait () и notify ();
• Класс ReentrantLock и его преимущества;
• Класс Semaphore для управления доступом к ресурсам;
• Интерфейсы Callable и Future;
• Лабораторная работа. Реализация многопоточного приложения.
Модуль 4. Работа с базами данных:
• Основы SQL и реляционных БД;
• Взаимодействие Java с БД через JDBC;
• Использование JPA и Hibernate для работы с данными;
• Лабораторная работа. Подключение и работа с базой данных из Java-приложения.
Модуль 5. Сетевое программирование в Java:
• Обзор сетевых классов Java;
• Реализация клиентской части сетевого приложения;
• Реализация серверной части приложения;
• Лабораторная работа. Разработка простого веб-приложения.
Модуль 6. Инструменты автоматизации сборки:
• Знакомство с Maven и Gradle;
• Основы настройки файлов сборки;
• Лабораторная работа. Написание и оптимизация конфигураций сборки проекта.
Модуль 7. Тестирование Java-приложений:
• Цель и значение тестирования для разработчика;
• Виды тестирования (модульное, интеграционное и др.);
• Библиотека JUnit для написания модульных тестов;
• Использование Mockito для создания заглушек и мок-объектов;
• Лабораторная работа. Разработка комплекса тестов для существующего приложения.
Модуль 8. Логирование в Java-приложениях:
• Уровни логирования и их назначение;
• Обзор популярных инструментов логирования (Log4j, SLF4J и др.);
• Лабораторная работа. Добавление механизма логирования в приложение.
Модуль 9. Графический интерфейс с использованием JavaFX:
• Введение в JavaFX и его возможности;
• Использование элементов ImageView, ListView;
• Лабораторная работа. Разработка графического пользовательского интерфейса.
Модуль 10. Обработка событий в Java:
• Основы модели обработки событий;
• Создание и регистрация обработчиков событий;
• Примеры использования слушателей и обработчиков;
• Применение внутренних классов в обработке событий;
• Лабораторная работа. Реализация реакции приложения на пользовательские действия.
Модуль 11. Развёртывание веб-приложений:
• Переход от автономных приложений к серверным и контейнерным решениям;
• Настройка параметров приложений перед развёртыванием;
• Лабораторная работа. Развертывание веб-приложения в сервлет-контейнере (например, Tomcat).
Окончательная цена указывается в договоре на обучение.