Открыто

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

Тема в разделе "Курсы по программированию", создана пользователем Топикстартер, 16 май 2024.

Цена: 57510р.-96%
Взнос: 2256р.

Основной список: 30 участников

Резервный список: 5 участников

  1. 16 май 2024
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

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

    JavaAdjpg.jpg

    Курс посвящен современным функциональным и реактивным подходам к разработке на 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
    • Архитектура и шаблоны реактивного программирования

    Цена 63900 руб
    Скрытая ссылка

    Продолжение: часть 2
     
    Последнее редактирование модератором: 21 май 2024
    1 человеку нравится это.
  2. Последние события

    1. skladchik.com
      В складчине участвует 30 человек(а).
      13 июн 2025 в 23:37
    2. sseryy
      sseryy участвует.
      2 июн 2025
    3. skladchik.com
      В складчине участвует 30 человек(а).
      1 июн 2025
    4. akafloa
      akafloa не участвует.
      30 май 2025

    Последние важные события

    1. skladchik.com
      Нужен организатор складчины.
      17 окт 2024
    2. skladchik.com
      Цена составляет 57510р.
      25 май 2024
    3. skladchik.com
      Назначен организатор.
      16 май 2024
  3. Обсуждение
  4. 25 май 2024
    #2
    Организатор
    Организатор ОргОрганизатор
    17 июня стартует следующий поток, поставил максимальный взнос, попробуем собраться?
     
    2 пользователям это понравилось.
  5. 26 май 2024
    #3
    serg212121
    serg212121 ЧКЧлен клуба
    yes yes!! A kto prepodavatel?
     
  6. 28 май 2024
    #4
    Организатор
    Организатор ОргОрганизатор
    Игорь Судакевич
     
    2 пользователям это понравилось.
  7. 30 май 2024
    #5
    Andriii
    Andriii ЧКЧлен клуба
    Хотелось бы
     
    3 пользователям это понравилось.
  8. 16 июн 2024
    #6
    akafloa
    akafloa ЧКЧлен клуба
    Завтра старт, уже не успеем? Может тогда на 01.07 начнем сразу сбор?
     
    1 человеку нравится это.
  9. 8 янв 2025
    #7
    Михаил_1
    Михаил_1 ЧКЧлен клуба
    Я всё пропустил, ещё не поздно успеть?