top of page

ТРЕНУВАЛЬНА ПРОГРАМА ДЛЯ ПРАЦЮЮЧИХ

JAVA ULTIMATE

ДОПОМОЖЕ РОЗВИНУТИ ПРАКТИЧНІ НАВИКИ І 

СТАТИ ВПЕВНЕНИМ JAVA-РОЗРОБНИКОМ 💪

ПОЧАТОК ПРОГРАМИ - 16 СЕРПНЯ

6 МІСЯЦІВ
НАВЧАННЯ

Основна програма –  це щотижневі зустрічі в Zoom і домашні завдання.

88 ВЕБІНАРІВ ТА
Q&A СЕСІЙ

Щотижня:

Пн  07:00 - 09:00 – Урок

Ср  08:00 - 09:00 – Синк з ментором

Чт  07:00 - 09:00 – Урок

Пт  08:00 - 09:00 – Q & A

100+ ПРАКТИЧНИХ ВПРАВ

Всі теми покриті спеціальними тренувальними вправами, які дозволять вам сфокусуватися на практиці і розвинути сильні технічні навики.

JAVA SUMMER CAMP В КАРПАТАХ

26-29 серпня учасники програми з усієї України зустрічаються в Карпатах. Camp включає проживання в готелі, тренінги по нетехнічних навиках, сходження на вершину і багато інших активностей :)

ВИСТУПИ ЗАПРОШЕНИХ СПІКЕРІВ

Впродовж навчальної програми ми будемо організовувати для вас виступи від запрошених спікерів на різні теми у режимі онлайн.

ВОРКШОПИ В КИЄВІ ТА ЛЬВОВІ
  • 9 жовтня у Києві

  • 11 грудня у Львові

Технічні воркшопи вихідного дня – це ще одна можливість зустрітися, попрацювати разом і отримати чергову порцію мотивації для подального навчання.

УРОКИ АНГЛІЙСЬКОЇ 

Англомовний книжковий клуб і підготовка до співбесід англійською з інструктором.

КОМАНДИ З
8 ІНЖЕНЕРІВ І МЕНТОРА

Учасники програми будуть розділені на команди по 8 людей. Щотижнева зустріч з ментором буде відбуватися окремо по командах.

КВИТКИ НА
JAVA DAY LVIV

Кожен учасник програми отримає квиток на конференцію JavaDay Lviv 2022. Це чудова можливість знову зустрітися через місяць після завершення програми.

ОСНОВНА ПРОГРАМА

INTRO

01

Вступ до тренувальної програми Ultimate Enterprise Java

Знайомство. Огляд навчального плану. Як організована програма і як отримати максимальний результат?

02

Інструменти Bobocode

Все, що вам потрібно мати і встановити для ефективного навчання, використовуючи систему Bobocode

FUNDAMENTALS

01

Основи Java

Найважливіші частини Java SE, які ми маємо глибоко розуміти і вміти використовувати для роботи на реальних проектах. (Interfaces, classses and objects; Memory model; Generics; Annotations)

02

Алгоритми

Алгоритм, як основа програмування. Типові алгоритми. Понятта часової складності алгоритму (Time Complexity).  Алгоритмічне мислення, або для чого потрібні алгоритми в реальній розробці? Реалізацію алгоритмів пошуку, сортування, та інше.

03

Структури даних

Загальновідомі структури даних та їх особливості. Коли та для чого використовувати певні структури даних в розробці. Реалізація Stack, Queue, Linked List, Array List, Binary Search Tree, Hash Table

04

Бібліотека Java

Розбір бібліотеки Java SE (Collection API, Date & Time API, Reflection API)

05

ООП

Особливості ООП – сила абстракції і безпечний поліморфізм. Принципи SOLID. Дизайн патерни. 

FUNDAMENTALS

06

Функціональне програмування

Техніки функціонального програмування в Java за допомогою функціональних інтерфейсів і лямбд. Вкладені лямбди, функції вищого пордядку, композиція. 

07

Декларативна обробка даних

Декларативна робота з потоком даних за допомогою Stream API. Операції філтрування, перетворення, групування. Складні коллектори. Optional API 

08

Багатопоточність

Модель багатопоточності в Java. Паралельні стріми, Concurrency Utils, ForkJoin pool, та CompletableFuture.

09

Сучасна Java та альтернативи

Еволюція мови Java і її нові можливсоті. Альтернативні мови на базі JVM: Groovy, Kotlin

