Toolverse
Wszystkie skille

kotlin-coroutines

autor: vitorpamplona

Zaawansowane wzorce asynchroniczne w Kotlinie dla złożonych operacji na strumieniach danych

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
7

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ć

  1. 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.

  2. 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.

  3. 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.

  4. Obsługuj backpressure w strumieniach zdarzeń wysokiej częstotliwości za pomocą buffer(), conflate() lub DROP_OLDEST, aby uniknąć przeciążenia.

  5. Implementuj obsługę wyjątków z CoroutineExceptionHandler i SupervisorJob, aby zapewnić odporność systemu na błędy w poszczególnych coroutines.

  6. Testuj kod asynchroniczny za pomocą runTest i biblioteki Turbine, która umożliwia asercje na strumieniach Flow w testach jednostkowych.

Podobne skille