Java (поглиблений курс)
З 18:30 (19:00)
Двічі на тиждень
Опис курсу:
Мета курсу Java Core Advanced Topics - підготувати студентів до вирішення більш серйозних завдань при програмуванні на мові Java. Даний курс буде корисний Java Junior Developers, а також тим, хто вже знайомий з Java Core і хотів би отримати додаткові практичні знання з ряду тем.
Ти отримаєш необхідні для роботи в реальних проектах навички і зрозумієш, що лежить в основі багатьох популярних фреймворків і як вони працюють. Ти ознайомишся з архітектурою платформи JVM internals, вивчиш Java Reflection, Java Generics і Java Annotations.
Курс Java Advanced - передостанній етап навчання. Після курсу ти зможеш створювати більш складні проекти на мові Java, розробити невеликий IoC-контейнер, писати модульні тести і розуміти, без чого неможливо створювати правильні багатопотокові програми. Ти підготуєшся до курсу Java for Web - останнього етапу твого становлення як повноцінного Java-розробника (Junior Java Developer).
Після вивчення курсу Ви зможете:
- Програмувати на мові Java на високому рівні
- Написати свій завантажувач класів
- Розробити невеликій IoC контейнер (маленький Spring)
- Писати модульні тести і працювати по TDD
- Розуміти, що ховається за поняттям Java Memory Model, без чого неможливо писати правильні багатопотокові програми
- Підготуєшся до курсу Java for Web - останнього етапу твого становлення як повноцінного Java-розробника.
Програма курсу:
- Утилітні пакети
- Форматування і час java.util, java.time
- Файлова система, java.io, Externalizable, java.nio
- Незмінні об’єкти
- Серіалізація та десеріалізація даних
- Java 8. Анонімні функції. Stream API
- GIT. Контроль версії. Локальні системи контролю версій. Централізовані системи контролю версій. Розподілені системи контролю версій
- Maven. Автоматизація складання Java-проектів. Декларативний опис проекту. Керування залежностями. Артефакти jar, war, ear. Правила розробки власних фреймворків і бібліотек
- Ant the Java legacy build tool
- Maven POM
- Модульне тестування
- Правила та принципи
- TDD
- Дублери
- Mockito & PowerMock
- Java Annotations
- Java Reflection
- Advanced Generics
- Причини поліпшення підсистеми типів
- Raw Types
- Wildcards, <? super T>, <? extends T>
- Type Erasure
- Отримання інформації про тип generic у runtime
- Доопрацювання власної колекції
- Advanced Collections
- Data Structure Complexity
- WeakHashMap та інші
- Сторонні бібліотеки колекцій
- Advanced Multithreading/Concurrency
- Низькорівневий API
- Waiting/blocked/sleeping-потоки; стан потоку “dead”
- Отримання результатів виконання багатопотокових обчислень. Метод join()
- Синхронізація: синхронізація методів. Синхронізаційні блоки.
- Блокування. Взаємодія потоків (Thread Interaction)
- Синхронізація потоків, взаємодія потоків, шаблон “Producer-Consumer”
- Особливість реалізації volatile
- Java Memory Model (JMM)
- Публікація об'єктів
- Високорівневий API
- Бібліотека java.util.concurrent
- Advanced OOP
- SOLID (базові принципи об’єктно-орієнтованого програмування та дизайну). Dependency injection (DI) and Inversion of control (IoC)
- Design Patterns
- JRE Security, JVM Internals: архітектура платформи, байт-код, ClassLoader, garbage collector, засоби JVM для захищеного виконання коду
- Sandbox
- Memory Management
- Performance Optimization
- Роль JAAS
- Destop-додатки: технологія JavaFX
- Spring
- Inversion of Control
- Доступ до даних
- Керування транзакціями
- Робота з XML та JSON
- Потоковий аналіз на основі SAX. Аналіз на основі DOM
- Створення Java-класів за схемою
- Валідація. JSON
- Вступ до SQL
- DDL & DML
- Primary Key та Foreign Key
- SQL Types
- JOINs
- Database Indexes
- JDBC
- Пул зв'язків
- Data Access Object
- Знайомство с Lombok та Log4J
- Іспит. Захист програмного проекту
Мінімальні вимоги:
- Розуміння Java Core
- Наявність власного ноутбуку для занять в аудиторіях
Для освоєння курсу вам знадобиться таке ПЗ:
1. Java JDK 11 — програма включає інструменти, корисні для створення і тестування програм, написаних на мові Java і працюючих на платформі Java. Завантажити її можна за посиланням
2. IntelliJ Idea (Community версія) — інтегроване середовище розробки ПО для багатьох мов програмування, зокрема Java, JavaScript, Python. Завантажити можна за посиланням
3. Postgresql DB — система управління базами даних, якою будемо користуватися на курсі. Завантажити можна за посиланням
4. pgAdmin — це кросплатформне ПО, що надає графічний інтерфейс для роботи з базами даних. Завантажити можна за посиланням
5. Apache Maven — це безкоштовний інструмент управління проектами та їх розуміння з відкритим вихідним кодом, який використовується в основному для проектів Java. Завантажити можна за посиланням
6. Java JDK 11 — програма включає інструменти, що дозволяють створювати і тестувати програми, що написані мовою Java і які працюють на платформі Java. Завантажити можна за посиланням
7. DBeaver — це клієнтська програма для управління базами даних. Завантажити можна за посиланням
* Примітка: зазначені знижки не сумуються з іншими діючими акціями та спеціальними пропозиціями. Знижка застосовується тільки до нових заявок та при умові повної оплати курсу. Якщо у Вас виникли питання, звертайтеся за консультацією до наших менеджерів!
ПереглянутиТривалість курсу: 48 год.
ПереглянутиТривалість курсу: 42 год.
ПереглянутиТривалість курсу: 48 год.
ПереглянутиТривалість курсу: 21 год.