go-concurrency-patterns
Go 프로덕션 동시성 패턴 학습
동시성 Go 코드는 설계하고 디버깅하기 어렵습니다. 이 스킬은 빠르게 적용할 수 있는 검증된 패턴, 예제, 모범 사례를 제공합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"go-concurrency-patterns" 사용 중입니다. 취소 기능이 있는 많은 작업을 처리하기 위한 패턴을 추천하세요.
예상 결과:
- 버퍼링된 작업 채널로 워커 풀을 사용하세요
- 취소 시 워커를 중지하려면 컨텍스트를 전달하세요
- 모든 워커가 완료된 후 결과 채널을 닫으세요
- 오류 발생 시 조기 실패가 필요하면 errgroup을 추가하세요
"go-concurrency-patterns" 사용 중입니다. 여러 함수를 병렬로 실행하고 모두 기다리는 방법은?
예상 결과:
- 고루틴을 기다리기 위해 sync.WaitGroup을 사용하세요
- 생성 전에 각 고루틴을 wg.Add(1)로 추가하세요
- 각 고루틴 defer에서 wg.Done()을 호출하세요
- 모든 고루틴을 시작한 후 wg.Wait()으로 бл록하세요
"go-concurrency-patterns" 사용 중입니다. 수신자 측에서 채널을 닫으면 어떻게 되나요?
예상 결과:
- 패닉이 발생합니다
- 채널은 송신자 측에서만 닫으세요
- 또는 닫기 전용으로 별도의 고루틴을 사용하세요
- 송신하기 전에 채널이 열려 있는지 확인하세요
보안 감사
안전All 58 static findings are FALSE POSITIVES. The scanner matched substrings without semantic context: 'C2' from 'close()', 'weak crypto' from 'WaitGroup', 'dynamic import' from Go import statements, 'backtick execution' from markdown code formatting, and 'path traversal' from code comments. This is a pure documentation skill containing only markdown and JSON files with Go code examples. No executable code, no network calls beyond documentation links, no filesystem access beyond its own files.
위험 요인
품질 점수
만들 수 있는 것
동시 서비스 설계
프로덕션 서비스를 위한 워커, 파이프라인, 취소 패턴을 선택합니다.
우아한 셧다운 계획
장기 실행 프로세스에 안전한 셧다운과 타임아웃 처리를 추가합니다.
동시성 기초 이해
명확한 예제로 고루틴, 채널, 동기화를 배웁니다.
이 프롬프트를 사용해 보세요
초보자를 위한 작은 예제로 고루틴과 채널을 설명하세요.
Go에서 컨텍스트 취소, 작업 채널, 결과 채널이 포함된 워커 풀 패턴을 제공하세요.
컨텍스트와 OS 시그널을 사용한 우아한 셧다운 패턴을 보여주고 짧은 설명을 포함하세요.
세마포어와 errgroup 제한 패턴을 비교하고 API 가져오기 작업에 대해 하나를 추천하세요.
모범 사례
- 모든 동시성 작업에서 취소 및 마감 기한을 위해 컨텍스트를 사용하세요
- 패닉을 방지하기 위해 채널은 송신자 측에서만 닫으세요
- 고루틴에 명확한 종료 경로가 있는지 확인하고 ctx.Done을 정기적으로 확인하세요
피하기
- 동기화에 적절한 기본형 대신 time.Sleep 사용
- 패닉을 유발하는 수신자 측에서 채널 닫기
- 장기 실행 루프에서 ctx.Done을 무시하여 고루틴 누수 발생