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

King

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



Для кого этот курс

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 руб




СЛИВ СКЛАДЧИН
 

О нашем клубе SkladchikVIP.com

  • Привет!) SkladchikVIP.com, пожалуй, одно из крупнейших сообществ. Это клуб по заработку денег и обмену полезной информации. Самая большая база инфопродуктов рунета. Чтобы скачать любой материал на сайте, нужно зарегистрироваться.

Полезные ссылки

Меню пользователя