kotlin-coroutines-expert
Kotlin Coroutines & Flow 마스터하기
Kotlin Coroutines 와 Flow 는 마스터하기 복잡할 수 있습니다. 이 스킬은 구조적 동시성, 에러 처리, 비동기 코드 테스트에 대한 전문가 수준의 패턴을 제공합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"kotlin-coroutines-expert" 사용 중입니다. 두 개의 API 호출을 병렬로 실행하고 에러를 독립적으로 처리하려면 어떻게 하나요?
예상 결과:
supervisorScope 를 사용하여 async 태스크를 실행하면 하나의 실패가 다른 것을 캔슬하지 않습니다. 예시: val task1 = async { api.fetchA() }; val task2 = async { api.fetchB() }; 둘은 서로 영향을 주지 않고 독립적으로 실패할 수 있습니다.
"kotlin-coroutines-expert" 사용 중입니다. StateFlow 와 SharedFlow 는 언제 사용해야 하나요?
예상 결과:
StateFlow 는 유지되어야 하고 항상 현재 값을 갖는 UI 상태에 사용하세요. SharedFlow 는 네비게이션이나 토스트 메시지 표시와 같은 일회성 이벤트에 사용하세요.
보안 감사
안전Static analysis flagged 26 potential issues (24 external_commands, 2 weak cryptographic). Manual review confirms all are FALSE POSITIVES. The 'external_commands' detections are markdown backtick formatting (e.g., `coroutineScope`) not shell execution. The 'weak cryptographic' detections are misidentified content. This is a legitimate Kotlin Coroutines documentation skill with no security risks.
품질 점수
만들 수 있는 것
백엔드 개발자
Kotlin 마이크로서비스에서 비동기 API 호출 및 병렬 데이터 페칭 구현
Android 개발자
Android 앱에서 비동기 UI 업데이트 및 반응형 데이터 스트림 처리
코드 리뷰어
적절한 에러 처리 및 구조적 동시성 패턴에 대한 코루틴 코드 리뷰
이 프롬프트를 사용해 보세요
Show me how to set up a CoroutineScope for parallel API calls in Kotlin
How do I handle errors in a Kotlin Flow pipeline?
Write a unit test for a suspending function using TestScope
Explain how to properly handle coroutine cancellation without catching CancellationException
모범 사례
- 메인 스레드를 블로킹하지 않도록 블로킹 I/O 작업에는 항상 Dispatchers.IO 를 사용하세요
- 더 이상 필요하지 않을 때 코루틴 스코프를 캔슬하세요 (예: ViewModel.onCleared 에서)
- 가상 시간을 사용한 결정론적 코루틴 테스트를 위해 TestScope 와 runTest 를 사용하세요
피하기
- GlobalScope 를 피하세요 - 구조적 동시성을 깨뜨리고 메모리 누수로 이어질 수 있습니다
- CancelllationException 을 다시 throw 하지 않는 한 catch 하지 마세요 - 협력적 캔슬레이션을 깨뜨립니다
- 고수준 API 로 충분한 경우 suspendCoroutine 또는 suspendCancellableCoroutine 사용을 피하세요
자주 묻는 질문
Kotlin 에서 구조적 동시성이란 무엇인가요?
supervisorScope 와 coroutineScope 는 언제 사용해야 하나요?
코루틴을 어떻게 테스트하나요?
Flow 와 StateFlow 의 차이점은 무엇인가요?
Flow 에서 예외를 어떻게 처리하나요?
코루틴 메모리 누수의 일반적인 원인은 무엇인가요?
개발자 세부 정보
작성자
sickn33라이선스
MIT
리포지토리
https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/kotlin-coroutines-expert참조
main
파일 구조
📄 SKILL.md