Все зрозуміло, сучасно і без води. Для тих хто шукає реально якісні знання
Курси Java
- Java
- Fullstack
Навчимо вас HTML/CSS, GIT, JavaScript,TypeScript, React, Angular, Hibernate, Spring, MySQL, MongoDB, Next.JS, а потім ще і працевлаштуємо.
Програма курсу
Git + GitHub
- Загальна інформація
- Встановлення GIT
- Налаштування глобальних даних користувача
- Інтеграція Git з середовищем розробника
- Створення репозиторію
- Базові команди GIT
- Робота в команді за допомоги Git
- Merge conflict
- GitHub
- Конфігурація доступу до репозиторію
- Pull Request
HTML/CSS
- Загальна інформація
- Вступ до HTML та знайомство з CSS
- Блочні елементи та способи їх розташування на сторінці
- Селектори в CSS
- Події в CSS
- Flexbox та позиціонування
- Адаптивна верстка
- Робота з медіаконтентом та формами
- Figma
- Шрифти та іконки
- Grid css
JavaScript
- Загальна інформація
- Введення в JavaScript
- Базові типи даних в JavaScript
- Базові операції в JavaScript
- Логічні розгалуження в JavaScript
- Об'єкти в JavaScript
- Масиви в JavaScript
- Цикли в JavaScript
- Функції в JavaScript
- Рекурсія та замикання в JavaScript
- ООП та прототипи в JavaScript
- Робота з помилками в JavaScript
- Callback функції в JS
- ES6 JavaScript features
- DOM в JavaScript
- Події в JavaScript
- BOM в JavaScript
- Генератори та ітератори в JavaScript
- Асинхронність в JavaScript та Event loop
TypeScript
- Загальна інформація
- Вступ до TypeScript
- Синтаксис TypeScript
- Функції та класи TypeScript
- Інструменти та налаштування
- Практика з TypeScript
- Додаткові теми
MySQL
- Загальна інформація
- Вступ до MySQL
- Створення та керування базами даних
- Таблиці та поля
- Запит даних мовою SQL
- Практика з SQL
- Додаткові теми
MongoDB
- Загальна інформація
- Вступ до MongoDB
- Робота з колекціями та документами
- Мова запитів MongoDB
- Практика з MongoDB
- Додаткові теми
React
- Загальна інформація
- Введення в React
- Створення простих React-додатків
- Типізація у React
- Компоненти React
- Бібліотеки компонентів та CSS
- Керовані та некеровані компоненти
- Hooks React
- Маршрутизація в React
- Керування даними в React
- Розробка шарів програми
- State management. Основи
- Zustand
Redux Toolkit
- Загальна інформація
- Redux toolkit
- Redux асинхронні перетворювачі
- Best Practice
Java Core
- Загальна інформація
- Вступ до Java
- Типи даних та оператори
- Цикли
- Масиви
- Строки
- Класи та об'єкти
- Наслідування
- Інтерфейси
- Колекції
- Робота з файлами
- Виключення
- Додаткові теми
Java Hibernate
- Загальна інформація
- Вступ до Hibernate
- Налаштування середовища Hibernate
- Відображення об'єктів та реляційні дані
- HQL (Hibernate Query Language)
- Критерії Hibernate
- Керування транзакціями
- Додаткові функції Hibernate
Spring Boot
- Загальна інформація
- Введення у Spring Boot
- Налаштування проєкту Spring Boot
- Spring MVC
- Робота з базами даних
- Аспектно-орієнтоване програмування (АОП)
- Безпека Spring Boot
- Аутентифікація через сторонні послуги
- Робота з повідомленнями
- API first design (OpenAPI)
- Spring Cloud Stream
- Тестування Spring Boot
- Розгортання Spring Boot
Automation Java
- Загальна інформація
- Вступ до Java та автоматизації
- Selenium WebDriver
- Написання тестів Java з Selenium
- Поглиблення знань про Selenium
- Автоматизація API з Java
- Фреймворки для автоматизації тестування Java
- Обробка даних та звітування
- Навички роботи з DevOps
- Навантажувальне тестування
Next.JS
- Загальна інформація
- Вступ до Next.js
- Створення Next.js-додатку
- Управління даними в Next.js
- Розширені можливості Next.js
DevOps
- Загальна інформація
- Docker
- Контейнеризація сервісів
- Мікросервісна архітектура
- Amazon Web Services
Scrum
- Вступ до Scrum
- Артефакти Scrum
- Події Scrum
- Цінності Scrum
- Поширені помилки у Scrum
Лекція з HR
- Пошук вакансій
- Резюме
- Інтерв'ю
IT-English
Особливості курсу
- Об'єм до 960 годин
- Англійська мова
- Додатковий курс у подарунок
- Додаткові консультації
- LMS система
- Живі консультації
- Пожиттєвий доступ
Викладачі курсу
- Сергій Журавльов - Засновник BigBird, співзасновник OktenWeb Digital Studio
- Діана Бондаренко - Senior Frontend Developer
- Руслан Мудрак - Project Manager at Codegeeks Solutions
- Ірина Марусяк - Senior Project Manager at SoftServe
- Віталій Демчишин - Senior Python Developer
- Валерія Ліхолєт - HR Specialist at Remofirst
- Java
Програма курсу
Java. Hibernate
- Загальна інформація
- Вступ до Hibernate
- Налаштування середовища Hibernate
- Відображення об'єктів та реляційні дані
- HQL (Hibernate Query Language)
- Критерії Hibernate
- Керування транзакціями
- Додаткові функції Hibernate
Springboot
- Загальна інформація
- Введення у Spring Boot
- Налаштування проєкту Spring Boot
- Spring MVC
- Робота з базами даних
- Аспектно-орієнтоване програмування (АОП)
- Безпека Spring Boot
- Аутентифікація через сторонні послуги
- Робота з повідомленнями
- API first design (OpenAPI)
- Spring Cloud Stream
- Тестування Spring Boot
- Розгортання Spring Boot
Особливості курсу
- Зручна LMS система
- Безстроковий доступ до лекцій та матеріалів
- Чат з менторами
- Перевірка завдань
- Живі консультації
Викладачі курсу
- Сергій Журавльов - Засновник BigBird, співзасновник OktenWeb Digital Studio
- Віталій Демчишин - Senior Python Developer
- Мар'ян Стасюк - Senior Java Automation Engineer
- Роман Жеребецький - Senior Developer at EPAM System
- Java
- QA Automation / QA Manual
Курс автоматизації тестування на Java з Selenium 3. Курс включає в себе навчання java і не включає модуль по ручному тестуванню програмного забезпечення.
Програма курсу
Git + GitHub
- Загальна інформація
- Встановлення GIT
- Налаштування глобальних даних користувача
- Інтеграція Git з середовищем розробника
- Створення репозиторію
- Базові команди GIT
- Робота в команді за допомоги Git
- Merge conflict
- GitHub
- Конфігурація доступу до репозиторію
- Pull Request
Java Core
- Загальна інформація
- Вступ до Java
- Типи даних та оператори
- Цикли
- Масиви
- Строки
- Класи та об'єкти
- Наслідування
- Інтерфейси
- Колекції
- Робота з файлами
- Виключення
- Додаткові теми
Automation Java
- Загальна інформація
- Вступ до Java та автоматизації
- Selenium WebDriver
- Написання тестів Java з Selenium
- Поглиблення знань про Selenium
- Автоматизація API з Java
- Фреймворки для автоматизації тестування Java
- Обробка даних та звітування
- Навички роботи з DevOps
- Навантажувальне тестування
Особливості курсу
- Зручна LMS система
- Безстроковий доступ до лекцій та матеріалів
- Чат з менторами
- Перевірка завдань
- Живі консультації
Викладачі курсу
- Святослав Дюганчук - Senior QA at N-ix
- Мар'ян Стасюк - Senior Java Automation Engineer
- Сергій Журавльов - Співзасновник OktenWeb Digital Studio
- Діана Бондаренко - Senior Frontend Developer
- Віталій Демчишин - Senior Python Developer
- Ірина Марусяк - Senior Project Manager at SoftServe
- Валерія Ліхолєт - HR Specialist at Remofirst
- Java
Програма курсу
Git + GitHub
- Загальна інформація
- Встановлення GIT
- Налаштування глобальних даних користувача
- Інтеграція Git з середовищем розробника
- Створення репозиторію
- Базові команди GIT
- Робота в команді за допомоги Git
- Merge conflict
- GitHub
- Конфігурація доступу до репозиторію
- Pull Request
Java Core
- Загальна інформація
- Вступ до Java
- Типи даних та оператори
- Цикли
- Масиви
- Строки
- Класи та об'єкти
- Наслідування
- Інтерфейси
- Колекції
- Робота з файлами
- Виключення
- Додаткові теми
Особливості курсу
- Зручна LMS система
- Безстроковий доступ до лекцій та матеріалів
- Чат з менторами
- Перевірка завдань
- Модуль по Git
- Живі консультації
Викладачі курсу
- Сергій Журавльов - Засновник BigBird, співзасновник OktenWeb Digital Studio
- Віталій Демчишин - Senior Python Developer
- Мар'ян Стасюк - Senior Automation Engineer
- Роман Жеребецький - Senior Developer at EPAM System
- Java
На курсі Java ти опануєш популярну професію Java-розробника. Після курсу ти будеш вправно користуватися такими технологіями, як JDBC, Java Web, Hibernate, Spring, та багато іншого.
Програма курсу
Java Basics
- Introduction
- Main Concepts
- Data Types
- Operators
- Methods
- Boolean
- Conditionals
- Loops
- Arrays
- String
- Practice
Java Basics Extended
- Type Casting
- Arrays Extended
- Switch Case
- Classes
- Classes Advanced
- Methods Advanced
- Practice
Git and Terminal
- Environment Setup
- Command Line Basics
- Git Basics
- Working With Branches
- Working With Remote Repo (GitHub)
Course Fundamentals
- Intro
- Java and IntelliJ Idea
- Maven
- Checkstyle and Review process
Java Core
- How to Solve Tasks
- Memory, Wrappers, String
- Bit Manipulation
- OOP
- Abstract Class vs Interface
- Exception
- Files
- Equals, Hashcode, and Clone
- Patterns and Recursion
- Generics
- ArrayList
- LinkedList
- PECS
- HashMap
- Array Practice
- Immutable
- Set, Queue, Stack, and Comparator
- Java JUnit
- Java 8 - Part 1
- Java 8 - Part 2
- Java 8 - Part 3
- Java 9-19 Improvements
- Stream API Practice
- Java SOLID
- Java Dependency Injection
- Logger
SQL Basics
- Introduction to SQL
- SELECT Statement
- WHERE Statement
- NULL Value, LIKE, BETWEEN, and IN Statements
- ORDER BY, LIMIT, DISTINCT
- Aliases
- Aggregate Functions
- GROUP BY Statement
- JOIN Statement
- Functions
- HAVING Statement
Hibernate
- Database Intro
- JDBC Intro
- Hibernate Entities and Transactions
- Entity Relations and Life Cycle
- JPA and Cascade Types
- Working With Lazy Initialization
- Criteria API
- Transaction Isolation Levels
- N+1 Problem
- Database Change Management Tools
- SQL Practice
- Hibernate Inheritance
- Hibernate Cache Levels
- Performance Improvement
How the Web Works
- Introduction to the web
- OSI model
- HTTP
- Encryption
- API interface
- Security in the Web
Spring Boot
- Spring Boot Intro
- Spring Bean Lifecycle
- Spring Boot Web
- Spring Boot Web: DTO
- Spring Boot Web: Mappers in Details
- Spring Data JPA
- Criteria Query in Spring Boot
- Spring Transactional
- GlobalExceptionHandler and Data Validation
- Pagination, Sorting, Swagger
- Working With Third-Party API
- Security Basics
- Spring Boot Security
- JWT
- Spring Boot Practice
- Docker in Spring Boot
- Spring Boot Testing
- Deploy the Project to AWS
- Spring Boot AOP
- Portfolio Project
Team Project
- Team Project. Intro
- Jira Environment
- Status Check
- Estimates
- How to Demo Your Work
- Team Project for Employment
- Retrospective
Java Multithreading
- Multithreading Intro
- Threads
- JMM (Java Memory Model)
- Thread Manipulation
- Locks
- Deadlock
- Executor Service and Future
- Completable Future
- Concurrent collections
Employment 2.0
- Employment Roadmap
- Preparing Your Resume
- Interview Preparation
- Cover Latter Preparation
- Google, LinkedIn, DOU, Djinni
- How to find and apply for vacancies
- Job Search Tips: Talking to Recruiters
- Work details FAQ
Kotlin
- Kotlin Intro
- Variables, Data Types, and Operators
- Nullability
- Functions
- Collections, Conditionals, and Loops
- Classes (OOP)
- Classes (Advanced)
- Extensions
- Exceptions and Files
- Standard Functions and Other Concepts
Algorithms and Data Structures (Old)
- Main Concepts
- Algorithm Complexity
- Data Structures: Array
- Search Algorithms
- Data Structures: Linked List
- Data Structures: Stack
- Data Structures: Queue
- Data Structures: Hash Map
- Data Structures: Hash Set
Algorithms and Data Structure
- Module Overview
- Algorithms complexity
- Arrays
- Binary search
- Two pointers
- Linked lists
- Stack
- Queue
- Trees
- Binary search tree
- Priority queue
HTML + CSS Basics
- HTML Basics
- CSS Basics
- Colors and Fonts
- Box Model Basics
- Semantic Basics
- Responsiveness Basics
- CSS Selectors
- Pseudo-Elements and Pseudo-Classes
- Specificity
- Links and URLs
- Images
- Media Queries
- Forms
- Position
- Extra Topics
Angular
Angular Basics.
Career Development
- Mastering Your Probation Period
- PDP and Career Plans
- Salary Review Strategies
- Recruiter Outreach
- How to Find a New Job?
- How to talk about your previous work experience?
- Career knowledge base
Особливості курсу
- Працюєш? Вчись у власному темпі
- Зідзвони з менторами тричі на тиждень
- Чат з одногрупниками
- Навчальні матеріали "без води" замість довгих лекцій
- Матимеш 2 робочих проєкта в портфоліо
- Гарантуємо працевлаштування після навчання
- Повернемо кошти якщо не знайшов роботу в ІТ
Викладачі курсу
- Bohdan Chupika - Java developer / Coach
- Alla Vyshnia - Student coordinator
- Java
Ти навчишся створювати "начинку" вебсайтів, програм, застосунків та зможеш працювати Junior Java Developer
Програма курсу
Java Core
- Огляд мови Java, знайомство з Git
- Змінні Java, типи даних, оператори
- Масиви, умови, введення з консолі
- Цикли
- ООП, класи, методи
- Конструктор, блоки ініціалізації, внутрішні класи
- Робота з рядками. Immutable objects
- Інтерфейси та перерахування
- Дженерики та колекції
- Потоки введення-виведення. Робота з файлами
- Функціональне програмування, Stream API
- Багатопоточність
- Web, протоколи
Java Developer
- Системи збору та управління залежностями
- Unit testing
- Реляційні СУБД. Мова SQL
- Основи Java DataBase Connectivity (JDBC)
- Розширена робота з JDBC
- CRUD, міграції баз даних
- Клієнт-серверна архітектура, протокол HTTP
- Сервлети: основи
- Сервлети: Cookies, Templates, Front Controller
- ORM. Hibernate
- Hibernate Entity Mapping. HQL
- Spring Boot: Core
- Spring Boot: MVC
- Spring Data
- Spring Boot: Security
- CI/CD-процеси
Soft skills
- Філософія Agile
- Методологія Scrum
- Командна праця
- Тайм менеджмент
- Робота з EnglishDom Words
- Складання грамотного резюме
- Створення сторінки на LinkedIn
- Написання мотиваційного листа
- Майданчики для пошуку роботи
- Підготовка до HR-інтерв'ю
- Підготовка до технічного інтерв'ю
- Комунікативні навички
Особливості курсу
- Круті ментори
- Кар'єрний сервіс
- Кабінет my.goit
- Спілкування в чаті
Викладачі курсу
- Саша Слесар - Senior Java/Kotlin Developer в Overonix
- Саша Янов - Team Lead в аутсорсинговій компанії
- Іван Мельничук - Director of Engineering в GoIT
- Софія Бондаренко - Senior Java Developer в GlobalLogic
- Саша Макаров - Senior Software Engineer в DigiAge inc.
- Java
- JavaScript
- Fullstack
Курс дозволить опанувати FrontEnd та BackEnd, фреймворки Spring IoC, Spring Security, Hibernate, Spring Data, jQuery, Node.js, Express.js, React.js, Redux. Після закінчення навчання у вас буде 8 готових проєктів для портфоліо, вміння працювати у команді та можливість створювати круті продукти самостійно завдяки універсальності знань.
Програма курсу
Модуль: Soft Skills
- Основні комунікативні навички
- Орієнтування у ситуації спілкування
- Управління емоціями
- Емоційний інтелект
- Критичне мислення
- Робота у команді
- Самопрезентація
Підготовка до початку курсу
Після успішного проходження тестувань та зарахування на курс студенти отримують список книг із Java та перше теоретичне завдання, щоб на першому ж занятті одразу перейти до практики.
Клієнтські технології JavaScript / FrontEnd
- Створення повністю адаптивного сайту або розширення за допомогою HTML, CSS, шаблонів
- Розробка веб-додатків з використанням принципу Single page application
- Вивчаються інструменти для створення веб-інтерфейсів будь-якого рівня складності (JavaScript, jQuery, Node.js, Express.js, React.js, Redux)
Серверні технології Java EE / BackEnd
- Java EE
- Фреймворки:
- Spring IoC
- Spring Security
- Hibernate
- Spring Data
- Бази даних SQL, NoSql
- Веб-сервера і хмарні технології
- Основи об’єктно-орієнтованого програмування
- Принципи ООП/SOLID
- Шаблони проєктування
- TDD
- Також в модулі передбачено парне програмування, створення онлайн-магазинів, розбір і написання програм Tinder, Instagram
Алгоритми та структура даних
- Основні алгоритми та структури метаданих
- Звичайні та типізовані масиви
- Строкові змінні
- Зв’язані списки
- Стеки та черги
- Хеш, графи, DFS і BFS
- Динамічне програмування
- Дерева
- Алгоритми кешування
- Під час проходження модуля передбачено розв’язання не менше 60 кейсів, користуючись практичним підходом
Воркшопи
Soft skills, технічна англійська та підготовка до співбесіди
Фінальний проєкт
Бонусний модуль: Англійська для ІТ
Особливості курсу
- Живі заняття у вечірній час (19:00-22:00)
- Система оцінки знань
- Підтримка ментора
- Велика кількість практичних завдань
- 8 проєктів для портфоліо
- Допомога у працевлаштуванні
Викладачі курсу
Олексій Рихальський - Software Architect, NDA
Подати заявку- Java
Під час проходження навчання освоїте стек EE-технологій, який використовується для створення додатків. Після закінчення курсу набутих навичок буде достатньо для розуміння принципів ООП, створення Java-додатків і сервісів бізнес-рівня.
Програма курсу
Інструменти програмування
- Знайомство та план курсу
- Системи контролю версій Git. Вендори Github. Gitlab Базові команди
- Просунуте керування Git
Введення в ООП
- Введення в ООП
- Принцип ООП: Інкапсуляція
- Принцип ООП: Спадкування
- Успадкування в Java
- Принцип ООП: Поліморфізм
- Поліморфізм у Java
Типи даних
- Зберігання даних
- Примітивні та референсні типи даних
- Символи у Java
- Рядки в Java
Винятки
- Введення у винятки
- Викид та обробка винятків
Можливості середовища розробки Intellij IDEA
- Налагодження програми (Debug)
- Функціонал, що спрощує/прискорює розробку
Потоки введення-виводу
- Введення в I\O
- Робота з файлами
- Пакет NIO
- Основні компоненти пакета NIO
Багатопоточність
- Багатопоточність у Java
- Стандартні методи підтримки багатопоточності
- Проблеми стандартної синхронізації Java і пакет java.util.concurrent
- Просунуті способи синхронізації
Колекції в Java
- Ієрархія колекцій у Java
- Базові реалізації списків
- Структура даних "Словник"
- Базові реалізації інтерфейсу Map
- Множини
- Черги
Складність алгоритмів та О-нотація
- Складність алгоритму
- Робота з типовими алгоритмами
- Робота з деревами
- Робота з графами
Узагальнення (Generics)
- Введення в узагальнення
- Спадкування та організування в узагальненнях
Stream API
- Введення в Stream API
- Основні операції Stream API
Функціональне програмування
- Функціональні інтерфейси
- Лямбда-вирази
Бази даних та SQL
- Введення в SQL
- Операції DDL, DML
- Операції DQL
- Операції TCL
Робота з базами даних у Java
- Вступ до JDBC
- Конвертація SQL-даних у Java-об'єкти
Анотації та рефлексія
- Рефлексія
- Анотації
Дизайн та архітектура додатків
- Ієрархія шаблонів проектування
- Реалізація шаблону проектування
Складачі програм
- Maven як складач проєктів
- Конфігурація та складання проєкту
- Gradle як збирач проєктів
- Конфігурація та складання проєкту
Тестування програмного забезпечення
- Огляд фреймворків для юніт-тестування
- Реалізація тестових сценаріїв
Комунікація у мережі
- Основи комунікації у мережі
- Реалізація протоколу переданих даних
- Синхронні та асинхронні операції
- Комунікація за допомогою Netty
Web-проєкти
- Введення у Web-проєкти
- Введення в HTTP
- Архітектура Web-сервісів
- Реалізація Web-сервісу
- Архітектура RESTful-додатків
- Автоматичне документування програм
Веб-сервери
- Веб-сервери: Simple Web Server, JBoss, WildFly Контейнери Tomcat
- Java-сервлети
Логування додатків
- Основи логування
- Конфігурація логування
Object-Relational Mapping Framework
- JPA та Hibernate
- Конфігурування та виконання запитів
Spring Framework
- Введення у Spring Framework
- Spring Core
- Фреймворк Spring Data Access
- Конвертація SQL-даних у Java-об'єкти
- Фреймворк Spring Web
- RESTful-програми в Spring
- Введення у Spring Boot
- Конфігурація Spring Boot додатків
- Фреймворк Spring Data
- Фільтрування та пагінація
- Фреймворк Spring Security
- Конфігурація безпеки Web-додатків
Виконання дипломного проєкту.
Особливості курсу
- Для студентів, які закінчили курс Java Basic або для людей з базовими знаннями в будь-якій С-подібній мові програмування
- Вивчення мови програмування Java
- Навчитися працювати з ООП
- Застосовувати отримані знання та навички для створення Java-додатків
- Заняття проводиться у форматі дистанційного навчання
- Доступ до відеозаписів занять в особистому кабінеті
- Оперативна служба підтримки студентів
- Викладачі курсу - практикуючі фахівці, що працюють в топових компаніях
- Можливість повернути всі внесені за навчання кошти до шостого заняття
- Бонуси курсу:
- тренінги по проходженню співбесіди та складанню резюме з HR-фахівцем компанії;
- тестова співбесіда з технічним фахівцем.
Викладачі курсу
- Олександр Шайтан - Software Engineer at Capgemini Engineering
- Олександр Степурко - Senior Java Developer at Andersen
- Влад Засоба - Software Engineer at Mercedes-Benz AG
- Микола Циб - Senior Java Software Engineer at Oracle
- Юрій Дубинка - Java Technical Lead at Ciklum
- Євген Пінчук - Java Software Engineer at Digital Turbine
- Максим Коновалюк - Senior Software Developer at Eleks
- Євген Мица - Software Developer at emcodio
- Віктор Гевод - Java Software Engineer at Fintech band
- Михайло Євтушенко - Java Software Engineer at Eurosoftware UA, LLC
- Денис Ложанський - Senior Java Developer at jSolutions
- Олег Калюжний - Team Lead Software Developer at GlobalLogic
- Java
Курс від нуля до Junior-спеціаліста за 12 місяців. Протягом навчання Ви вивчите всі навики та технології необхідні для майбутньої професії.
Програма курсу
Java Syntax
Вступне заняття. Команди та перша програма на Java
- Про переваги Java та її сфери застосування
- Про JavaRush та Java‑університет
- Структура програми, метод main
- sout
- Знайомство з сайтом та WebIDE
Робота зі змінними, типи int та String
- Збереження тексту до змінної, виведення її в консолі
- Оголошення та ініціалізація змінних String
- Коментарі в коді
- Елементарні математичні операції зі змінними типу int
- Інкремент, декремент
- Конкатенація
- Integer.parseInt(), String.valueOf()
Знайомство з типами та введення з клавіатури. Знайомство з IDEA
- Зберігання примітивних змінних у пам'яті
- Зберігання String змінних у пам'яті
- byte, short, char, long, float, double
- System.in, Scanner
- Методи Scanner
- Встановлення IDEA, завантаження проєкту, завантаження JDK (версія 11)
- Встановлення плагіна, знайомство з його функціоналом
Умовний оператор
- if, if-else, if-else-if
- Блоки команд
- Вкладені блоки команд (вкладені if-и)
- Тип boolean
- Оператори порівняння, double
- Логічні AND, OR, NOT, XOR
- Тернарний оператор
- Порівняння примітивів та String
Факультатив
- Підтягуємо новачків
- Досвідченим студентам розповідаємо про фішки IDEA тощо
- Компіляція класу в байт-код з консолі, запуск програми
Цикли
- Проблематика на прикладі задачі, у якій потрібно виконати дію багато разів
- while
- break, continue
- for
- do-while
- Порівняння різних циклів, роз'яснення, де і який краще використовувати
Масиви
- Створення та заповнення масивів
- Обхід масиву
- Зберігання масивів у пам'яті
Двомірні масиви
- Двомірні масиви
- Зубчаті масиви
- n-мірні масиви
Функції
- Оголошення та виклик методів
- Параметри
- Повертаєме значення, void
- Модифікатори доступу
- Локальні змінні методу
- Модифікатори методів, метод main
Робота з рядками та продовження попередньої теми
- Константи
- Приховування змінних (shadowing)
- Екранування символів
- Основні методи класу String
Факультатив
- Літерали
- Кодування
- Допоміжні класи для роботи з рядками: StringBuilder, String.format
- Утилітний клас Arrays
Типи даних. Знайомство з ООП
- Примітивні типи
- Приведення типів даних
- Посилальні (зсилочні) типи
- об'єкти
- null
- Знайомство з ООП
- Наслідування
Об'єкти
- Створення об'єктів (new)
- Конструктор, конструктор за замовчуванням
- Конструктор з параметрами
- Порядок виклику конструкторів під час наслідування
- Доступ до полів об'єкта (геттер, сеттер)
- hashCode, equals
Класи та static
- Статичні змінні
- Порівняння статичних та нестатичних змінних
- Статичні методи
- Порядок ініціалізациії при використанні конструкторів та статичних блоків
- Внутрішні класи
Факультатив
- Життєвий цикл об'єкта
- Завантаження класу
Списки та Generics
- Класи-обгортки
- ArrayList
- Array VS ArrayList
- Типізація ArrayList (дженерики)
Колекції
- Ієрархія колекцій
- Set, HashSet
- iterator, for-each
- Map, HashMap
- Для яких задач які колекції краще використовувати
- Collections
Факультатив
- LinkedList
- ArrayList VS LinkedList
- Queue
- SortedMap, TreeMap
Singleton, Enum, switch
- Для чого потрібні перераховування
- Оголошення Enum
- Enum - найкращий сінглтон
- switch
Винятки
- Нормальне виконання коду та помилки в рантаймі
- try-catch
- Ієрархія винятків
- multicatch
- throw
- checked і unchecked винятки
- throws
- finally
- Створення власних винятків
- Throwable
- stack trace
- try-with-resources
- AutoCloseable
Факультатив
- Обгортання винятку
- Error
Потоки введення-виведення
- InputStream
- Reader
- BufferedReader
- OutputStream
- Writer
- BufferedWriter
Потоки введення-виведення. Pattern Decorator
- ByteArrayInputStream
- ByteArrayOutputStream
- Комбінування потоків
Потоки введення-виведення. Java.nio
- io VS nio
- FileChannel
- Selector
- Path
- Paths
- Files
Робота з часом та датою
- Date
- DateFormat
- Calendar
- LocalDate, LocalTime, LocalDateTime
- Instant
- ZonedDateTime
- DateTimeFormatter
Git. Підсумковий проєкт (криптоаналізатор)
Java Core
ООП: інкапсуляція, поліморфізм. Інтерфейси
- Інкапсуляція
- Поліморфізм
- Приведення типів
- this, super
- Інтерфейси
ООП: перевантаження, перевизначення, абстрактні класи
- Абстрактний клас
- Реалізація абстрактних методів предка
- Перевантаження (overload) методів - однакові назви
- Перевизначення (override) методів
Stream API
- Анонімний внутрішній клас
- Реалізація абстрактних методів предка
- Лямбда-вирази
- Функціональні інтерфейси
- method reference
- Stream
- Проміжні та термінальні методи Stream-у
- map-reduce
ООП: композиція, агрегація, наслідування
- Асоціація: композиція та агрегація
- Наслідування
Інтерфейси: порівняння з абстрактним класом, множинне наслідування
- Оголошення поведінки
- Дефолтні методи
- Реалізація декількох інтерфейсів
- Проблема "ромба"
- Порівняння абстрактних класів та інтерфейсів
Приведення типів, instanceof switch-expression
- instanceof
- Приведення типів (розширення та звуження)
- switch expression, Enum
Особливості виклику конструкторів. Блок static
- Процес створення об'єкту
- Порядок виклику конструкторів
- Порядок ініціалізації змінних
Як влаштований Object: equals, hashCode, clone, toString(). Immutable objects
- Клас Object
- Методи класу Object
- mutable та immutable objects
Рекурсія
Знайомство з потоками (нитками, тредами): Thread, Runnable, start, sleep
- Thread
- Runnable
- start
- sleep
- interrupt
Знайомство з потоками (нитками, тредами): synchronized, volatile, wait, notify.DeadLock
- synchronized
- volatile
- join
- wait, notify
- Проблема DeadLock
Executors
- ExecutorService
- Патерн (шаблон) "фабричний метод"
- Додавання задач до сервісу
- Callable
- Отримання результату: Future
- Зупинка ExecutorService
- FixedThreadPool
- CachedThreadPool
- ScheduledExecutorService
ThreadLocal, Callable, Future
- ThreadLocal контекст
- ThreadLocalRandom
Внутрішні/вкладені класи, приклади: Map.Entry
- Вкладені класи
- Внутрішні класи
- Внутрішні статичні класи
- Внутрішні анонімні класи
- Приклади різних типів класів з JDK
Серіалізація JSON/XML/YAML
- java серіалізація
- Формати даних xml, json, yaml
- jackson ObjectMapper
Reflection API
- Для чого потрібен Reflection API
- Отримання даних: класу, метода, конструктора, поля
- Створення об'єкту
- Зміна внутрішнього стану об'єкту
- Проксі
- RMI
Анотації в Java
- Декларативний та імперативний підхід до написання коду
- Популярні анотації: @Deprecated, @Override, @Nullable
- Створення анотацій
- Обробка анотацій у рантаймі
Факультатив
Робота зі Swing.
Sockets
- Socket
- ServerSocket
- live coding: написання примітивного чату для групи
Підсумковий проєкт
Java professional
Збирання сміття та типи посилань у Java
- Пам'ять JVM: stack і heap
- CG: Serial, Parallel, CMS, G1, Shenandoah, ZGC
- Кеш
- WeakReference, SoftReference, PhantomReference
Патерни проєктування
- Поведінкові:
- ланцюжок обов'язків
- команда
- ітератор
- посередник
- знімок
- спостерігач
- стан
- стратегія
- відвідувач
- шаблонний метод
- Породжувальні:
- прототип
- будівельник
- сінглтон
- абстрактна фабрика
- фабричний метод
- Структурні:
- декоратор
- компонувальник
- фасад
- адаптер
- проксі (замісник)
Методології розробки
- waterfall
- v-model
- incremental
- RAD model
- agile
- iterative
- spiral
Основи Maven. Встановлення Maven, керування залежностями, види Maven-репозиторіїв, збирання Java-проєкту
- Завантаження, прописування змінних оточення
- Створення maven-проєкту
- Залежності
- Плагіни
- Фази (lifecycle)
- Профілі
- Білд артефактів
Досвід роботи з Guava, Apache Commons Collections
- Multimap, BiMap
- Multiset
- Незмінні колекції
- Objects: hashCode, equals
- Throwables
- CollectionUtils
- StringUtils
JUnit
- Для чого потрібне тестування
- Типи тестування
- @Test
- @Before, @After
- @BeforeClass, @AfterClass
- Параметризовані тести
Mockito
- Моки
- mock і spy
- when і thenReturn
- verify
- any, once, times
Логування
- Для чого потрібні логи
- Рівні логування
- slf4j
- Реалізації: log4j, JUL, logback, common-loggins
- Аппендери
Як влаштована мережа. Мережева модель
- Топологія мережі
- Модель OSI
- DNS
Архітектура ПЗ. Клієнт-серверна архітектура та її складові, трирівнева архітектура, архітектурні шаблони
- Клієнт-серверна архітектура
- Трирівнева архітектура (клієнт-сервер-БД)
- Критерії вдалої архітектури:
- ефективність
- гнучкість
- розширюваність
- масштабованість
- зручність тестування
- зрозумілий та легкий для читання код
- Модульна архітектура, декомпозиція
Протоколи HTTP/HTTPS. Протокол передачі даних, HTTP-запити та відповіді, відмінності HTTP та HTTPS. Cookies, Session
- Протоколи передачі даних в мережі
- http методи (GET, POST, PUT)
- Параметри запитів
- Тіло запиту
- Хедери
- Коди відповідей
- http VS https
- http сессії
- Кукі
- http/2
HttpClient
- AJAX
- java http client
- Синхронні та асинхронні запити
- Задача на отримання даних з інтернету (наприклад, прогноз погоди)
Сервлети, Java servlet API. Пишемо простий вебзастосунок
- Що таке сервлет
- Життєвий цикл
- Сервлет-контейнер Tomcat
- doGet, doPost
- redirect VS forward
- Фільтри
Контейнери сервлетів: Tomcat, розгортання додатку, налаштування сервера
Практика з теми попередньої лекції.
Знайомство з MVC (Model-View-Controller). JSP
- Набір архітектурних принципів та ідей MVC
- Схеми MVC
- MVC у вебі
- Типова помилка: бізнес-логіка в контролері
- MVC на прикладі задачі
- JSP
Вебсервіс
- Що таке вебсервіс
- Протоколи http, jms, ftp
- Синхронні та асинхронні запити
- Хмарні сервіси: IaaS, PaaS, SaaS (що завгодно як сервіс)
HTML-факультатив
- Що таке HTML
- Структура HTML-документа
- Теги та їхні атрибути
- CSS, його синтаксис
- Класи та ідентифікатори
- Селектори
Підсумковий проєкт. Servlet-quest конкурс
Написати на сервлетах текстову покрокову гру-квест.
Работа з базами даних. Hibernate.
Вступ до баз даних. Встановлення СУБД (MySQL). ddl, dml
- Для чого потрібні БД
- Реляційні та нереляційні БД
- Реляційна модель
- CAP теорема
- Встановлення MySQL developer
- Групи SQL (ddl, dml, dcl, tcl)
Типи даних. Створення таблиці. Написання insert, select, update, delete
- Створення схеми
- Створення таблиць
- Зміна структури таблиць
- insert
- select
- update
- delete
Вибір даних
- select з умовою
- Перелік даних, що обираються
- subselect
- join: left, right, inner, cross
- group by та агрегатні функції
- index
Транзакції БД
- Концепції ACID (Atomicity, Consistency, Isolation, Durability)
- Управління транзакціями
- Рівні ізоляції даних
Проєктування баз даних
- Перша нормальна форма
- Друга нормальна форма
- Третя нормальна форма
- Ключі (foreign key)
- Відношення: one to, many to
JDBC 1
- Для чого потрібен
- Основні інтерфейси
- Отримання даних у додатку з БД
- Оновлення та видалення даних у додатку з БД
JDBC 2
- Транзакції
- Рівні ізоляції
- Обробка checker винятків
ORM. Hibernate
- Нестиковки об'єктної та реляційної моделей даних
- ORM (Hibernate), JPA
- Архітектура Hibernate
- Конфігурація, основні анотації
- Отримання даних у додатку з БД
- Оновлення та видалення даних у додатку з БД
- Hibernate VS JDBC
Hibernate. OneTo, ManyTo
Відносини (робота з колекціями).
Наслідування Entity for ORM
- Одна таблиця для кожного класу
- Одна таблиця для кожного класу з предками
- Єдина таблиця для всієї ієрархії класів
- Одна таблиця для кожного класу з використанням з'єднань (join)
Підсумковий проєкт
hash for passwords.
Spring + Spring Boot
IoC, DI. Spring. Components. Beans
- Чому Spring став де-факто стандартом галузі (переваги)
- Принципи IoC і DI
- Бін
- Контекст (ApplicationContext)
- AOP
Spring modules general. Spring Web MVC
- core (beans, core, context, SpEL)
- data access
- testing
- web
- integration
- web mvc
Проєктування REST API
- Оперування ресурсами, а не методами
- http методи
- http коди відповідей
- Помилки
- Запит колекції
- Запит кількості об'єктів у колекції
- Запит об'єкта коллекції
- Додавання даних у колекцію
- Редагування
- Видалення
- Домашнє завдання: спроєктувати 2-ранговий REST API
App controller-service-dao
- Ієрархія контекстів
- servlet config
- Контролер - прийом запиту
- Сервіс - бізнес-логіка
- dao - зберігання стану
Spring ORM. @Transaction
- Абстракція "транзакція"
- Декларативні транзакції
- transaction propagation
- Переваги ORM + Spring
- Налаштування hibernate SessionFactory
- live coding example
Spring Test. AOP (logging)
- unit testing
- integration testing
- Основні анотації
- TestContext
- live coding example (тестування API-метода або пари методів)
- spring commons logging bridge
Spring Security (memory, DB)
- Ключові об'єкти контексту spring security:
- SecurityContextHolder
- Authentication
- UserDetails
- GrantedAuthority
- Авторизація та аутентифікація
- OAuth2
- Сесії в пам'яті
- Сесії в БД
Spring Boot. Spring JPA
- Стартери
- Автоконфігурація
- Вбудований tomcat
- Анотації конфігурації
- Демонстрація spring data jpa (генерація запиту за назвою метода в рантаймі)
Особливості курсу
- Заняття у невеликих групах
- Постійна підтримка ментора
- Великі курсові проєкти для портфоліо
- Можливі додаткові факультативи за запитом студентів
- Диплом після закінчення навчання
- Допомога у працевлаштуванні (складання резюме, навички самопрезентації, тестові співбесіди)
Викладачі курсу
- Василь Малік - Team lead команди програмістів JavaRush
- Володимир Крохмалюк - Software engineer
- Вадим Новаковський - Senior Java Software Engineer
- Олександр Чорноус - Software Engineer, Full Stack Developer
- Валерій Попов - Java Team Lead
- Роман Прищепа - Java Developer
- Павло Плинько - Java Developer
- Java
В процесі вивчення цього курсу ви дізнаєтесь тонкощі та особливості ефективного використання мови Java, зрозумієте чому вона є доступною і простою для вивчення, зрозумієте яку роль вона грає у розробці додатків і які можливості має, навчитесь використовувати вивчений матеріал у власних проектах.
Програма курсу
Java Стартовий
- Введення в інфраструктуру Java
- Машинна математика. Типи даних
- Умовні конструкції
- Логічні конструкції
- Циклічні конструкції
- Методи
- Масиви
Git - Основи роботи
- Основи Git
- Публікація репозиторію
- Інтеграція з IDE
Java Базовий
- Введення в ООП
- Класи та Об'єкти
- Наслідування та поліморфізм
- Абстрактні класи та інтерфейси
- Списки
- Статичні та вкладені класи. Анонімні класи та перелічувані типи
- Обробка винятків
- Class Object
- Універсальні шаблони
- Практика
Java Поглиблений
- Iterator & Comparator
- Collection Framework
- IO & Strings
- Regular expressions & Data API
- Reflection
- Annotations
- Serialization XML & JSON
- Thread & Runnable. Problems with Threads
- Lambda expressions
MySQL
- Введення в SQL. Основні запити маніпуляції даними
- Основи DDL
- Проєктування БД
- Команда JOIN
- Вкладені запити
- Індексування
- Збережувані процедури та функції
- Транзакції. Триґери
JDBC & Hibernate
- Ознайомлення з JDBC. Використання MySQL & JDBC
- JDBC DAO. Представлення об'єктної моделі
- Початок роботи з Hibernate анотаціями. Mapping concepts and annotations
- Hibernate API та JPA API
- Початок роботи з API
- Розширені відображення та конфігурації
Web-Services
- Введення у веб-сервіси. XML
- JAXB та JAX-WS
- SOAP, WSDL. Handlers
- REST web-service. RESTful Concept
Основи Spring
- Вступ до Spring framework
- Впровадження залежностей та IoC контейнер
- Spring MVC
- Spring Data
- Spring Testing
- AOP
- RESTful webservices
- Security
- Hibernate Crud
- Boot
Курсовий проєкт за спеціальністю Java Developer
- Архітектура та проєктування, складання технічного завдання
- Верстання макету
- Програмування серверної частини
- Захист курсового проєкту
Практичний курс "7 кроків для успішної кар'єри в ІТ"
- Знайомство з Кар'єрним сервісом у CyberBionic Systematics
- Сайти пошуку роботи. Різниця, специфіка, рейтинг
- Аналіз ринку праці для IT-фахівців
- Реєстрація на сайтах для пошуку роботи та заповнення власних профілів
- Створення резюме (CV)
- Створення супровідного листа (Cover Letter)
- Спілкування з рекрутерами
- Підготовка до співбесіди з HR
- Підготовка до технічної співбесіди
- Як отримати офер і пройти випробувальний термін
Особливості курсу
- Ранкові або вечірні заняття
- 128 годин спілкування з тренером
- Пакет навчальних матеріалів з усіх уроків
- Онлайн тестування
- Доступ до інтерактивного практикуму навичок
- Курсові проєкти
- Фінальне тестування та захист диплома спеціаліста
Викладачі курсу
- Андрій Бондаренко - Java Developer. Сертифікований тренер Oracle
- Юрій Царенко - Java Developer у Processica
- Євген Тихонов - Java Developer, Technology Manager в GlobalLogic
- Андрій Фок - Software Engineer в IntellectEU
- Євген Кондаков - Software Developer на PartsAvatar.ca
- Надія Ніколаєнко - Java Developer
- Олег Сотніченко - Java Developer
- Ігор Войтов - Java Developer
- Java
Протягом курсу ви отримаєте практичні навички, виконуючи домашні завдання і працюючи з тренером, а розробляючи дипломний проект - отримаєте неоціненний практичний досвід і створите перший проект для портфоліо.
Програма курсу
Java для початківців
- Введення в інфраструктуру Java
- Машинна математика. Типи даних
- Змінні і типи даних
- Умовні конструкції
- Логічні конструкції
- Циклічні конструкції
- Методи
- Методи
- Масиви
Основи Git
- Основи Git
- Публікація репозиторію
- Інтеграція з IDE
Базовий курс Java
- Введення в ООП. Класи і об'єкти
- Класи і Об'єкти
- Успадкування і поліморфізм
- Абстрактні класи та інтерфейси
- Списки
- Статичні і вкладені класи. Анонімні класи і перелічувані типи
- Обробка виключень
- Class Object
- Універсальні шаблони
- Практика
Java - Поглиблений курс
- Iterator & Comparator
- Collection Framework
- IO & Strings
- Regular expressions & Data API
- Reflection
- Annotations
- Serialization XML & JSON
- Thread & Runnable. Problems with Threads
- Problems with Threads
- Lambda expressions
MySQL Essential
- Вступ до SQL
- Основи DDL
- Проєктування БД
- JOIN-s
- Вкладені запити
- Індексування
- Збережені процедури. Користувацькі функції
- Транзакція. Тригер
JDBC & Hibernate
- Введення у JDBC
- Початок роботи Hibernate i JPA анотації
- Mapping concepts and annotations
- Hibernate API and JPA API
- Початок роботи з JPA
- Розширенні відображення і конфігурації
Web-Services
- Software setup, web services, XML
- SOAP Web-services concepts, design and implementation
- JAX-WS and JAXB, Apache CXF
- REST Web Services Concepts. RESTful design and implementation
Основи Spring
- Вступ до Spring Framework
- Впровадження залежностей та IoC контейнер
- Spring MVC
- Spring Data
- Spring Testing
- AOP
- RESTful webservices
- Security
- Hibernate Crud
- Boot
Курсовий проєкт за спеціальністю Java Developer
- Архітектура та проектування, складання технічного завдання
- Верстка макету
- Програмування серверної частини
- Захист курсового проєкту
Практичний курс "7 кроків для успішної кар'єри в ІТ"
- Знайомство з Кар’єрним сервісом у CyberBionic Systematics
- Сайти пошуку роботи. Різниця, специфіка, рейтинг
- Аналіз ринку праці для IT-фахівців
- Реєстрація на сайтах для пошуку роботи та заповнення власних профілів
- Створення резюме (CV)
- Створення супровідного листа (Cover Letter)
- Спілкування з рекрутерами
- Підготовка до співбесіди з HR
- Підготовка до технічної співбесіди
- Як отримати офер і пройти випробувальний термін
Особливості курсу
- Безкоштовні ключі на софт від Jetbrains
- Добірка відео курсів від ITVDN у подарунок
- Доступ до записів уроків
- HR-підтримка під час та після навчання
- Перевірка ДЗ, фідбек
- Спілкування та підтримка
- Тестування і сертифікати
- Курсові проєкти
- Практикуми з ІТ експертами
- Курс Business English
- Курс IT English
Викладачі курсу
- Дмитро Красний - Тренер-консультант напрямку Java Developer
- Вадим Кожевніков - Java Developer
- Андрій Бондаренко - Java Developer
- Java
Вивчення основних принципів об'єктно-орієнтованого програмування i синтаксичних конструкцій мови програмування Java.
План курсу
Теми:
- Базові парадигми об'єктно-орієнтованого програмування
- Основні типи даних та операції над змінними різних типів
- Керуючі конструкції які відповідають за хід виконання програми: цикли та оператори розгалуження
- Механізми обробки виняткових ситуацій та помилок, що можуть виникнути під час виконання програми
- Основні принципи роботи із потоками введення та виведення
- Java.io, зберігання, отримання та маніпулювання даними
- Робота з колекціями, застосування різних структур даних для розв'язування задач
- Функціональні інтерфейси та Lambda, Stream API, Data and Time API
- Maven. Code convention. Відлагодження коду
- JDBC та огляд роботи з базами даних
- Сервлети, jsp та вступ до вебпрограмування
Після завершення курсу ти вмітимеш
- Розробляти програми в об'єктно-орієнтованому стилі, а саме:
- виконувати інкапсуляцію даних всередині класу
- використовувати механізм наслідування для опису нових класів на основі вже існуючих
- застосовувати концепцію поліморфізму під час створення об'єктів з однаковим інтерфейсом але різною внутрішньою структурою
- Створювати і працювати із змінними різних типів даних, виконувати арифметичні і логічні операції над різними типами даних
- Використовувати різні управляючі конструкції для керуванням ходом виконання програмного коду
- Обробляти виняткові ситуації та помилки, що можуть виникнути під час виконання програми, делегувати обробку виняткових ситуацій іншим методам, створювати свої власні обробники виняткових ситуацій
- Програмно виконувати запис даних (бінарних, текстових) у файл та зчитувати дані із файлу, виконувати сереалізацію та десереалізацію даних
- Створювати колекції об'єктів, використовувати ітератори для доступу до колекції об'єктів
- Створювати maven проети та, використовуючи JDBC, працювати з базами даних
- Розробляти нескладні вебдодатки
- Працювати з розподіленою системою керування версіями файлів, а саме з GIT
Переваги курсу
- Це одна з найпопулярніших мов у світі, що означає не велику конкуренцію, а радше підтримку глобальної ІТ-спільноти
- Вивчаючи Java, ти зможеш скористатись великою кількістю онлайн ресурсів та рішень, що є особливо корисними на початку
- Створена на одній платформі, Java-програма може бути скомпільована і запущена на багатьох інших девайсах
- Підтримка ментора впродовж навчального процесу
- Підсилення твого CV
- Доступ до додаткових е-курсів для навчання у власному темпі
- Онлайн-курси за рівнем англійської та Speaking Club
Викладачі курсу
Oleksandr Butrym - Ментор SoftServe Академії
Подати заявку- Java
Проєктне навчання - це можливість закріпити свої знання та навички на практиці. Протягом 6 тижнів ти працюватимеш з командою на проєкті, де отримаєш справжній досвід роботи з Java та сучасними фреймворками. В результаті, окрім знань та практики написання коду, додаси у LinkedIn навички роботи за методологією Agile, а також проєктний кейс до свого CV. Це допоможе підвищити твою цінність на ринку праці та шанси на крутий оффер.
План навчання
Проєкт
Ти навчатимешся на проєкті GreenCity. GreenCity в ігровому форматі допомагає мешканцям міста навчитися вести більш екологічний стиль життя. Проєкт некомерційний та є у вільному доступі.
Етапи
- Онбординг на проєкті: отримання доступів до середовищ роботи, розгортання проєкту, доступ до документації та іншої необхідної інформації
- Оцінка, планування та розподіл завдань
- Написання unit-тестів, виправлення багів, розв'язання простих задач
- Розробка нового функціоналу проєкту та удосконалення наявного
- Презентація виконаної роботи та обговорення результатів в команді
Технології, які ти застосовуватимеш:
- Java Framework: Spring Boot, Spring Data JPA, Spring MVC (REST), Spring Security
- Database: PostgreSQL, Liquibase
- Code quality: Checkstyle, Sonar
- Testing: Junit, PowerMock, Mockito
- SDLC Scrum/Kanban
- Source Control System GitHub
Ти навчишся:
- Працювати за методологією Agile
- Працювати з Dev, Test та Prod середовищами
- Розробляти застосунки з використанням Java та сучасних фреймворків
- Ефективно працювати в проєктній команді: оцінювати задачі, розставляти пріоритети та працювати з дедлайнами
- Працювати з проєктною документацією та інструментами розробки, системами керування завданнями та обліку дефектів
Навчання для тебе якщо ти:
- Маєш ґрунтовні знання Java та чітке розуміння принципів ООП
- Володієш англійською на рівні Pre-Intermediate Strong і вище
- Знаєш про технології, пов’язані з базами даних, а також HTML, CSS, JavaScript
- Розумієш принципи розгортання системи, безперервної збірки та автоматизації цих процесів
- Можеш приділяти навчанню 2-4 години щодня
- Вмієш користуватися Git
Особливості курсу
- Кейс командного проєкту для твого CV
- Соціальний проєкт зі справжніми викликами
- Підтримка ментора
- Soft&hard навички для майбутньої роботи
- Міні-групи з 6-11 студентів
- Сертифікат про завершення проєктного навчання
- Відбір на курс в 3 етапи
- Доступ до додаткових електронних курсів для навчання у власному темпі
- English Speaking Club
Викладачі курсу
- Olha Shutylieva - Ментор SoftServe Академії
- Oleksandr Butrym - Ментор SoftServe Академії
- Java
Пориньте в професію крок за кроком - від нуля до вашої першої пропозиції про роботу
План навчання
Базовий рівень
Після Java Fundamentals ти вмітимеш:
- Застосовувати на практиці основні принципи об'єктно-орієнтованого програмування та синтаксичні конструкції мови програмування Java
- Створювати та керувати проєктами за допомогою maven
- Працювати з базами даних за допомогою JDBC
- Розробляти основні веб-додатки
- Працювати з розподіленою системою контролю версій файлів GIT
На курсі Frontend Fundamentals ти навчишся:
- Створювати сучасні, адаптовані для мобільних пристроїв та десктопів вебсайти з високим рівнем SEO-оптимізації, використовуючи HTML, CSS і JavaScript
- Використовувати сучасні інструменти розробника на основі Visual Studio Code та Git/GitHub для публікації коду і розгортання проєкту
Після курсу Data Base Fundamentals зможеш:
- Розробляти й адмініструвати бази даних, необхідні для будь-яких повноцінних IT-рішень (як реляційні, так і нереляційні)
- Проєктувати та створювати таблиці, і будувати запити до них з використанням мови SQL
Після DevOps для розробників ти вмітимеш:
- Використовувати на базовому рівні інструментарії розгортання, підтримки та тестування середовищ виконання програмного забезпечення
- Створювати та оптимізовувати інфраструктури необхідні для роботи програмних продуктів
- Використовувати технології автоматизації виробничих процесів (CI/CD ) пов'язаних з розробкою програм та їх розгортання
- Створювати самостійно та використовувати контейнери і відповідні інструменти для роботи з ними
Поглиблений рівень
Після практичної Java ти вмітимеш:
- Поглибиш знання з основ Java
- Вмітимеш створювати сучасні вебзастосунки, використовуючи Spring Data JPA, Spring MVC, Spring Security
- Працюватимеш із базами даних, використовуючи JDBC та Hibernate
- Зможеш будувати проєкти в клієнт-серверній архітектурі, використовуючи REST API
- Знатимеш, як писати модульні тести для розробки застосунків
Проєктний рівень
Після Project-based learning Backend Java ти вмітимеш:
- Працювати за методологією Agile
- Налаштовувати та використовувати Dev середовище для розробки та розгортання проєктів
- Розробляти застосунки з використанням Java та сучасних фреймворків
- Ефективно працювати в проєктній команді: оцінювати задачі, розставляти пріоритети та працювати з дедлайнами
- Працювати з проєктною документацією та інструментами розробки, системами керування завданнями та обліку дефектів
Особливості курсу
- Графік 2-3 рази на тиждень переважно у вечірній час
- Живі онлайн-заняття з менторами, записи всіх занять і чат в Discord
- Сертифікат про проходження курсу
- 70% програми - практичні завдання з перевіркою
- Підтримка ментора
- Можливість навчатися в будь-який час по записах і брати паузу між курсами
- Навчаємо використовувати сучасні ШІ-помічники та інструменти
- Спільнота однодумців у Discord
- Доступ до додаткових e-курсів
- Безкоштовний розмовний клуб з англійської
- Закриті події з експертами компанії
Викладачі курсу
- В'ячеслав Колдовський - Full Stack Developer
- Владислав Хричов - Full Stack Developer
- Михайло Плеша - Full Stack Developer
- Дмитро Міночкін - Cloud Architect
- Java
- QA Automation / QA Manual
Курс для тих, хто хоче почати автоматизувати за допомогою Java. У процесі навчання ви ознайомитесь з інструментами, які дозволять складати тести, робити перевірки, користуватися різними бібліотеками тощо. По закінченні курсу ви матимете практичний досвід у використанні мови Java для написання автотестів.
Програма курсу
- Вступ. Знайомство та загальна теорія Java. Блок-схема.
- ООП. Java: історія, принцип роботи, синтаксис мови (теорія).
- Примітивні та посилальні типи даних (теорія).
- Арифметичні операції з примітивними типами (практика).
- Статичні та нестатичні методи, перетворення типів (практика).
- Умовні оператори, цикли (практика).
- Робота з масивами. Особливості роботи з посилальними типами даних. (Практика)
- Інтерфейси та колекції. Наслідування. (Практика)
- Обробка винятків (практика).
- Налаштування Log4j. Робота зі сторонніми jar. (Практика)
- Екзаменаційний проект. Гра роботів – самостійна робота. Консультація та здача проекту.
Особливості курсу
- Заняття проходять у вечірній час
- Практика на реальних проєктах
- Підтримка під час та після навчання
- Свідоцтво про закінчення курсу
Викладачі курсу
Олександр Ігнатенко - Senior Java back-end developer у Credit Agricole Bank.
Подати заявку- Java
Конвертуй знання у вміння під час інтенсивного онлайн-курсу з кодування на Java
План курсу
Теми:
- Class Design. Encapsulation
- Exceptions
- Inheritance. Polymorphism
- Inner, outer class. Enum
- Generics. Collections
- Functional Interfaces. Lambda
- Stream API. Data and Time
- Multithreading
- Annotations
- JDBC
- Servlets
- Introduction To Spring. IoC
- ORM. Hibernate with Spring
- Spring MVC
- Unit testing. Logging
- Spring. Exception handling
- Spring Security
- Rest API Serialization. JSON. XML
Особливості курсу
- Практика насамперед: ти будеш кодувати, використовуючи завдання, схожі на ті, які зустрічаються на реальних проєктах в SoftServe
- Мінімум теорії: курс для того, щоб кодувати. Якщо ж потрібно буде щось підівчити – ми зібрали усі необхідні відео та матеріали, щоб скоротити твій час на пошуки
- 24/7 чат з учасниками в Discord: місце для твоїх опівнічних питань, веселих стікерів та спілкування з ментором
- Усі завдання підготовлені менторами Softserve Академії, які знають про код все, адже працюють з ним щодня
- Додаткові технічні е-курси
- Розмовні клуби з англійської & селф-стаді
- Короткі курси для розвитку софт навичок
- Спільнота професіоналів-однодумців
Викладачі курсу
Yaroslav Harasym - Ментор SoftServe Академії
Подати заявку- Java
На курсі ви зможете оволодіти мовою програмування Java, опанувати бекенд-фреймворки, керувати базами даних та використовувати базові алгоритми у розробці програмних продуктів. Протягом курсу студенти працюють в команді над реальними проєктами, які потім зможуть додати до свого портфоліо.
Програма курсу
Java basic
- Синтаксис мови програмування Java
- Основні типи даних
- Робота з об’єктами та колекціями, потоками вводу-виводу даних
- Основи об’єктно-орієнтованого програмування
- SOLID
- Популярні шаблони програмування
Java web
- Технологія Servlet API
- Ознайомлення з інтерфейсом JDBC
- Синтаксис SQL
- Робота з базою даних MySQL
Algorithms
- Розбір базових алгоритмів програмування
- Розбір базових структур даних
- Використання базових алгоритмів програмування та структур даних у розробці програмних продуктів
- Визначення ступеня складності алгоритму
- Оптимізація часу роботи програми
- Стеки, черги, хеш-структури даних, дерева
- Змагання на написання найкращого алгоритму для гри
Java Frameworks
- Робота з найбільш популярними Java фреймворками – Spring і Hibernate
- Робота з базою даних H2
- Робота з вебсокетами, AOP
- Робота в багатопотоковому середовищі
Final project
Бонусний модуль: Англійська для ІТ
Особливості курсу
- Живі заняття у вечірній час (19:00-22:00) та на вихідних (10:00-13:00)
- Система оцінки знань
- Постійна підтримка ментора
- Робота над реальними проєктами у команді
- Сертифікат про закінчення навчання
- Допомога у працевлаштуванні
Викладачі курсу
- Олексій Рихальський - Software Architect, NDA
- Олександр Рощупкін - Senior Java Developer в Smartforester
- Java
Протягом п'яти днів під керівництвом досвідченого інструктора слухачі послідовно розглянуть синтаксис мови програмування Java, основи об'єктно-орієнтованого програмування з використанням Java, створення графічного інтерфейсу користувача за допомогою Swing API, механізми обробки винятків, організації введення та виведення, роботу з потоками, а також створення мережних додатків. Кожен модуль складається з обговорення теоретичних питань, яке завершується виконанням лабораторної роботи.
Програма курсу
Вступ
- Огляд технології Java. Переваги та недоліки Java в порівнянні з конкуруючими технологіями
- Структура простого Java-додатка
- Компіляція та запуск Java-додатка. IDE NetBeans. Основні можливості середовища розробки
Об'єктно-орієнтоване програмування. Документування програм
- Абстракція, інкапсуляція та пакетування
- Повторне використання Java-коду
- Поняття класу, атрибутів, методів, конструкторів, пакетів
- Використання модифікаторів доступу private та public
- Виклик методів об'єкта класу
- Використання онлайн-документації з Java API
- JavaDoc-коментарі. Генерація документації в NetBeans
Ідентифікатори, ключові слова та типи
- Використання коментарів
- Правила формування ідентифікаторів
- Важливі слова мови Java
- Примітивні типи даних
- Числові та текстові типи
- Посилальні типи
- BigInteger та BigDecimal
- Оголошення змінних
- Створення об'єктів класу з використанням ключового слова new
- Ініціалізація членів класу
Вирази, управління виконанням програми
- Instance та локальні змінні
- Ініціалізація змінних
- Основні оператори мови Java
- Приведення типів при присвоєнні значень змінним
- Логічні вирази, особливості їх синтаксису та застосування
- Використання основних алгоритмічних конструкцій if, switch, for, while, do, важливі слова break та continue
Масиви
- Декларування масивів
- Ініціалізація елементів масиву
- Визначення кількості елементів масиву
- Багатовимірні та зазубрені масиви
- Операції над масивами, копіювання даних масиву в інший масив
Проектування ієрархії класів. Знайомство з UML
- Основні принципи ООП: інкапсуляція, успадкування, поліморфізм
- Перевантаження та перевизначення методів
- Використання модифікаторів доступу protected та default (package-friendly)
- Використання конструкторів, створення декількох конструкторів класу
- Процес створення та ініціалізації об'єкта
- Знайомство з UML. Використання EasyUML для NetBeans
- Кодогенерація на основі діаграми класів. Зворотний інжиніринг
Особливості створення класів
- Створення статичних змінних, методів та ініціалізаторів
- Final-класи, методи та змінні
- Створення та використання перерахувань
- Використання статичного імпорту
- Створення абстрактних класів та методів
- Створення та використання інтерфейсів
Рефакторинг. Типові архітектурні рішення та антипатернів
- Поняття про рефакторінг
- Виконання рефакторінга в NetBeans
- Патерни та антипатерни
- Типові помилки розробників-початківців
Обробка помилок та виключень. Налагодження, тестування та профілювання
- Обробка виняткових ситуацій
- Блок try… catch… finally
- Категорії винятків
- Загальні типи винятків
- Опис власних типів виключень
- Налагодження коду в середовищі NetBeans
- Поняття про тестування ПЗ. Unit-тести
- Написання та виконання jUnit-тестів в NetBeans
- Профілювання проєкту в NetBeans
Колекції та дженерики
- Поняття колекції, особливості поведінки та використання колекцій
- Інтерфейс Map
- Використання generic-колекцій
- Використання типів в generic-класах
- Рефакторинг наявного коду
- Перебір всіх елементів колекції
Основи введення та виведення
- Робота з аргументами командного рядка та властивостями системи
- Використання класу Properties
- Серіалізація та десеріалізація об'єктів
- Робота з потоками введення та виведення
Робота з консоллю та файлової системою
- Введення даних з консолі
- Виведення на консоль
- Файли та потоки введення та виведення
Створення графічного інтерфейсу користувача
- Огляд JFC та Swing
- Структура Swing API, Swing-пакети
- Основні інтерфейсні елементи: контейнери, компоненти та менеджери розмітки
- Властивості контейнерів, компонентів та менеджерів розмітки
- Опис однопотокового Swing-додатка
- Побудова графічного інтерфейсу користувача за допомогою Swing
- Поняття про JavaFX
Обробка подій від інтерфейсних елементів
- Типи подій та обробників
- Модель подій Java SE
- Поведінка графічного інтерфейсу, генерація подій
- Обробка подій
- Розпаралелювання обробки в Swing-додатку, використання класу SwingWorker
Тонке налаштування інтерфейсу
- Створення меню та інших типових інтерфейсних елементів
- Налаштування властивостей компонентів, шрифтів, кольорів тощо
Багатопотоковість в Java
- Поняття потоку
- Створення потоків
- Управління потоками та написання крос-платформного багатопотокового коду
- Проблеми при роботі декількох потоків із загальними даними
- Використання wait та notify для управління потоками
- Використання важливого слова synchronized для захисту даних
Робота з мережею
- Створення мережних підключень
- Робота з TCP/IP
- Класи для реалізації сервера та клієнта ServerSocket та Socket
Розробка додатків для платформи NetBeans
- Огляд платформи NetBeans
- Розробка модулів
- Розробка клієнтських додатків
- Приклади додатків на платформі NetBeans
Після курсу слухачі зможуть:
- Створювати об'єктно-орієнтовані Java-додатка на основі принципів ООП, як-от інкапсуляція, успадкування та поліморфізм
- Компілювати в байт-код та запускати Java-додатки на виконання
- Використовувати типи даних та вирази
- Застосовувати механізми обробки винятків
- Документувати свої програми
- Виконувати рефакторинг наявного коду
- Налагоджувати, тестувати та профілювати свої проекти
- Проєктувати додатки за допомогою UML-діаграм, виконувати кодогенерацію та зворотний інжиніринг
- Створювати графічні Java-додатки з використанням відповідних компонентів Swing API
- Реалізувати введення та виведення для роботи з файловою системою
- Створювати багатопотокові Java-програми
- Використовувати сокети для організації взаємодії в реальному часі за протоколами TCP/IP
- Розробляти додатки для платформи NetBeans
Особливості курсу
- LIVE-навчання незалежно від формату участі в курсі (очно/віддалено)
- Методичка у вигляді конспекту
- Збірник лабораторних робіт
- Підбірка матеріалів в електронному вигляді
- Електронний сертифікат НЦ
- Обід та кава-брейки (очний курс)
- Консультації тренера протягом 6-ти місяців після закінчення курсу
- Java
Курс призначений для тих, хто хоче спробувати свої сили в IT-індустрії та не має уявлення про основи програмування. По закінченню курсу набутих знань буде достатньо для вибору шляху подальшого розвитку в сфері IT.
Програма курсу
Вступ. Налаштування середовища
- Знайомство та план курсу
- Що таке мова Java
- Встановлення Java та IDE. Перша програма
- Робота в IDE
- Git. Github
Змінні. Типи даних
- Оголошення та ініціалізація змінних та констант
- Примітивні та референсні типи даних
- Явне та неявне приведення типів
Арифметичні оператори
- Арифметичні оператори
- Цікавіші арифметичні операції
- Операції з класу Math
Логічні оператори. Керівні структури
- Оператори порівняння
- Логічні оператори
- Побітові оператори
Цикли
- For, For-each
- While, Do-while
- Вічні цикли
Масиви. Введення в алгоритми
- Одновимірні масиви
- Робота з масивами
- Введення в алгоритми
- Складність алгоритмів
- Двовимірні масиви
Функції Java. Методи
- Методи та функції
- Сигнатура методу
- Область видимості змінних
ООП
- Поняття класу та об'єкта
- Класи-обгортки
- Типи класів
- Ієрархія класів у Java
- Клас Object
- Конструктори
- Ключове слово this
- Ключове слово super
- Модифікатори доступу
- Getters & setters
- Static
- Enum
- Інтерфейси
- Перевизначення методів
- Поліморфізм
Build Tools
- Інструменти збирання
- Maven
Unit Testing
Особливості курсу
- Для проходження курсу необхідно мати рівень впевненого користувача ПК
- Групові онлайн заняття
- Особистий кабінет для кожного учня
- Оперативна служба підтримки студентів
- Доступ до відеозаписів занять під час навчання та після його закінчення
- Велика частина занять орієнтована на практику
- Викладачі курсу - практикуючі фахівці, що працюють в топових компаніях
- Можливість повернути всі внесені за навчання кошти до шостого заняття.
Викладачі курсу
- Максим Добринін - Senior Java Developer at Commerzbank
- Андрій Шурда - Java Software Engineer at GlobalLogic
- Денис Ложанський - Senior Java Developer at jSolutions
- Олексій Оніщенко - Software Engineer at Ukrainian Delivery Center
- Степан Лис - Java Software Engineer at Kindgeek
- Тетяна Кириченко - Java Software Engineer at GlobalLogic
- Микола Філімонов - Software Engineer at N-iX
- Дмитро Андрусив - Senior Java Engineer at Intellias
- Андрій Рябчук - Principal Cloud Developer at Oracle
- Євген Мица - Software Developer at emcodio
- Владислав Ковчуг - Software Engineer at Amazon
- Віктор Гевод - Java Software Engineer at Fintech band
- Андрій Хрипач - Java Developer at Magnise
- Артем Нікєєнко - Java Developer at Intent Solutions Group
- Юлія Яковенко - Java Software Engineer at Star
- Василь Павленко - Senior Java Developer
- Ніна Можарська - Java Developer
- Java
Наші викладачі розробили програму курсу Java таким чином, щоб кожен студент з нуля отримав необхідні базові знання та практичні навички.
Програма курсу
Модуль 1 - Введення в програмування
Введення. Що таке алгоритм. Базові конструкції мови програмування
- Розуміння, що таке змінна та if, прості типи даних, як наводити типи
- Розуміння, як правильно називати змінні, camelCase
- Розуміння що це таке та різницю між циклами for, while, do-while
- Розуміння порядку виконання операцій
- Розуміння, що таке "про компіляцію"
- Розуміння, для яких проєктів використовується Java
Розширений набір конструкцій та операторів
- Знання математичних, бінарних (в т.ч. зсуву), логічних операторів
- Розуміння двійкової системи, переведення у або з десяткової, додавання в стовпчик, зрушення
- Розуміння булевої алгебри, таблиця істинності, XOR, OR, AND, NOT
- Розуміння тернарного оператора (Elvis Operator)
- Git (вступне)
Розширений набір конструкцій та операторів (практика)
Масиви та багатовимірні масиви
- Розуміння, що таке одновимірний масив
- Розуміння, що таке матриця та багатовимірний масив
- Вміння обійти масив, розуміння ArrayIndexOutOfBound
- Розуміння задачі сортування та вміння зробити bubble sort
- Розуміння, чим масив відрізняється від змінної і які дані можна зберігати
Масиви та багатовимірні масиви (Практика)
Поняття класу та об'єкта. Функції методів. Рекурсія Налагодження
- Розуміння, що таке клас та об'єкт (без успадкування, інкапсуляції та поліморфізму)
- Розуміння, що таке функція
- Розуміння як правильно називати функції
- Розуміння, що таке стек викликів
- Розуміння, як і навішо треба розділяти код на функції (рефакторити)
- Розуміння, що таке рекурсія та вихід з рекурсії
- Розуміння StackOverflowException
- Розуміння, як ставити break point, де побачити call stack, як ходити по коду
Системи контролю версій Git
- Розуміння, що таке commit, історія
- Розуміння, що таке гілки
- Розуміння push, fetch, merge, pull
- Розуміння того, що таке pull request
- Розуміння, як використовується Git на реальних проєктах (master, feature branches, code reviews)
Модуль 1
Модуль 2 - ООП (об'єктно-орієнтоване програмування)
Tests
- Що таке тести і навіщо вони потрібні?
- Види тестування коду та додатку вцілому
- Що таке TDD та TLD
- Знайомство з maven
Початок об'єктно-орієнтованого програмування
- Розуміння, що таке heap та його відмінність від stack
- Розуміння, що таке інтерфейс, маркерний інтерфейс, клас та об'єкт
- Розуміння полів та методів, статичних полів та методів
- Знайомство з терміном доменна модель та розуміння. що ми моделюємо її
- Розуміння класичного наслідування, final-класів
- Розуміння роботи конструкторів
- Розуміння успадкування через композицію
Об'єктно-орієнтоване програмування. Продовження
- Абстрактні класи. Їх відмінність від інтерфейсів
- Розуміння поліморфізму. Раннє та пізнє зв'язування. Віртуальна таблиця методів
- Розуміння Enumerations
- Розуміння, що таке hashCode та equals()
- Різні типи посилань
Exceptions. Розробка API. Що, якщо метод повертає null?
- Розуміння різних підходів до обробки помилок: повернення статусу коду, exit(), повернення спеціальних об'єктів, exceptions
- Розуміння, навіщо потрібні виключення
- Розуміння різниці між checked, unchecked
- Розуміння try-catch-finally, rethrow
- Розуміння NullPointerException
- Розуміння семантики IIegallegalException, llegallegalArgumentException
- Розуміння null safety, NPE
- Розуміння, які підходи є разом повернення null: винятки, Optional, null object, empty list, so on
- Розуміння Optional
- Розуміння Null-Object Pattern
- Розуміння анотацій Nullable
Складність алгоритмів, О-велике
- Розуміння, що таке О-велике. О-мале, тета
- Розуміння алгоритму сортування злиттям
- Розуміння лінійного та бінарного пошуку
Generics, колекції
- Розуміння простих generic-ів
- Розуміння extends, <?>
- Розуміння того, як зробити generic метод
- Синтаксис виклику статичного методу з generics
- Розуміння collection, list, set, map
- Розуміння сучасних колекцій (Guava)
- Розуміння boxing/unboxing
Колекції, структури даних, продовження 1
- Розуміння Queue, Dequeue та його спадкоємців, що таке FIFO, LIFO
- Розуміння HashSet, HashMap, навіщо нам потрібно equals та hashCode
- Вміння зробити Ітератор
Колекції, структури даних, продовження 2
- Розуміння, що таке бінарне дерево, обхід бінарного дерева
- Розуміння, що таке граф, види графів
- Розуміння алгоритмів обходу графів
StreamAPI
- Функціональний інтерфейс, Lambda-expression
- Stream pipelines, terminal & conveyor operations
- Collectors
IO/NIO
- Розуміння, як рахувати файл побайтово
- Розуміння, як записати файл побайтово
- Розуміння, як читати та записувати файл як рядок
- Розуміння використання Files
- Розуміння try-with-resources
- Загальне поняття про різницю синхронного та асинхронного програмування
Модуль 2
Модуль 3 - Database
Java Annotations, Reflection
- Розуміння того, навіщо використовують анотації
- Вміння створити інструкцію
- Розуміння RetentionPolicy, Target, and so on
- Вміння обійти методи, визначені інструкцією
SQL, JDBC
- Розуміння, що таке реляційна модель
- Розуміння primary keys, 1, 2, 3 нормальної форми
- Розуміння найпростіших DQL, DDL
- Розуміння, що таке транзакція (ACID)
- Розуміння, як "сходити" в базу з джави
SQL. Продовження. Hibernate
- Що таке ORM, які завдання вирішує
- Що таке entity-manager у hibernate
- Створення сутностей та зв'язків між ними
- Короткий вступ у HQL
MongoDB. Написання найпростішої ORM
- Розуміння, що таке JSON та BSON
- Розуміння різниці між SQL та NoSQL базами даних
- Розуміння, що таке Mongo
- Розуміння, як прочитати та записати в базу
Лекція з основ операційних систем
- Розуміння, які завдання вирішує операційна система
- Розуміння різниці між основними операційними системами
- Розуміння процесів та потоків, мʼютексів, семафорів
Лекція з Linux
- Розуміння, як працює файлова система
- Розуміння stdout, stderr. Розуміння >, &>, 2>1 тощо
- Базові команди у терміналі: робота з файлами, cat, less, tail-f, ps, top, kill
- Розуміння пайпінгу
- Базові bash-скрипти
Об'єктно-орієнтований дизайн
- Розуміння всіх букв у SOLID
- Розуміння основ Unix philosophy
- Розуміння tiny types
- Розуміння неймовірності, глибоких копій
- Перший патерн factory method. Звідси: розуміння приватного конструктора, створення екземпляра статичним способом
- Загальне поняття про різницю синхонного та асинхронного програмування
Модуль 3
Модуль 4 - Web
Багатопотоковість
- Розуміння що таке Thread та Runnable
- Розуміння API потоків
- Розуміння, як створити та запустити 1 потік, багато потоків
- Розуміння, що таке race condition та dead lock
- Розуміння volatile
- Розуміння synchronized
- Вміння використовувати mutex і semaphore в джаві
- Розуміння атомарності операції
- Основні кошти в пакеті concurrency
- Розуміння, як вирішити проблему dead lock та race condition
- Розуміння патерну Observer, слова callback
Мережі, HTTP, web
- Розуміння моделі OSI
- Розуміння методів HTTP, їх обмежень
- Розуміння headers та cookies
- Розуміння життєвого циклу запиту від браузера до програми та назад. Статуси
Servlets, Chain Of Responsibility
- Вміння створити проект з модулями в maven
- Розуміння, як реалізувати Servlet
- Розуміння, як надіслати HTTP запит із curl
- Що таке filtrs
- Розуміння патерну Chain of Responsibility
Вступ до теорії мікросервісів
- Кластерні менеджери. Поняття масштабування
- Розуміння, що таке монолітна архітектура, її плюси та мінуси
- Розуміння, що таке мікросервісна архітектура та її плюсів та мінусів
REST API, реалізація REST API
Знайомство з web та роутингом http запитів та практика
Введення в спрінг
- Що таке IoC, DI?
- Як влаштований контейнер, принцип роботи
Spring boot, MVC і data
- Для чого потрібний spring - boot
- Основні моменти при роботі з MVC у Spring
- Спрінгові репозиторії
Постановка задачі на фінальний проєкт
- Розуміння, яке завдання буде вирішуватися
- Розуміння, які технології використовуватимуться
- Розуміння, що очікується наприкінці
- Розуміння, як, де і навіщо писати Javadoc
- Продумування архітектурного проекту
- Знайомство з Agile
Розробка API. Огляд патернів
- Розуміння патернів Proxy, Facade, Bridge, Adapter
- Розуміння різниці між цими патернами
Дипломна робота
Опис
Дипломна робота включає в себе реалізацію веб-додатоку або веб-сайту, який містить декілька сторінок. На практичному рівні студенти демострують отримані знання, під час навчання. Використовується робота із базами даних, зазвичай, дані зберігаються в одній із SQL DB і повинні зберігатися між запусками програми.
Захист дипломної роботи
Необхідно здати практику,яка передбачає демонстрацію робочого проекту, відповіді на будь-які питання пов'язані з проектом, демонстрацію коду на вимогу. Та окремо здається теорія по усій програмі курсу та по усім темам. Теорія здається у форматі співбесіди на Junior Developer позицію, сторонньому, незадежному експерту. За обидва блоки можна отримати від 0 до 10 балів
Особливості курсу
- 24 заняття з англійської мови
- Тестова співбесіда з технічним спеціалістом
- Майстер клас по складанню резюме та проходження співбесід
- Консультація з рекрутером та тестова співбесіда
- Супровід до моменту працевлаштування менеджером, закріпленим за групою
Викладачі курсу
- Михайлов Нікіта - Java Software Engineer
- Бібічков Ігор - Java Software Engineer
- Попов Валерій - Java Team Lead
- Фунтусов Єгор - Java (Hybris/Spartacus) Developer
- Харін Артем - Java Software Engineer
- Михайло Горбунов - Expert Java Engineer
- Шморгун Євген - Java Software Engineer
Сторінки
Читайте нас в Telegram, щоб не пропустити анонси нових курсів.
Відгуки про курси

Дуже крутий курс! Інформація подається чітко, структуровано, без води. Я пройшла шлях від “нічого не знаю про ІТ” до того, що можу впевнено виконувати завдання на практиці. Викладачі реально допомагають розібратись, а не просто читають матеріал. Після курсу вже пройшла перші співбесіди — відчуваю себе зовсім на іншому рівні.

хотіла вивчити джаву, шо само по собі складно
на курсі було 0 підтримки від менторів і особи, шо перевіряла дз
отримувала коментарі в стилі "тут неправильно"
коли писала, шо не знаю як зробити - відповідь була в стилі "пошукайте в інтернеті"

Завершила курс Java Fullstack Dev і дуже задоволена курсом. Рекомендую всім, хто хоче отримати фундаментальні знання з розробки сучасних додатків.

Прошел курс Fullstack Java Developer и с уверенностью могу сказать — это было одно из лучших решений в моей жизни. Обучение дало мне крепкую теоретическую базу и реальные практические навыки, которые сразу пригодились на новой работе. Спустя всего несколько месяцев после окончания курса, я получил предложение о работе в Германии, и сейчас успешно работаю в международной IT-компании.
Программа курса очень насыщенная и продуманная: Java, Spring, REST API, базы данных, React — всё это преподаётся на реальных кейсах и проектах. Особенно хочу отметить профессионализм преподавателей: они всегда готовы помочь, объясняют доступно, делятся опытом.
Если вы хотите быстро войти в профессию, получить востребованные навыки и реально изменить свою жизнь — этот курс точно стоит пройти. Я не просто научился кодить, я стал разработчиком. И теперь работаю в классной компании — мечта сбылась!








