kotlin-coroutines
Zaawansowane wzorce asynchroniczne w Kotlinie dla złożonych operacji na strumieniach danych
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Umiejętność dedykowana zaawansowanym wzorom coroutines w Kotlinie dla aplikacji Amethyst. Obejmuje strukturalną współbieżność z supervisorScope, zaawansowane operatory Flow (flatMapLatest, combine, merge, shareIn, stateIn), zarządzanie Dispatcherami, obsługę wyjątków oraz testowanie kodu asynchronicznego. Idealna do pracy z pulami połączeń Nostr, subskrypcjami zdarzeń i obsługą backpressure w strumieniach wysokiej częstotliwości.
Jak używać
Zainstaluj umiejętność w swoim projekcie Amethyst, dodając ją do konfiguracji Claude MCP. Umiejętność automatycznie integruje się z innymi skillami (kotlin-expert, nostr-expert) i deleguje proste wzorce StateFlow/SharedFlow do kotlin-expert.
Użyj supervisorScope do zarządzania pulą połączeń relay, gdzie każde relay działa niezależnie. Pozwala to na awarię jednego połączenia bez wpływu na pozostałe.
Zastosuj callbackFlow do konwersji callbacków (np. z API Android) na Flow, a następnie połącz wiele źródeł za pomocą merge() lub combine() w zależności od logiki biznesowej.
Obsługuj backpressure w strumieniach zdarzeń wysokiej częstotliwości za pomocą buffer(), conflate() lub DROP_OLDEST, aby uniknąć przeciążenia.
Implementuj obsługę wyjątków z CoroutineExceptionHandler i SupervisorJob, aby zapewnić odporność systemu na błędy w poszczególnych coroutines.
Testuj kod asynchroniczny za pomocą runTest i biblioteki Turbine, która umożliwia asercje na strumieniach Flow w testach jednostkowych.