JAVA WEB

01

Вступ до web-розробки на Java

Структура типових Java веб-застосунків. Огляд основних інструментів. Розбір шару архітектури, який відповідає за представлення даних і API для клієнтів. Принципи REST API

02

Мережеві сокети, TCP/IP, HTTP

Як організована мережева комунікація в Java? Що потрбіно знати про мережеві протоколи для ентерпрайз розробки? Основи HTTP протоколу

03

Сервлети

Servlet API, як основа веб-розробки на Java. Особливості веб застосувань, які працюють на базі сервлетів. Обробка запитів, контекст, багатопоточний доступ.

04

Вступ до Spring

Огляд Spring проектів, які є найпопулярнішими інструментами для ентерпрайз розробки на Java(Spring Framework, Spring Data, Spring Security, Spring Boot). Розбір Spring Framework. Реалізація власного "Dependency Injection" контейнера. 

05

Основи Spring MVC

Патерн MVC. Розбір реалізації Spring MVC на базі Servlet API. Реалізація MVC застосувань старого зразку.

JAVA WEB

06

REST API на Spring MVC

Реалізація REST API використовуючи Spring MVC. Розбір основних можливостей Spring MVC. 

07

Spring Boot

Вступ до Spring Boot. Розбір особливостей в порівнянні з Spring Framework (Auto configuration, Embedded servlet container, Starter Dependencies, Actuator).

08

Під капотом у Spring Boot 

Як працює "магія" Spring Boot? Особливості контексту (ApplicationContext), при використанні вбудованого сервлет контейнера. Реалізація власних класів автоконфігурації.

JAVA PERSISTANCE

01

Вступ до роботи з БД на Java

Огляд шару доступу до даних в архітектурі ентерпрайз проекту. Основні іструменти. Типові задачі і проблеми.

02

Реляційні бази даних та SQL

Принципи роботи реляційних баз даних. Що потрібно знати для роботи на проекті? Написання SQL запитів різної складності. 

03

Модель даних і взаємозв'язки

Як перетворити бізнес модель в модель даних? Реалізації різних типів взаємозв'язків між таблицями (один до одного, один до багатьох, багато до багатьох).

04

Багатопоточний доступ. Транзакції

Як база даних забезпучує багатопоточний доступ до даних? Консистентність даних. Поняття транзакції і її властивості (ACID)

05

Ізольованість тразакцій. "Локи" 

Рівні ізьолованості транзакцій. Механізм "lock". "Pessimistic locking". Версійність даних та механізм "Optimistic locking". 

JAVA PERSISTANCE

06

JDBC API

Доступ до релядійної БД з Java. Конфігурація DataSource. Основні можливості JDBC API. Що потрібно пам'ятати для роботи на ентерпрайз проекті? Багатопоточний доступ до даних за допомогою "connection pool".

07

Вступ до ORM. JPA

Object-Relational Mapping (ORM) – Проблематика перетворенн даних між об'єктною моделлю в Java та реляційною моделлю в БД. Реалізація власного ORM фреймворку. Специфікація JPA. Відомі реалізації.

08

Основи Hibernate

Конфігурація і огляд основних можливостей Hibernate ORM. Виконання основних опеацій: збереження, читання, зміни і видалення. Сесія роботи (persistence context) та можливі стани сутностей.

09

Взаємозв'язки між сутностями

Налаштування різних типів вза'ємозв'язків між сутностями (один до одного, один до багатьох, багато до багатьох). Нюанси роботи з кожним типом взаємозв'язку. 

10

Обосбливості роботи Hibernate

Детальний розбір механізмів "Dirty chekcing", "Lazy loading", "Action queue" та "Flush"

JAVA PERSISTANCE

11

Spring Data JPA

Реалізація шару доступу до даних за допомогою Sping Data JPA. Налаштування. Основні можливості поверх Hibernate. Реалізація власних запитів різної складності. 

12

Spring Transaction Manager

Обробка тразакцій у Spring проекті. Налаштування Platform Transaction Manager. Проксі та AOP, або як реалізована "магія"? Особливості роботи зі Spring Transaction Manager.

13

Міграція БД

Як зберегти консистентність схеми даних у різних середовищах? Версійність схеми даних. Інструменти для міграції БД (Flyway, Liquibase). Налаштування та принципи роботи.

14

Аудит даних

