Корутины и Flow в Kotlin [Stepik] [Яна Седова]

Bot

Администратор
Команда форума
23 Янв 2020
188,612
3,065
113

Складчина: Корутины и Flow в Kotlin [Stepik] [Яна Седова]​

Screenshot 2025-09-06 152034.png

Корутины (Kotlin Coroutines) — стандарт асинхронного программирования в Kotlin.

Они заменяют устаревшие потоки и callbacks, упрощают работу с параллельными задачами и стали основой Android, Ktor и Spring WebFlux. Если вы хотите писать современный, быстрый и надежный код, без корутин сегодня никуда.

Кроме того, о корутинах всегда спрашивают на технических собеседованиях по Kotlin и Android, поэтому всем нам, разработчикам, необходима твердая теоретическая база.

Курс построен по принципу быстрого старта. Уже во второй главе вы напишете свою первую корутину и увидите, что асинхронное программирование может быть простым и понятным.

В отличие от других учебных материалов, курс делает акцент не на тонкостях реализации библиотеки Kotlin Coroutines, а на практическом программировании: как правильно запускать задачи, управлять их жизненным циклом, обрабатывать исключения и тестировать код.

Теоретическая часть охватывает корутинные билдеры, скоупы, контексты, исключения и тестирование. Последние три главы посвящены каналам и Flow — инструментам, которые активно применяются в современных проектах.
Практическая часть включает тесты для закрепления изученного.

Рекомендовано российским сообществом Kotlin!

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

  • Android-разработчики, которые используют Kotlin Coroutines и Flow и хотят глубже понять асинхронность.
  • Backend-разработчики на Kotlin, которых интересуют современные подходы к структурированной конкурентности.
  • Full-stack и multiplatform-разработчики, которым важно разбираться в корутинах, каналax и потоках данных, независимо от платформы.
  • Разработчики, готовящиеся к техническим собеседованиям: вопросы о suspend-функциях, scope, Flow и обработке исключений — стандартная практика.
  • Те, кто переходит с RxJava на современный подход с корутинами.
Начальные требования:

Базовые знания синтаксиса Kotlin: переменные, функции, классы. Всё остальное разберем в процессе.
В курс входят:

  • 54 урока (текстовых)
  • 23 теста
Программа:
  • Введение
  • Быстрый старт
  • Билдеры корутин
  • Структурированная конкурентность
  • Контекст корутины
  • Диспетчеры
  • Job
  • Обработка исключений
  • Тестирование корутин
  • Каналы
  • Kotlin Flow
  • Горячие потоки данных в Kotlin Flow
  • Послесловие
Спойлер: Программа подробно
Введение
  1. От автора
  2. Исторический экскурс
  3. Ключевые термины
  4. Корутины vs. потоки
Быстрый старт
  1. Первая корутина
  2. Вторая корутина
  3. suspend
  4. Точки приостановки. delay и yield
Билдеры корутин
  1. runBlocking
  2. launch и async
  3. Применение функции select в связке с async
Структурированная конкурентность
  1. Иерархия корутин. Скоупы
  2. CoroutineScope()
  3. coroutineScope
  4. GlobalScope
Контекст корутины
  1. Структура контекста
  2. Сложение и вычитание контекстов
  3. Формула композиции контекстов
  4. Примеры создания контекста
Диспетчеры
  1. Понятие диспетчера
  2. Dispatchers.Default
  3. Dispatchers.IO
  4. Dispatchers.Main
  5. Dispatchers.Unconfined
Job
  1. Определение и жизненный цикл
  2. Создание Job
  3. Отмена Job
  4. Ожидание потомков
  5. Распространение отмены по иерархии
Обработка исключений
  1. Исключения в билдерах и корутин-скоуп функциях
  2. Распространение исключений по иерархии
  3. SupervisorJob и supervisorScope
  4. Обработчик CoroutineExceptionHandler
Тестирование корутин
  1. Библиотека kotlinx-coroutines-test и функция runTest
  2. Виртуальное время
  3. Собственный планировщик
  4. Тестовые диспетчеры
  5. Тестирование исключений
Каналы
  1. Паттерн producer-consumer. Функции send() и receive()
  2. Создание канала
  3. Параметры канала
  4. Несколько отправителей и получателей
  5. Select для работы с каналами
Kotlin FLow
  1. Ленивые вычисления
  2. Понятие Flow. Создание Flow
  3. Структура Flow. Операторы
  4. Управление скоростью потока
  5. Контекст выполнения
  6. Обработка исключений в Flow
  7. Отмена потоков
Горячие потоки данных в Kotlin Flow
  1. SharedFlow
  2. MutableSharedFlow
  3. StateFlow и MutableStateFlow
Послесловие
  1. Материалы для дальнейшего изучения

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