스킬 kotlin-coroutines-expert
📦

kotlin-coroutines-expert

안전

Kotlin Coroutines & Flow 마스터하기

Kotlin Coroutines 와 Flow 는 마스터하기 복잡할 수 있습니다. 이 스킬은 구조적 동시성, 에러 처리, 비동기 코드 테스트에 대한 전문가 수준의 패턴을 제공합니다.

지원: Claude Codex Code(CC)
🥉 73 브론즈
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"kotlin-coroutines-expert" 사용 중입니다. 두 개의 API 호출을 병렬로 실행하고 에러를 독립적으로 처리하려면 어떻게 하나요?

예상 결과:

supervisorScope 를 사용하여 async 태스크를 실행하면 하나의 실패가 다른 것을 캔슬하지 않습니다. 예시: val task1 = async { api.fetchA() }; val task2 = async { api.fetchB() }; 둘은 서로 영향을 주지 않고 독립적으로 실패할 수 있습니다.

"kotlin-coroutines-expert" 사용 중입니다. StateFlow 와 SharedFlow 는 언제 사용해야 하나요?

예상 결과:

StateFlow 는 유지되어야 하고 항상 현재 값을 갖는 UI 상태에 사용하세요. SharedFlow 는 네비게이션이나 토스트 메시지 표시와 같은 일회성 이벤트에 사용하세요.

보안 감사

안전
v1 • 2/25/2026

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.

1
스캔된 파일
101
분석된 줄 수
0
발견 사항
1
총 감사 수
보안 문제를 찾지 못했습니다
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
85
콘텐츠
50
커뮤니티
100
보안
83
사양 준수

만들 수 있는 것

백엔드 개발자

Kotlin 마이크로서비스에서 비동기 API 호출 및 병렬 데이터 페칭 구현

Android 개발자

Android 앱에서 비동기 UI 업데이트 및 반응형 데이터 스트림 처리

코드 리뷰어

적절한 에러 처리 및 구조적 동시성 패턴에 대한 코루틴 코드 리뷰

이 프롬프트를 사용해 보세요

기본 코루틴 설정
Show me how to set up a CoroutineScope for parallel API calls in Kotlin
Flow 에러 처리
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 는 언제 사용해야 하나요?
어떤 실패도 모든 자식을 캔슬하게 하려면 coroutineScope 를 사용하세요. 자식들이 형제에게 영향을 주지 않고 독립적으로 실패하게 하려면 supervisorScope 를 사용하세요.
코루틴을 어떻게 테스트하나요?
kotlinx.coroutines.test 의 TestScope 와 runTest 를 사용하세요. 결정론적 테스트를 위해 가상 시간을 제어할 수 있는 TestDispatcher 를 주입하세요.
Flow 와 StateFlow 의 차이점은 무엇인가요?
Flow 는 cold 합니다 - 수집될 때만 값을 생성합니다. StateFlow 는 hot 합니다 - 현재 값을 유지하고 모든 수집자에게 방출합니다.
Flow 에서 예외를 어떻게 처리하나요?
파이프라인 끝에 catch 오퍼레이터를 사용하거나 flow 빌더 내부에서 try-catch 를 사용하세요. 재시도하려면 retry 또는 retryWhen 오퍼레이터를 사용하세요.
코루틴 메모리 누수의 일반적인 원인은 무엇인가요?
GlobalScope 사용, 완료 후 스코프를 캔슬하지 않음, 컨텍스트를 잘못 캡처함, 또는 절대 완료되지 않는 액터에 대한 참조를 보유하는 것 등이 일반적인 원인입니다.

개발자 세부 정보

파일 구조

📄 SKILL.md