TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #402 · 22 дек.

Отдельно разберём TaskGroup, который пришел на замену gather в Python 3.11. Ключевые отличия ▫️create_task() возвращает объект asyncio.Task, у которого есть соответствюущие методы управления. То есть у нас больше контроля ▫️это контекстный менеджер, который гарантирует что все таски будут остановлены по выходу из контекста ▫️ошибка автоматически отменяет незавершенные задачи, ▫️except* передает нам ExceptionGroup, в котором каждую ошибку можно обработать отдельно import asyncio import random async def do_it() -> str: if random.random() < 0.1: raise ValueError('Oops') delay = random.uniform(0.5, 1.5) await asyncio.sleep(delay) return delay async def main(): try: async with asyncio.TaskGroup() as tg: for _ in range(10): tasks.append(tg.create_task(do_it())) for t in tasks: print(t.result()) except *ValueError as e: for err in e.exceptions: print(err) asyncio.run(main()) Рекомендую изучить страницу Coroutines and Tasks из документации, где представлено больше интересных примеров и механизмов - таймауты - отмена задач - создание задач из другого потока #async

Hashtags

Резултати

Пронајдени 6 слични објави

Пребарај: #ksp

当前筛选 #ksp清除筛选
Android Broadcast

@android_broadcast · Post #9592 · 23.10.2025 г., 14:18

🏝 KSP стало независеть от версии Kotlin. Неужели API плагинов Kotlin компилятора стало стабильным? Обновляйтесь до версии KSP 2.3.0 (версии Kotlin в названии больше нету) Также KSP1 теперь deprecated, нужно чтобы всё умело работать с новой версией. #ksp#kotlin

Hashtags

Android Broadcast

@android_broadcast · Post #8922 · 09.04.2025 г., 13:23

Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью #kotlin#ksp

Hashtags

Android Broadcast

@android_broadcast · Post #8912 · 07.04.2025 г., 06:04

Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке) @DependencyGraph interface AppGraph { val httpClient: HttpClient @Provides private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM } @Inject class HttpClient(private val fileSystem: FileSystem) @Inject @Composable fun App(circuit: Circuit) #kotlin#di#ksp

Окружающий четверг

@ch4etverg · Post #22235 · 11.01.2026 г., 19:25

Со спутника OTP-2 на частоте 400500 кГц каждые пять минут транслируют музыку из заставки игры Kerbal Space Program KSP — компьютерная игра в жанре симулятор, разработанная компанией Squad. События происходят в вымышленной вселенной, где человекоподобные инопланетяне «кербалы» начинают свою космическую программу, которая развивается под управлением игрока #KSP #игра #спутник #радио

Android Broadcast

@android_broadcast · Post #9301 · 06.07.2025 г., 18:53

🏝Проблемы с порядком Gradle Task при использовании KSP 2.0.2 Продолжаю разработку проекта FrameIO - Kotlin Multiplatform клиента для сервиса frame.io и стоклнулся с падением сборки из-за порядка задач (ниже стек с примером проблемы): Some problems were found with the configuration of task ':module:kspDebugKotlinAndroid' (type 'KspAATask'). - Gradle detected a problem with the following location: './module'. Reason: Task ':module:kspDebugKotlinAndroid' uses this output of task ':module:javaPreCompileDebug' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':module:javaPreCompileDebug' as an input of ':module:kspDebugKotlinAndroid'. 2. Declare an explicit dependency on ':module:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#dependsOn. 3. Declare an explicit dependency on ':core:user-session:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#mustRunAfter. For more information, please refer to https://docs.gradle.org/8.14.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation. Стек для сборки: Gradle 8.14.2, Kotlin 2.2.0, KSP 2.2.0-2.0.2, AGP 8.11.0 Решения проблемы пока нету в KSP (одно из issue), поэтому я задаю порядок Gradle Task сам: // build.gradle.kts модуля где подключен ksp afterEvaluate { android.libraryVariants.forEach { variant -> val variantCapitalized = variant.name.capitalized() tasks.named("ksp${variantCapitalized}KotlinAndroid") { dependsOn( "${variant.name}AssetsCopyForAGP", "process${variantCapitalized}Manifest", "write${variantCapitalized}AarMetadata", "javaPreCompile${variantCapitalized}", "merge${variantCapitalized}Assets", "merge${variantCapitalized}JniLibFolders", "merge${variantCapitalized}NativeLibs", "copy${variantCapitalized}JniLibsProjectOnly", "generate${variantCapitalized}EmptyResourceFiles", "copy${variantCapitalized}JniLibsProjectAndLocalJars", "prepare${variantCapitalized}ArtProfile", "write${variantCapitalized}LintModelMetadata", "extractProguardFiles", "prepareLintJarForPublish", ) } } } #android#kmp#koltin#ksp