Вартість курсу: 5 000 грн на місяць
Тривалість курсу: 3 місяці, 67 астрономічних годин
Дата початку курсу: уточнюйте дату у менеджерів
Вимоги до слухачів: знання тем курсу «Основи програмування на Java»

*Курс доступний мовами: українська, російська, англійська

Професійне програмування на Java

Програма курсу
Інтерфейси
  • Концепція інтерфейсу. Властивості інтерфейсів.
  • Використання інтерфейсів для проектування системи. Паттерни Callback та Delegate.
Клонування об'єктів
  • Глобальний суперклас Object та його методи.
  • Глибоке та поверхове копіювання об'єктів. Cloneable інтерфейс.
  • Ініціалізація об'єктів із змінним числом атрибутів. Паттерн Builder.
Робота з файлами
  • Пакет java.io Клас File. Робота з файлами та каталогами. Читання даних із файлу та запис даних у файл. Класи FileReader, FileWriter, BufferedReader та BufferedWriter.
  • Виняткові ситуації, що виникають під час звернення до файлів.
  • Інтерфейси FileFilter, FilenameFilter.
Серіалізація об'єктів
  • Області застосування серіалізації. Інтерфейси Serializable та Externalizable.
Узагальнене програмування (Generics)
  • Поняття та призначення узагальненого програмування. Узагальнений клас. Примірник узагальненого типу. Узагальнені методи. Обмеження узагальнень. Спадкування узагальнених типів.
Анотації в Java
  • Використання вбудованих анотацій. Створення власних інструкцій.
Робота з базами даних
  • Основи роботи з базами даних Поняття та призначення баз даних (БД) та систем управління базами даних (СУБД). Найбільш використовувані СУБД. Реляційні бази даних Основні поняття теорії баз даних. Проектування бази даних. Типи даних, що зберігаються у БД. Нормальні форми. Забезпечення цілісності даних.
  • Основи мови структурованих запитів SQL. Призначення та використання SQL. Створення бази даних (оператор CREATE). Модифікація даних (оператори INSERT та UPDATE). Вибір даних (оператор SELECT). Вибірка з кількох таблиць. Вибір з умовою (оператор WHERE). Сортування даних (оператор ORDER BY). Угруповання даних (оператор GROUP BY).
  • Запити на з'єднання, об'єднання, віднімання таблиць.
  • Пакет java.sql. Встановлює з'єднання з базою даних. Класи Connection, Statement та ResultSet.
  • Патерн проектування DAO. Робота з базами даних із використанням технології ORM.
Колекції
  • Класи колекцій. Інтерфейси колекції. Інтерфейс Collection. Інтерфейси Iterator та Iterable.
  • Інтерфейси List, Set, SortedSet, Queue. Класи Vector, Stack, ArrayList, LinkedList, HashSet, TreeSet.
  • Інтерфейси Comparable та Comparator.
  • Інтерфейс Map.
Журналювання (логування) роботи програми
  • Пакет java.util.logging.
  • Пакет log4j.
Потоки
  • Поняття багатопотокової програми. Клас Thread. Інтерфейс Runnable та особливості його реалізації. Пріоритети потоків. Методи join(). Переривання роботи потоку. Синхронізація потоків. Синхронізовані методи. Концепція монітора. Ключове слово synchronized та його форми.
  • Інтерфейс Callable. Блокуючі черги.
  • Артефакти пакету java.util.concurrent: Semaphore, CountDownLatch, Executor, Barrier, Exchanger.
  • Атомарні змінні.
Фреймворк Hibernate
  • Специфікація JPA.
  • Основи використання Hibernate.
  • Сутності, успадкування.
  • Відносини сутностей.
  • JPA Query Language.
  • Кешування у Hibernate.
Основи впровадження залежностей
  • Принципи SOLID.
  • Java reflection.
  • Використання залежностей (dependency injection).
Основи фреймворку Spring
  • Spring IoC контейнер та ін'єкція залежностей.
  • Огляд способів конфігурування Spring-програми.
  • Spring MVC.
  • Spring + Hibernate.
Проекти фреймворку Spring
  • Spring Boot.
  • Spring Data.
Основи NoSQL та in-memory баз даних
  • Робота з БД Redis.
Допоміжні технології для проектів
  • Логування. Log4j2.
  • Тестування. Mocks.
  • Документування. Swagger, Spring.RestDocs.
Веб сервіси
  • Створення веб-сервісу у стилі REST.
  • Використання технології HATEOAS.
  • Створення WSDL-SOAP веб-сервісу. Проект Spring Rest.
  • Створення клієнтів до веб-сервісів.
Записатися
Будь ласка, заповніть форму. Наші менеджери зв'яжуться з Вами найближчим часом.
Made on
Tilda