Claude Codeでイベントリプレイを設計する:プロジェクション再構築・バグ修正後の状態修復・スナップショット連携

はじめに 「バグで集計テーブルの値がずれた。イベントから再計算したい」——Event Sourcingのイベントログからプロジェクション(読み取りモデル)を再構築し、バグ修正後の状態を正確に復元する設計をClaude Codeに生成させる。 CLAUDE.mdにイベントリプレイ設計ルールを書く ## イベントリプレイ設計ルール ### リプレイの安全性 - リプレイ中は読み取りモデルのbui...

By · · 1 min read
Claude Codeでイベントリプレイを設計する:プロジェクション再構築・バグ修正後の状態修復・スナップショット連携

Source: DEV Community

はじめに 「バグで集計テーブルの値がずれた。イベントから再計算したい」——Event Sourcingのイベントログからプロジェクション(読み取りモデル)を再構築し、バグ修正後の状態を正確に復元する設計をClaude Codeに生成させる。 CLAUDE.mdにイベントリプレイ設計ルールを書く ## イベントリプレイ設計ルール ### リプレイの安全性 - リプレイ中は読み取りモデルのbuildVersionで管理 - 古いバージョンと新しいバージョンを並行して持ち、切り替え後に古いを削除 - リプレイ中もサービスは停止しない(Blue-Green的アプローチ) ### バッチ処理 - 全イベントを一度にメモリに乗せない(ページング) - チェックポイントを定期的に保存(障害時に途中から再開) - スナップショットがある場合はそこからスタート ### 冪等性 - プロジェクション更新は冪等(同じイベントを2回リプレイしても同じ結果) - INSERT ... ON CONFLICT DO UPDATEでアップサート イベントリプレイ実装の生成 イベントリプレイシステムを設計してください。 要件: - バッチ処理(ページング) - チェックポイント管理 - ゼロダウンタイムリプレイ - 進捗モニタリング 生成ファイル: src/eventsourcing/replay/ 生成されるイベントリプレイ実装 // src/eventsourcing/replay/eventReplayer.ts — イベントリプレイエンジン export interface ReplayOptions { projectionName: string; fromVersion?: number; // 開始バージョン(省略時は最初から) toVersion?: number; // 終了バージョン(省略時は最新まで) batchSize?: number; // 1バッチのイベント数 checkpointEvery?: number; // この件数ごとにチェックポイント保存 } export interface ReplayProgress { projectionName: string; totalEvents: number; processedEvents: number; la

Related Posts

Similar Topics

#ai (18)#feat (17)#fix (17)#webdev (14)#javascript (13)#chore (9)#opensource (8)#large language models (4)#modernization (6)#css (6)#backbonejs (6)#es6 (6)#redis (2)#security (5)#nextjs (5)#programming (5)#code generation (4)#api (4)#node (4)#html (4)

Trending on ShareHub

  1. Understanding Modern JavaScript Frameworks in 2026
    by Alex Chen · Feb 12, 2026 · 0 likes
  2. The System Design Primer
    by Sarah Kim · Feb 12, 2026 · 0 likes
  3. Just shipped my first open-source project!
    by Alex Chen · Feb 12, 2026 · 0 likes
  4. OpenAI Blog
    by Sarah Kim · Feb 12, 2026 · 0 likes
  5. Building Accessible Web Applications: A Practical Guide
    by Alex Chen · Feb 12, 2026 · 0 likes
  6. Rapper Lil Poppa dead at 25, days after releasing new music
    Rapper Lil Poppa dead at 25, days after releasing new music
    by Anonymous User · Feb 19, 2026 · 0 likes
  7. write-for-us
    by Volt Raven · Mar 7, 2026 · 0 likes
  8. Before the Coffee Gets Cold: Heartfelt Story of Time Travel and Second Chances
    Before the Coffee Gets Cold: Heartfelt Story of Time Travel and Second Chances
    by Anonymous User · Feb 12, 2026 · 0 likes
    #coffee gets cold #the #time travel
  9. Best DoorDash Promo Code Reddit Finds for Top Discounts
    Best DoorDash Promo Code Reddit Finds for Top Discounts
    by Anonymous User · Feb 12, 2026 · 0 likes
    #doordash #promo #reddit
  10. Premium SEO Services That Boost Rankings & Revenue | VirtualSEO.Expert
    by Anonymous User · Feb 12, 2026 · 0 likes
  11. NBC under fire for commentary about Team USA women's hockey team
    NBC under fire for commentary about Team USA women's hockey team
    by Anonymous User · Feb 18, 2026 · 0 likes
  12. Where to Watch The Nanny: Streaming and Online Viewing Options
    Where to Watch The Nanny: Streaming and Online Viewing Options
    by Anonymous User · Feb 12, 2026 · 0 likes
    #streaming #the nanny #where
  13. How Much Is Kindle Unlimited? Subscription Cost and Plan Details
    How Much Is Kindle Unlimited? Subscription Cost and Plan Details
    by Anonymous User · Feb 12, 2026 · 0 likes
    #kindle unlimited #subscription #unlimited
  14. Russian skater facing backlash for comment about Amber Glenn
    Russian skater facing backlash for comment about Amber Glenn
    by Anonymous User · Feb 18, 2026 · 0 likes
  15. Google News
    Google News
    by Anonymous User · Feb 18, 2026 · 0 likes

Latest on ShareHub

Browse Topics

#artificial intelligence (31559)#data science (24017)#ai (16792)#generative ai (15034)#crypto (14995)#machine learning (14680)#bitcoin (14234)#featured (13554)#news & insights (13064)#crypto news (11083)

Around the Network