Налаштування аудиту даних – збереження історії зміни даних в процесі роботи програми. Основні інструменти: Hibernate Envers, Spring Data Auditing. Налаштування та приципи роботи.

15

Оптимізація 

Оптимізаця роботи БД: аналіз запитів, налаштування індексів. Оптимізація логіки доступу до даних: вирішення N+1 SELECT проблеми, використання батчів, зменшення розміру сесії, використаня read-only транзакцій. Налаштування кешування.

JAVA MICROSERVICES

01

Вступ до мікросервісної архітектури

Проблеми, які вирішують мікросервіси. Огляд основних інструментів. Принципи роботи. Огляд патернів.

02

Основи Spring Cloud

Огляд Spring Cloud. Конфігурація сервісів за допомогою Server Config. Знаходження сервісів за допомогою Service Discovery (Eureka).

03

Масштабування і несправності

Налаштування збалансованого доступу до копій сервісу (load balancing). Обробка помилок і стійкість до несправностей (fault tolerance). 

04

Синхронна комунікація через HTTP

Налаштування комунікації між сервісами на базі HTTP. Принципи роботи RestTemplate, WebClient та FeignClient.

05

Налаштування безпеки

Автентифікація і авторизація. Принципи роботи Spring Security, OAuth2 та JWT.

JAVA MICROSERVICES

06

Контейнеризація

Спрощення процесу розробки, налаштування середовища і деплою за допомогою контейнеризації. Принципи роботи Docker та Kubernetes.

07

Асинхронна комунікація

Використання "меседж брокерів" RabbitMQ та Kafka для реалізації асинхронної комунікації між мікросервісами. Налаштування та принципи роботи.

08

Event-driven архітектура

Переваги роботи з асинхронними повідомленнями. Різні види комунікації на базі брокерів повідомлень. Патерн CQRS.

JAVA CAREER

01

Як пройти інтерв'ю

Як успішно прохи технічне інтерв'ю? Обговорення умов оферу. Особливості інтер'ю з іноземним замовником.

02

Практична підготовка до інтерв'ю

Тестове проходження повноцінного інтерв'ю англійскою мовою

03

Підсумок

Принципи успішної роботи. Список щойно набутих навиків, які збільшують вашу продуктивність, демострують вашу цінність на проекті і допомагають почуватися впевнено.

"РІЗНИЦЯ В ТОМУ, ЩО ЦЕ НЕ ПРОСТО ТЕМИ, ЯКІ ВИ ПРОСЛУХАЄТЕ І ЗАБУДЕТЕ.
ЦЕ ПРАКТИЧНІ НАВИКИ, ЯКІ ВИ ЗДОБУДЕТЕ І ВОНИ ЗАЛИШАТЬСЯ У ВАС."

Автор програми, викладач

Тарас Бойчук

Java архітектор, консультант та спікер на міжнародних конференціях

JAVA SUMMER CAMP

НАЙКРАЩЕ МІСЦЕ, ЩОБ ПОЗНАЙОМИТИСЬ І НАЛАШТУВАТИСЬ НА ЕФЕКТИВНЕ НАВЧАННЯ

Один із найважливіших етапів навчання - це комунікація та взаємодія між учасниками навчального процесу. Карпати найкраще підходять для знайомства, обміну досвідом та отримання мотивації на подальше навчання. Тому 26-29 серпня плануйте проводити в оточені однодумців та у супер крутій атмосфері.

Fog-in-the-village-808158_edited.jpg

ЗАПРОШЕНІ СПІКЕРИ

Впродовж навчальної програми ми будемо організовувати для вас виступи від запрошених спікерів на різні теми у режимі онлайн.

andrii rodionov_edited.png

Андрій Родіонов

  • Grey LinkedIn Icon
1575408903127_edited.jpg

Олег Докука

  • Grey LinkedIn Icon
ivan pashko_edited_edited.jpg

Іван Пашко

  • Grey LinkedIn Icon
oleksii molchanovskyi_edited.png

Олексій

Молчановський

  • Grey LinkedIn Icon

ЦІНА, ЗА ЯКУ ВИ ОТРИМУЄТЕ МОЖЛИВІСТЬ

ЗДОБУТИ ПРАКТИЧНІ НАВИКИ І ПОЧУВАТИСЯ ВПЕВНЕНО

Зараз

$2500

Після працевлаштування

$4000 АБО 15% від ЗП впродовж 24 місяців

Зараз немає запланованих заходів.
bottom of page