@k2works/claude-code-booster 4.4.1 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/bin/claude-code-booster +2 -2
  2. package/lib/assets/.claude/agents/xp-architect.md +250 -250
  3. package/lib/assets/.claude/agents/xp-executive.md +207 -207
  4. package/lib/assets/.claude/agents/xp-interaction-designer.md +239 -239
  5. package/lib/assets/.claude/agents/xp-product-manager.md +245 -245
  6. package/lib/assets/.claude/agents/xp-programmer.md +268 -268
  7. package/lib/assets/.claude/agents/xp-project-manager.md +229 -229
  8. package/lib/assets/.claude/agents/xp-technical-writer.md +224 -224
  9. package/lib/assets/.claude/agents/xp-tester.md +265 -265
  10. package/lib/assets/.claude/agents/xp-user-representative.md +204 -204
  11. package/lib/assets/.claude/skills/analyzing-business-case/SKILL.md +148 -148
  12. package/lib/assets/.claude/skills/analyzing-business-strategy/SKILL.md +277 -277
  13. package/lib/assets/.claude/skills/analyzing-review/SKILL.md +174 -174
  14. package/lib/assets/.claude/skills/creating-iteration-report/SKILL.md +210 -210
  15. package/lib/assets/.claude/skills/creating-release-report/SKILL.md +161 -161
  16. package/lib/assets/.claude/skills/developing-review/SKILL.md +175 -175
  17. package/lib/assets/.claude/skills/developing-uiux-review/SKILL.md +207 -207
  18. package/lib/assets/.claude/skills/generating-bmc/SKILL.md +123 -123
  19. package/lib/assets/.claude/skills/operating-qt/SKILL.md +147 -147
  20. package/lib/assets/.claude/skills/operating-review/SKILL.md +171 -171
  21. package/lib/assets/.claude/skills/operating-script/SKILL.md +145 -145
  22. package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +168 -168
  23. package/lib/assets/.claude/skills/practicing-getting-start-tdd/SKILL.md +266 -266
  24. package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +54 -54
  25. package/lib/assets/.devcontainer/devcontainer.json +1 -1
  26. package/lib/assets/.gitattributes +0 -2
  27. package/lib/assets/CLAUDE.md +193 -193
  28. package/lib/assets/Dockerfile +1 -6
  29. package/lib/assets/README.md +0 -16
  30. package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +1 -1
  31. package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +1 -1
  32. package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +1 -1
  33. package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +6 -6
  34. package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +3 -3
  35. package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +22 -22
  36. package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +1 -1
  37. package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +22 -22
  38. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +1 -1
  39. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +1 -1
  40. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +1 -1
  41. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +1 -1
  42. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +2 -2
  43. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +5 -5
  44. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +22 -22
  45. package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +1 -1
  46. package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +1 -1
  47. package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +1 -1
  48. package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +22 -22
  49. package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +1 -1
  50. package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +1 -1
  51. package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +3 -3
  52. package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +3 -3
  53. package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +22 -22
  54. package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +2 -2
  55. package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +8 -8
  56. package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +2 -2
  57. package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +3 -3
  58. package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +4 -4
  59. package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +8 -8
  60. package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +1 -1
  61. package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1 -1
  62. package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1 -1
  63. package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +1 -1
  64. package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +1 -1
  65. package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +1 -1
  66. package/lib/assets/docs/article/grokkingfp/java/part-1.md +1 -1
  67. package/lib/assets/docs/article/grokkingfp/java/part-2.md +4 -4
  68. package/lib/assets/docs/article/grokkingfp/java/part-6.md +2 -2
  69. package/lib/assets/docs/article/grokkingfp/python/part-1.md +3 -3
  70. package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +1 -1
  71. package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1 -1
  72. package/lib/assets/docs/article/grokkingfp/rust/part-4.md +1 -1
  73. package/lib/assets/docs/article/grokkingfp/scala/part-1.md +1 -1
  74. package/lib/assets/docs/article/grokkingfp/scala/part-3.md +1 -1
  75. package/lib/assets/docs/article/grokkingfp/scala/part-6.md +1 -1
  76. package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +1 -1
  77. package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1 -1
  78. package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +1 -1
  79. package/lib/assets/docs/article/index.md +39 -39
  80. package/lib/assets/docs/design/index.md +44 -44
  81. package/lib/assets/docs/index.md +33 -33
  82. package/lib/assets/docs/operation/index.md +16 -16
  83. package/lib/assets/docs/reference/CodexCLIMCP/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/351/226/213/347/231/272/343/203/225/343/203/255/343/203/274.md +546 -546
  84. package/lib/assets/docs/reference/SonarQube/343/203/255/343/203/274/343/202/253/343/203/253/347/222/260/345/242/203/343/202/273/343/203/203/343/203/210/343/202/242/343/203/203/343/203/227/346/211/213/351/240/206/346/233/270.md +1 -1
  85. package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +1 -1
  86. package/lib/assets/docs/reference/Vim/346/223/215/344/275/234/343/203/236/343/203/213/343/203/245/343/202/242/343/203/253.md +13 -0
  87. package/lib/assets/docs/reference/images/BMC.drawio.svg +3 -3
  88. package/lib/assets/docs/reference//347/265/214/345/226/266/346/210/246/347/225/245/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +566 -566
  89. package/lib/assets/docs/requirements/index.md +17 -17
  90. package/lib/assets/docs/strategy/index.md +17 -17
  91. package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273.md +327 -327
  92. package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +275 -275
  93. package/lib/assets/docs/template//344/272/213/344/276/213/345/210/206/346/236/220.md +513 -513
  94. package/lib/assets/ops/docker/sonarqube-local/docker-compose.yml +57 -57
  95. package/lib/assets/ops/nix/shells/.tmux.conf +2 -2
  96. package/lib/assets/ops/nix/shells/.vimrc +15 -2
  97. package/lib/assets/ops/nix/shells/shell.nix +1 -0
  98. package/package.json +1 -1
  99. package/lib/assets/.envrc +0 -1
