Online | Offline
ПРОФЕСІЯ

JAVA ПРОГРАМІСТ

  • З нуля до Junior-фахівця за 9 місяців
  • Від вивчення синтаксису мови Java до створення власних програм
  • Опануєте шаблони проектування та фреймворк Spring

Cтарт: у жовтні

Тривалість

216 години, 36 тижнів

Розклад

Ср 18:00-21:00, Сб 11.00-14.00

Вартість

9 платежiв по 4800 грн

Заробітня плата JAVA DEVELOPER

від 400$ до 6500$

(за даними work.ua або dou.ua)

Чим займається Java-розробник?

JAVA DEVELOPER створює складні програми та окремі модулі, їх архітектуру та логіку. Програміст повинен вміти оцінювати технічне завдання (ТЗ), визначати терміни виконання та необхідні інструменти.

"Написано одного разу, працює скрізь", так говорять про мову Java. Якщо ти хочеш створювати мультиплатформні програми та працювати в кращих компаніях - чекаємо тебе на курсі JAVA.

Коротко про курс

icon

Інтенсивна практика і розбір домашніх завдань

icon

Можливість онлайн навчання + відеозаписи всіх занять

icon

Випускний проект для портфоліо, який ти презентуєш роботодавцям

icon

Допомога у працевлаштуванні, оформленні резюме та підготовка до співбесіди

Після курсу ти зможеш

icon
OOP Principles

Опануєш поняття інкапсуляція, успадкування, поліморфізм та абстракція. Зможеш застосовувати це у своїх проектах

icon
Algorithms

Вирішувати завдання на основі складних алгоритмів, використовуючи різні структури даних та реалізовувати їх у своїх проектах

icon
Development

Освоїш механізми багатопоточності Java, попрацюєш з основними бібліотеками та отримаєш досвід написання юніт та інтеграційних тестів

icon
Java enterprise

Створювати повноцінні web-проекти з використанням усієї різноманітності рішень Java-платформи та супутніх фреймворків

icon
Maven

Формувати грамотну архітектуру, конфігурацію, життєві цикли та фази складання проекту

icon
Database & SQL

Зможеш налаштовувати взаємодію з базами даних SQL, використовуючи JDBC API і найбільш популярний orm фреймворк Hiberante

icon
Spring Framework

Використовувати повною мірою можливості бібліотеки для прискорення та спрощення процесу розробки

icon
GIT

Аналізувати та керувати результатами своєї роботи використовуючи систему контролю версій

Що потрібно для навчання?

На курс Програмування на Java зараховуються слухачі, які пройшли навчання на курсі Основи програмування, або успішно пройшли перевірку

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

36

тижнів активного вивчення синтаксису мови

60%

курсу спрямований на створення випускного проекту

практика роботи у SCRUM команді

тренінги по SoftSkills від компанії куратора

GIT
  • Огляд курсу, організація взаємодії
  • Призначення. Структура
  • Основні команди: init, status, add, commit
  • Створення локального репозиторію
  • Фіксація змін
  • Розгалуження
  • Злиття гілок. merge
  • Вирішення конфліктів
  • Підключення віддаленого репозиторію
  • Команди: fetch, push, pull
  • Файл .gitignore
Java Environment
  • JRE, JVM, JDK
XML
  • Що це таке? Де застосовується?
JSON
  • Що це таке? Де застосовується?
Знайомство з Java
  • Компілятор. Байткод
Структура проекту
  • Пакети
Введення в Java
  • Типи даних Java. Змінна
  • Main метод
  • Примітивні
  • Оператори
  • Розгалуження
  • Масиви
  • Цикли
  • Масиви доповнення
Java OOP
  • Клас. Структура класу
  • Поняття "Об'єкт"
  • Модифікатори доступу
  • Поля класу
  • Методи класу. Параметри методу. VarArgs
  • Посилальні типи даних
  • Java Memory Model, Java Class Loader
  • Поняття "Об'єкт"
  • "Виділення пам'яті. Робота з об'єктами в JMM"
  • Статичні поля класу
  • Статистичні методи класу
  • Спадкування. Створення ланцюжків наслідування
  • Клас Object. Які методи має клас Object
  • Поліморфізм. Перевизначення та навантаження методів.
  • Обгортки типу посилань над примітивними типами
  • Інкапсуляція. Приховування імплементації
  • Рядки. Immutable типи даних. String.format
  • Класи StringBuilder, StringBuffer
  • Які бувають типи класів у Java?
  • Внутрішній клас, вкладений клас, локальний клас, анонімний клас
  • Які бувають види класів у Java?
  • Анотація класу vs Interface
  • ENUM (Перелічення)
