Avatar

設計パターンを疑え

名前の嘘を暴き、意図で設計を語る

  1. Home
  2. About
  3. Perl Advent Calendar 2025 - AI Edition
  4. Archives
  5. Search
  6. Links
  7. プライバシーポリシー
  8. お問い合わせ
    1. ダークモード

アーカイブ

2026 401
2025 85
2024 1
2023 1
2022 1
さらに見る

タグ

Perl Moo Life Social Design-Pattern Refactoring Design-Patterns Code-Detective Web Movabletype Mojolicious Favorites Series-Toc Yapc Ai Game Git Perl-Entrance Code-Doctor Jquery
Featured image of post コード探偵ロックの事件簿【Circuit Breaker】燃え広がる障害〜ブレーカーを落とせ〜
Tech

コード探偵ロックの事件簿【Circuit Breaker】燃え広がる障害〜ブレーカーを落とせ〜

障害サービスへの無限リトライがカスケード障害を引き起こすメカニズムを解剖し、Circuit BreakerパターンのClosed/Open/Half-Open 3状態管理で障害伝播を断ち切る方法をPerl/Mooで解説。

01, 2026
読了時間: 17分
Featured image of post コード探偵ロックの事件簿【Publish-Subscribe】掲示板に貼れ〜Observerが越えられなかった壁〜
Tech

コード探偵ロックの事件簿【Publish-Subscribe】掲示板に貼れ〜Observerが越えられなかった壁〜

分散環境でObserverの直接呼び出しが引き起こす障害連鎖を、Publish-Subscribeパターンで解消する方法をPerl/Mooで解説。通知パターンの進化系譜を辿るアーク総括回。

30, 2026
読了時間: 20分
Featured image of post コード探偵ロックの事件簿【Outbox】届かなかった手紙〜二重書き込みが生んだ沈黙の障害〜
Tech

コード探偵ロックの事件簿【Outbox】届かなかった手紙〜二重書き込みが生んだ沈黙の障害〜

DB更新とイベント送信の非原子的な二重書き込みを、Outboxパターンで解消する方法をPerl/Mooで解説。Sagaの各ステップに信頼性の土台を敷く続編回。

29, 2026
読了時間: 14分
Featured image of post コード探偵ロックの事件簿【Saga】巻き戻せない300件〜分散トランザクションが生んだ幽霊注文〜
Tech

コード探偵ロックの事件簿【Saga】巻き戻せない300件〜分散トランザクションが生んだ幽霊注文〜

分散トランザクション(2PC)で決済タイムアウト時に在庫が宙に浮く300件の幽霊注文を、Saga Patternのexecute/compensateペアとOrchestrator逆順補償で構造的に解決する。Perl/Mooでの実装とテストを解説。

28, 2026
読了時間: 14分
Featured image of post コード探偵ロックの事件簿【Double Dispatch】消えた発注書〜型の組み合わせが生んだ空白〜
Tech

コード探偵ロックの事件簿【Double Dispatch】消えた発注書〜型の組み合わせが生んだ空白〜

帳票×出力形式のif-elsif連鎖でCSV出力に発注書の分岐漏れが発生。Double Dispatchのaccept/visit二段構えとMoo::Role requiresで追加漏れをクラス構築時に検出する実装を解説。

27, 2026
読了時間: 12分
Featured image of post コード探偵ロックの事件簿【Pipeline】五百行の迷路〜神メソッドを流れに変えた日〜
Tech

コード探偵ロックの事件簿【Pipeline】五百行の迷路〜神メソッドを流れに変えた日〜

500行の神メソッドに全処理が詰まり、1行直すと無関係な箇所が壊れる——その構造的原因をPipeline Patternで解消する。Perl/MooでStage Roleを定義し、各ステージを独立オブジェクト化、テスト可能な設計への変換を実装付きで解説。

26, 2026
読了時間: 14分
Featured image of post コード探偵ロックの事件簿【Money Pattern】消えた1円の行方〜浮動小数点が生んだ幽霊通貨〜
Tech

コード探偵ロックの事件簿【Money Pattern】消えた1円の行方〜浮動小数点が生んだ幽霊通貨〜

浮動小数点数での金額計算による1円の誤差と、通貨コードの分離による異通貨加算バグを、Money Value Objectで構造的に解決する。Perl/Mooでの整数セント表現、演算子オーバーロード、通貨不一致検出まで実装付きで解説。

