Курс Java (back-end розробка)

Сейчас набор на этот курс закрыт. Просмотрите другие курсы

  • Online
  • Для начинающих
  • Java, Backend
Образовательный центр: Lemon School
Формат:Курс
Язык обучения:Ukrainian
Длительность обучения:5 месяцев
Начало курса:Дата формируется
Стоимость обучения:19 500 UAH за курс

При оплаті відразу за весь курс - 17550 грн.

На цьому курсі ти опануєш мову програмування Java з 0 і станеш junior-розробником.

Програма курсу

Модуль 1 - Основи програмування

Заняття 1. Основи програмування

  • Розробка ПЗ. Основні поняття
  • Основні професії та ролі в команді розробників ПЗ
  • Основні методології розробки ПЗ
  • Основи створення алгоритма програми

Заняття 2. Комп'ютерна програма. Структура програми. Типи програм

  • Умовна класифікація комп'ютерних програм
  • Типи комп'ютерних програм
  • Технології розробки програм
  • Структура програми на Java
  • Написання програми для збору та виводу інформації щодо користувача

Заняття 3. Алгоритм. Властивості алгоритму

  • Алгоритм
  • Властивості алгоритмів
  • Складність алгоритмів
  • Основні елементи алгоритмів та їх реалізація в коді
  • Інструменти для створення алгоритмів (Draw.io)
  • Створення простого алгоритма
  • Реалізація індивідуального алгоритма за обраним завданням

Заняття 4. Мови програмування

  • Мови програмування (Java, Python, Assembly)
  • Різниця між компілятором та інтерпретатором
  • Структура віртуальної машини Java (JVM/JRE/JDK)
  • Умовні оператори Java та в інших мовах програмування
  • Написання алгоритму та програми, яка містить умовні оператори, що реалізовані на різних мовах програмування

Заняття 5. Ввід/вивід, змінні, вирази, типи даних Java

  • Input/Output
  • Змінні, константи
  • Типи даних
  • Java expressions (вирази)
  • Пояснення щодо виконання ДЗ

Заняття 6. Керуючі оператори Java

  • Умовні оператори
  • Цикли
  • Оператори переходу
  • Основи роботи із системами контролю версій
  • Пояснення щодо виконання домашнього завдання

Заняття 7. Робота із системами контролю версій (GitHub/GitLab).Управління проєктними залежностями та збіркою (Maven/Gradle)

  • Maven/Gradle dependency, build
  • Основна ідея використання систем контролю версій
  • Основні операції: Commit, Push, Pull, Cherry Pick, master feature branches

Заняття 8. Масиви Java. Особливості роботи із ними

  • Загальні відомості про масиви даних
  • Обробка масивів
  • Стандартні інструменти для роботи з масивами
  • Пояснення щодо виконання домашнього завдання

Заняття 9. Методи (Функції). Визначення та виклик методу

  • Метод
  • Параметри методів
  • Varargs
  • Практика

Заняття 10. Ітеративні та рекурсивні алгоритми

  • Рекурсія. Поняття рекурсії
  • Приклади реалізації рекурсивних алгоритмів
  • Поняття ітерації
  • Приклади реалізації ітеративних алгоритмів
  • Рекурсивні алгоритми vs Ітеративні алгоритми
  • Практика

Заняття 11. Java String

  • Особливості роботи з String
  • String. Управління пам'яттю
  • Strings та масиви
  • Класи-обгортки
  • StringBuffer
  • StringBuilder

Заняття 12. Приклад реалізації гри "Хрестики-Нулики"

Модуль 2 - Об'єктно-орієнтоване програмування

Заняття 13. Основи об'єктно-орієнтованого програмування

  • Поняття класу та об'єкту
  • Поняття методу
  • Як правильно називати методи
  • Стек викликів
  • Розділення коду на методи (основи рефакторингу)
  • Модифікатор static, final

Заняття 14. Інкапсуляція. Наслідування. Поліморфізм

  • Інкапсуляція (рівні доступу)
  • Наслідування
  • Поліморфізм. Види поліморфізму