UML
  • Що таке та навіщо потрібен?
Системи збирання Maven
  • Що таке? Для чого потрібно? Встановлення
  • Створення проекту. Конфігурація: pom.xml
  • GroupId, artifactId, version, properties, dependencies
  • Build, plugins, profiles
  • "Multimodules, dependency/plugin management"
  • Життєві цикли. Фази складання проекту
  • Структура проекту
IDE IntelliJ IDEA
  • Що це таке? Для чого потрібно? Де знайти? Як використовувати?
  • Плюшки при роботі з IDE
  • GIT в IDE
  • Maven в IDE
  • IDEA Debug Mode
Помилки в Java
  • Що це таке? Навіщо треба? Ієрархія
  • Checked, Unchecked помилки
  • try...catch, throws, Stacktrace
Потоки введення-виводу
  • Байтові потоки, символьні потоки
  • Читання, записування файлів
  • Закриття ресурсів
Collections Framework
  • Generics
  • Collections
  • Map
Основи асинхронності
  • Що це таке? Для чого потрібно?
  • Thread, Runnable, Callable
  • Потоки демони
  • Зупинка потоків
  • volatile, synchronized, wait. notify, notifyAll
  • ThreadLocal
  • ExecutorService
  • ForkJoinPool
Reflection API
  • Що це таке? Для чого потрібно?
  • Анотація. Що це таке? Для чого потрібно?
Java 8
  • Дефолтні методи
  • Функціональні інтерфейси
  • Лямбда висловлювання
  • Посилання на методи та конструктори
  • Опціональні значення
  • Stream API
SOLID
  • Що це таке? Де застосовується?
Тестування
  • Junit, Mockito, AssertJ
HTML
  • Вступ
  • Chrome Developer Tools
  • Синтаксис. Структура документа HTML.
  • Теги
  • Лінійні та блокові теги
  • Контентна модель HTML5
  • Атрибути тегів
  • Текст
  • Посилання
  • Зображення
  • Таблиці
  • Формы
  • Списки
  • Блоки
CSS
  • Каскадні таблиці стилів
  • Види
  • Синтаксис
  • Селектори
  • Позиціювання
  • Текст
  • Шрифти
  • Посилання
  • Таблиці
  • Списки
  • Тінь
  • Рамка
  • Кольор
  • Фон
  • Медіа запити
  • Flexbox
  • HTML5
JavaScript
  • Вступ. Інструменти
  • Типи даних. typeof. Змінні
  • Оператори
  • Розгалуження
  • Цикли
  • Коментарі
  • Функції
  • Суворий режим
  • Function Expression
  • Функції-стрілки
  • Об'єкти
  • DOM та Події
Бази даних
  • Реляційні бази даних
  • РСУБД. Поняття Схеми БД
  • Мова SQL
  • DDL: CREATE, ALTER
  • DML: INSERT, UPDATE, DELETE
  • SELECT
  • JOIN
  • Функції агрегування
  • Концепція угруповання. Ключове слово GROUP BY
  • Ключове слово HAVING
  • Зв'язки між таблицями
  • ACID
  • Нормалізація
JDBC
  • Підключення до БД. Драйвер Postgresql
  • Виконання запитів - PreparedStatement
  • Обробка результату - ResultSet
JPA & Hibernate
  • Що таке ORM?
  • Створення та конфігурування Hibernate програми
  • Entity
  • Маніпуляції з Entity: EntityManager, Session
  • Стан Entity: Transient, Persistent и Detached
  • Ідентифікатор Entity
  • Embedded
  • Зв'язування сутностей: OneToOne, OneToMany, ManyToOne, ManyToMany
  • Збереження колекцій
  • Проксі об'єкти та Fetch Types
  • Реалізація наслідування
  • HQL
  • Criteria API
  • Named Queries
  • Рівні кешування: First Level Cache, Second Level Cache, Query Cache
