#coroutines
ЭТО НЕ ПРОПЛАЧЕННАЯ РЕКЛАМА ИЛИ РЕФЕРАЛКА
Вышла книга от Marcin Moskala по Kotlin Coroutines.
Уже сейчас ее можно купить в электронном формате, причем вы можете купить ее со скидкой 25% по ссылке. Цену можете выбрать и больше, если хотите поддержать автора. Если вам не понравиться — возврат денег в течение 60 дней. Также электронная версия будет получать бесплатные обновления с правками
На моем канале идет розыгрыш бумажных книг с автогрофом автора. Примерно через месяц проведу его (как книги будут у меня).
ЭТО НЕ ПРОПЛАЧЕННАЯ РЕКЛАМА ИЛИ РЕФЕРАЛКА
Вышла книга от Marcin Moskala по Kotlin Coroutines.
Уже сейчас ее можно купить в электронном формате, причем вы можете купить ее со скидкой 25% по ссылке. Цену можете выбрать и больше, если хотите поддержать автора. Если вам не понравиться — возврат денег в течение 60 дней. Также электронная версия будет получать бесплатные обновления с правками
На моем канале идет розыгрыш бумажных книг с автогрофом автора. Примерно через месяц проведу его (как книги будут у меня).
👍48❤2👏1
#coroutines
Leveraging the Semaphore concept in Coroutines to limit the parallelism
Реализация Semaphore для Coroutine подобно тому как это сделано в Java Concurrent. В KotlinX Coroutines 1.6 появилась возможность ограничить количество параллельно выполняющихся Coroutine в Disaptcher с помощью limitedParallelism(), вроде должно хватить всем вместоо создания Светофора
Leveraging the Semaphore concept in Coroutines to limit the parallelism
Реализация Semaphore для Coroutine подобно тому как это сделано в Java Concurrent. В KotlinX Coroutines 1.6 появилась возможность ограничить количество параллельно выполняющихся Coroutine в Disaptcher с помощью limitedParallelism(), вроде должно хватить всем вместоо создания Светофора
👍19
Новый опрос, касающийся программам раннего доступа к Kotlin. Пройти здесь
👍1
#kotlin1_7
📺 Kotlin Context Receivers (0.5 часа)
В Kotlin 1.6.20 появился прототип Context Receiver, новая возможность, которая ограничивает вызов функции. Раньше это делалось с помощью Extention Function либо создавали object, который все это ограничит.
Теперь будет полноценный синтаксис с несколькими this, да и автокомплит станет работать лучше, так как можно ограничить доступность top level функций
📺 Kotlin Context Receivers (0.5 часа)
В Kotlin 1.6.20 появился прототип Context Receiver, новая возможность, которая ограничивает вызов функции. Раньше это делалось с помощью Extention Function либо создавали object, который все это ограничит.
Теперь будет полноценный синтаксис с несколькими this, да и автокомплит станет работать лучше, так как можно ограничить доступность top level функций
👍21
#tooling
Вышел detekt 1.20.0
👉 Новые правила (целых 16 штук)
👉 Возможность описывать стандартную конфигурацию для правил поверх которой можно делать независимые настройки у каждого пользователя
👉 Улучшение отчетов
👉 Исправление багов
👉 Поддержка Kotlin 1.6.20 и Gradle 7.4.2
👉 Обновление до KtLint 0.45.2
Вышел detekt 1.20.0
👉 Новые правила (целых 16 штук)
👉 Возможность описывать стандартную конфигурацию для правил поверх которой можно делать независимые настройки у каждого пользователя
👉 Улучшение отчетов
👉 Исправление багов
👉 Поддержка Kotlin 1.6.20 и Gradle 7.4.2
👉 Обновление до KtLint 0.45.2
👍16
Effective Kotlin Item 33: Consider factory functions instead of secondary constructors
В главе из книги рассматривается как вместо использования нескольких конструкторов можно использовать фабричные функции в companion object, top level функции.
В главе из книги рассматривается как вместо использования нескольких конструкторов можно использовать фабричные функции в companion object, top level функции.
👍21
#library
Ktorfit - реализация аля Retrofit, только полностью на Kotlin с поддержкой Js, Jvm, Android, iOS, Linux. Вместо OkHttp под капотом Ktor, а Java Dynamic Proxy заменил на KSP.
Кстати, у меня на канале вышло видео как работает Retrofit
Ktorfit - реализация аля Retrofit, только полностью на Kotlin с поддержкой Js, Jvm, Android, iOS, Linux. Вместо OkHttp под капотом Ktor, а Java Dynamic Proxy заменил на KSP.
Кстати, у меня на канале вышло видео как работает Retrofit
👍76🤔6👎2
👍11🔥1
#di
Set Up Koin Scope Access Illustrated (7 мин)
Разбор работы со Scope в Koin - самой популярной DI, написанной на Koin. Если вам нужно управлять временем жизни зависимостей в Koin, эта статья, то что вам нужно.
Set Up Koin Scope Access Illustrated (7 мин)
Разбор работы со Scope в Koin - самой популярной DI, написанной на Koin. Если вам нужно управлять временем жизни зависимостей в Koin, эта статья, то что вам нужно.
👍9👎2
#di
Isolate Koin Within an Android Module (6 мин)
Полезная статья как изолировать Koin в пределах вашей библиотеки/модуля и не зависеть от DI приложения куда подключается ваш код
Isolate Koin Within an Android Module (6 мин)
Полезная статья как изолировать Koin в пределах вашей библиотеки/модуля и не зависеть от DI приложения куда подключается ваш код
👍13👎2🤔1
#kotlin
Вышла первая Beta Kotlin 1.7.0
Следующая версия Kotlin готовится к релизу. Жду стабильного релиза чтобы разбирать все изменения
Вышла первая Beta Kotlin 1.7.0
Следующая версия Kotlin готовится к релизу. Жду стабильного релиза чтобы разбирать все изменения
🔥32👍5👎2
Forwarded from Android Broadcast
#testing #coroutines
Google обновила руководство по тестированию Coroutine с учетом изменений в библиотеке Kotlinx Coroutines 1.6:
👉 как вызывать suspend функции в тестах
👉 новые TestDispatcher
👉 подмена Dispatcher-ов
👉 тестовые CoroutineScope
Google обновила руководство по тестированию Coroutine с учетом изменений в библиотеке Kotlinx Coroutines 1.6:
👉 как вызывать suspend функции в тестах
👉 новые TestDispatcher
👉 подмена Dispatcher-ов
👉 тестовые CoroutineScope
👍12👎3
Результатом этого кода будет: AB
Увидел информацию об интересном резолве метода, который надо вызывать (информацию подтвердил Роман Елизаров).
В Kotlin вызываемый метод определяется не только по сигнатуре метода, но и в случае когда вы передаете именованные параметры. Совсем неочевидно. Не рекомендую полагаться на такое поведение
Знали о таком поведении?
Увидел информацию об интересном резолве метода, который надо вызывать (информацию подтвердил Роман Елизаров).
В Kotlin вызываемый метод определяется не только по сигнатуре метода, но и в случае когда вы передаете именованные параметры. Совсем неочевидно. Не рекомендую полагаться на такое поведение
Знали о таком поведении?
😱82👍35🤔13🤯8
#coroutines
Kotlin, обрабатываем исключения в корутинах правильно
Разбор различных сценариев выполнение корутин и как в них обработать ошибки
Kotlin, обрабатываем исключения в корутинах правильно
Разбор различных сценариев выполнение корутин и как в них обработать ошибки
👍20👎3🤩1
#stdlib
Kotlin — Lazy Thread-safety modes explained (3 мин)
Вы знаете что в Kotlin 3 режима работы lazy делегата? Причем по умолчанию вариант не всегда самый оптимальный для UI! Так вот в статье вам расскажут про это
Kotlin — Lazy Thread-safety modes explained (3 мин)
Вы знаете что в Kotlin 3 режима работы lazy делегата? Причем по умолчанию вариант не всегда самый оптимальный для UI! Так вот в статье вам расскажут про это
👍29👎3🤔3
#kotlin
Вышел release candidate Kotlin 1.7.0, а значит скоро уже совсем новая стабильная версия любимого языка!
Вышел release candidate Kotlin 1.7.0, а значит скоро уже совсем новая стабильная версия любимого языка!
👍34❤15👎4🥰3
#AndroidBroadcast #Курс
Видео курс по Kotlin Coroutines уже на канале, который сделан при поддержке компании Revolut. Первый урок можно посмотреть уже сейчас, совсем скоро выложу второй, а до конца мая первые 5. Как минимум такая работа достойна вашей поддержки лайком на YouTube
Также вас будут ждать кодинг сессии решения задач на корутинах и Q&A сессии.
Видео курс по Kotlin Coroutines уже на канале, который сделан при поддержке компании Revolut. Первый урок можно посмотреть уже сейчас, совсем скоро выложу второй, а до конца мая первые 5. Как минимум такая работа достойна вашей поддержки лайком на YouTube
Также вас будут ждать кодинг сессии решения задач на корутинах и Q&A сессии.
👍97🔥43👎8❤1
#multiplatform
Speeding up Kotlin Multiplatform (3 мин)
Несколько советов для ускорения работы с KMP:
👉 Удалите ненужные таргеты для ускорения сборки
👉 Включите Gradle Config Cache
👉 Лучше используйте IntelliJ IDEA вместо AS
Speeding up Kotlin Multiplatform (3 мин)
Несколько советов для ускорения работы с KMP:
👉 Удалите ненужные таргеты для ускорения сборки
👉 Включите Gradle Config Cache
👉 Лучше используйте IntelliJ IDEA вместо AS
👍13👎3
Forwarded from Android Broadcast
#AndroidBroadcast #Coroutines #курс
📺 Курс по корутинам. Урок 2. CoroutineContext и его элементы (10 мин)
Из видео вы узнаете про то как настроить корутину, как выбрать поток для ее выполнения, какую роль играет Job и как дать осмысленное имя для корутины.
Если вам полезно то что я делаю, то проекту очень нужна ваша финансовая поддержка, чтобы и дальше выпускать контент. Сделать это можно на Boosty
📺 Курс по корутинам. Урок 2. CoroutineContext и его элементы (10 мин)
Из видео вы узнаете про то как настроить корутину, как выбрать поток для ее выполнения, какую роль играет Job и как дать осмысленное имя для корутины.
Если вам полезно то что я делаю, то проекту очень нужна ваша финансовая поддержка, чтобы и дальше выпускать контент. Сделать это можно на Boosty
🔥62👍7👎6