ТРЕНУВАЛЬНА ПРОГРАМА ДЛЯ ПРАЦЮЮЧИХ
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 серпня плануйте проводити в оточені однодумців та у супер крутій атмосфері.

ЦІНА, ЗА ЯКУ ВИ ОТРИМУЄТЕ МОЖЛИВІСТЬ
ЗДОБУТИ ПРАКТИЧНІ НАВИКИ І ПОЧУВАТИСЯ ВПЕВНЕНО
Зараз
$2500
Після працевлаштування