- Регистрация
- 8 Сен 2016
- Сообщения
- 483.986
- Реакции
- 268.180
**Java Advanced I: функциональное, асинхронное и реактивное программирование [IBS]**
Курс посвящен современным функциональным и реактивным подходам к разработке на Java, повышающим производительность бекенда. В программу включены изучение:
- Неблокирующего ввода-вывода NIO2
- Асинхронных промисов CompletableFuture
- Библиотек реактивного программирования RxJava и Reactor
- Интерфейса асинхронного доступа к БД R2DBC
- Потокового протокола SSE
- Реактивных репозиториев Spring Data reactive
- WebClient
- Протоколов WebSocket и RSocket
- Практические примеры применения.
**Спойлер: Разбираемые темы**
**Модуль 1. Функциональная Java (теория - 2 ч. + практика 1 ч.)**
- Функциональные интерфейсы
- Ссылки на метод
- Потоки данных
- Map / filter / reduce
- Агрегационные функции
- Цепочки потребителей
- Потоковые коллекторы
**Модуль 2. Executor framework. Fork-Join pool (теория - 3 ч.)**
- Executors
- Future интерфейс
- Callable интерфейс
- Отмена задач
- ForkJoin Framework
- Параллельные потоки в Java 8+
- Сравнение ForkJoin, параллельных и последовательных потоков
**Модуль 3. Неблокирующий ввод-вывод NIO (теория - 3 ч. + практика - 2 ч.)**
- Основные различия между Java NIO и IO
- Java NIO Buffer и Channel
- Direct буфер и Mapped file буфер
- Java NIO Selector
- Асинхронный ввод / вывод с NIO
- Сервер Netty
**Модуль 4. Асинхронная Java (CompletableFuture) (теория - 3 ч. + практика - 2 ч.)**
- Проблемы с синхронным кодом
- Объединение, составление и обработка исключений в CompletableFuture
- Отмена CompletableFuture
- Использование CompletableFuture для реального потока данных
**Домашняя работа. Практика (2 часа).**
**Модуль 5. Реактивное программирование (теория - 8 ч.)**
- Основы RxJava
- Обработка ошибок и потоки Java Reactive Streams
- Различие между горячими и холодными потоками
- Освобождение потоков и реактивные операторы
- Противодействие (backpressure) и интерфейс Flowable
**Модуль 6. Проект Reactor (теория - 4 ч.)**
- Операторы Flux / Mono в Reactor
- Работа с backpressure и многопоточность
- Тестирование Reactor
**Модуль 7. Spring WebFlux и практическое реактивное программирование (теория - 6 ч. + практика - 2 ч.)**
- Реактивный доступ к БД и драйверы R2DBC
- Реактивные репозитории Spring Data
- WebFlux и WebClient
- Протоколы WebSocket и RSocket
- Использование реактивных потоков с брокером сообщений
- Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC
- Архитектура реактивного программирования
**Продолжение: часть 2**
Курс посвящен современным функциональным и реактивным подходам к разработке на Java, повышающим производительность бекенда. В программу включены изучение:
- Неблокирующего ввода-вывода NIO2
- Асинхронных промисов CompletableFuture
- Библиотек реактивного программирования RxJava и Reactor
- Интерфейса асинхронного доступа к БД R2DBC
- Потокового протокола SSE
- Реактивных репозиториев Spring Data reactive
- WebClient
- Протоколов WebSocket и RSocket
- Практические примеры применения.
**Спойлер: Разбираемые темы**
**Модуль 1. Функциональная Java (теория - 2 ч. + практика 1 ч.)**
- Функциональные интерфейсы
- Ссылки на метод
- Потоки данных
- Map / filter / reduce
- Агрегационные функции
- Цепочки потребителей
- Потоковые коллекторы
**Модуль 2. Executor framework. Fork-Join pool (теория - 3 ч.)**
- Executors
- Future интерфейс
- Callable интерфейс
- Отмена задач
- ForkJoin Framework
- Параллельные потоки в Java 8+
- Сравнение ForkJoin, параллельных и последовательных потоков
**Модуль 3. Неблокирующий ввод-вывод NIO (теория - 3 ч. + практика - 2 ч.)**
- Основные различия между Java NIO и IO
- Java NIO Buffer и Channel
- Direct буфер и Mapped file буфер
- Java NIO Selector
- Асинхронный ввод / вывод с NIO
- Сервер Netty
**Модуль 4. Асинхронная Java (CompletableFuture) (теория - 3 ч. + практика - 2 ч.)**
- Проблемы с синхронным кодом
- Объединение, составление и обработка исключений в CompletableFuture
- Отмена CompletableFuture
- Использование CompletableFuture для реального потока данных
**Домашняя работа. Практика (2 часа).**
**Модуль 5. Реактивное программирование (теория - 8 ч.)**
- Основы RxJava
- Обработка ошибок и потоки Java Reactive Streams
- Различие между горячими и холодными потоками
- Освобождение потоков и реактивные операторы
- Противодействие (backpressure) и интерфейс Flowable
**Модуль 6. Проект Reactor (теория - 4 ч.)**
- Операторы Flux / Mono в Reactor
- Работа с backpressure и многопоточность
- Тестирование Reactor
**Модуль 7. Spring WebFlux и практическое реактивное программирование (теория - 6 ч. + практика - 2 ч.)**
- Реактивный доступ к БД и драйверы R2DBC
- Реактивные репозитории Spring Data
- WebFlux и WebClient
- Протоколы WebSocket и RSocket
- Использование реактивных потоков с брокером сообщений
- Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC
- Архитектура реактивного программирования
**Продолжение: часть 2**
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- 12 неизвестных шедевров изобразительного искусства. Выпуск 9 [liveclasses] [Алексей Шадрин]
- Обучение трейдингу онлайн от профессионала
- Премиум подписка на все аналитические материалы (октябрь 2024) [Эра Перемен]
- Осознанное целительство. 4 модуль [Наталья Патрушева]
- Поисковая система нового поколения с использованием искусственного интеллекта [you.com] [№5, на 1 месяц]
- Протон Впн. Proton VPN [protonvpn.com] [№2 на 12 месяцев]
- Заполняй и худей. Книга-тренинг [Виталия Власенкова] + Мое тело – мое дело [Юлия Бурова]
- Практикум Свет [Павел Кочкин]