Корутины и Flow в Kotlin
О чём курс
О чём курс
Вы примените на практике Kotlin Coroutines — стандарт асинхронного программирования в Android-разработке, Ktor и Spring WebFlux, чтобы быстро стартовать в работе без разбора внутренних тонкостей библиотеки. Вы будете запускать задачи, управлять их жизненным циклом, обрабатывать исключения и тестировать код.
По заявлению автора, программа курса рекомендована российским сообществом Kotlin.
Для кого
Курс рассчитан на разработчиков разного профиля:
- Android-разработчики, использующие корутины и желающие глубже разобраться в асинхронных процессах;
- Backend-разработчики на Kotlin, интересующиеся структурированной конкурентностью;
- Full-stack и multiplatform-разработчики, работающие с каналами и потоками данных;
- Специалисты, готовящиеся к техническим собеседованиям по Kotlin и Android;
- Разработчики, переходящие на корутины со стека RxJava.
Что внутри
Обучение охватывает как базовые инструменты, так и продвинутые концепции асинхронности. Рассматриваются билдеры корутин, контексты, диспетчеры, иерархия скоупов и управление жизненным циклом через Job.
Отдельное внимание уделено обработке исключений, тестированию асинхронного кода с помощью kotlinx-coroutines-test, а также работе с каналами. Завершающие разделы полностью посвящены реактивным потокам данных: библиотеке Kotlin Flow, ленивым вычислениям и горячим потокам (SharedFlow и StateFlow).
Формат и требования
Курс включает в себя 54 текстовых урока и 23 теста для самопроверки.
Для успешного освоения программы требуются только базовые знания синтаксиса Kotlin (переменные, функции, классы).
Программа обучения
- Введение
- От автора
- Исторический экскурс
- Ключевые термины
- Корутины vs. потоки
- Быстрый старт
- Первая корутина
- Вторая корутина
- suspend
- Точки приостановки. delay и yield
- Билдеры корутин
- runBlocking
- launch и async
- Применение функции select в связке с async
- Структурированная конкурентность
- Иерархия корутин. Скоупы
- CoroutineScope()
- coroutineScope
- GlobalScope
- Контекст корутины
- Структура контекста
- Сложение и вычитание контекстов
- Формула композиции контекстов
- Примеры создания контекста
- Диспетчеры
- Понятие диспетчера
- Dispatchers.Default
- Dispatchers.IO
- Dispatchers.Main
- Dispatchers.Unconfined
- Job
- Определение и жизненный цикл
- Создание Job
- Отмена Job
- Ожидание потомков
- Распространение отмены по иерархии
- Обработка исключений
- Исключения в билдерах и корутин-скоуп функциях
- Распространение исключений по иерархии
- SupervisorJob и supervisorScope
- Обработчик CoroutineExceptionHandler
- Тестирование корутин
- Библиотека kotlinx-coroutines-test и функция runTest
- Виртуальное время
- Собственный планировщик
- Тестовые диспетчеры
- Тестирование исключений
- Каналы
- Паттерн producer-consumer. Функции send() и receive()
- Создание канала
- Параметры канала
- Несколько отправителей и получателей
- Select для работы с каналами
- Kotlin FLow
- Ленивые вычисления
- Понятие Flow. Создание Flow
- Структура Flow. Операторы
- Управление скоростью потока
- Контекст выполнения
- Обработка исключений в Flow
- Отмена потоков
- Горячие потоки данных в Kotlin Flow
- SharedFlow
- MutableSharedFlow
- StateFlow и MutableStateFlow
- Послесловие
- Материалы для дальнейшего изучения
Теги курса
Другие материалы автора 1
ЯС Яна Седова Все материалыОтзывов пока нет. Будьте первым!
Это не розничная цена — это ваш взнос в складчину. Мы собираем группу участников и делим между ними стоимость официального доступа: каждый платит только свою долю, а получает весь материал. Чем больше участников, тем меньше взнос. После того как сумма собрана, мы оформляем официальный доступ и раздаём материалы всем, кто участвовал.
Нажмите кнопку «Получить доступ» на этой странице и следуйте инструкциям. Вас переведёт на форму оплаты — доступны все современные способы (карта, СБП, электронные кошельки). После оплаты на почту придёт письмо со ссылкой и инструкциями для доступа к материалам. Если ссылка не открывается, загляните в раздел «Помощь» или напишите в поддержку.
Да, конечно. Все материалы — видео, PDF, дополнительные файлы — можно скачать к себе на компьютер и пользоваться ими сколько угодно, без ограничений по времени. Ссылки остаются активными в вашей библиотеке «Мои складчины».