HTTP
  • Cхема взаємодії клієнта та сервера
  • Концепція request/response. Статуси. Методи
  • Інструмент POSTMAN
Підготовка до фінального проекту
  • Огляд, вимоги, архітектура, інструменти, терміни, що використовуються.
Servlet API
  • Концепція: Веб-сервер. Веб-програми
  • Введення в Servlet API
  • Контейнер сервлетів
  • Дескриптор розгортання
  • Servlet. Filter. Listener
  • Java Server Pages (JSP)
  • Java Standard Tag Library (JSTL)
  • Session
  • Cookies
REST
  • Що таке. Де застосовується. Модель клієнт-сервер
  • Вимоги
  • Відсутність стану
  • Кешування
  • Одноманітність інтерфейсу
  • Шари
  • Код на вимогу
Servlet API & REST
  • Бібліотека Jackson
  • Авторизація та Аутентифікація
  • Access & Refresh Токени
Spring Core
  • Dependency Injection
  • IoC
  • Beans definition
  • Injection Types
  • ApplicationContext
  • Конфігурація
  • AOP
  • Annotations
Spring MVC
  • MVC архітектура
  • Model
  • Controller
  • View
  • Exceptions Handling
  • Request/Response
  • Request Validation
  • View Validation
  • File Upload
  • DAO & DTO patterns
Spring REST
  • REST-API
  • Транзакції
Spring Data
  • Repository
  • Query methods
  • Specifications
Spring Security
  • Security Filter Chain
  • Authentication
  • Authorization
Spring Boot 2
  • Spring Boot 2
JMS
  • Kafka
  • RabbitMQ
NoSQL
  • Загальний огляд, у чому відмінність із SQL, приклад, робота MongoDB+Spring
Redis
  • Основи, приклад
Docker
  • Основи, приклад

Хто читає цей курс?

Дмитро Штефирца

Software developer у VARTEQ

  • Middle Java developer
  • Досвід менторства трейні розробників на проекті
  • 3 роки досвіду з Java, Spring, RDBMS
  • Досвід роботи у таких компаніях як Nix Solutions, Softserve, Varteq

Зараз займаюсь міграцією на 17 java та імплементацією multi tenancy architecture у проекті. Попередній досвід пов'язан із реалізацією бізнес логіки проекту, налаштуванням бази даних тa взаємодії із third party сервісами. Окрім джави працював із Groovy та JavaScript. Прагну передати набутий досвід та best practice новачкам у програмуванні.

Як відбувається навчання?

Живі заняття

Навчання в онлайн форматі з можливістю прямої комунікації

90% практики

Практика з першого дня навчання: робота над реальним проектом для портфоліо

Підтримка викладачів

Закритий Telegram чат групи з викладачем, розбір домашніх завдань та регулярний зворотний зв'язок

Кар'єрні івенти

Онлайн-екскурсії в топові IT-компанії, тренінги з Soft Skills та підготовка до працевлаштування

Твоє резюме після навчання

Максим Рудских JAVA developer Trainee
Зарплата від 500$
Графік Робота в офісі
Освіта Level Up
Ключові навички
  • Розумію фундаментальні принципи створення програм на Java
  • Розбираюсь у принципах об'єктно-орієнтованого програмування
  • Вмію проектувати класи різного ступеня складності та створювати ієрархії класів для вирішення практичних завдань
  • Розбираюсь у мові структурованих запитів SQL та вмію формувати запити до бази даних
  • Знаю та вмію застосовувати основи HTML, CSS, JavaScript та підключати fronend до свого проекту
  • Розумію відмінності BOM та DOM і вмію взаємодіяти з їхніми об'єктами
  • Вмію використовувати шаблони проектування Spring Framework
  • Сильні аналітичні здібності та увага до деталей
  • Готовність вчитися, зростати та вдосконалюватися в галузі Quality Assurance
  • Розумію етапи та послідовність розробки ПЗ від ТЗ до production-ready продукту

Так буде виглядати твій електронний сертифікат

який ти зможеш додати до свого CV

Інструменти, які ви освоїте

icon
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview
instrumet preview

Java

Строго типізована об'єктно-орієнтована мова програмування загального призначення. Написану на Java програму можна запустити на будь-якій платформі, якщо на ній встановлено середовище виконання Java (JRE, Java Runtime Environment).

instrumet preview

Intellij Idea