Заняття 15. Дженеріки (узагальнені типи даних). Поняття "Wild Card"

  • Generic-типи в Java
  • Використання ключових слів "extends", "super"
  • Призначення "Wild Card"

Заняття 16. Інтерфейси, абстрактні класи. Частина 1

  • Абстрактні класи
  • Інтерфейси
  • Статичні методи та методи за замовчуванням в інтерфейсах

Заняття 17. Інтерфейси, абстрактні класи. Частина 2

Заняття 18. Лямбда-вирази та функціональний інтерфейс

  • Поняття лямбд
  • Поняття функціонального інтерфейсу
  • Різновиди функціональних інтерфейсів
  • Практика використання лямбд та функціональних інтерфейсів

Заняття 19. Колекції. Потоки. Частина 1

  • Поняття колекції
  • Види колекцій
  • Обробка колекцій за допомогою потоків
  • Термінальні та нетермінальні операції

Заняття 20. Колекції. Потоки. Частина 2

  • Індексні потоки
  • Різновиди індексних потоків
  • Практика використання Stream API
  • Хеш-таблиці (HashMap)

Заняття 21. Виключення (Exceptions)

  • Синтаксис
  • Ієрархія наслідування
  • Best Practice - підходи до формування фреймворку

Заняття 22. Логування

  • Бібліотека sl4j
  • Конфігурація Logback
  • Розробка Log Framework

Модуль 3 - Інструменти професійного програмування

Заняття 23. Розробка тестів. Частина 1

  • Піраміда тестування
  • Розробка Unit-тестів
  • Покриття тестами

Заняття 24. Розробка тестів. Частина 2

  • Використання Mock'їв в розробці Unit-тестів
  • Функціональний інтерфейс
  • Основи рефлекції
  • Stream API

Заняття 25. Анотації та рефлексія в Java. Частина 1

  • Анотації. Створення власних анотацій
  • Основи рефлексії: точки входу в рефлекцію
  • Робота із модифікатором доступу

Заняття 26. Анотації і рефлексія в Java. Частина 2

  • Використання Optional
  • Анотації. Створення власних анотацій
  • Практика створення бібліотеки для роботи із csv-документами

Заняття 27. Розробка багатопоточних додатків. Частина 1

  • Поняття потоку та процесу
  • Інтерфейс Runnable. Робота із класом Thread
  • Інтерфейс Collable

Заняття 28. Розробка багатопоточних додатків. Частина 2

  • Пакет Concurrency: Executor та Future
  • Mutex, Semaphore
  • Deadlock, Live Lock

Заняття 29. Основи дизайну та проєктування додатків. Паттерни проєктування

  • Архітектурні паттерни та підходи (MVC, MVVM, MVP)
  • Структурні паттерни (Декоратор, Міст)
  • Породжувальні паттерни (Одинак - Singleton, Будівельник - Builder)
  • Поведінкові (Посередник, Спостерігач - Observer, Команда - Command)

Заняття 30. Основи SQL. Реляційна модель даних. DDL

  • Створення таблиці
  • DDL-запити (CREATE, ALTER, DROP)
  • Приклади створення SQL-запитів
  • Практика написання простих запитів

Заняття 31. Нормалізація та нормальні форми. DML. Частина 1

  • Нормалізація бази даних до третьої нормальної форми
  • Зв'язки між таблицями (концепція Primary/Foreign Key)
  • Зв'язки в таблиці: one-to-one, one-to-many, many-to-many

Заняття 32. Нормалізація та нормальні форми. DML. Частина 2

  • Запити на отримання даних
  • Запити на модифікацію даних: INSERT/UPDATE/DELETE
  • Використання підзапитів (pros, cons)

Заняття 33. JOIN. UNION. SQL-funcions

  • AND OR NOT
  • ORDER BY
  • (COUNT, AVG, MIN, MAX, ROUND)
  • JOIN
  • UNION
  • HAVING

Заняття 34. Просунуті запити в SQL

  • Використання WITH
  • DECLARE
  • CURSOR
  • SQL Stored Procedures

Заняття 35. Мова керування даними (DCL)

  • GRANT
  • REVOKE
  • DENY

