Открыто

FARM:Функциональная, асинхронная, реактивная, многопоточная Java [stepik] [Игорь Судакевич]

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

Цена: 15000р.-90%
Взнос: 1389р.

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

  1. 2 июн 2025
    #1
    Топикстартер
    Топикстартер ЧКЧлен клуба

    Складчина: FARM:Функциональная, асинхронная, реактивная, многопоточная Java [stepik] [Игорь Судакевич]

    i1110kWd.png

    Для кого этот курс
    • Java-программисты Middle-уровня, желающие глубоко освоить приемы создания асинхронно-реактивного кода для событийно-ориентированной и потоковой обработки данных, в т.ч. в Spring-приложениях.
    Начальные требования
    • Уверенное владение Java, желательно знание Spring и принципов взаимодействия с СУБД.
    Состав учебной программы:
    Модуль 1 (факультативный) — функциональная java (~6 часов видеолекций)

    • Лямбда-выражения и встроенные функциональные интерфейсы
    • Примитивные специализации, унарные и бинарные версии функциональных интерфейсов
    • Метод map(), в т. Ч. Его примитивные специализации
    • Поиск «короткозамыкающими» операторами
    • Применение класса optional, в т. Ч. Его примитивных специализаций
    • Фильтрация и обработка данных на stream-объектах, в т. Ч. Работа с методом flatmap()
    • Сортировка коллекций с применением stream api
    • Сегментирование / классификация элементов с помощью утилитарного класса collectors
    • Немутирующие редукторы при параллельной и последовательной обработке
    • Каррированные функции
    • Динамическая типизация и произвольные лямбда-выражения
    • Глубокое погружение в ссылки на методы
    Модуль 2 — асинхронная java (~6 часов видеолекций)
    Подмодуль 2. 1 – completable future

    • Проблемы синхронного кода в блокирующих сценариях
    • Sync и async методы в классе completablefuture
    • Combine-, composе- и anyof-операции
    • Специфика обработки исключений в completablefuture
    • Completablefuture в сценариях с пользовательскими executorservice-пулами
    • Отмена completablefuture
    • Применение completablefuture в потоках данных на практике
    • Подмодуль 2. 2 – неблокирующий ввод/вывод на базе nio
    • Основные различия между java nio и io
    • Потоко- и буфер-ориентированный ввод/вывод
    • Блокирующий и неблокирующий ввод/вывод
    • Java nio buffer, channel и selector
    • Direct и non-direct буферы
    • Mappedfilebuffer
    • Асинхронный ввод / вывод средствами nio
    • Класс filelock и избирательная блокировка файлов
    • Примеры промышленной nio-архитектуры (сервер netty, node. Js и др. )
    Модуль 3 — реактивная java (~21 часов видеолекций)
    Подмодуль 3. 1 – библиотека rxjava

    • Понятие «реактивность» и цели реактивного манифеста
    • Основы rxjava: observable и observer
    • Реактивные потоки в java 9
    • Методы с побочными эффектами
    • Обработка ошибок в полностью функциональном стиле
    • «горячие» и «холодные» паблишеры
    • Расшаренные и connectable-паблишеры
    • Утилизация реактивного конвейера (disposing)
    • Каталог наиболее востребованных реактивных операторов rxjava
    • Subjects
    • Многопоточность в реактивных стимах на базе schedulers
    • Противодавление (backpressure) и flowable-паблишеры
    • Тестирование реактивных конвейеров в rxjava
    Подмодуль 3. 2 – библиотека reactor
    • Флагманские паблишеры flux / mono и их операторы
    • Работа с backpressure в reactor
    • Поддержка многопоточности в reactor
    • Распараллеливание flux-конвейеров
    • Обертки для синхронных вызовов
    • Reactor-процессоры
    • Тестирование реактивных конвейеров в reactor
    Подмодуль 3. 3 – spring webflux и практическое реактивное программирование
    • Spring rest контроллеры, возвращающие реактивные данные как mono и flux
    • Функциональные контроллеры в webflux
    • Server-sent events (sses)
    • Webclient для получения потока реактивных данных от сервера
    • Реактивный доступ к субд
    • Реактивный драйвер r2dbc
    • Реактивные репозитории в spring data
    • Работа с реактивным репозиторием в spring data на примере mongodb
    • Бенчмаркинг для r2dbc и webflux против web mvc с jdbc
    • Рекомендуемые практики реактивного программирования
    • Бонусные лекции: реактивная имплементация брокера сообщений kafka
    Модуль 4 (факультативный) — многопоточная java (~6 часов видеолекций)
    • Создание рабочих подпроцессов (threads) на базе runnable- и callable-объектов, и применение интерфейсов executorservice и future для асинхронного исполнения задач
    • Выявление потенциальных проблем конкурентного режима, в т. Ч. Статическая блокировка (deadlock), зависание по недоступу к ресурсу (starvation), динамическая блокировка (livelock) и состояние гонки (race conditions / data race)
    • Применение ключевого слова synchronized и пакета java. Util. Concurrent. Atomic для управления порядком исполнения подпроцессов
    • Работа с синхронизационными примитивами, в частности, на базе интерфейса lock и классов reentrantlock, condition, cyclicbarrier, semaphore и др.
    • Fork/join framework и рекурсивная парадигма, в т. Ч. Top-down и bottom-up
    Преподаватель: Игорь Судакевич
    Свою первую строчку кода написал в нежном 11-летнем возрасте в уже легендарном 1973-м году. По первому образованию (МИСиС) инженер-исследователь, специалист в области автоматизации физико-химического эксперимента. Затем учился в MBA-колледже Эдинбургского универа, также в МГУ (лингвистика). Master of Computer and Internet Technology от унив-та шт.Пенсильвания (Ivy League). 15 лет жил и работал в Японии, где занимался вопросами обработки больших массивов данных (Big Data) в Институте статистики ООН для стран Азиатского и Тихоокеанского региона (SIAP). Oracle Certified Professional, Authorized Oracle Instructor. Java-методист c 20-летним стажем. Вел вебинары и очные занятия в учебных центрах "Люксофт", "ФОРС", "Инвека", "Academy IT". В наст.время преподает в Учебном центре IBS (Москва).

    Цена 15000 руб
    Скрытая ссылка
     
  2. Последние события

    1. JeBern
      JeBern участвует.
      7 июн 2025
    2. skladchik.com
      Нужен организатор складчины.
      6 июн 2025
    3. Rockkotik
      Rockkotik не участвует.
      6 июн 2025
    4. Lilla My
      Lilla My участвует.
      5 июн 2025

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

    1. skladchik.com
      Нужен организатор складчины.
      6 июн 2025
    2. skladchik.com
      Назначен организатор.
      5 июн 2025
  3. Обсуждение
  4. 3 июн 2025
    #2
    akafloa
    akafloa ЧКЧлен клуба
    чем то отличается от "Java Advanced I: функциональное, асинхронное и реактивное программирование (часть 1) [IBS] [Игорь Судакевич]" ?
     
  5. 3 июн 2025
    #3
    SQLDeveloper
    SQLDeveloper СкладчикСкладчик
    Похоже только практической частью, которая для складчин не актуальна
     
    1 человеку нравится это.
  6. 5 июн 2025
    #4
    Сергей_Hurricane
    Сергей_Hurricane ЧКЧлен клуба
    Скорее всего только форматом изложения материала - в IBS курсе были записи живых занятий, а тут будет предзапись