Вы используете мобильную версию

перейти на Полную версию сайта

Запись

[IBS] Java Advanced I. Функциональное, асинхронное и реактивное программирование (Игорь Судакевич)

Складчина [IBS] Java Advanced I. Функциональное, асинхронное и реактивное программирование (Игорь Судакевич). Совместные покупки курсов, тренингов, обучения. Присоединяйтесь! Важен каждый вкладчик.

Тема найдена по тегам:
Цена:
63900 руб
Взнос:
695 руб
Организатор:
Dr.Vatson

Список участников складчины:

1. Dr.Vatson 2. blendamed 3. alextihomirov1
open
2
  1. Dr.Vatson
    Dr.Vatson Организатор складчин

    [IBS] Java Advanced I. Функциональное, асинхронное и реактивное программирование (Игорь Судакевич)

    [​IMG]

    Курс посвящен современным функциональным и реактивным подходам к разработке на Java, повышающем производительность бекэнда, и включает изучение неблокирующего ввода-вывода NIO2, асинхронных промисов CompletableFuture, библиотек реактивного программирования RxJava и Reactor, интерфейса асинхронного доступа к БД R2DBC, потоковый протокол SSE, реактивные репозитории Spring Data reactive, WebClient, протоколы WebSocket и RSocket, а также практические примеры применения.

    Цели
    • Познакомить слушателей с современными асинхронным и реактивным программированием.
    • Дать примеры применения.
    Целевая аудитория
    • Разработчики Java
    • Архитекторы Java
    Предварительная подготовка
    • Уверенное владение Java, желательно знание Spring
    Модуль 1. Функциональная Java (теория - 2 ч. + практика 1 ч.) ч)
    • Функциональные интерфейсы
    • Ссылки на метод
    • Потоки данных
    • Map / filter / reduce
    • Агрегационные функции
    • Reduce при параллельной и последовательной обработке
    • Цепочки потребителей
    • Потоковые коллекторы
    Модуль 2. Executor framework. Fork-Join pool (теория - 3 ч.)
    • Использование Executors
    • Future интерфейс
    • Использование интерфейса Callable
    • Отмена задач
    • ForkJoin Framework
    • Создание пула задач ForkJoin
    • Параллельные потоки в Java 8+
    • ForkJoin vs. параллельные потоки vs. последовательные потоки
    Модуль 3. Неблокирующий ввод-вывод NIO (теория - 3 ч. + практика - 2 ч.)
    • Основные различия между Java NIO и IO
    • Потоково-ориентированный или буферно-ориентированный
    • Блокирующий против неблокирующего ввода-вывода
    • Java NIO Buffer
    • Java NIO Channel
    • Direct буфер
    • Mapped file буфер
    • Java NIO Selector
    • Асинхронный ввод / вывод с NIO
    • Блокировка файла
    • Cервер NIO
    • Архитектура сервера Netty
    Модуль 4. Асинхронная Java (Completable Future) (теория - 3 ч. + практика - 2 ч.)
    • Проблемы синхронного кода
    • NodeJS архитектура
    • Параллельная обработка потока данных
    • CompletableFuture: sync и async методы
    • Объединение (combine), составление (composing) и быстрейший побеждает (quicker wins)
    • Обработка исключений в CompletableFuture
    • Отмена CompletableFuture
    • Использование CompletableFuture для реального потока данных
    Домашняя работа. Практика (2 часа).

    Модуль 5. Реактивное программирование (теория - 8 ч.)
    • Что такое реактивность?
    • Основы RxJava: наблюдатель и наблюдаемый (Observable и Observer)
    • Реактивные потоки в Java 9 (Java Reactive Streams)
    • Методы для побочных эффектов (side effects)
    • Обработка ошибок
    • Горячие и холодные потоки (hot/cold)
    • Разделяемые и подключаемые потоки (shared/connectable)
    • Освобождение потоков (disposing)
    • Реактивные операторы (полный каталог)
    • Subjects
    • Распараллеливание потоков (Schedulers)
    • Противодавление (backpressure) и интерфейс Flowable
    • Тестирование реактивных потоков
    Модуль 6. Проект Reactor (теория - 4 ч.)
    • Операторы Flux / Mono в Reactor
    • Работа с backpressure в Reactor
    • Reactor и многопоточность (Reactor Schedulers)
    • Parallel Flux потоки
    • Оборачивание синхронных вызовов
    • Тестирование Reactor
    • Процессоры (Reactor processors)
    Модуль 7. Spring WebFlux и практическое реактивное программирование (теория - 6 ч. + практика - 2 ч.)
    • Реактивный доступ к БД
    • Реактивные драйверы R2DBC
    • Spring Data - реактивные репозитории
    • Поддержка страниц (paging) в Spring Data reactive
    • WebFlux: функциональные контроллеры
    • Spring REST контроллеры, возвращающие реактивные данные (Mono / Flux)
    • Spring REST контроллеры, возвращающие SSE (server-sent event)
    • WebClient: получение реактивных данных с сервера
    • SSE и протоколы WebSocket
    • Использование WebSocket для передачи / получения данных JSON
    • Использование WebSocket для передачи / извлечения двоичных данных
    • Протокол RSocket
    • Контроллер RSocket на стороне сервера
    • RSocket клиент: обмен JSON и двоичными данными
    • RSocket с балансировкой нагрузки
    • RSocket с взвешенной балансировкой нагрузки
    • Использование реактивных потоков с брокером сообщений (RabbitMQ)
    • Spring Data MongoDB реактивные репозитории
    • Бенчмарки: R2DBC против JDBC и WebFlux против Web MVC
    • Архитектура и шаблоны реактивного программирования
    Домашняя работа. Практика (2 часа).

     
    Dr.Vatson, 16 май 2024
  2. Похожие складчины
    Загрузка...
Наверх