Інтегроване середовище розробки програмного забезпечення для багатьох мов програмування, зокрема Java, що дозволяє програмісту швидко реорганізовувати вихідні тексти програм.

instrumet preview

Git

Розподілена система керування версіями, яка допомагає розробникам стежити за змінами коду.

instrumet preview

Maven

Фреймворк для автоматизації складання проектів на основі опису їх структури у файлах мовою POM, що є підмножиною XML.

instrumet preview

Spring Framework

Універсальний фреймворк з відкритим вихідним кодом Java-платформи, створена для вирішення складних завдань розробки корпоративних додатків. Однією з основних переваг фреймворку є його багаторівнева архітектура, яка дозволяє вам вибирати, який компонент використовувати, забезпечуючи при цьому інтегровану фреймворк для розробки програм J2EE.

instrumet preview

Hiberante ORM

Бібліотека для мови програмування Java, призначена для вирішення задач об'єктно-реляційного відображення (ORM), найпопулярніша реалізація специфікації JPA.

instrumet preview

Docker

Програмна платформа для швидкої розробки, тестування та розгортання додатків. Docker упаковує програмне забезпечення в стандартизовані блоки, які називаються контейнерами. Кожен контейнер включає все необхідне роботи програми: бібліотеки, системні інструменти, код і середовище виконання. Завдяки Docker можна швидко розгортати та масштабувати програми в будь-якому середовищі та зберігати впевненість у тому, що код працюватиме.

instrumet preview

RabbitMQ

Програмний брокер повідомлень. Його основна мета – приймати та віддавати повідомлення. RabbitMQ підтримує кілька мов програмування (Perl, Python, Ruby, PHP), а також забезпечує горизонтальне масштабування для побудови кластерних рішень.

instrumet preview

Redis

Резидентна система управління базами даних класу NoSQL з відкритим вихідним кодом, що працює зі структурами даних типу "ключ - значення". Використовується як баз даних, так реалізації кешів, брокерів повідомлень. Орієнтована досягнення максимальної продуктивності на атомарних операціях.

instrumet preview

JavaScript

Мультипарадигменна мова програмування. Підтримує об'єктно-орієнтований, імперативний та функціональний стилі. JavaScript – єдина мова програмування для браузерів.

instrumet preview

Bootstrap Framework

Найпопулярніша у світі бібліотека HTML, CSS та JS, яка використовується веб-розробниками для швидкого створення адаптивних дизайнів сайтів. Включає HTML- і CSS-шаблони оформлення для типографіки, веб-форм, кнопок, міток, блоків навігації та інших компонентів веб-інтерфейсу, включаючи JavaScript-розширення.

instrumet preview

PostgreSQL

Вільна об'єктно-реляційна система управління базами даних, що базується на мові SQL. Безкоштовне програмне забезпечення з відкритим кодом. PostgreSQL може запускати динамічні веб-сайти та веб-програми як опцію для стека LAMP

Допомагаємо у працевлаштуванні

кожен випускник Level Up отримує допомогу та підтримку Центру розвитку кар'єри

Надаємо консультацію

Разом із фахівцем ти проаналізуєш свої компетенції, визначиш кар'єрні цілі та позиціонування на ринку праці

Допомагаємо з резюме

Разом з кар'єрним менеджером ти складеш якісне резюме та супровідний лист, які допоможуть виділитися серед інших кандидатів

Пропонуємо вакансії

Менеджер з працевлаштування регулярно інформує студентів курсу про актуальні вакансії у наших компаній-партнерів

Сприяємо твоєму розвитку

Менеджер з працевлаштування створює безкоштовні івенти для розвитку твоїх soft skills та HR-зустрічі з роботодавцями

Допомагаємо отримати роботу мрії

Ти навчишся презентувати себе на співбесіді - очній або заочній. А якщо подаєш резюме на вакансії наших партнерів, менеджер з працевлаштування збирає зворотний зв'язок у роботодавців

Інвестуй в себе!

Отримай роботу Java-разробника за 36 тижнів

Вартість курсу
43200 грн.
*При повній оплаті знижка 10% економія 4320 грн
Оплата по місяцям

9 платежiв по 4800 грн

Отримай консультацію,
щодо курсу

    Отримати консультацію

    Ім'я
    Телефон

    Введіть слово, щоб почати пошук