Складчина: Корутины и Flow в Kotlin [Stepik] [Яна Седова] Корутины (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 Послесловие Спойлер: Программа подробно Введение От автора Исторический экскурс Ключевые термины Корутины 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 Послесловие Материалы для дальнейшего изучения Цена 3490 руб. Скрытая ссылка
Похожие складчины Открыто - Алгоритмы для собеседований на Python/Kotlin/C++/C#/PHP [stepik] [Яна Седова] Открыто - Kotlin Multiplatform шаг за шагом [stepik] [Максим Казанцев] Открыто - Kotlin JVM - курс для продвинутых [Stepik] [Алексей Охотниченко] Доступно - Kotlin с нуля до Junior + Подготовка к собеседованию [Stepik] [Андрей Сумин] Доступно - Kotlin JVM: курс для начинающих [Stepik] [Алексей Охотниченко]