Заняття 36. Мова керування транзакціями (TCL)

  • Принципи ACID
  • Управління транзакціями
  • BEGIN/COMMIT/ROLLBACK/SAVE TRANSACTION

Заняття 37. Імплементація взаємодії із БД. Технологія Hibernate

  • Підключення Hibernate до проєкту (Hibernate-конфіг)
  • Практика розробки консольного додатку із БД

Модуль 4 - Програмування під Веб. String Framework

Заняття 38. Основи програмування під Web

  • Socket - протоколи
  • RESTful API (рівні зрілості REST API)
  • Web-Servlet

Заняття 39. Основи Spring фреймворк

  • Концепція IoS (Inversion of control)
  • Ін'єкція залежностей (Dependency Injection)
  • Анотації Spring
  • Spring Beans

Заняття 40. Spring фреймворк

  • Spring bean scopes
  • Шаблонізатори (thymeleaf)
  • Створення власної анотації

Заняття 41. Дизайн додатків Spring

  • Багатошарова архітектура
  • Основи Spring Boot
  • Основи Spring REST API
  • Інтеграція додатків Spring із БД (Spring Data: JPA)

Заняття 42. Основи Spring Security. Частина 1

  • Робота із фільтрами
  • Реєстрація/авторизація/аутентифікація
  • Робота із сесіями
  • Протокол QAUTH

Заняття 43. Основи Spring Security. Частина 2

Заняття 44. Розробка динамічного інтерфейсу для Spring RESTful API додатку. Частина 1

  • Розуміння роботи з token
  • Розуміння роботи з JWT
  • Протокол QAUTH

Заняття 45. Розробка динамічного інтерфейсу для Spring RESTful API додатку. Частина 2

  • Основи застосування JavaScript
  • Огляд основних JS-фреймворків (NodeJS, VueJS, Angular)
  • Демо-додаток із динамічним UI

Заняття 46. Основи контейнеризації на прикладі Docker

Демо-додаток із динамічним UI на базі JS-фреймворку

Заняття 47. Застосування Docker-compose для мультиконтейнерних додатків

  • Розгортання Docker на локальному комп'ютері
  • Запуск додатку із контейнера
  • Розгортання простого менеджера NoSQL (Reddis) та налаштування його взаємодії із запущеним сервісом

Заняття 48. Основи мікросервісної архітектури. Використання CQRS-систем

  • Приклад розробки додатку із мікросервісною архітектурою
  • Розгортання та імплементація RabbitMQ

Заняття 49. Розмова з кар'єрним менеджером

  • Як і де шукати роботу для початківця і які інструменти при цьому використовувати
  • Як правильно зробити резюме і яка інформація у ньому є надважлива, а що буде зайвим
  • Як створити профіль на Linkedin, щоб його могли побачити потенційні роботодавці
  • 7 порад, які допоможуть пройти онлайн співбесіду набагато успішніше
  • Q&A

Особливості курсу

  • Безкоштовна IT англійська
  • Додаткові матеріали
  • Кар'єрний менеджер
  • Лекція Project Manager
  • Діджитал диплом для Linkedin

Викладачі курсу

Ігор Бібічков - Senior Java Developer

Категории курса

Читайте нас в Telegram, чтобы не пропустить анонсы новых курсов.

Похожие курсы

Учебный центр
Джун IT Academy
Формат
Online
Начало обучения
Будь-який момент
Длительность
-
Уровень
Для детей, Для начинающих
Язык обучения
Ukrainian
Стоимость
уточняйте
Учебный центр
Main Academy
Формат
Online
Начало обучения
Дата формується
Длительность
5 месяцев
Уровень
Для начинающих
Язык обучения
Ukrainian
Стоимость
22 000 UAH за курс
Учебный центр
Sigma Software University
Формат
Online
Начало обучения
Дата формується
Длительность
6 недель
Уровень
Для опытных
Язык обучения
Ukrainian
Стоимость
6 000 UAH за курс
Учебный центр
EPAM
Формат
Online
Начало обучения
16.12.2024
Длительность
15 недель
Уровень
Для начинающих
Язык обучения
English
Стоимость
безкоштовно