25, 2026
読了時間: 13分
Featured image of post コード探偵ロックの事件簿【Immutable Object】書き換えられた証拠品〜静かなる改竄と不変の鍵〜
Tech

コード探偵ロックの事件簿【Immutable Object】書き換えられた証拠品〜静かなる改竄と不変の鍵〜

渡したオブジェクトが知らない間に書き換えられるAliasing Bugを、Immutable Object(不変オブジェクト)で構造的に解決する。Perl/Mooでのis => 'ro'、witherパターン、MooX::StrictConstructor、浅い不変性の罠まで実装付きで解説。

24, 2026
読了時間: 11分
Featured image of post コード探偵ロックの事件簿【Entity vs Value Object】二重人格の住所録〜同一性と等価性が交差する日〜
Tech

コード探偵ロックの事件簿【Entity vs Value Object】二重人格の住所録〜同一性と等価性が交差する日〜

同じ住所がeqでfalse、同じIDなのに属性更新でfalse——2つの比較バグの正体はEntityとValue Objectの混同だった。Perl/Mooでoverloadによる等価性・同一性の正しい実装法を解説する。

23, 2026
読了時間: 14分
Featured image of post コード探偵ロックの事件簿【Bounded Context】管轄争いの怪〜一つの名前に三つの真実〜
Tech

コード探偵ロックの事件簿【Bounded Context】管轄争いの怪〜一つの名前に三つの真実〜

営業・配送・経理で異なる意味を持つ「顧客」を単一モデルで表現して崩壊した事件。Bounded Contextで境界を定め、Perl/Mooの名前空間分離とShared Kernelで解決する。

22, 2026
読了時間: 13分
Featured image of post コード探偵ロックの事件簿【Domain Event】沈黙の目撃者〜密結合が隠した「起きたこと」の記録〜
Tech

コード探偵ロックの事件簿【Domain Event】沈黙の目撃者〜密結合が隠した「起きたこと」の記録〜

注文確定時の副作用(メール・在庫・ポイント)が1メソッドに密結合した問題を、Domain Eventパターンで「何が起きたか」を不変オブジェクトとして記録しディスパッチャーで疎結合化するリファクタリング事例をPerl/Mooで解説

21, 2026
読了時間: 13分
Featured image of post コード探偵ロックの事件簿【Aggregate】帳簿崩壊の怪〜バラバラの注文が招く金額の亡霊〜
Tech

コード探偵ロックの事件簿【Aggregate】帳簿崩壊の怪〜バラバラの注文が招く金額の亡霊〜

注文と注文明細がバラバラに操作され金額不整合が頻発する問題を、Aggregate RootのOrderが整合性の門番となり子要素への操作を一元管理するリファクタリング事例をPerl/Mooで解説

20, 2026
読了時間: 11分
Featured image of post コード探偵ロックの事件簿【Interpreter】偽りの翻訳者〜文字列が語る嘘と文法の真実〜
Tech

コード探偵ロックの事件簿【Interpreter】偽りの翻訳者〜文字列が語る嘘と文法の真実〜

evalで文字列ルールを実行するキャンペーンエンジンの脆弱性を、Interpreterパターンで文法をオブジェクトツリー化し安全に評価する手法をPerl/Mooで解説

19, 2026
読了時間: 10分
Featured image of post コード探偵ロックの事件簿【Plugin】開かずの金庫〜コアを壊さず拡張する鍵の在処〜
Tech

コード探偵ロックの事件簿【Plugin】開かずの金庫〜コアを壊さず拡張する鍵の在処〜

新機能追加のたびにコアのif/elsifチェーンを変更しリグレッションが頻発する問題を、Moo::Roleによるプラグインインターフェースと動的登録で「コアを閉じたまま拡張する」Plugin Patternで解決するリファクタリング事例

18, 2026
読了時間: 12分
Featured image of post コード探偵ロックの事件簿【Type Object】二十の棺〜クラス階層の墓場から抜け出す方法〜
Tech

コード探偵ロックの事件簿【Type Object】二十の棺〜クラス階層の墓場から抜け出す方法〜

商品カテゴリ追加のたびにサブクラスが増殖する問題を、Type Objectパターンで型をデータに還し、YAMLからの動的追加とメソッド委譲で解決するリファクタリング事例

17, 2026
読了時間: 11分
1 2 … 91
© 2000 - 2026 設計パターンを疑え
Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。