@@ -10,21 +10,21 @@
10
10
 
11
11
  1. [不変性とデータ変換](./01-immutability-and-data-transformation.md)
12
12
 
13
-
13
+
14
14
  - レコードと不変データ構造
15
15
  - パイプライン演算子(|>)
16
16
  - 副作用の分離
17
17
 
18
18
  2. [関数合成と高階関数](./02-function-composition.md)
19
19
 
20
-
20
+
21
21
  - >> と << による関数合成
22
22
  - カリー化と部分適用
23
23
  - 高階関数の活用
24
24
 
25
25
  3. [多態性の実現方法](./03-polymorphism.md)
26
26
 
27
-
27
+
28
28
  - 判別共用体(Discriminated Union)
29
29
  - アクティブパターン
30
30
  - 型拡張とインターフェース
@@ -33,21 +33,21 @@
33
33
 
34
34
  4. [データ検証](./04-data-validation.md)
35
35
 
36
-
36
+
37
37
  - Result 型によるエラーハンドリング
38
38
  - Computation Expression
39
39
  - カスタムバリデータの作成
40
40
 
41
41
  5. [プロパティベーステスト](./05-property-based-testing.md)
42
42
 
43
-
43
+
44
44
  - FsCheck の基本
45
45
  - ジェネレータの作成
46
46
  - プロパティの定義と検証
47
47
 
48
48
  6. [TDD と関数型プログラミング](./06-tdd-functional.md)
49
49
 
50
-
50
+
51
51
  - xUnit / Expecto によるテスト
52
52
  - Red-Green-Refactor サイクル
53
53
  - テストファーストの関数設計
@@ -56,21 +56,21 @@
56
56
 
57
57
  7. [Composite パターン](./07-composite-pattern.md)
58
58
 
59
-
59
+
60
60
  - 再帰的な判別共用体
61
61
  - ツリー構造の表現
