전통적인 CRUD 패턴으로는 읽기와 쓰기를 독립적으로 확장해야 하는 애플리케이션을 구축하기가 어렵습니다. 이 스킬은 즉��� 사용 가능한 CQRS 템플릿과 패턴을 제공하여 명령과 쿼리의 책임을 분리하고, 쓰기 집중적 및 읽기 집중적 워크로드 모두에 대해 최적화된 성능을 가능하게 합니다.
스킬 ZIP 다운로드
Claude에서 업로드
설정 → 기능 → 스킬 → 스킬 업로드로 이동
토글을 켜고 사용 시작
테스트해 보기
"cqrs-implementation" 사용 중입니다. Python 애플리케이션에서 읽기와 쓰기 작업을 어떻게 분리하나요?
예상 결과:
- CQRS는 애플리��이션을 두 개의 별개 모델로 분리합니다. 명령(상태를 변경하는 쓰기 작업)과 쿼리(데이터를 반환하는 읽기 작업). 이 스킬은 명령 및 쿼리 핸들러, 디스패칭을 위한 명령 버스, 특정 쿼리 패턴에 최적화된 별도의 읽기 모델을 구현하는 방법을 보여주는 Python 템플릿을 제공합니다.
- 주요 구성 요소는 다음과 같습니다. 검증이 포함된 명령 기본 클래스, CommandHandler 인터페이스, 라우팅을 위한 CommandBus, 쿼리 기본 클래스, 데이터 검색을 위한 QueryHandler, 그리고 뷰 업데이트를 위한 ReadModelSynchronizer.
"cqrs-implementation" 사용 중입니다. 데이터를 쓴 후 다시 읽을 때까지의 지연을 처리하는 방법을 보여주세요
예상 결과:
- 이를 결과적 일관성이라고 합니다. 이 스킬은 쓰기 후 읽기 모델이 따라잡을 때까지 기다릴 수 있는 ConsistentQueryHandler 패턴을 포함합니다. 구성 가능한 타임아웃과 함께 프로젝션 버전을 폴링하고 예상 버전에 도달할 때까지 재시도합니다.
- 타임아웃이 만료되면 경고 플래그와 함께 오래된 데이터를 반환하므로 애플리케이션이 계속 진행할지 사용자에게 알릴지 결정할 수 있습니다.
보안 감사
안전Static analysis detected 30 potential issues, but all are false positives. The scanner misidentified markdown code fences as shell execution, database queries as network fetches, documentation URLs as suspicious, and sort order strings as weak cryptography. This is a legitimate CQRS educational skill with Python code templates. No actual security risks identified.
품질 점수
만들 수 있는 것
고성능 이커머스 플랫폼 구축
블랙 프라이데이 트래픽 급증을 다양한 확장 전략으로 처리하기 위해 주문 처리(쓰기)와 제품 카탈로그 검색(읽기)을 분리합니다.
실시간 분석 대시보드 구현
데이터 수집 파이프라인의 쓰기 작업을 단순하게 유지하면서 복잡한 집계 쿼리를 위한 최적화된 읽기 모델을 만듭니다.
단일형 애플리케이션을 이벤트 소싱 아키텍처로 마이그레이션
관심사를 분리하고 향후 이벤트 소싱 기능을 준비하기 위해 CQRS를 점진적으로 도입합니다.
이 프롬프트를 사용해 보세요
Python에서 기본 CQRS 구조를 설정하는 것을 도와주세요. 명령 및 쿼리 기본 클��스, 명령 버스, 사용자 관리 도메인을 위한 간단한 핸들러가 필요합니다.
도메인 이벤트와 동기화된 비정규화된 사용자 프로필을 유지하는 읽기 모델 프로젝션을 구현하는 방법을 보여주세요. 복원력을 위해 체크포인트 관리를 포함하세요.
명령 및 쿼리 버스에 대한 종���성 주입을 사용하여 명령용 POST/DELETE 엔드포인트와 쿼리용 GET 엔드포인트를 분리한 FastAPI 애플리케이션을 만드세요.
쓰기 작업 후 읽기 모델 동기화를 기다릴 수 있는 ���리 핸들러를 구현하세요. 읽기 후 쓰기 일관성을 위해 타임아웃 및 오래�� 데이터 경고를 포함하세요.
모범 사례
- 명령과 쿼리 사이에 명확한 경계를 만드세요. 동일한 핸들러에서 읽기와 쓰기 로직을 혼합하지 마세요
- 모든 쿼리 패턴에 맞는 단일 뷰를 만들려고 시도하지 말고 쿼리 패턴에 맞게 읽기 모델을 설계하세요
- 네트워크 실패 시 안전한 재시도를 가능하게 하려면 멱등성 명령 핸들러를 구현하세요
피하기
- 명령 핸들러 내부에서 쓰기 데이터베이스 쿼리 - 명령은 검증 및 지속화만 해야 하며 비즈니스 로직을 위해 읽�� 않아야 합니다
- 모든 쿼리 패턴을 처리하려는 단일 읽기 모델 생�� - 이는 최적화된 읽기 모델의 목적을 무효화합니다
- 결과적 일관성을 무시하고 적절한 처리 없이 즉시 읽기 후 쓰기 가용성을 가정