62
62
  - fold による走査
63
63
 
64
64
  8. [Decorator パターン](./08-decorator-pattern.md)
65
65
 
66
-
66
+
67
67
  - 関数合成によるデコレーション
68
68
  - 高階関数でのラッピング
69
69
  - 振る舞いの動的追加
70
70
 
71
71
  9. [Adapter パターン](./09-adapter-pattern.md)
72
72
 
73
-
73
+
74
74
  - 関数アダプター
75
75
  - プロトコル変換
76
76
  - レガシーコードとの統合
@@ -79,21 +79,21 @@
79
79
 
80
80
  10. [Strategy パターン](./10-strategy-pattern.md)
81
81
 
82
-
82
+
83
83
  - 第一級関数としての戦略
84
84
  - 動的な戦略切り替え
85
85
  - 戦略の合成
86
86
 
87
87
  11. [Command パターン](./11-command-pattern.md)
88
88
 
89
-
89
+
90
90
  - 不変コマンドレコード
91
91
  - コマンドの履歴と Undo
92
92
  - マクロコマンド
93
93
 
94
94
  12. [Visitor パターン](./12-visitor-pattern.md)
95
95
 
96
-
96
+
97
97
  - パターンマッチによる訪問
98
98
  - fold ベースのビジター
99
99
  - 拡張可能なビジター
@@ -102,14 +102,14 @@
102
102
 
103
103
  13. [Abstract Factory パターン](./13-abstract-factory-pattern.md)
104
104
 
105
-
105
+
106
106
  - 関数ファクトリー
107
107
  - モジュールによる抽象化
108
108
  - 依存性注入
109
109
 
110
110
  14. [Abstract Server パターン](./14-abstract-server-pattern.md)
111
111
 
112
-
112
+
113
113
  - インターフェースによる抽象化
114
114
  - 実装の差し替え
115
115
  - テスタブルな設計
@@ -118,35 +118,35 @@
118
118
 
119
119
  15. [ゴシップ好きなバスの運転手](./15-gossiping-bus-drivers.md)
120
120
 
121
-
121
+
122
122
  - 不変状態の管理
123
123
  - シミュレーションの実装
124
124
  - 再帰的な処理
125
125
 
126
126
  16. [給与計算システム](./16-payroll-system.md)
127
127
 
128
-
128
+
129
129
  - ドメインモデリング
130
130
  - 多態的な計算
131
131
  - レポート生成
132
132
 
133
133
  17. [レンタルビデオシステム](./17-video-rental-system.md)
134
134
 
135
-
135
+
136
136
  - 状態遷移の管理
137
137
  - イベントソーシング
138
138
  - ビジネスルールの実装
139
139
 
140
140
  18. [並行処理システム](./18-concurrency-system.md)
141
141
 
142
-
142
+
143
143
  - MailboxProcessor(Agent)
144
144
  - 非同期ワークフロー
145
145
  - 並行状態管理
146
146
 
147
147
  19. [Wa-Tor シミュレーション](./19-wator-simulation.md)
148
148
 
149
-
149
+
150
150
  - セルオートマトン
151
151
  - 不変グリッドの更新
152
152
  - シミュレーションループ
@@ -155,14 +155,14 @@
155
155
 
156
156
  20. [パターン間の相互作用](./20-pattern-interactions.md)
157
157
 
158
-
158
+
159
159
  - Composite + Decorator
160
160
  - Command + Observer
161
161
  - パターンの組み合わせ
162
162
 
163
163
  21. [ベストプラクティス](./21-best-practices.md)
164
164
 
165
-
165
+
166
166
  - データ中心設計
167
167
  - Computation Expression
168
168
  - 関数デコレーター
@@ -170,7 +170,7 @@
170
170
 
171
171
  22. [OO から FP への移行](./22-oo-to-fp-migration.md)
172
172
 
173
-
173
+
174
174
  - 移行戦略
175
175
  - イベントソーシング
176
176
  - 段階的な関数抽出
@@ -56,7 +56,7 @@ makeDrivers routes = zipWith makeDriver [0..] routes
56
56
 
57
57
  ポイント:
58
58
 
59
-
59
+
60
60
  - `cycle` 関数で有限のルートを無限の循環シーケンスに変換
61
61
  - 噂は集合(Set)として管理
62
62
  - 各ドライバーは自分のIDを初期の噂として持つ
@@ -283,7 +283,7 @@ spec = do
283
283
 
284
284
  各パターンは単一の責任を持つ:
285
285
 
286
-
286
+
287
287
  - Strategy: 価格計算方法
288
288
  - Decorator: 価格修飾
289
289
  - Command: 操作のカプセル化
@@ -411,7 +411,7 @@ pub fn process_items_efficiently(items: &[Item]) -> Vec<ProcessedItem> {
411
411
 
412
412
  Rust イテレータの利点:
413
413
 
414
-
414
+
415
415
  - **遅延評価**: `collect()` が呼ばれるまで実際の処理は行われない
416
416
  - **中間コレクションなし**: 各要素が一度のパスで処理される
417
417
  - **ゼロコスト抽象化**: コンパイル時に最適化され、手書きのループと同等の性能
@@ -10,21 +10,21 @@
10
10
 
11
11
  1. [不変性とデータ変換](./01-immutability-and-data-transformation.md)
12
12
 
13
-
13
+
14
14
  - デフォルトの不変性と所有権
15
15
  - イテレータとデータ変換パイプライン
16
16
  - 副作用の分離
17
17
 
18
18
  2. [関数合成と高階関数](./02-function-composition.md)
19
19
 
20
-
20
+
21
21
  - クロージャによる関数合成
22
22
  - カリー化と部分適用
23
23
  - 高階関数の活用
24
24
 
25
25
  3. [多態性の実現方法](./03-polymorphism.md)
26
26
 
27
-
27
+
28
28
  - enum と代数的データ型
29
29
  - trait による抽象化
30
30
  - ジェネリクスと trait bounds
@@ -33,21 +33,21 @@
33
33
 
34
34
  4. [データ検証](./04-data-validation.md)
35
35
 
36
-
36
+
37
37
  - 型によるバリデーション
38
38
  - Result によるエラーハンドリング
39
39
  - カスタムバリデータの作成
40
40
 
41
41
  5. [プロパティベーステスト](./05-property-based-testing.md)
42
42
 
43
-
43
+
44
44
  - proptest の基本
45
45
  - ジェネレータの作成
46
46
  - プロパティの定義と検証
47
47
 
48
48
  6. [TDD と関数型プログラミング](./06-tdd-and-functional.md)
49
49
 
50
-
50
+
51
51
  - Rust 組み込みテストの活用
52
52
  - Red-Green-Refactor サイクル
53
53
  - テストファーストの関数設計
@@ -56,21 +56,21 @@
56
56
 
57
57
  7. [Composite パターン](./07-composite-pattern.md)
58
58
 
59
-
59
+
60
60
  - 再帰的なデータ構造
61
61
  - enum によるツリー構造
62
62
  - fold による走査
63
63
 
64
64
  8. [Decorator パターン](./08-decorator-pattern.md)
65
65
 
66
-
66
+
67
67
  - 関数合成によるデコレーション
68
68
  - クロージャでのラッピング
69
69
  - 振る舞いの動的追加
70
70
 
71
71
  9. [Adapter パターン](./09-adapter-pattern.md)
72
72
 
73
-
73
+
74
74
  - 関数アダプター
75
75
  - プロトコル変換
76
76
  - レガシーコードとの統合
@@ -79,21 +79,21 @@
79
79
 
80
80
  10. [Strategy パターン](./10-strategy-pattern.md)
81
81
 
82
-
82
+
83
83
  - クロージャとしての戦略
84
84
  - 動的な戦略切り替え
85
85
  - 戦略の合成
86
86
 
87
87
  11. [Command パターン](./11-command-pattern.md)
88
88
 
89
-
89
+
90
90
  - 不変コマンド構造体
91
91
  - コマンドの履歴と Undo
92
92
  - マクロコマンド
93
93
 
94
94
  12. [Visitor パターン](./12-visitor-pattern.md)
95
95
 
96
-
96
+
97
97
  - match によるパターンマッチ
98
98
  - fold ベースのビジター
99
99
  - 拡張可能なビジター
@@ -102,14 +102,14 @@
102
102
 
103
103
  13. [Abstract Factory パターン](./13-abstract-factory-pattern.md)
104
104
 
105
-
105
+
106
106
  - 関数ファクトリー
107
107
  - trait オブジェクトによる生成
108
108
  - 依存性注入
109
109
 
110
110
  14. [Abstract Server パターン](./14-abstract-server-pattern.md)
111
111
 
112
-
112
+
113
113
  - trait による抽象化
114
114
  - 実装の差し替え
115
115
  - テスタブルな設計
@@ -118,35 +118,35 @@
118
118
 
119
119
  15. [ゴシップ好きなバスの運転手](./15-gossiping-bus-drivers.md)
120
120
 
121
-
121
+
122
122
  - 不変状態の管理
123
123
  - シミュレーションの実装
124
124
  - 再帰的な処理
125
125
 
126
126
  16. [給与計算システム](./16-payroll-system.md)
127
127
 
128
-
128
+
129
129
  - ドメインモデリング
130
130
  - 多態的な計算
131
131
  - レポート生成
132
132
 
133
133
  17. [レンタルビデオシステム](./17-video-rental-system.md)
134
134
 
135
-
135
+
136
136
  - 状態遷移の管理
137
137
  - イベントソーシング
138
138
  - ビジネスルールの実装
139
139
 
140
140
  18. [並行処理システム](./18-concurrency-system.md)
141
141
 
142
-
142
+
143
143
  - Mutex と RwLock による状態管理
144
144
  - チャネルによるメッセージパッシング
145
145
  - async/await と Tokio
146
146
 
147
147
  19. [Wa-Tor シミュレーション](./19-wator-simulation.md)
148
148
 
149
-
149
+
150
150
  - セルオートマトン
151
151
  - 不変グリッドの更新
152
152
  - シミュレーションループ
@@ -155,14 +155,14 @@
155
155
 
156
156
  20. [パターン間の相互作用](./20-pattern-interactions.md)
157
157
 
158
-
158
+
159
159
  - Composite + Decorator
160
160
  - Command + Observer
161
161
  - パターンの組み合わせ
162
162
 
163
163
  21. [ベストプラクティス](./21-best-practices.md)
164
164
 
165
-
165
+
166
166
  - データ中心設計
167
167
  - 所有権と借用の活用
168
168
  - 関数デコレーター
@@ -170,7 +170,7 @@
170
170
 
171
171
  22. [OO から FP への移行](./22-oo-to-fp-migration.md)
172
172
 
173
-
173
+
174
174
  - 移行戦略(Strangler Fig、アダプター)
175
175
  - イベントソーシング
176
176
  - 段階的な関数抽出
@@ -287,7 +287,7 @@ def processItemsWithIterator(items: List[Item]): List[ProcessedItem] =
287
287
 
288
288
  Iterator の利点:
289
289
 
290
-
290
+
291
291
  - 中間コレクションを作成しない
292
292
  - 遅延評価により必要な要素のみ処理
293
293
  - メモリ効率が良い
@@ -76,7 +76,7 @@ object Driver:
76
76
 
77
77
  ポイント:
78
78
 
79
-
79
+
80
80
  - `position % route.length` で循環ルートを実現
81
81
  - 噂は `Set` で管理し、重複を自動排除
82
82
  - すべての状態変更は新しいインスタンスを返す(イミュータブル)
@@ -76,7 +76,7 @@ enum OrderStatus:
76
76
 
77
77
  **ポイント**:
78
78
 
79
-
79
+
80
80
  - case class を使用(不変性を保証)
81
81
  - 必要最小限のフィールド
82
82
  - 明確な命名
@@ -101,7 +101,7 @@ object OrderCalculations:
101
101
 
102
102
  **原則**:
103
103
 
104
-
104
+
105
105
  - 1つの関数は1つのことを行う
106
106
  - 入力から出力への純粋な変換
107
107
  - 副作用なし
@@ -188,7 +188,7 @@ object ImmutableUpdates:
188
188
 
189
189
  **イミュータビリティの利点**:
190
190
 
191
-
191
+
192
192
  - 元のデータは変更されない
193
193
  - 履歴の追跡が容易
194
194
  - 並行処理が安全
@@ -76,7 +76,7 @@ object OOStyle:
76
76
 
77
77
  **問題点**:
78
78
 
79
-
79
+
80
80
  - 内部状態が可変
81
81
  - テストが困難(状態に依存)
82
82
  - 履歴の追跡が難しい
@@ -124,7 +124,7 @@ object FPStyle:
124
124
 
125
125
  **利点**:
126
126
 
127
-
127
+
128
128
  - 元のデータは不変
129
129
  - テストが容易(入力 → 出力)
130
130
  - 完全な履歴を保持
@@ -276,7 +276,7 @@ val account = replayEvents(events) // balance: 700
276
276
 
277
277
  **利点**:
278
278
 
279
-
279
+
280
280
  - 完全な監査証跡
281
281
  - 任意の時点の状態を再構築可能
282
282
  - デバッグが容易
@@ -10,21 +10,21 @@
10
10
 
11
11
  1. [不変性とデータ変換](./01-immutability-and-data-transformation.md)
12
12
 
13
-
13
+
14
14
  - case class と不変データ構造
15
15
  - データ変換パイプライン
16
16
  - 副作用の分離
17
17
 
18
18
  2. [関数合成と高階関数](./02-function-composition.md)
19
19
 
20
-
20
+
21
21
  - andThen と compose による関数合成
22
22
  - カリー化と部分適用
23
23
  - 高階関数の活用
24
24
 
25
25
  3. [多態性の実現方法](./03-polymorphism.md)
26
26
 
27
-
27
+
28
28
  - sealed trait と代数的データ型
29
29
  - トレイトとミックスイン
30
30
  - 型クラスによる既存型の拡張
@@ -33,21 +33,21 @@
33
33
 
34
34
  4. [データ検証](./04-data-validation.md)
35
35
 
36
-
36
+
37
37
  - 型によるバリデーション
38
38
  - Either によるエラーハンドリング
39
39
  - カスタムバリデータの作成
40
40
 
41
41
  5. [プロパティベーステスト](./05-property-based-testing.md)
42
42
 
43
-
43
+
44
44
  - ScalaCheck の基本
45
45
  - ジェネレータの作成
46
46
  - プロパティの定義と検証
47
47
 
48
48
  6. [TDD と関数型プログラミング](./06-tdd-functional.md)
49
49
 
50
-
50
+
51
51
  - ScalaTest によるテスト
52
52
  - Red-Green-Refactor サイクル
53
53
  - テストファーストの関数設計
@@ -56,21 +56,21 @@
56
56
 
57
57
  7. [Composite パターン](./07-composite-pattern.md)
58
58
 
59
-
59
+
60
60
  - 再帰的なデータ構造
61
61
  - ADT によるツリー構造
62
62
  - fold による走査
63
63
 
64
64
  8. [Decorator パターン](./08-decorator-pattern.md)
65
65
 
66
-
66
+
67
67
  - 関数合成によるデコレーション
68
68
  - 高階関数でのラッピング
69
69
  - 振る舞いの動的追加
70
70
 
71
71
  9. [Adapter パターン](./09-adapter-pattern.md)
72
72
 
73
-
73
+
74
74
  - 関数アダプター
75
75
  - プロトコル変換
76
76
  - レガシーコードとの統合
@@ -79,21 +79,21 @@
79
79
 
80
80
  10. [Strategy パターン](./10-strategy-pattern.md)
81
81
 
82
-
82
+
83
83
  - 第一級関数としての戦略
84
84
  - 動的な戦略切り替え
85
85
  - 戦略の合成
86
86
 
87
87
  11. [Command パターン](./11-command-pattern.md)
88
88
 
89
-
89
+
90
90
  - 不変コマンドオブジェクト
91
91
  - コマンドの履歴と Undo
92
92
  - マクロコマンド
93
93
 
94
94
  12. [Visitor パターン](./12-visitor-pattern.md)
95
95
 
96
-
96
+
97
97
  - パターンマッチによる訪問
98
98
  - fold ベースのビジター
99
99
  - 拡張可能なビジター
@@ -102,14 +102,14 @@
102
102
 
103
103
  13. [Abstract Factory パターン](./13-abstract-factory-pattern.md)
104
104
 
105
-
105
+
106
106
  - 関数ファクトリー
107
107
  - 型クラスベースの生成
108
108
  - 依存性注入
109
109
 
110
110
  14. [Abstract Server パターン](./14-abstract-server-pattern.md)
111
111
 
112
-
112
+
113
113
  - トレイトによる抽象化
114
114
  - 実装の差し替え
115
115
  - テスタブルな設計
@@ -118,35 +118,35 @@
118
118
 
119
119
  15. [ゴシップ好きなバスの運転手](./15-gossiping-bus-drivers.md)
120
120
 
121
-
121
+
122
122
  - 不変状態の管理
123
123
  - シミュレーションの実装
124
124
  - 再帰的な処理
125
125
 
126
126
  16. [給与計算システム](./16-payroll-system.md)
127
127
 
128
-
128
+
129
129
  - ドメインモデリング
130
130
  - 多態的な計算
131
131
  - レポート生成
132
132
 
133
133
  17. [レンタルビデオシステム](./17-video-rental-system.md)
134
134
 
135
-
135
+
136
136
  - 状態遷移の管理
137
137
  - イベントソーシング
138
138
  - ビジネスルールの実装
139
139
 
140
140
  18. [並行処理システム](./18-concurrency-system.md)
141
141
 
142
-
142
+
143
143
  - 状態マシン
144
144
  - イベントバス
145
145
  - AtomicReference による同期
146
146
 
147
147
  19. [Wa-Tor シミュレーション](./19-wator-simulation.md)
148
148
 
149
-
149
+
150
150
  - セルオートマトン
151
151
  - 不変グリッドの更新
152
152
  - シミュレーションループ
@@ -155,14 +155,14 @@
155
155
 
156
156
  20. [パターン間の相互作用](./20-pattern-interactions.md)
157
157
 
158
-
158
+
159
159
  - Composite + Decorator
160
160
  - Command + Observer
161
161
  - パターンの組み合わせ
162
162
 
163
163
  21. [ベストプラクティス](./21-best-practices.md)
164
164
 
165
-
165
+
166
166
  - データ中心設計
167
167
  - IO モナド
168
168
  - 関数デコレーター
@@ -170,7 +170,7 @@
170
170
 
171
171
  22. [OO から FP への移行](./22-oo-to-fp-migration.md)
172
172
 
173
-
173
+
174
174
  - 移行戦略(Strangler Fig、アダプター)
175
175
  - イベントソーシング
176
176
  - 段階的な関数抽出
@@ -21,7 +21,7 @@
21
21
 
22
22
  **メリット**:
23
23
 
24
-
24
+
25
25
  - コンパイル時にバグを検出できる
26
26
  - IDE の補完・リファクタリングが強力
27
27
  - ドキュメントとしての型情報
@@ -42,7 +42,7 @@
42
42
 
43
43
  **メリット**:
44
44
 
45
-
45
+
46
46
  - 素早いプロトタイピング
47
47
  - 柔軟なデータ操作
48
48
  - REPL での探索的開発