@k2works/claude-code-booster 3.5.0 → 3.6.1

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 (712) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +42 -42
  3. package/bin/claude-code-booster +90 -90
  4. package/lib/assets/.claude/README.md +239 -239
  5. package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
  6. package/lib/assets/.claude/settings.json +11 -11
  7. package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +111 -111
  8. package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +83 -83
  9. package/lib/assets/.claude/skills/analyzing-business/SKILL.md +95 -95
  10. package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +77 -77
  11. package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +117 -88
  12. package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +84 -84
  13. package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +95 -95
  14. package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +95 -95
  15. package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +91 -91
  16. package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +101 -101
  17. package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +89 -89
  18. package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +80 -80
  19. package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +72 -72
  20. package/lib/assets/.claude/skills/creating-adr/SKILL.md +113 -113
  21. package/lib/assets/.claude/skills/developing-backend/SKILL.md +100 -100
  22. package/lib/assets/.claude/skills/developing-frontend/SKILL.md +93 -93
  23. package/lib/assets/.claude/skills/developing-release/SKILL.md +120 -120
  24. package/lib/assets/.claude/skills/generating-slides/SKILL.md +94 -94
  25. package/lib/assets/.claude/skills/git-commit/SKILL.md +81 -81
  26. package/lib/assets/.claude/skills/killing-processes/SKILL.md +44 -44
  27. package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -59
  28. package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -54
  29. package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -67
  30. package/lib/assets/.claude/skills/operating-docs/SKILL.md +219 -219
  31. package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -77
  32. package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -63
  33. package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +104 -104
  34. package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +162 -161
  35. package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -158
  36. package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +144 -144
  37. package/lib/assets/.claude/skills/planning-releases/SKILL.md +119 -119
  38. package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +151 -151
  39. package/lib/assets/.claude/skills/tracking-progress/SKILL.md +91 -91
  40. package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +215 -215
  41. package/lib/assets/.devcontainer/devcontainer.json +34 -34
  42. package/lib/assets/.env.example +17 -17
  43. package/lib/assets/.gitattributes +4 -4
  44. package/lib/assets/.github/workflows/docker-publish.yml +77 -77
  45. package/lib/assets/.github/workflows/mkdocs.yml +39 -39
  46. package/lib/assets/AGENTS.md +94 -94
  47. package/lib/assets/CLAUDE.md +183 -183
  48. package/lib/assets/README.md +254 -254
  49. package/lib/assets/docker-compose.yml +33 -33
  50. package/lib/assets/docs/adr/index.md +10 -10
  51. package/lib/assets/docs/article/functional-desgin-ppp/all/01-immutability-and-data-transformation.md +475 -475
  52. package/lib/assets/docs/article/functional-desgin-ppp/all/02-function-composition.md +519 -519
  53. package/lib/assets/docs/article/functional-desgin-ppp/all/03-polymorphism.md +537 -537
  54. package/lib/assets/docs/article/functional-desgin-ppp/all/04-data-validation.md +300 -300
  55. package/lib/assets/docs/article/functional-desgin-ppp/all/05-property-based-testing.md +320 -320
  56. package/lib/assets/docs/article/functional-desgin-ppp/all/06-tdd-and-functional.md +498 -498
  57. package/lib/assets/docs/article/functional-desgin-ppp/all/07-composite-pattern.md +298 -298
  58. package/lib/assets/docs/article/functional-desgin-ppp/all/08-decorator-pattern.md +291 -291
  59. package/lib/assets/docs/article/functional-desgin-ppp/all/09-adapter-pattern.md +336 -336
  60. package/lib/assets/docs/article/functional-desgin-ppp/all/10-strategy-pattern.md +303 -303
  61. package/lib/assets/docs/article/functional-desgin-ppp/all/11-command-pattern.md +286 -286
  62. package/lib/assets/docs/article/functional-desgin-ppp/all/12-visitor-pattern.md +322 -322
  63. package/lib/assets/docs/article/functional-desgin-ppp/all/13-abstract-factory-pattern.md +319 -319
  64. package/lib/assets/docs/article/functional-desgin-ppp/all/14-abstract-server-pattern.md +365 -365
  65. package/lib/assets/docs/article/functional-desgin-ppp/all/15-gossiping-bus-drivers.md +156 -156
  66. package/lib/assets/docs/article/functional-desgin-ppp/all/16-payroll-system.md +178 -178
  67. package/lib/assets/docs/article/functional-desgin-ppp/all/17-video-rental-system.md +312 -312
  68. package/lib/assets/docs/article/functional-desgin-ppp/all/18-concurrency-system.md +287 -287
  69. package/lib/assets/docs/article/functional-desgin-ppp/all/19-wa-tor-simulation.md +286 -286
  70. package/lib/assets/docs/article/functional-desgin-ppp/all/20-pattern-interactions.md +274 -274
  71. package/lib/assets/docs/article/functional-desgin-ppp/all/21-best-practices.md +294 -294
  72. package/lib/assets/docs/article/functional-desgin-ppp/all/22-oo-to-fp-migration.md +337 -337
  73. package/lib/assets/docs/article/functional-desgin-ppp/all/index.md +388 -388
  74. package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +273 -273
  75. package/lib/assets/docs/article/functional-desgin-ppp/clojure/02-function-composition.md +380 -380
  76. package/lib/assets/docs/article/functional-desgin-ppp/clojure/03-polymorphism.md +384 -384
  77. package/lib/assets/docs/article/functional-desgin-ppp/clojure/04-clojure-spec.md +350 -350
  78. package/lib/assets/docs/article/functional-desgin-ppp/clojure/05-property-based-testing.md +352 -352
  79. package/lib/assets/docs/article/functional-desgin-ppp/clojure/06-tdd-in-functional.md +383 -383
  80. package/lib/assets/docs/article/functional-desgin-ppp/clojure/07-composite-pattern.md +529 -529
  81. package/lib/assets/docs/article/functional-desgin-ppp/clojure/08-decorator-pattern.md +395 -395
  82. package/lib/assets/docs/article/functional-desgin-ppp/clojure/09-adapter-pattern.md +399 -399
  83. package/lib/assets/docs/article/functional-desgin-ppp/clojure/10-strategy-pattern.md +485 -485
  84. package/lib/assets/docs/article/functional-desgin-ppp/clojure/11-command-pattern.md +566 -566
  85. package/lib/assets/docs/article/functional-desgin-ppp/clojure/12-visitor-pattern.md +567 -567
  86. package/lib/assets/docs/article/functional-desgin-ppp/clojure/13-abstract-factory-pattern.md +475 -475
  87. package/lib/assets/docs/article/functional-desgin-ppp/clojure/14-abstract-server-pattern.md +462 -462
  88. package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +325 -325
  89. package/lib/assets/docs/article/functional-desgin-ppp/clojure/16-payroll-system.md +401 -401
  90. package/lib/assets/docs/article/functional-desgin-ppp/clojure/17-video-rental-system.md +450 -450
  91. package/lib/assets/docs/article/functional-desgin-ppp/clojure/18-concurrency-system.md +475 -475
  92. package/lib/assets/docs/article/functional-desgin-ppp/clojure/19-wator-simulation.md +739 -739
  93. package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +567 -567
  94. package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +518 -518
  95. package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +532 -532
  96. package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +241 -241
  97. package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +383 -383
  98. package/lib/assets/docs/article/functional-desgin-ppp/elixir/02-function-composition.md +374 -374
  99. package/lib/assets/docs/article/functional-desgin-ppp/elixir/03-polymorphism.md +375 -375
  100. package/lib/assets/docs/article/functional-desgin-ppp/elixir/04-data-validation.md +195 -195
  101. package/lib/assets/docs/article/functional-desgin-ppp/elixir/05-property-based-testing.md +268 -268
  102. package/lib/assets/docs/article/functional-desgin-ppp/elixir/06-tdd-and-fp.md +294 -294
  103. package/lib/assets/docs/article/functional-desgin-ppp/elixir/07-effects-and-pure-functions.md +164 -164
  104. package/lib/assets/docs/article/functional-desgin-ppp/elixir/08-error-handling-strategies.md +168 -168
  105. package/lib/assets/docs/article/functional-desgin-ppp/elixir/09-io-and-external-systems.md +254 -254
  106. package/lib/assets/docs/article/functional-desgin-ppp/elixir/10-concurrency-patterns.md +269 -269
  107. package/lib/assets/docs/article/functional-desgin-ppp/elixir/11-command-pattern.md +148 -148
  108. package/lib/assets/docs/article/functional-desgin-ppp/elixir/12-visitor-pattern.md +176 -176
  109. package/lib/assets/docs/article/functional-desgin-ppp/elixir/13-abstract-factory-pattern.md +604 -604
  110. package/lib/assets/docs/article/functional-desgin-ppp/elixir/14-abstract-server-pattern.md +729 -729
  111. package/lib/assets/docs/article/functional-desgin-ppp/elixir/15-gossiping-bus-drivers.md +291 -291
  112. package/lib/assets/docs/article/functional-desgin-ppp/elixir/16-payroll-system.md +420 -420
  113. package/lib/assets/docs/article/functional-desgin-ppp/elixir/17-video-rental-system.md +319 -319
  114. package/lib/assets/docs/article/functional-desgin-ppp/elixir/18-concurrency-system.md +466 -466
  115. package/lib/assets/docs/article/functional-desgin-ppp/elixir/19-wator-simulation.md +523 -523
  116. package/lib/assets/docs/article/functional-desgin-ppp/elixir/20-pattern-interactions.md +287 -287
  117. package/lib/assets/docs/article/functional-desgin-ppp/elixir/21-best-practices.md +340 -340
  118. package/lib/assets/docs/article/functional-desgin-ppp/elixir/22-oo-to-fp-migration.md +395 -395
  119. package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +248 -248
  120. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +384 -384
  121. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/02-function-composition.md +452 -452
  122. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/03-polymorphism.md +495 -495
  123. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/04-data-validation.md +416 -416
  124. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/05-property-based-testing.md +382 -382
  125. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/06-tdd-functional.md +687 -687
  126. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/07-composite-pattern.md +442 -442
  127. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/08-decorator-pattern.md +479 -479
  128. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/09-adapter-pattern.md +479 -479
  129. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/10-strategy-pattern.md +427 -427
  130. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/11-command-pattern.md +428 -428
  131. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/12-visitor-pattern.md +339 -339
  132. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/13-abstract-factory-pattern.md +309 -309
  133. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/14-abstract-server-pattern.md +596 -596
  134. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +355 -355
  135. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/16-payroll-system.md +350 -350
  136. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +414 -414
  137. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/18-concurrency-system.md +367 -367
  138. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +403 -403
  139. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/20-pattern-interactions.md +291 -291
  140. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +324 -324
  141. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +332 -332
  142. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +274 -274
  143. package/lib/assets/docs/article/functional-desgin-ppp/haskell/01-immutability-and-data-transformation.md +298 -298
  144. package/lib/assets/docs/article/functional-desgin-ppp/haskell/02-function-composition.md +304 -304
  145. package/lib/assets/docs/article/functional-desgin-ppp/haskell/03-polymorphism.md +362 -362
  146. package/lib/assets/docs/article/functional-desgin-ppp/haskell/04-data-validation.md +257 -257
  147. package/lib/assets/docs/article/functional-desgin-ppp/haskell/05-property-based-testing.md +254 -254
  148. package/lib/assets/docs/article/functional-desgin-ppp/haskell/06-tdd-functional.md +283 -283
  149. package/lib/assets/docs/article/functional-desgin-ppp/haskell/07-composite-pattern.md +395 -395
  150. package/lib/assets/docs/article/functional-desgin-ppp/haskell/08-decorator-pattern.md +319 -319
  151. package/lib/assets/docs/article/functional-desgin-ppp/haskell/09-adapter-pattern.md +382 -382
  152. package/lib/assets/docs/article/functional-desgin-ppp/haskell/10-strategy-pattern.md +287 -287
  153. package/lib/assets/docs/article/functional-desgin-ppp/haskell/11-command-pattern.md +303 -303
  154. package/lib/assets/docs/article/functional-desgin-ppp/haskell/12-visitor-pattern.md +326 -326
  155. package/lib/assets/docs/article/functional-desgin-ppp/haskell/13-abstract-factory-pattern.md +332 -332
  156. package/lib/assets/docs/article/functional-desgin-ppp/haskell/14-abstract-server-pattern.md +379 -379
  157. package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +177 -177
  158. package/lib/assets/docs/article/functional-desgin-ppp/haskell/16-payroll-system.md +219 -219
  159. package/lib/assets/docs/article/functional-desgin-ppp/haskell/17-video-rental-system.md +244 -244
  160. package/lib/assets/docs/article/functional-desgin-ppp/haskell/18-concurrency-system.md +363 -363
  161. package/lib/assets/docs/article/functional-desgin-ppp/haskell/19-wator-simulation.md +438 -438
  162. package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +325 -325
  163. package/lib/assets/docs/article/functional-desgin-ppp/haskell/21-best-practices.md +403 -403
  164. package/lib/assets/docs/article/functional-desgin-ppp/haskell/22-oo-to-fp-migration.md +469 -469
  165. package/lib/assets/docs/article/functional-desgin-ppp/haskell/index.md +174 -174
  166. package/lib/assets/docs/article/functional-desgin-ppp/index.md +90 -90
  167. package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +450 -450
  168. package/lib/assets/docs/article/functional-desgin-ppp/rust/02-function-composition.md +463 -463
  169. package/lib/assets/docs/article/functional-desgin-ppp/rust/03-polymorphism.md +425 -425
  170. package/lib/assets/docs/article/functional-desgin-ppp/rust/04-data-validation.md +273 -273
  171. package/lib/assets/docs/article/functional-desgin-ppp/rust/05-property-based-testing.md +247 -247
  172. package/lib/assets/docs/article/functional-desgin-ppp/rust/06-tdd-and-functional.md +841 -841
  173. package/lib/assets/docs/article/functional-desgin-ppp/rust/07-composite-pattern.md +384 -384
  174. package/lib/assets/docs/article/functional-desgin-ppp/rust/08-decorator-pattern.md +383 -383
  175. package/lib/assets/docs/article/functional-desgin-ppp/rust/09-adapter-pattern.md +339 -339
  176. package/lib/assets/docs/article/functional-desgin-ppp/rust/10-strategy-pattern.md +331 -331
  177. package/lib/assets/docs/article/functional-desgin-ppp/rust/11-command-pattern.md +356 -356
  178. package/lib/assets/docs/article/functional-desgin-ppp/rust/12-visitor-pattern.md +379 -379
  179. package/lib/assets/docs/article/functional-desgin-ppp/rust/13-abstract-factory-pattern.md +361 -361
  180. package/lib/assets/docs/article/functional-desgin-ppp/rust/14-abstract-server-pattern.md +392 -392
  181. package/lib/assets/docs/article/functional-desgin-ppp/rust/15-gossiping-bus-drivers.md +300 -300
  182. package/lib/assets/docs/article/functional-desgin-ppp/rust/16-payroll-system.md +297 -297
  183. package/lib/assets/docs/article/functional-desgin-ppp/rust/17-video-rental-system.md +304 -304
  184. package/lib/assets/docs/article/functional-desgin-ppp/rust/18-concurrency-system.md +315 -315
  185. package/lib/assets/docs/article/functional-desgin-ppp/rust/19-wator-simulation.md +311 -311
  186. package/lib/assets/docs/article/functional-desgin-ppp/rust/20-pattern-interactions.md +304 -304
  187. package/lib/assets/docs/article/functional-desgin-ppp/rust/21-best-practices.md +336 -336
  188. package/lib/assets/docs/article/functional-desgin-ppp/rust/22-oo-to-fp-migration.md +349 -349
  189. package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +243 -243
  190. package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +328 -328
  191. package/lib/assets/docs/article/functional-desgin-ppp/scala/02-function-composition.md +348 -348
  192. package/lib/assets/docs/article/functional-desgin-ppp/scala/03-polymorphism.md +357 -357
  193. package/lib/assets/docs/article/functional-desgin-ppp/scala/04-data-validation.md +364 -364
  194. package/lib/assets/docs/article/functional-desgin-ppp/scala/05-property-based-testing.md +515 -515
  195. package/lib/assets/docs/article/functional-desgin-ppp/scala/06-tdd-functional.md +557 -557
  196. package/lib/assets/docs/article/functional-desgin-ppp/scala/07-composite-pattern.md +363 -363
  197. package/lib/assets/docs/article/functional-desgin-ppp/scala/08-decorator-pattern.md +327 -327
  198. package/lib/assets/docs/article/functional-desgin-ppp/scala/09-adapter-pattern.md +517 -517
  199. package/lib/assets/docs/article/functional-desgin-ppp/scala/10-strategy-pattern.md +441 -441
  200. package/lib/assets/docs/article/functional-desgin-ppp/scala/11-command-pattern.md +407 -407
  201. package/lib/assets/docs/article/functional-desgin-ppp/scala/12-visitor-pattern.md +379 -379
  202. package/lib/assets/docs/article/functional-desgin-ppp/scala/13-abstract-factory-pattern.md +398 -398
  203. package/lib/assets/docs/article/functional-desgin-ppp/scala/14-abstract-server-pattern.md +476 -476
  204. package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +391 -391
  205. package/lib/assets/docs/article/functional-desgin-ppp/scala/16-payroll-system.md +342 -342
  206. package/lib/assets/docs/article/functional-desgin-ppp/scala/17-video-rental-system.md +324 -324
  207. package/lib/assets/docs/article/functional-desgin-ppp/scala/18-concurrency-system.md +730 -730
  208. package/lib/assets/docs/article/functional-desgin-ppp/scala/19-wator-simulation.md +624 -624
  209. package/lib/assets/docs/article/functional-desgin-ppp/scala/20-pattern-interactions.md +512 -512
  210. package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +433 -433
  211. package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +688 -688
  212. package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +243 -243
  213. package/lib/assets/docs/article/getting-start-tdd/clojure/01-todo-list-and-first-test.md +166 -166
  214. package/lib/assets/docs/article/getting-start-tdd/clojure/02-fake-it-and-triangulation.md +162 -162
  215. package/lib/assets/docs/article/getting-start-tdd/clojure/03-obvious-implementation-and-refactoring.md +135 -135
  216. package/lib/assets/docs/article/getting-start-tdd/clojure/04-version-control-and-conventional-commits.md +88 -88
  217. package/lib/assets/docs/article/getting-start-tdd/clojure/05-package-management-and-static-analysis.md +299 -299
  218. package/lib/assets/docs/article/getting-start-tdd/clojure/06-task-runner-and-ci-cd.md +241 -241
  219. package/lib/assets/docs/article/getting-start-tdd/clojure/07-protocols-and-records.md +131 -131
  220. package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md +130 -130
  221. package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md +127 -127
  222. package/lib/assets/docs/article/getting-start-tdd/clojure/10-higher-order-functions-and-composition.md +114 -114
  223. package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md +138 -138
  224. package/lib/assets/docs/article/getting-start-tdd/clojure/12-error-handling-and-spec.md +161 -161
  225. package/lib/assets/docs/article/getting-start-tdd/clojure/index.md +65 -65
  226. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter01.md +232 -232
  227. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter02.md +244 -244
  228. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter03.md +202 -202
  229. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter04.md +92 -92
  230. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter05.md +256 -256
  231. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter06.md +195 -195
  232. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter07.md +214 -214
  233. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter08.md +249 -249
  234. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter09.md +174 -174
  235. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter10.md +166 -166
  236. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter11.md +192 -192
  237. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter12.md +211 -211
  238. package/lib/assets/docs/article/getting-start-tdd/csharp/index.md +83 -83
  239. package/lib/assets/docs/article/getting-start-tdd/elixir/01-todo-list-and-first-test.md +87 -87
  240. package/lib/assets/docs/article/getting-start-tdd/elixir/02-fake-it-and-triangulation.md +95 -95
  241. package/lib/assets/docs/article/getting-start-tdd/elixir/03-obvious-implementation-and-refactoring.md +109 -109
  242. package/lib/assets/docs/article/getting-start-tdd/elixir/04-version-control-and-conventional-commits.md +96 -96
  243. package/lib/assets/docs/article/getting-start-tdd/elixir/05-package-management-and-static-analysis.md +88 -88
  244. package/lib/assets/docs/article/getting-start-tdd/elixir/06-task-runner-and-ci-cd.md +71 -71
  245. package/lib/assets/docs/article/getting-start-tdd/elixir/07-structs-and-protocols.md +110 -110
  246. package/lib/assets/docs/article/getting-start-tdd/elixir/08-pattern-matching-and-guards.md +108 -108
  247. package/lib/assets/docs/article/getting-start-tdd/elixir/09-module-design-and-behaviours.md +104 -104
  248. package/lib/assets/docs/article/getting-start-tdd/elixir/10-higher-order-functions-and-pipeline.md +178 -178
  249. package/lib/assets/docs/article/getting-start-tdd/elixir/11-stream-and-lazy-evaluation.md +142 -142
  250. package/lib/assets/docs/article/getting-start-tdd/elixir/12-error-handling-and-with.md +145 -145
  251. package/lib/assets/docs/article/getting-start-tdd/elixir/index.md +35 -35
  252. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter01.md +202 -202
  253. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter02.md +246 -246
  254. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter03.md +218 -218
  255. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter04.md +179 -179
  256. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter05.md +267 -267
  257. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter06.md +190 -190
  258. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter07.md +161 -161
  259. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter08.md +175 -175
  260. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter09.md +222 -222
  261. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter10.md +189 -189
  262. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter11.md +212 -212
  263. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter12.md +215 -215
  264. package/lib/assets/docs/article/getting-start-tdd/fsharp/index.md +71 -71
  265. package/lib/assets/docs/article/getting-start-tdd/go/01-todo-list-and-first-test.md +213 -213
  266. package/lib/assets/docs/article/getting-start-tdd/go/02-fake-it-and-triangulation.md +302 -302
  267. package/lib/assets/docs/article/getting-start-tdd/go/03-obvious-implementation-and-refactoring.md +339 -339
  268. package/lib/assets/docs/article/getting-start-tdd/go/04-version-control-and-conventional-commits.md +112 -112
  269. package/lib/assets/docs/article/getting-start-tdd/go/05-package-management-and-static-analysis.md +272 -272
  270. package/lib/assets/docs/article/getting-start-tdd/go/06-task-runner-and-ci-cd.md +233 -233
  271. package/lib/assets/docs/article/getting-start-tdd/go/07-encapsulation-and-polymorphism.md +394 -394
  272. package/lib/assets/docs/article/getting-start-tdd/go/08-design-patterns.md +422 -422
  273. package/lib/assets/docs/article/getting-start-tdd/go/09-solid-principles-and-module-design.md +400 -400
  274. package/lib/assets/docs/article/getting-start-tdd/go/10-higher-order-functions-and-composition.md +226 -226
  275. package/lib/assets/docs/article/getting-start-tdd/go/11-immutable-data-and-pipeline.md +296 -296
  276. package/lib/assets/docs/article/getting-start-tdd/go/12-error-handling-and-type-safety.md +411 -411
  277. package/lib/assets/docs/article/getting-start-tdd/go/index.md +83 -83
  278. package/lib/assets/docs/article/getting-start-tdd/haskell/01-todo-list-and-first-test.md +279 -279
  279. package/lib/assets/docs/article/getting-start-tdd/haskell/02-fake-it-and-triangulation.md +337 -337
  280. package/lib/assets/docs/article/getting-start-tdd/haskell/03-obvious-implementation-and-refactoring.md +257 -257
  281. package/lib/assets/docs/article/getting-start-tdd/haskell/04-version-control-and-conventional-commits.md +182 -182
  282. package/lib/assets/docs/article/getting-start-tdd/haskell/05-package-management-and-static-analysis.md +313 -313
  283. package/lib/assets/docs/article/getting-start-tdd/haskell/06-task-runner-and-ci-cd.md +309 -309
  284. package/lib/assets/docs/article/getting-start-tdd/haskell/07-algebraic-data-types-and-type-classes.md +412 -412
  285. package/lib/assets/docs/article/getting-start-tdd/haskell/08-pattern-matching-and-guards.md +390 -390
  286. package/lib/assets/docs/article/getting-start-tdd/haskell/09-module-design-and-smart-constructors.md +461 -461
  287. package/lib/assets/docs/article/getting-start-tdd/haskell/10-higher-order-functions-and-currying.md +434 -434
  288. package/lib/assets/docs/article/getting-start-tdd/haskell/11-function-composition-and-point-free.md +392 -392
  289. package/lib/assets/docs/article/getting-start-tdd/haskell/12-monad-and-error-handling.md +631 -631
  290. package/lib/assets/docs/article/getting-start-tdd/haskell/index.md +49 -49
  291. package/lib/assets/docs/article/getting-start-tdd/index.md +93 -93
  292. package/lib/assets/docs/article/getting-start-tdd/integration/01-language-overview.md +375 -375
  293. package/lib/assets/docs/article/getting-start-tdd/integration/02-test-framework-comparison.md +349 -349
  294. package/lib/assets/docs/article/getting-start-tdd/integration/03-tdd-pattern-comparison.md +445 -445
  295. package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +409 -409
  296. package/lib/assets/docs/article/getting-start-tdd/integration/05-dev-environment-comparison.md +330 -330
  297. package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +290 -290
  298. package/lib/assets/docs/article/getting-start-tdd/integration/index.md +69 -69
  299. package/lib/assets/docs/article/getting-start-tdd/java/01-todo-list-and-first-test.md +234 -234
  300. package/lib/assets/docs/article/getting-start-tdd/java/02-fake-it-and-triangulation.md +261 -261
  301. package/lib/assets/docs/article/getting-start-tdd/java/03-obvious-implementation-and-refactoring.md +185 -185
  302. package/lib/assets/docs/article/getting-start-tdd/java/04-version-control-and-conventional-commits.md +115 -115
  303. package/lib/assets/docs/article/getting-start-tdd/java/05-package-management-and-static-analysis.md +382 -382
  304. package/lib/assets/docs/article/getting-start-tdd/java/06-task-runner-and-ci-cd.md +272 -272
  305. package/lib/assets/docs/article/getting-start-tdd/java/07-encapsulation-and-polymorphism.md +626 -626
  306. package/lib/assets/docs/article/getting-start-tdd/java/08-design-patterns.md +393 -393
  307. package/lib/assets/docs/article/getting-start-tdd/java/09-solid-principles-and-module-design.md +310 -310
  308. package/lib/assets/docs/article/getting-start-tdd/java/10-higher-order-functions-and-composition.md +188 -188
  309. package/lib/assets/docs/article/getting-start-tdd/java/11-immutable-data-and-pipeline.md +167 -167
  310. package/lib/assets/docs/article/getting-start-tdd/java/12-error-handling-and-type-safety.md +205 -205
  311. package/lib/assets/docs/article/getting-start-tdd/java/index.md +61 -61
  312. package/lib/assets/docs/article/getting-start-tdd/node/01-todo-list-and-first-test.md +244 -244
  313. package/lib/assets/docs/article/getting-start-tdd/node/02-fake-it-and-triangulation.md +262 -262
  314. package/lib/assets/docs/article/getting-start-tdd/node/03-obvious-implementation-and-refactoring.md +169 -169
  315. package/lib/assets/docs/article/getting-start-tdd/node/04-version-control-and-conventional-commits.md +112 -112
  316. package/lib/assets/docs/article/getting-start-tdd/node/05-package-management-and-static-analysis.md +314 -314
  317. package/lib/assets/docs/article/getting-start-tdd/node/06-task-runner-and-ci-cd.md +235 -235
  318. package/lib/assets/docs/article/getting-start-tdd/node/07-encapsulation-and-polymorphism.md +327 -327
  319. package/lib/assets/docs/article/getting-start-tdd/node/08-design-patterns.md +322 -322
  320. package/lib/assets/docs/article/getting-start-tdd/node/09-solid-principles-and-module-design.md +285 -285
  321. package/lib/assets/docs/article/getting-start-tdd/node/10-higher-order-functions-and-composition.md +199 -199
  322. package/lib/assets/docs/article/getting-start-tdd/node/11-immutable-data-and-pipeline.md +207 -207
  323. package/lib/assets/docs/article/getting-start-tdd/node/12-error-handling-and-type-safety.md +295 -295
  324. package/lib/assets/docs/article/getting-start-tdd/node/index.md +56 -56
  325. package/lib/assets/docs/article/getting-start-tdd/php/01-todo-list-and-first-test.md +259 -259
  326. package/lib/assets/docs/article/getting-start-tdd/php/02-fake-it-and-triangulation.md +200 -200
  327. package/lib/assets/docs/article/getting-start-tdd/php/03-obvious-implementation-and-refactoring.md +248 -248
  328. package/lib/assets/docs/article/getting-start-tdd/php/04-version-control-and-conventional-commits.md +141 -141
  329. package/lib/assets/docs/article/getting-start-tdd/php/05-package-management-and-static-analysis.md +410 -410
  330. package/lib/assets/docs/article/getting-start-tdd/php/06-task-runner-and-ci-cd.md +321 -321
  331. package/lib/assets/docs/article/getting-start-tdd/php/07-encapsulation-and-polymorphism.md +372 -372
  332. package/lib/assets/docs/article/getting-start-tdd/php/08-design-patterns.md +453 -453
  333. package/lib/assets/docs/article/getting-start-tdd/php/09-solid-principles-and-module-design.md +460 -460
  334. package/lib/assets/docs/article/getting-start-tdd/php/10-higher-order-functions-and-composition.md +182 -182
  335. package/lib/assets/docs/article/getting-start-tdd/php/11-immutable-data-and-pipeline.md +266 -266
  336. package/lib/assets/docs/article/getting-start-tdd/php/12-error-handling-and-type-safety.md +308 -308
  337. package/lib/assets/docs/article/getting-start-tdd/php/index.md +84 -84
  338. package/lib/assets/docs/article/getting-start-tdd/python/01-todo-list-and-first-test.md +201 -201
  339. package/lib/assets/docs/article/getting-start-tdd/python/02-fake-it-and-triangulation.md +247 -247
  340. package/lib/assets/docs/article/getting-start-tdd/python/03-obvious-implementation-and-refactoring.md +199 -199
  341. package/lib/assets/docs/article/getting-start-tdd/python/04-version-control-and-conventional-commits.md +87 -87
  342. package/lib/assets/docs/article/getting-start-tdd/python/05-package-management-and-static-analysis.md +274 -274
  343. package/lib/assets/docs/article/getting-start-tdd/python/06-task-runner-and-ci-cd.md +190 -190
  344. package/lib/assets/docs/article/getting-start-tdd/python/07-encapsulation-and-polymorphism.md +208 -208
  345. package/lib/assets/docs/article/getting-start-tdd/python/08-design-patterns.md +172 -172
  346. package/lib/assets/docs/article/getting-start-tdd/python/09-solid-principles-and-module-design.md +130 -130
  347. package/lib/assets/docs/article/getting-start-tdd/python/10-higher-order-functions-and-composition.md +122 -122
  348. package/lib/assets/docs/article/getting-start-tdd/python/11-immutable-data-and-pipeline.md +116 -116
  349. package/lib/assets/docs/article/getting-start-tdd/python/12-error-handling-and-type-safety.md +126 -126
  350. package/lib/assets/docs/article/getting-start-tdd/python/index.md +55 -55
  351. package/lib/assets/docs/article/getting-start-tdd/ruby/01-todo-list-and-first-test.md +231 -231
  352. package/lib/assets/docs/article/getting-start-tdd/ruby/02-fake-it-and-triangulation.md +238 -238
  353. package/lib/assets/docs/article/getting-start-tdd/ruby/03-obvious-implementation-and-refactoring.md +228 -228
  354. package/lib/assets/docs/article/getting-start-tdd/ruby/04-version-control-and-conventional-commits.md +112 -112
  355. package/lib/assets/docs/article/getting-start-tdd/ruby/05-package-management-and-static-analysis.md +287 -287
  356. package/lib/assets/docs/article/getting-start-tdd/ruby/06-task-runner-and-ci-cd.md +248 -248
  357. package/lib/assets/docs/article/getting-start-tdd/ruby/07-encapsulation-and-polymorphism.md +279 -279
  358. package/lib/assets/docs/article/getting-start-tdd/ruby/08-design-patterns.md +329 -329
  359. package/lib/assets/docs/article/getting-start-tdd/ruby/09-solid-principles-and-module-design.md +196 -196
  360. package/lib/assets/docs/article/getting-start-tdd/ruby/10-higher-order-functions-and-composition.md +175 -175
  361. package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +237 -237
  362. package/lib/assets/docs/article/getting-start-tdd/ruby/12-error-handling-and-type-safety.md +398 -398
  363. package/lib/assets/docs/article/getting-start-tdd/ruby/index.md +83 -83
  364. package/lib/assets/docs/article/getting-start-tdd/rust/01-todo-list-and-first-test.md +211 -211
  365. package/lib/assets/docs/article/getting-start-tdd/rust/02-fake-it-and-triangulation.md +264 -264
  366. package/lib/assets/docs/article/getting-start-tdd/rust/03-obvious-implementation-and-refactoring.md +233 -233
  367. package/lib/assets/docs/article/getting-start-tdd/rust/04-version-control-and-conventional-commits.md +92 -92
  368. package/lib/assets/docs/article/getting-start-tdd/rust/05-package-management-and-static-analysis.md +212 -212
  369. package/lib/assets/docs/article/getting-start-tdd/rust/06-task-runner-and-ci-cd.md +164 -164
  370. package/lib/assets/docs/article/getting-start-tdd/rust/07-encapsulation-and-polymorphism.md +142 -142
  371. package/lib/assets/docs/article/getting-start-tdd/rust/08-design-patterns.md +145 -145
  372. package/lib/assets/docs/article/getting-start-tdd/rust/09-solid-principles-and-module-design.md +110 -110
  373. package/lib/assets/docs/article/getting-start-tdd/rust/10-higher-order-functions-and-composition.md +94 -94
  374. package/lib/assets/docs/article/getting-start-tdd/rust/11-immutable-data-and-pipeline.md +105 -105
  375. package/lib/assets/docs/article/getting-start-tdd/rust/12-error-handling-and-type-safety.md +112 -112
  376. package/lib/assets/docs/article/getting-start-tdd/rust/index.md +83 -83
  377. package/lib/assets/docs/article/getting-start-tdd/scala/01-todo-list-and-first-test.md +111 -111
  378. package/lib/assets/docs/article/getting-start-tdd/scala/02-fake-it-and-triangulation.md +107 -107
  379. package/lib/assets/docs/article/getting-start-tdd/scala/03-obvious-implementation-and-refactoring.md +99 -99
  380. package/lib/assets/docs/article/getting-start-tdd/scala/04-version-control-and-conventional-commits.md +123 -123
  381. package/lib/assets/docs/article/getting-start-tdd/scala/05-package-management-and-static-analysis.md +196 -196
  382. package/lib/assets/docs/article/getting-start-tdd/scala/06-task-runner-and-ci-cd.md +186 -186
  383. package/lib/assets/docs/article/getting-start-tdd/scala/07-case-classes-and-traits.md +139 -139
  384. package/lib/assets/docs/article/getting-start-tdd/scala/08-pattern-matching-and-sealed-traits.md +106 -106
  385. package/lib/assets/docs/article/getting-start-tdd/scala/09-packages-and-module-design.md +75 -75
  386. package/lib/assets/docs/article/getting-start-tdd/scala/10-higher-order-functions-and-composition.md +104 -104
  387. package/lib/assets/docs/article/getting-start-tdd/scala/11-collections-and-lazy-evaluation.md +94 -94
  388. package/lib/assets/docs/article/getting-start-tdd/scala/12-error-handling-and-type-safety.md +92 -92
  389. package/lib/assets/docs/article/getting-start-tdd/scala/index.md +65 -65
  390. package/lib/assets/docs/article/grokking-concurrency/all/index.md +404 -404
  391. package/lib/assets/docs/article/grokking-concurrency/all/part-1-ch02-sequential.md +554 -554
  392. package/lib/assets/docs/article/grokking-concurrency/all/part-2-ch04-05-threads.md +469 -469
  393. package/lib/assets/docs/article/grokking-concurrency/all/part-3-ch06-multitasking.md +520 -520
  394. package/lib/assets/docs/article/grokking-concurrency/all/part-4-ch07-parallel-patterns.md +420 -420
  395. package/lib/assets/docs/article/grokking-concurrency/all/part-5-ch08-09-synchronization.md +510 -510
  396. package/lib/assets/docs/article/grokking-concurrency/all/part-6-ch10-11-nonblocking-io.md +435 -435
  397. package/lib/assets/docs/article/grokking-concurrency/all/part-7-ch12-async.md +465 -465
  398. package/lib/assets/docs/article/grokking-concurrency/all/part-8-ch13-mapreduce.md +377 -377
  399. package/lib/assets/docs/article/grokking-concurrency/clojure/index.md +116 -116
  400. package/lib/assets/docs/article/grokking-concurrency/clojure/part-1.md +108 -108
  401. package/lib/assets/docs/article/grokking-concurrency/clojure/part-2.md +101 -101
  402. package/lib/assets/docs/article/grokking-concurrency/clojure/part-3.md +122 -122
  403. package/lib/assets/docs/article/grokking-concurrency/clojure/part-4.md +123 -123
  404. package/lib/assets/docs/article/grokking-concurrency/clojure/part-5.md +118 -118
  405. package/lib/assets/docs/article/grokking-concurrency/clojure/part-6.md +89 -89
  406. package/lib/assets/docs/article/grokking-concurrency/clojure/part-7.md +100 -100
  407. package/lib/assets/docs/article/grokking-concurrency/clojure/part-8.md +120 -120
  408. package/lib/assets/docs/article/grokking-concurrency/csharp/index.md +101 -101
  409. package/lib/assets/docs/article/grokking-concurrency/csharp/part-1.md +97 -97
  410. package/lib/assets/docs/article/grokking-concurrency/csharp/part-2.md +123 -123
  411. package/lib/assets/docs/article/grokking-concurrency/csharp/part-3.md +101 -101
  412. package/lib/assets/docs/article/grokking-concurrency/csharp/part-4.md +112 -112
  413. package/lib/assets/docs/article/grokking-concurrency/csharp/part-5.md +99 -99
  414. package/lib/assets/docs/article/grokking-concurrency/csharp/part-6.md +61 -61
  415. package/lib/assets/docs/article/grokking-concurrency/csharp/part-7.md +84 -84
  416. package/lib/assets/docs/article/grokking-concurrency/csharp/part-8.md +92 -92
  417. package/lib/assets/docs/article/grokking-concurrency/fsharp/index.md +65 -65
  418. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-1.md +80 -80
  419. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-2.md +103 -103
  420. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-3.md +94 -94
  421. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-4.md +110 -110
  422. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-5.md +104 -104
  423. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-6.md +93 -93
  424. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-7.md +121 -121
  425. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-8.md +107 -107
  426. package/lib/assets/docs/article/grokking-concurrency/haskell/index.md +248 -248
  427. package/lib/assets/docs/article/grokking-concurrency/haskell/part-1.md +96 -96
  428. package/lib/assets/docs/article/grokking-concurrency/haskell/part-2.md +96 -96
  429. package/lib/assets/docs/article/grokking-concurrency/haskell/part-3.md +91 -91
  430. package/lib/assets/docs/article/grokking-concurrency/haskell/part-4.md +106 -106
  431. package/lib/assets/docs/article/grokking-concurrency/haskell/part-5.md +99 -99
  432. package/lib/assets/docs/article/grokking-concurrency/haskell/part-6.md +95 -95
  433. package/lib/assets/docs/article/grokking-concurrency/haskell/part-7.md +111 -111
  434. package/lib/assets/docs/article/grokking-concurrency/haskell/part-8.md +118 -118
  435. package/lib/assets/docs/article/grokking-concurrency/index.md +66 -66
  436. package/lib/assets/docs/article/grokking-concurrency/java/index.md +102 -102
  437. package/lib/assets/docs/article/grokking-concurrency/java/part-1.md +308 -308
  438. package/lib/assets/docs/article/grokking-concurrency/java/part-2.md +334 -334
  439. package/lib/assets/docs/article/grokking-concurrency/java/part-3.md +221 -221
  440. package/lib/assets/docs/article/grokking-concurrency/java/part-4.md +213 -213
  441. package/lib/assets/docs/article/grokking-concurrency/java/part-5.md +112 -112
  442. package/lib/assets/docs/article/grokking-concurrency/java/part-6.md +69 -69
  443. package/lib/assets/docs/article/grokking-concurrency/java/part-7.md +101 -101
  444. package/lib/assets/docs/article/grokking-concurrency/java/part-8.md +101 -101
  445. package/lib/assets/docs/article/grokking-concurrency/python/index.md +313 -313
  446. package/lib/assets/docs/article/grokking-concurrency/python/part-1.md +239 -239
  447. package/lib/assets/docs/article/grokking-concurrency/python/part-2.md +418 -418
  448. package/lib/assets/docs/article/grokking-concurrency/python/part-3.md +227 -227
  449. package/lib/assets/docs/article/grokking-concurrency/python/part-4.md +299 -299
  450. package/lib/assets/docs/article/grokking-concurrency/python/part-5.md +315 -315
  451. package/lib/assets/docs/article/grokking-concurrency/python/part-6.md +297 -297
  452. package/lib/assets/docs/article/grokking-concurrency/python/part-7.md +314 -314
  453. package/lib/assets/docs/article/grokking-concurrency/python/part-8.md +360 -360
  454. package/lib/assets/docs/article/grokking-concurrency/rust/index.md +270 -270
  455. package/lib/assets/docs/article/grokking-concurrency/rust/part-1.md +108 -108
  456. package/lib/assets/docs/article/grokking-concurrency/rust/part-2.md +120 -120
  457. package/lib/assets/docs/article/grokking-concurrency/rust/part-3.md +126 -126
  458. package/lib/assets/docs/article/grokking-concurrency/rust/part-4.md +175 -175
  459. package/lib/assets/docs/article/grokking-concurrency/rust/part-5.md +158 -158
  460. package/lib/assets/docs/article/grokking-concurrency/rust/part-6.md +94 -94
  461. package/lib/assets/docs/article/grokking-concurrency/rust/part-7.md +133 -133
  462. package/lib/assets/docs/article/grokking-concurrency/rust/part-8.md +155 -155
  463. package/lib/assets/docs/article/grokking-concurrency/scala/index.md +69 -69
  464. package/lib/assets/docs/article/grokking-concurrency/scala/part-1.md +78 -78
  465. package/lib/assets/docs/article/grokking-concurrency/scala/part-2.md +112 -112
  466. package/lib/assets/docs/article/grokking-concurrency/scala/part-3.md +93 -93
  467. package/lib/assets/docs/article/grokking-concurrency/scala/part-4.md +110 -110
  468. package/lib/assets/docs/article/grokking-concurrency/scala/part-5.md +119 -119
  469. package/lib/assets/docs/article/grokking-concurrency/scala/part-6.md +83 -83
  470. package/lib/assets/docs/article/grokking-concurrency/scala/part-7.md +131 -131
  471. package/lib/assets/docs/article/grokking-concurrency/scala/part-8.md +129 -129
  472. package/lib/assets/docs/article/grokkingfp/all/index.md +368 -368
  473. package/lib/assets/docs/article/grokkingfp/all/part-1-ch01-fp-introduction.md +530 -530
  474. package/lib/assets/docs/article/grokkingfp/all/part-1-ch02-pure-functions.md +923 -923
  475. package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +1128 -1128
  476. package/lib/assets/docs/article/grokkingfp/all/part-2-ch04-higher-order-functions.md +1104 -1104
  477. package/lib/assets/docs/article/grokkingfp/all/part-2-ch05-flatmap.md +1026 -1026
  478. package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +785 -785
  479. package/lib/assets/docs/article/grokkingfp/all/part-3-ch07-either-adt.md +871 -871
  480. package/lib/assets/docs/article/grokkingfp/all/part-4-ch08-io-monad.md +972 -972
  481. package/lib/assets/docs/article/grokkingfp/all/part-4-ch09-streams.md +926 -926
  482. package/lib/assets/docs/article/grokkingfp/all/part-5-ch10-concurrency.md +870 -870
  483. package/lib/assets/docs/article/grokkingfp/all/part-6-ch11-application.md +715 -715
  484. package/lib/assets/docs/article/grokkingfp/all/part-6-ch12-testing.md +626 -626
  485. package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +712 -712
  486. package/lib/assets/docs/article/grokkingfp/clojure/index.md +276 -276
  487. package/lib/assets/docs/article/grokkingfp/clojure/part-1.md +667 -667
  488. package/lib/assets/docs/article/grokkingfp/clojure/part-2.md +643 -643
  489. package/lib/assets/docs/article/grokkingfp/clojure/part-3.md +620 -620
  490. package/lib/assets/docs/article/grokkingfp/clojure/part-4.md +697 -697
  491. package/lib/assets/docs/article/grokkingfp/clojure/part-5.md +751 -751
  492. package/lib/assets/docs/article/grokkingfp/clojure/part-6.md +721 -721
  493. package/lib/assets/docs/article/grokkingfp/csharp/index.md +246 -246
  494. package/lib/assets/docs/article/grokkingfp/csharp/part-1.md +811 -811
  495. package/lib/assets/docs/article/grokkingfp/csharp/part-2.md +971 -971
  496. package/lib/assets/docs/article/grokkingfp/csharp/part-3.md +981 -981
  497. package/lib/assets/docs/article/grokkingfp/csharp/part-4.md +949 -949
  498. package/lib/assets/docs/article/grokkingfp/csharp/part-5.md +947 -947
  499. package/lib/assets/docs/article/grokkingfp/csharp/part-6.md +739 -739
  500. package/lib/assets/docs/article/grokkingfp/elixir/index.md +203 -203
  501. package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +712 -712
  502. package/lib/assets/docs/article/grokkingfp/elixir/part-2.md +838 -838
  503. package/lib/assets/docs/article/grokkingfp/elixir/part-3.md +985 -985
  504. package/lib/assets/docs/article/grokkingfp/elixir/part-4.md +974 -974
  505. package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1286 -1286
  506. package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1049 -1049
  507. package/lib/assets/docs/article/grokkingfp/fsharp/index.md +210 -210
  508. package/lib/assets/docs/article/grokkingfp/fsharp/part-1.md +714 -714
  509. package/lib/assets/docs/article/grokkingfp/fsharp/part-2.md +961 -961
  510. package/lib/assets/docs/article/grokkingfp/fsharp/part-3.md +972 -972
  511. package/lib/assets/docs/article/grokkingfp/fsharp/part-4.md +832 -832
  512. package/lib/assets/docs/article/grokkingfp/fsharp/part-5.md +911 -911
  513. package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +922 -922
  514. package/lib/assets/docs/article/grokkingfp/haskell/index.md +234 -234
  515. package/lib/assets/docs/article/grokkingfp/haskell/part-1.md +591 -591
  516. package/lib/assets/docs/article/grokkingfp/haskell/part-2.md +866 -866
  517. package/lib/assets/docs/article/grokkingfp/haskell/part-3.md +915 -915
  518. package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +878 -878
  519. package/lib/assets/docs/article/grokkingfp/haskell/part-5.md +845 -845
  520. package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +844 -844
  521. package/lib/assets/docs/article/grokkingfp/index.md +143 -143
  522. package/lib/assets/docs/article/grokkingfp/java/index.md +211 -211
  523. package/lib/assets/docs/article/grokkingfp/java/part-1.md +648 -648
  524. package/lib/assets/docs/article/grokkingfp/java/part-2.md +675 -675
  525. package/lib/assets/docs/article/grokkingfp/java/part-3.md +672 -672
  526. package/lib/assets/docs/article/grokkingfp/java/part-4.md +771 -771
  527. package/lib/assets/docs/article/grokkingfp/java/part-5.md +959 -959
  528. package/lib/assets/docs/article/grokkingfp/java/part-6.md +1328 -1328
  529. package/lib/assets/docs/article/grokkingfp/python/index.md +258 -258
  530. package/lib/assets/docs/article/grokkingfp/python/part-1.md +443 -443
  531. package/lib/assets/docs/article/grokkingfp/python/part-2.md +958 -958
  532. package/lib/assets/docs/article/grokkingfp/python/part-3.md +1004 -1004
  533. package/lib/assets/docs/article/grokkingfp/python/part-4.md +765 -765
  534. package/lib/assets/docs/article/grokkingfp/python/part-5.md +747 -747
  535. package/lib/assets/docs/article/grokkingfp/python/part-6.md +861 -861
  536. package/lib/assets/docs/article/grokkingfp/ruby/index.md +330 -330
  537. package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +755 -755
  538. package/lib/assets/docs/article/grokkingfp/ruby/part-2.md +938 -938
  539. package/lib/assets/docs/article/grokkingfp/ruby/part-3.md +946 -946
  540. package/lib/assets/docs/article/grokkingfp/ruby/part-4.md +921 -921
  541. package/lib/assets/docs/article/grokkingfp/ruby/part-5.md +908 -908
  542. package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1412 -1412
  543. package/lib/assets/docs/article/grokkingfp/rust/index.md +242 -242
  544. package/lib/assets/docs/article/grokkingfp/rust/part-1.md +634 -634
  545. package/lib/assets/docs/article/grokkingfp/rust/part-2.md +1060 -1060
  546. package/lib/assets/docs/article/grokkingfp/rust/part-3.md +994 -994
  547. package/lib/assets/docs/article/grokkingfp/rust/part-4.md +573 -573
  548. package/lib/assets/docs/article/grokkingfp/rust/part-5.md +705 -705
  549. package/lib/assets/docs/article/grokkingfp/rust/part-6.md +508 -508
  550. package/lib/assets/docs/article/grokkingfp/scala/index.md +171 -171
  551. package/lib/assets/docs/article/grokkingfp/scala/part-1.md +543 -543
  552. package/lib/assets/docs/article/grokkingfp/scala/part-2.md +946 -946
  553. package/lib/assets/docs/article/grokkingfp/scala/part-3.md +919 -919
  554. package/lib/assets/docs/article/grokkingfp/scala/part-4.md +742 -742
  555. package/lib/assets/docs/article/grokkingfp/scala/part-5.md +722 -722
  556. package/lib/assets/docs/article/grokkingfp/scala/part-6.md +867 -867
  557. package/lib/assets/docs/article/grokkingfp/typescript/index.md +273 -273
  558. package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +561 -561
  559. package/lib/assets/docs/article/grokkingfp/typescript/part-2.md +1129 -1129
  560. package/lib/assets/docs/article/grokkingfp/typescript/part-3.md +842 -842
  561. package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1087 -1087
  562. package/lib/assets/docs/article/grokkingfp/typescript/part-5.md +717 -717
  563. package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +982 -982
  564. package/lib/assets/docs/article/practical-database-design/index.md +121 -121
  565. package/lib/assets/docs/article/practical-database-design/part1/chapter01.md +288 -288
  566. package/lib/assets/docs/article/practical-database-design/part1/chapter02.md +518 -518
  567. package/lib/assets/docs/article/practical-database-design/part1/chapter03.md +557 -557
  568. package/lib/assets/docs/article/practical-database-design/part2/chapter04.md +924 -924
  569. package/lib/assets/docs/article/practical-database-design/part2/chapter05.md +1627 -1627
  570. package/lib/assets/docs/article/practical-database-design/part2/chapter06.md +2716 -2716
  571. package/lib/assets/docs/article/practical-database-design/part2/chapter07.md +2082 -2082
  572. package/lib/assets/docs/article/practical-database-design/part2/chapter08.md +2105 -2105
  573. package/lib/assets/docs/article/practical-database-design/part2/chapter09.md +2031 -2031
  574. package/lib/assets/docs/article/practical-database-design/part2/chapter10.md +1387 -1387
  575. package/lib/assets/docs/article/practical-database-design/part2/chapter11.md +1677 -1677
  576. package/lib/assets/docs/article/practical-database-design/part2/chapter12.md +1417 -1417
  577. package/lib/assets/docs/article/practical-database-design/part2/chapter13.md +1434 -1434
  578. package/lib/assets/docs/article/practical-database-design/part3/chapter14.md +667 -667
  579. package/lib/assets/docs/article/practical-database-design/part3/chapter15.md +1625 -1625
  580. package/lib/assets/docs/article/practical-database-design/part3/chapter16.md +1915 -1915
  581. package/lib/assets/docs/article/practical-database-design/part3/chapter17.md +1708 -1708
  582. package/lib/assets/docs/article/practical-database-design/part3/chapter18.md +2095 -2095
  583. package/lib/assets/docs/article/practical-database-design/part3/chapter19.md +1123 -1123
  584. package/lib/assets/docs/article/practical-database-design/part3/chapter20.md +1031 -1031
  585. package/lib/assets/docs/article/practical-database-design/part3/chapter21.md +1382 -1382
  586. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter14-orm.md +991 -991
  587. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter15-orm.md +1300 -1300
  588. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter16-orm.md +1166 -1166
  589. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter17-orm.md +1584 -1584
  590. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter18-orm.md +1183 -1183
  591. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter19-orm.md +1016 -1016
  592. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter20-orm.md +1753 -1753
  593. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter21-orm.md +1447 -1447
  594. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter22-orm.md +1878 -1878
  595. package/lib/assets/docs/article/practical-database-design/part4/chapter22.md +965 -965
  596. package/lib/assets/docs/article/practical-database-design/part4/chapter23.md +2069 -2069
  597. package/lib/assets/docs/article/practical-database-design/part4/chapter24.md +2439 -2439
  598. package/lib/assets/docs/article/practical-database-design/part4/chapter25.md +3661 -3661
  599. package/lib/assets/docs/article/practical-database-design/part4/chapter26.md +2916 -2916
  600. package/lib/assets/docs/article/practical-database-design/part4/chapter27.md +3105 -3105
  601. package/lib/assets/docs/article/practical-database-design/part4/chapter28.md +2697 -2697
  602. package/lib/assets/docs/article/practical-database-design/part4/chapter29.md +2544 -2544
  603. package/lib/assets/docs/article/practical-database-design/part4/chapter30.md +2180 -2180
  604. package/lib/assets/docs/article/practical-database-design/part4/chapter31.md +1192 -1192
  605. package/lib/assets/docs/article/practical-database-design/part4/chapter32.md +2101 -2101
  606. package/lib/assets/docs/article/practical-database-design/part5/chapter33.md +1032 -1032
  607. package/lib/assets/docs/article/practical-database-design/part5/chapter34.md +1609 -1609
  608. package/lib/assets/docs/article/practical-database-design/part5/chapter35.md +1453 -1453
  609. package/lib/assets/docs/article/practical-database-design/part5/chapter36.md +1292 -1292
  610. package/lib/assets/docs/article/practical-database-design/part5/chapter37.md +1470 -1470
  611. package/lib/assets/docs/article/practical-database-design/part5/chapter38.md +1698 -1698
  612. package/lib/assets/docs/article/practical-database-design/part5/chapter39.md +2334 -2334
  613. package/lib/assets/docs/article/practical-database-design/study/study2-1.md +1693 -1693
  614. package/lib/assets/docs/article/practical-database-design/study/study2-2.md +1347 -1347
  615. package/lib/assets/docs/article/practical-database-design/study/study2-3.md +2044 -2044
  616. package/lib/assets/docs/article/practical-database-design/study/study2-4.md +2229 -2229
  617. package/lib/assets/docs/article/practical-database-design/study/study2-5.md +2418 -2418
  618. package/lib/assets/docs/article/practical-database-design/study/study3-1.md +2205 -2205
  619. package/lib/assets/docs/article/practical-database-design/study/study3-2.md +2221 -2221
  620. package/lib/assets/docs/article/practical-database-design/study/study3-3.md +2253 -2253
  621. package/lib/assets/docs/article/practical-database-design/study/study3-4.md +2106 -2106
  622. package/lib/assets/docs/article/practical-database-design/study/study3-5.md +2507 -2507
  623. package/lib/assets/docs/article/practical-database-design/study/study4-1.md +2587 -2587
  624. package/lib/assets/docs/article/practical-database-design/study/study4-2.md +2075 -2075
  625. package/lib/assets/docs/article/practical-database-design/study/study4-3.md +1805 -1805
  626. package/lib/assets/docs/article/practical-database-design/study/study4-4.md +1895 -1895
  627. package/lib/assets/docs/article/practical-database-design/study/study4-5.md +2878 -2878
  628. package/lib/assets/docs/assets/css/extra.css +29 -29
  629. package/lib/assets/docs/assets/js/extra.js +44 -44
  630. package/lib/assets/docs/development/index.md +39 -39
  631. package/lib/assets/docs/operation/index.md +11 -11
  632. 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 +532 -532
  633. package/lib/assets/docs/reference/CodexCLIMCP/343/202/265/343/203/274/343/203/220/343/203/274/350/250/255/345/256/232/346/211/213/351/240/206.md +341 -341
  634. package/lib/assets/docs/reference/Java/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +581 -580
  635. 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 +642 -642
  636. package/lib/assets/docs/reference/TypeScript/343/202/242/343/203/227/343/203/252/343/202/261/343/203/274/343/202/267/343/203/247/343/203/263/347/222/260/345/242/203/346/247/213/347/257/211/343/202/254/343/202/244/343/203/211.md +465 -465
  637. package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +450 -450
  638. package/lib/assets/docs/reference/images/Ansoff.drawio.svg +3 -3
  639. package/lib/assets/docs/reference/images/BrandBasicStrategy.drawio.svg +3 -3
  640. package/lib/assets/docs/reference/images/BrandCategorization.drawio.svg +3 -3
  641. package/lib/assets/docs/reference/images/BrandRecurutementStrategy.drawio.svg +3 -3
  642. package/lib/assets/docs/reference/images/BrandValue.drawio.svg +3 -3
  643. package/lib/assets/docs/reference/images/BusinessActivitiy.svg +3 -3
  644. package/lib/assets/docs/reference/images/HRM.drawio.svg +3 -3
  645. package/lib/assets/docs/reference/images/MarketingStructure.drawio.svg +3 -3
  646. package/lib/assets/docs/reference/images/OrganizationElemnts.svg +3 -3
  647. package/lib/assets/docs/reference/images/PPM.drawio.svg +3 -3
  648. package/lib/assets/docs/reference/images/PositioningMap.drawio.svg +3 -3
  649. package/lib/assets/docs/reference/images/ProductLayer.drawio.svg +3 -3
  650. package/lib/assets/docs/reference/images/ProductMix.drawio.svg +3 -3
  651. package/lib/assets/docs/reference/images/SWOT.drawio.svg +3 -3
  652. package/lib/assets/docs/reference/images/TargetMarket.drawio.svg +3 -3
  653. package/lib/assets/docs/reference/images/ThreeGenericStrategies.drawio.svg +3 -3
  654. package/lib/assets/docs/reference/images/VRIO.drawio.svg +3 -3
  655. package/lib/assets/docs/reference/images/ValueChain.drawio.svg +3 -3
  656. package/lib/assets/docs/reference/index.md +52 -52
  657. package/lib/assets/docs/reference//343/202/210/343/201/204/343/202/275/343/203/225/343/203/210/343/202/246/343/202/247/343/202/242/343/201/250/343/201/257.md +250 -242
  658. package/lib/assets/docs/reference//343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +2216 -2216
  659. package/lib/assets/docs/reference//343/202/244/343/203/263/343/203/225/343/203/251/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +1878 -1878
  660. package/lib/assets/docs/reference//343/202/250/343/202/257/343/202/271/343/203/210/343/203/252/343/203/274/343/203/240/343/203/227/343/203/255/343/202/260/343/203/251/343/203/237/343/203/263/343/202/260.md +550 -544
  661. package/lib/assets/docs/reference//343/202/263/343/203/274/343/203/207/343/202/243/343/203/263/343/202/260/343/201/250/343/203/206/343/202/271/343/203/210/343/202/254/343/202/244/343/203/211.md +705 -705
  662. package/lib/assets/docs/reference//343/203/206/343/202/271/343/203/210/346/210/246/347/225/245/343/202/254/343/202/244/343/203/211.md +1313 -1313
  663. package/lib/assets/docs/reference//343/203/207/343/203/274/343/202/277/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +311 -311
  664. package/lib/assets/docs/reference//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +599 -599
  665. package/lib/assets/docs/reference//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +528 -528
  666. package/lib/assets/docs/reference//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +689 -682
  667. package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/202/254/343/202/244/343/203/211.md +461 -461
  668. package/lib/assets/docs/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/203/273/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/343/202/254/343/202/244/343/203/211.md +580 -560
  669. package/lib/assets/docs/reference//343/203/255/343/202/270/343/202/253/343/203/253/343/202/267/343/203/263/343/202/255/343/203/263/343/202/260.md +1367 -1367
  670. package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +2637 -2636
  671. package/lib/assets/docs/reference//347/222/260/345/242/203/345/244/211/346/225/260/347/256/241/347/220/206/343/202/254/343/202/244/343/203/211.md +665 -663
  672. package/lib/assets/docs/reference//350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1248 -1248
  673. package/lib/assets/docs/reference//350/250/200/350/252/236/345/210/245/351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +28 -0
  674. package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +1482 -1482
  675. package/lib/assets/docs/reference//351/201/213/347/224/250/343/202/271/343/202/257/343/203/252/343/203/227/343/203/210/344/275/234/346/210/220/343/202/254/343/202/244/343/203/211.md +421 -421
  676. package/lib/assets/docs/reference//351/201/213/347/224/250/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +392 -392
  677. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +299 -299
  678. package/lib/assets/docs/reference//351/235/236/346/251/237/350/203/275/350/246/201/344/273/266/345/256/232/347/276/251/343/202/254/343/202/244/343/203/211.md +1236 -1236
  679. package/lib/assets/docs/review/index.md +5 -5
  680. package/lib/assets/docs/strategy/index.md +1 -1
  681. package/lib/assets/docs/template/ADR.md +30 -30
  682. package/lib/assets/docs/template/AWS/343/202/271/343/203/206/343/203/274/343/202/270/343/203/263/343/202/260/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 +1366 -1366
  683. package/lib/assets/docs/template/AWS/343/203/227/343/203/255/343/203/200/343/202/257/343/202/267/343/203/247/343/203/263/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 +634 -634
  684. package/lib/assets/docs/template/README.md +50 -50
  685. package/lib/assets/docs/template/index.md +23 -23
  686. package/lib/assets/docs/template//343/201/276/343/201/232/343/201/223/343/202/214/343/202/222/350/252/255/343/202/202/343/201/206/343/203/252/343/202/271/343/203/210.md +12 -12
  687. package/lib/assets/docs/template//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/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 +547 -547
  688. 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/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +58 -58
  689. package/lib/assets/docs/template//343/202/244/343/203/263/343/202/273/343/203/227/343/202/267/343/203/247/343/203/263/343/203/207/343/203/203/343/202/255.md +13 -13
  690. package/lib/assets/docs/template//343/203/223/343/202/270/343/203/215/343/202/271/343/202/242/343/203/274/343/202/255/343/203/206/343/202/257/343/203/201/343/203/243.md +379 -379
  691. package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +573 -573
  692. package/lib/assets/docs/template//345/256/214/345/205/250/345/275/242/345/274/217/343/201/256/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271.md +69 -68
  693. package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
  694. package/lib/assets/docs/template//350/250/255/350/250/210.md +173 -173
  695. package/lib/assets/docs/template//351/226/213/347/231/272/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 +688 -688
  696. package/lib/assets/gulpfile.js +25 -25
  697. package/lib/assets/mkdocs.yml +136 -135
  698. package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
  699. package/lib/assets/ops/scripts/journal.js +180 -180
  700. package/lib/assets/ops/scripts/mkdocs.js +82 -82
  701. package/lib/assets/ops/scripts/release.js +431 -431
  702. package/lib/assets/ops/scripts/sonar_local.js +726 -726
  703. package/lib/assets/ops/scripts/ssh.js +190 -190
  704. package/lib/assets/ops/scripts/vault.js +299 -299
  705. package/lib/assets/package-lock.json +1653 -1653
  706. package/lib/assets/package.json +40 -40
  707. package/lib/gulpfile.js +37 -37
  708. package/package.json +41 -41
  709. package/lib/assets/.claude/agent-memory/xp-programmer/MEMORY.md +0 -6
  710. package/lib/assets/.claude/agent-memory/xp-programmer/project_cargo_tracker.md +0 -11
  711. package/lib/assets/.claude/agent-memory/xp-programmer/project_ddd_patterns.md +0 -27
  712. package/lib/assets/.claude/agent-memory/xp-programmer/project_us07_route_assignment.md +0 -19
@@ -1,1367 +1,1367 @@
1
- # ロジカルシンキング
2
-
3
- > 達人プログラマーが取り扱う素材は木でも鉄でもありません --- 知識です。
4
- >
5
- > > — 達人プログラマー 熟達に向けたあなたの旅(第2版)
6
-
7
- ```plantuml
8
- @startmindmap
9
-
10
- * ロジカルシンキング
11
- ** ロジカルシンキングとは
12
- *** 論理と「論理的思考」
13
- *** 論理の世界の用語
14
- ****_ アーギュメント
15
- ****_ インファランス
16
- *****_ ディダクティブインファランス
17
- ******_ valid
18
- ******_ invalid
19
- *****_ インダクティブインファランス
20
- ******_ strong
21
- ******_ weak
22
- ****_ リーズニング
23
- *****_ sound
24
- **** 日本語との対応
25
- **** 必要条件・十分条件
26
- *** 「ロジカル(論理的)」とは何か
27
- *** なぜロジカルシンキングが必要か
28
- ** ロジカルシンキングの基本
29
- *** 論理の基本
30
- *** 論理の基本構造
31
- **** 演繹
32
- **** 帰納
33
- ** ロジカルシンキングの方法
34
- *** 演繹
35
- **** 前提を疑ってかかる
36
- **** 仮説をおいて考える
37
- *** 帰納
38
- **** 同質のものを帰納して共通項を見いだす
39
- **** 異質のものを組合わせて帰納する
40
- **** モレな重複なく全てを網羅する
41
- ***** 足し算・引き算で考える
42
- ***** 掛け算で考える
43
- ***** 軸で考える
44
- **** 枠組みで考える
45
- *** 問題解決
46
- **** 規準を作って比較する
47
- **** 枠組みを考える
48
- **** 表を活用する
49
- **** イッシュー・ツリーを展開する
50
- ***** イッシューとは
51
- ***** イッシュー・ツリーの考え方
52
- **** 数学の考え方を援用する
53
-
54
- @endmindmap
55
- ```
56
-
57
- ---
58
-
59
- ## ロジカルシンキングとは
60
-
61
- ```plantuml
62
- @startmindmap
63
-
64
- * ロジカルシンキング
65
- ** ロジカルシンキングとは
66
- *** 論理と「論理的思考」
67
- *** 論理の世界の用語
68
- ****_ アーギュメント
69
- ****_ インファランス
70
- *****_ ディダクティブインファランス
71
- ******_ valid
72
- ******_ invalid
73
- *****_ インダクティブインファランス
74
- ******_ strong
75
- ******_ weak
76
- ****_ リーズニング
77
- *****_ sound
78
- **** 日本語との対応
79
- **** 必要条件・十分条件
80
- *** 「ロジカル(論理的)」とは何か
81
- *** なぜロジカルシンキングが必要か
82
-
83
- @endmindmap
84
- ```
85
-
86
- ### 論理と「論理的思考」
87
-
88
- > 論理的な思考とは、秩序だった思考です。秩序立てて考えねばなりません。考えを示す際にも、秩序だっていなければなりません。思いつくままに書き並べるのではだめです。「理詰めに考えている」ということを示すためには、帰納と同じで、根拠に量がなければなりません。いろいろな角度からの考察も必要です。いろいろな角度から、結論を支えるのです。「いろいろな角度から」の言葉で誤解して「あれこれ余分なものを混ぜる」のはだめです。
89
- >
90
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
91
-
92
- > 高い論理性を身につけるとは、「結論」と「結論を支えるもの」の関係について正確な理解を獲得することなのです。
93
- >
94
- > > 論理思考力を鍛える本 小野田博一
95
-
96
- > 高い論理性とは、結論と前提との関係の理解度が高く、理解している通りにそれを実践の場で使えることなのです。
97
- >
98
- > > 論理思考力を鍛える本 小野田博一
99
-
100
- ---
101
-
102
- ### 論理の世界の用語
103
-
104
- 結論と前提の両方を含んだスティトメント(statement)をアーギュメント(argument)といいます。
105
- 「ロジック」(論理)は、結論と前提を繋ぐ無形のものです。この無形の部分はインファランス(inference)ともいいます。インファランスには2種類のものがあります。ディダクティブ・インファランス(deductive inference)とインダクティブ・インファランス(inductive inference)です。
106
-
107
- 前提から結論を導く思考のことをリーズニング(reasoning)といいます。
108
-
109
- ディダクティブ・インファランスの評価は、valid/invalidで与えられます。validは「論理が正しい」の意味で、invalidは「論理が正しくない」の意味です。
110
-
111
- インダクティブ・インファランスの評価は、strong/weakで与えられます。インダクティブ・インファランスは「たぶんどうだろうか」の推論なので、前提が正しくとも、得られた結論が100%確実に正しいと断言できません。
112
-
113
- 論理が正しいだけでなく、前提も(真実か否かの点から)正しい場合、評価はsoundで与えられます。
114
-
115
- ```plantuml
116
- @startuml
117
-
118
- title 論理の世界の用語
119
-
120
- abstract "statement" as A {
121
- }
122
-
123
- abstract "argument" as B {
124
- + 前提
125
- + 結論
126
- }
127
-
128
- abstract "logic" as C {
129
- + reasoning()
130
- + sound()
131
- }
132
-
133
- interface "deductive_inference" as D {
134
- + valid()
135
- + invalid()
136
- }
137
-
138
- interface "inductive_inference" as E {
139
- + strong()
140
- + weak()
141
- }
142
-
143
- A <|-- B
144
- B <- C
145
- C --|> D
146
- C --|> E
147
-
148
- @enduml
149
- ```
150
-
151
- ---
152
-
153
- #### 日本語との対応
154
-
155
- 1. カモノハシは哺乳類である。したがって、カモノハシは、哺乳類か鳥類である。
156
- 2. 私がこれまでに食べたレモンは、どれもすっぱかった。だからレモンはどれもすっぱいだろう。
157
- 3. メガネをかけている高校生の女の子のうち、90%のメガネは黒縁である。紀子は高校生で、メガネをかけている。だから、それはたぶん黒縁だろう。
158
- 4. 春にピンクのスカートが流行した年の夏に、白い水着が流行した。ことしの春はピンクのTシャツが流行しているから、夏には白い水着が流行するだろう。
159
-
160
- | 番号 | タイプ | 日本語での呼称 |
161
- |:---:|:---:|:---:|
162
- | 1 : deductive inference | 演繹 | 演繹 |
163
- | 2 : inductive inference | 一般化 | 帰納 |
164
- | 3 : inductive inference | 統計的帰納 | 帰納 |
165
- | 4 : inductive inference | 類推 | 帰納 |
166
-
167
- ---
168
-
169
- ### 必要条件・十分条件
170
-
171
- #### 必要条件
172
-
173
- AであるためにはBである必要がある(たとえば、「ペンギンであるためには、鳥である必要がある」)
174
- BであることはAであることの必要条件である(たとえば「鳥であることはペンギンであることの必要条件である」)
175
-
176
- ```plantuml
177
- @startuml
178
- component {
179
- object B
180
- component {
181
- object A
182
- }
183
- }
184
- B --> A : 必要条件
185
- @enduml
186
- ```
187
-
188
- ---
189
-
190
- #### 十分条件
191
-
192
- BであるためにはAであれば十分である(たとえば、「鳥であるためには、ペンギンであれば十分である」)
193
- AであることはBであることの十分条件である(たとえば「ペンギンであることは鳥であることの十分条件である」)
194
-
195
- ```plantuml
196
- @startuml
197
- component {
198
- object B
199
- component {
200
- object A
201
- }
202
- }
203
- B <-- A : 十分条件
204
- @enduml
205
- ```
206
-
207
- ---
208
-
209
- ## 「ロジカル(論理的)」とは何か
210
-
211
- > 「実生活の議論(のうち演繹)では、validであるだけでは十分ではなく、soundでなければならない」ということで、つまり、「前提は真実でなければならない」ということです。
212
- > > 論理思考力を鍛える本 小野田博一
213
-
214
- ---
215
-
216
- ## なぜロジカルシンキングが必要か
217
-
218
- > なぜ論理思考が必要なのか
219
- > 1. 情緒に流されやすい判断や行動を防ぎ、自分の頭で考えて、「正しい結論を導く」ことができること。
220
- > 1. 文化の同一性に頼らず、どの民族にも通用する、「正しいコミュニケーションができること」こと。
221
- > 1. 「発想を助け、課題の検討・解決に役立つ」こと。
222
- >
223
- > > わかる、使える「論理思考」の本
224
- # ロジカルシンキングの基本
225
-
226
- ```plantuml
227
- @startmindmap
228
-
229
- * ロジカルシンキング
230
- ** ロジカルシンキングの基本
231
- *** 論理の基本
232
- *** 論理の基本構造
233
- **** 演繹
234
- **** 帰納
235
-
236
- @endmindmap
237
- ```
238
-
239
- ## 論理の基本
240
-
241
- > 1つのメッセージ(結論)は、必ず2つ以上のサブ・メッセージ(要因)でサポートされてるため、論理は、底辺に行くほど広いピラミッド状に組み上げられる。
242
- >
243
- > わかる、使える「論理思考」の本
244
-
245
- 1. 論理の基本単位は、単語ではなく主語・述語で組み上げるメッセージである。
246
- 1. メッセージを組み上げる基本構造には「演繹」と「帰納」という2つの方法がある。
247
- 1. 上位のメッセージと、それをサポートする下位のサブ・メッセージは、結論と要因、あるいは総合と部分の関係にある(メッセージの上下関係)
248
- 1. 上位のメッセージを支える下位のメッセージは、それらを総合すると、モレや重複がないこと(水平関係)
249
- 1. 全体を支える最下部のメッセージは、事実、またはそれに近い疑いようのないメッセージ(蓋然性の高いメッセージ)であること
250
-
251
- ```plantuml
252
- @startuml
253
-
254
- title 論理の基本
255
-
256
- abstract "メッセージ" as A {
257
- + 主語
258
- + 述語
259
- }
260
-
261
- interface "論理" as B {
262
- + 演繹()
263
- + 帰納()
264
- }
265
-
266
- class "結論" as C {
267
- }
268
-
269
- class "要因" as D {
270
- }
271
-
272
- B <|-- A
273
- A <|- C
274
- A <|- D
275
- C "1" *-- "*" D
276
- D *- D
277
-
278
- @enduml
279
- ```
280
-
281
- ---
282
-
283
- ## 論理の基本構造
284
-
285
- ### 演繹
286
-
287
- Deduction(演繹)は、前提となる正しいメッセージ(一般論)がまずあり、それを個別の事象に適用して、正しい主張・答を引き出す方法で「一般論」から「個別論」へという構造になっている
288
-
289
- ```plantuml
290
- @startuml
291
-
292
- title 論理の基本構造(演繹)
293
-
294
- interface "論理" as A
295
-
296
- class "一般論" as B
297
-
298
- class "個別論" as C
299
-
300
- A <|-- B
301
- A <|-- C
302
- B -> C : 演繹
303
-
304
- @enduml
305
- ```
306
-
307
- ### 帰納
308
-
309
- Induction(帰納)は、たくさんの個別の事象や主張を集めて、より一般的に通用する共通のメッセージを導き出す方法で「個別論」から「一般論」へという構造になっている
310
-
311
- ```plantuml
312
- @startuml
313
-
314
- title 論理の基本構造(帰納)
315
-
316
- interface "論理" as A
317
-
318
- class "一般論" as B
319
-
320
- class "個別論" as C
321
-
322
- class "事象" as D
323
-
324
- class "事実" as E
325
-
326
- A <|-- B
327
- A <|-- C
328
- C -> B : 帰納
329
-
330
- C "1" *-- "*" D
331
-
332
- C "1" *-- "*" E
333
-
334
- @enduml
335
- ```
336
- # ロジカルシンキングの方法
337
-
338
- ```plantuml
339
- @startmindmap
340
-
341
- * ロジカルシンキング
342
- ** ロジカルシンキングの方法
343
- *** 演繹
344
- **** 前提を疑ってかかる
345
- **** 仮説をおいて考える
346
- *** 帰納
347
- **** 同質のものを帰納して共通項を見いだす
348
- **** 異質のものを組合わせて帰納する
349
- **** モレな重複なく全てを網羅する
350
- ***** 足し算・引き算で考える
351
- ***** 掛け算で考える
352
- ***** 軸で考える
353
- **** 枠組みで考える
354
- *** 問題解決
355
- **** 規準を作って比較する
356
- **** 枠組みを考える
357
- **** 表を活用する
358
- **** イッシュー・ツリーを展開する
359
- ***** イッシューとは
360
- ***** イッシュー・ツリーの考え方
361
- **** 数学の考え方を援用する
362
-
363
- @endmindmap
364
- ```
365
-
366
- ---
367
-
368
- ## 演繹
369
-
370
- ### 前提を疑ってかかる
371
-
372
- ```plantuml
373
- @startuml
374
-
375
- title 論理の基本構造(演繹)
376
-
377
- interface "論理" as A
378
-
379
- class "一般論" as B
380
-
381
- class "個別論" as C
382
-
383
- interface "前提" as D {
384
- }
385
-
386
- class "真理" as E
387
-
388
- class "取り決め" as F
389
-
390
- class "その他" as G
391
-
392
-
393
- D <- A
394
- D <|-- E
395
- D <|-- F
396
- D <|-- G
397
- A <|-- B
398
- A <|-- C
399
- B -> C : 演繹
400
-
401
- @enduml
402
- ```
403
-
404
- ---
405
-
406
- ### 仮説をおいて考える
407
-
408
- ```plantuml
409
- @startuml
410
-
411
- title 論理の基本構造(演繹)
412
-
413
- interface "論理" as A
414
-
415
- class "一般論" as B
416
-
417
- class "個別論" as C
418
-
419
- interface "前提" as D
420
-
421
- interface "仮説" as E
422
-
423
- class "仮説A" as F
424
-
425
- class "仮説B" as G
426
-
427
- class "仮説C" as H
428
-
429
- D <- A
430
- E <- D
431
- E <|-- F
432
- E <|-- G
433
- E <|-- H
434
- A <|-- B
435
- A <|-- C
436
- B -> C : 演繹
437
-
438
- @enduml
439
- ```
440
-
441
- ---
442
-
443
- ## 帰納
444
-
445
- ### 同質のものを帰納して共通項を見いだす
446
-
447
- ```plantuml
448
- @startuml
449
-
450
- title 論理の基本構造(帰納)
451
-
452
- interface "論理" as A
453
-
454
- class "一般論" as B
455
-
456
- class "個別論" as C {
457
- 共通項を見出して帰納する()
458
- }
459
-
460
- class "事象" as D
461
-
462
- class "事実" as E
463
-
464
- A <|-- B
465
- A <|-- C
466
- C -> B : 帰納
467
-
468
- C "1" *-- "*" D
469
-
470
- C "1" *-- "*" E
471
-
472
- @enduml
473
- ```
474
-
475
- ---
476
-
477
- ### 異質のものを組合わせて帰納する
478
-
479
- ```plantuml
480
- @startuml
481
-
482
- title 論理の基本構造(帰納)
483
-
484
- interface "論理" as A
485
-
486
- class "一般論" as B
487
-
488
- class "個別論" as C {
489
- 異質ものを組み合わせて帰納する()
490
- }
491
-
492
- class "事象" as D
493
-
494
- class "事実" as E
495
-
496
- A <|-- B
497
- A <|-- C
498
- C -> B : 帰納
499
-
500
- C "1" *-- "*" D
501
-
502
- C "1" *-- "*" E
503
-
504
- @enduml
505
- ```
506
-
507
- ---
508
-
509
- ### モレなく重複なく全てを網羅する
510
-
511
- ```plantuml
512
- @startuml
513
-
514
- title 論理の基本構造(帰納)
515
-
516
- interface "論理" as A
517
-
518
- class "一般論" as B
519
-
520
- class "個別論" as C {
521
- + 足し算・引き算で考える()
522
- + 掛け算で考える()
523
- + 軸で考える()
524
- + 枠組みを工夫する()
525
- }
526
-
527
- class "事象" as D
528
-
529
- class "事実" as E
530
-
531
- class "その他" as F
532
-
533
- A <|-- B
534
- A <|-- C
535
- C -> B : 帰納
536
-
537
- C "1" *-- "*" D
538
- C "1" *-- "*" E
539
- C "0..1" o-- "*" F
540
-
541
- @enduml
542
- ```
543
-
544
- ---
545
-
546
- #### 足し算・引き算で考える
547
-
548
- ```plantuml
549
- @startmindmap
550
- title 足し算・引き算で考える
551
-
552
- * 売上を上げたい
553
- ** A営業所
554
- ** +
555
- ** B営業所
556
- ** +
557
- ** C営業所
558
- ** +
559
- ** ...
560
- ** +
561
- ** Z営業所
562
- ** +
563
- ** その他の売上
564
- *** OEM
565
- *** +
566
- *** 輸出
567
- *** +
568
- *** その他市場機会
569
- @endmindmap
570
- ```
571
-
572
- $$可能な全売上機会 - 現行の各営業所の売上の合計 = その他$$
573
-
574
- ---
575
-
576
- #### 掛け算で考える
577
-
578
- ```plantuml
579
- @startmindmap
580
- title 掛け算で考える
581
-
582
- * 売上を上げたい
583
- ** 店舗数を増やす
584
- ** x
585
- ** 1店舗あたりの売上を増やす
586
- @endmindmap
587
- ```
588
-
589
- $$店舗数 \times 1店舗あたりの売上 = 全体の売上$$
590
-
591
- ---
592
-
593
- #### 軸で考える
594
-
595
- ```plantuml
596
- @startmindmap
597
- title 軸で考える
598
-
599
- * SWOT
600
- -- 強み
601
- -- 弱み
602
- -- 機会
603
- -- 脅威
604
- ** 弱みを克服し脅威を回避する
605
- ** 機会を活用し弱みを克服する
606
- ** 機会を活用し強みを伸ばす
607
- ** 強みを活用し脅威を克服する
608
-
609
- @endmindmap
610
- ```
611
-
612
- ---
613
-
614
- ### 枠組みで考える
615
-
616
- ```plantuml
617
- @startuml
618
-
619
- title 論理の基本構造(帰納)
620
-
621
- interface "論理" as A
622
-
623
- class "一般論" as B
624
-
625
- class "個別論" as C {
626
- + 枠組みで考える()
627
- }
628
-
629
- class "事象" as D
630
-
631
- class "事実" as E
632
-
633
- abstract "枠組み" as F
634
-
635
- class "3C" as G
636
-
637
- class "SWOT" as H
638
-
639
- A <|-- B
640
- A <|-- C
641
- C -> B : 帰納
642
-
643
- C "1" *-- "*" D
644
-
645
- C "1" *-- "*" E
646
-
647
- F <- C
648
- F <|-- G
649
- F <|-- H
650
-
651
- @enduml
652
- ```
653
-
654
- ---
655
-
656
- ## 問題解決
657
-
658
- ### 規準を作って比較する
659
-
660
- ```plantuml
661
- @startuml
662
- object "結論(意思決定)" as A {
663
- ゆえに私はAのリンゴを選択する
664
- }
665
- object "小前提(現状へのあてはめ)" as B {
666
- Aのリンゴが、Bのりんごより
667
- 量の基準に適合する程度が高い
668
- (総合、一般論)
669
- }
670
- object "大前提(私にとっての選択基準)" as C {
671
- 今の私の選択基準としては
672
- 量が質より重要である
673
- }
674
- A <-- B
675
- C -> B
676
-
677
- object "個別論" as B_1 {
678
- Aのリンゴは色つやが
679
- よくないが
680
- 大きい
681
- }
682
- object "個別論" as B_2 {
683
- Bのリンゴは
684
- 色つやは
685
- よいが
686
- 小さい
687
- }
688
-
689
- B <-- B_1
690
- B <-- B_2
691
-
692
- object "小前提(現状)" as C_2 {
693
- 現状、私は腹ペコでたまらない
694
- }
695
- object "大前提(規準の存在)" as C_1 {
696
- 一般にリンゴを
697
- 選ぶ規準としては、
698
- 量(大きさ・重さ)
699
- と質(味・色・におい・形)
700
- の両面が考えられる
701
- }
702
- C <-- C_2
703
- C_1 -> C_2
704
- @enduml
705
- ```
706
-
707
- ---
708
-
709
- ### 枠組みを考える
710
-
711
- ```plantuml
712
- @startuml
713
- start
714
- :選択の規準要件(大きな枠組み)を考える;
715
- :具体的な判断の規準を考える;
716
- :考え方・調べ方を列挙する;
717
- stop
718
- @enduml
719
- ```
720
-
721
- ---
722
-
723
- ```plantuml
724
- @startmindmap
725
- title 志望校を決める枠組み
726
-
727
- * 志望校を決めたい
728
- ** 行けるか
729
- *** 試験に受かるか
730
- **** 偏差値
731
- **** 科目の数
732
- **** 面接の有無
733
- *** 通えるか
734
- **** 通学時間
735
- **** 手段(電車・自転車など)
736
- *** お金は払えるか
737
- **** 経済力
738
- ** 大学受験に有利な勉強ができるか
739
- *** 実績
740
- **** どの大学に何人入ったか
741
- *** 先生の指導の内容
742
- **** 先生の評判
743
- *** 設備やカリキュラム
744
- **** 設備の新旧
745
- **** カリキュラムの種類
746
- *** 強い分野、弱い分野はあるか
747
- **** 理系に強いか
748
- **** 文系に強いか
749
- **** 英語に力を入れているか
750
- ** 高校生活を楽しめるか
751
- *** 同じ中学の友人がたくさん行くか
752
- **** 友人に聞く
753
- **** 先輩の様子を見る
754
- *** 部活は盛んか
755
- **** 学園祭で見る
756
- **** 先輩に聞く
757
- *** サッカー部はあるか
758
- *** 親しい先輩か知人がいるか
759
- **** 事実を見る
760
- *** 共学かどうか
761
- **** 事実を見る
762
- *** 校風や雰囲気が自分と会うか
763
- **** 学園祭で見る
764
- **** 先輩に聞く
765
- **** 先生に聞く
766
-
767
- @endmindmap
768
- ```
769
-
770
- ---
771
-
772
- ### 表を活用する
773
-
774
- | 規準 | 学校A | 学校B | 学校C |
775
- |:---:|:---:|:---:|:---:|
776
- | 通学時間 | 30分 | 45分 | 1時間 |
777
- | 手段 | 電車 | 自転車 | 徒歩 |
778
- | 経済力 | 可能 | 可能 | 難しい |
779
- | 実績 | 〇 | △ | × |
780
- | 先生の評判 | 良い | 普通 | 悪い |
781
- | 設備の新旧 | 新しい | 古い | 新しい |
782
- | カリキュラムの種類 | 理系 | 文系 | 総合 |
783
- | 強い分野 | 理系 | 文系 | 英語 |
784
- | 高校生活 | 楽しい | 普通 | 退屈 |
785
- | 部活 | 盛ん | 普通 | あまりない |
786
- | サッカー部 | あり | なし | あり |
787
- | 共学 | あり | なし | あり |
788
- | 校風 | 自由 | 厳格 | 普通 |
789
- | 総合評価 | ◎ | △ | × |
790
-
791
- ---
792
-
793
- ### イッシュー・ツリーを展開する
794
-
795
- #### イッシューとは
796
-
797
- > 「1つの課題をめぐって、異なる立場から意見が対立する点」のことじゃ。
798
- >
799
- > > わかる。、使える「論理思考」の本 後正武
800
-
801
- > イッシューとはイエスかノーか、なすべきかなさざるべきか、の意見が対立する政治上の問題点のことえある。
802
- >
803
- > > 論理的思考と発想の技術
804
-
805
- > イッシューということばは「対立」に力点をおくよりも、「解決」に力点をおいて用いられ、その解決のための筋道を考えることが、まさにコンサルタントの日常業務となっている。
806
- >
807
- > > 論理的思考と発想の技術
808
-
809
- ---
810
-
811
- #### イッシュー・ツリーの考え方
812
-
813
- > 実は、イッシューは「ロジックの動的展開」であって、構造上の本質はロジックと全く同じものである。
814
- > ただし、ロジックは「あるメッセージ(命題)」を正しく主張するために、最下部の事実からピラミッドの頂点へと積み上げる構造になっているのに対して、イッシューを追求する過程は、逆に争点からはじめて、それを解決するためのより具体的な疑問へと、サブ・イッシューに分解し、ついに事実に突き当たって解決をみるところに違いがある。
815
- > > 論理的思考と発想の技術
816
-
817
- ```plantuml
818
- @startuml
819
-
820
- title ロジック(ボトムアップ)
821
-
822
- class "一般論" as A
823
-
824
- class "個別論" as B
825
-
826
- class "事象" as C
827
-
828
- class "事実" as D
829
-
830
- B -> A : 帰納
831
-
832
- B "1" *-- "*" C
833
-
834
- B "1" *-- "*" D
835
-
836
- class "個別論" as E
837
-
838
- E <-- A : 演繹
839
-
840
- class "一般論" as F
841
-
842
- E -> F : 帰納
843
-
844
- @enduml
845
- ```
846
-
847
- ```plantuml
848
- @startuml
849
-
850
- title イッシュー(トップダウン)
851
-
852
- class "一般論" as A
853
-
854
- class "個別論" as B
855
-
856
- class "事象" as C
857
-
858
- class "事実" as D
859
-
860
- A --> B : 演繹
861
-
862
- B "1" *-- "*" C
863
-
864
- B "1" *-- "*" D
865
-
866
- class "一般論" as E
867
-
868
- B -> E : 帰納
869
-
870
- class "個別論" as F
871
-
872
- class "事実" as G
873
-
874
- E --> F : 演繹
875
-
876
- F "1" *-- "*" G
877
-
878
- @enduml
879
- ```
880
-
881
- ---
882
-
883
- - イッシュー・ツリーはロジックの動的展開であり、 MECE、抽象レベル、事実のサポート等の諸要件は共通である。
884
- - イッシュー・ツリーは、未解決の課題(争点)を合理的に解明し、正しい結論を導くための枠組みであり、最後に事実を求めて初めて結果に結びつく。
885
- - プロジェクトチームを効果的に運用するためには、イッシュー・ツリーが不可欠である。
886
- - イッシュー・ツリーの展開はいろいろあり、巧拙がある。訓練して身につけるほかはない。
887
- - 頭で考えるより、直接観察したりデータを手に取る事によって、より効果的なイッシューの展開が期待できる。
888
-
889
- ```plantuml
890
- @startmindmap
891
- title ラーメン店を開くかどうかのイッシュー・ツリー
892
-
893
- * ラーメン店を開くべきか否か
894
- ** ラーメン店を開いて運営する能力があるか否か(company)
895
- *** 人がいるか
896
- *** お金があるか
897
- *** ラーメンをつくる技術をもっているか
898
- *** 材料や設備は手に入るか
899
- *** ...
900
- *** その他ラーメン店を運営する要件を満たせるか
901
- ** 市場は十分に大きいか(customer)
902
- *** 人口はどれだけか
903
- *** 交通量は十分か
904
- *** ラーメンを外食する人が期待できる構成か
905
- ** 有力な競争相手がいるか否か(competitor)
906
- *** 競合店が近くにあるか
907
- **** ある場所、距離は十分に遠いか
908
- **** 味・店構え・ロケーションなど自分に比べて優位か否か
909
- *** ラーメン以外の外食店があるか、どんな店か
910
- *** (競合がある場合)集客などかえって相乗効果を期待することはできないか
911
- @endmindmap
912
- ```
913
-
914
- ---
915
-
916
- ### 数学の考え方を援用する
917
-
918
- ```plantuml
919
- @startuml
920
- object "売り上げが低下した" as A
921
- object "売上を上げれるか" as B
922
-
923
- A -> B
924
- @enduml
925
- ```
926
-
927
- ---
928
-
929
- #### 足し算・引き算で考える
930
-
931
- ```plantuml
932
- @startmindmap
933
- title 足し算・引き算
934
-
935
- * 地域等で分ける
936
- ** 札幌営業所の売上を上げられるか
937
- ** 仙台営業所の売上を上げられるか
938
- ** 北関東営業所の売上を上げられるか
939
- ** 東京営業所の売上を上げられるか
940
- ** ...
941
- ** その他、売上を上げらる機会はないか
942
- *** 輸出
943
- *** OEM
944
- *** 他チャネル
945
-
946
- @endmindmap
947
- ```
948
-
949
- ---
950
-
951
- #### 掛け算で考える
952
-
953
- ```plantuml
954
- @startmindmap
955
- title 掛け算
956
-
957
-
958
- + x
959
- -- 店舗数
960
- --- 増やせるか
961
- ---- 交通量・ロケーションの特徴
962
- ---- 人口密度・地域需要
963
- ---- 基本エコノミクスの構造など
964
- ++ 1店舗あたりの売上
965
- +++ 客数を増やせるか
966
- ++++ キャンペーン・特売
967
- ++++ 広告・ちらし
968
- ++++ 店構え・その他
969
- +++ x
970
- +++ 客単価を増やせるか
971
- ++++ 品揃え
972
- ++++ レイアウト
973
- ++++ セット販売
974
- ++++ その他
975
-
976
- @endmindmap
977
- ```
978
-
979
- ---
980
-
981
- #### 要素・枠組みで考える
982
-
983
- ```plantuml
984
- @startmindmap
985
- title 要素・枠組み
986
-
987
- * 売上が低下した理由の検討
988
- ** 全国共通の要因はあるか
989
- *** 全国共通の製品・価格・マーケティング施策等の工夫
990
- ** 個店別の要因が大きいか
991
- *** 業績低下の大きい店への個別指導等
992
- ** 季節性の課題が大きいか
993
- *** 冬に売れる商品の開発(冬に低下なら)
994
- ** その他
995
-
996
- @endmindmap
997
- ```
998
- # クリティカルシンキング
999
-
1000
- > 重要な点の最後は、あなたが見聞きするものごとについての批判的な考え方です。
1001
- > Tip 10 見聞きしたものごとを批判的な目で分析すること
1002
- >
1003
- > > 達人プログラマー
1004
-
1005
- ```plantuml
1006
- @startmindmap
1007
-
1008
- * クリティカルシンキング
1009
- ** クリティカルシンキングとは
1010
- *** 批判的に読み、批判的に聞く
1011
- *** クリティカルシンキングとロジカルシンキングの違い
1012
- ** クリティカルシンキングの基本
1013
- *** クリティカルシンキングのポイント
1014
- *** クリティカルシンキングの手順
1015
- *** クリティカルシンキングのコツ
1016
- ** クリティカルシンキングの実践
1017
- *** 「もっともらしさ」
1018
- *** アーギュメントの欠陥
1019
- *** 最も強い反論
1020
- *** 智に働けば角が立つ情に棹させば流される
1021
- *** 説得の基本
1022
- ****_ 論理
1023
- ****_ 感情へのアピール
1024
- ****_ 信頼性
1025
- *** 説得するため5つのステップ
1026
- *** 批判と非難は違う
1027
-
1028
- @endmindmap
1029
- ```
1030
-
1031
- ---
1032
-
1033
- ## クリティカルシンキングとは
1034
-
1035
- ```plantuml
1036
- @startmindmap
1037
-
1038
- * クリティカルシンキング
1039
- ** クリティカルシンキングとは
1040
- *** 批判的に読み、批判的に聞く
1041
- *** クリティカルシンキングとロジカルシンキングの違い
1042
-
1043
- @endmindmap
1044
- ```
1045
-
1046
- ---
1047
-
1048
- ### 批判的に読み、批判的に聞く
1049
-
1050
- > 実生活の場において、読むとき、聞くときに行っている(行うべき)「批判的に読み、批判的に聞く」ための思考を、クリティカル・シンキングと言います。
1051
- > > 論理思考力を鍛える本 小野田博一
1052
-
1053
- > 「実生活の場で、論理が正しいのか、前提は正しいのか、の2点を考える」とは言い換えると、「アーギュメントを鵜呑みにせず、アーギュメントの正しさを自力で考える」ことです。
1054
- > > 論理思考力を鍛える本 小野田博一
1055
-
1056
- ---
1057
-
1058
- ### クリティカルシンキングとロジカルシンキングの違い
1059
-
1060
- > クリティカル・シンキングとロジカル・シンキングの違い
1061
- >
1062
- > 論理的に考えることと批判的に考えることは、基本的に同じで、ただ若干の違いは「クリティカル・シンキングの話題は日常生活のみで、ロジカル・シンキングのほうはそのような限定はない」くらいのものと言ってよいでしょう。
1063
- >
1064
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
1065
-
1066
- ---
1067
-
1068
- ## クリティカルシンキングの基本
1069
-
1070
- ```plantuml
1071
- @startmindmap
1072
-
1073
- * クリティカルシンキング
1074
- ** クリティカルシンキングの基本
1075
- *** クリティカルシンキングのポイント
1076
- *** クリティカルシンキングの手順
1077
- *** クリティカルシンキングのコツ
1078
-
1079
- @endmindmap
1080
- ```
1081
-
1082
- ---
1083
-
1084
- ### クリティカルシンキングのポイント
1085
-
1086
- > なぜクリティカル・シンキングが必要なのかと言えば、それは、読み聞きした内容で「相手のいいように操られないため」「間違った判断を下さないため」です。
1087
- > > 論理思考力を鍛える本 小野田博一
1088
-
1089
- > クリティカル・シンキングのポイントは「むやみに信じないこと」です。つまり「信じるにたる根拠がないかぎり信じるな」です。
1090
- > > 論理思考力を鍛える本 小野田博一
1091
-
1092
- > 「自分自身の判断力を使って判断する」とは、「前提と結論のつながりの正しさや支えかたの強度」を自分自身で判断することで、具体的には、結論が正しく導き出されているか、しっかり支えられているか、および情報そのものの信頼性を考えることです。
1093
- > > 論理思考力を鍛える本 小野田博一
1094
-
1095
- ---
1096
-
1097
- ### クリティカルシンキングの手順
1098
-
1099
- ```plantuml
1100
- @startuml
1101
- start
1102
- :結論を見つけよ;
1103
- :支えている(つもりの)ものを見つけよ;
1104
- :支えているつもりのものの信頼性を判断せよ;
1105
- :支えているつもりのものが十分支えているかー支えている程度の十分さを調べよ;
1106
- if (隠れているアサンプションがある?) then (yes)
1107
- :アサンプションは正しい?;
1108
- endif
1109
- stop
1110
- @enduml
1111
- ```
1112
-
1113
- ---
1114
-
1115
- > このような「当然正しい」と考えられている事柄をー明言されていようといまいとー英語ではアサンプション(assumption)と言います。
1116
- >
1117
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
1118
-
1119
- > 前提から結論を導く思考のことをリーズニング(reasoning)といいます。
1120
- >
1121
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
1122
-
1123
- ```plantuml
1124
- @startuml
1125
-
1126
- title 論理の世界の用語
1127
-
1128
- abstract "statement" as A {
1129
- }
1130
-
1131
- abstract "argument" as B {
1132
- + 前提
1133
- + 結論
1134
- }
1135
-
1136
- abstract "logic" as C {
1137
- + reasoning()
1138
- + sound()
1139
- }
1140
-
1141
- interface "deductive_inference" as D {
1142
- + valid()
1143
- + invalid()
1144
- }
1145
-
1146
- interface "inductive_inference" as E {
1147
- + strong()
1148
- + weak()
1149
- }
1150
-
1151
- abstract "assumption" as F
1152
-
1153
- F -o B
1154
- A <|-- B
1155
- B <- C
1156
- C --|> D
1157
- C --|> E
1158
-
1159
- @enduml
1160
- ```
1161
-
1162
- ---
1163
-
1164
- ### クリティカルシンキングのコツ
1165
-
1166
- 1. 隠れているアサンプションが何かを考えよ
1167
- 1. リーズニングのフォーム(形式)を考えよ
1168
-
1169
- > 日常的には、多くの場合、発言が論理的か否かはアサンプションが正しいか否かにかかっています。
1170
- >
1171
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
1172
-
1173
- ---
1174
-
1175
- ## クリティカルシンキングの実践
1176
-
1177
- ```plantuml
1178
- @startmindmap
1179
-
1180
- * クリティカルシンキング
1181
- ** クリティカルシンキングの実践
1182
- *** 「もっともらしさ」
1183
- *** アーギュメントの欠陥
1184
- *** 最も強い反論
1185
- *** 智に働けば角が立つ情に棹させば流される
1186
- *** 説得の基本
1187
- ****_ 論理
1188
- ****_ 感情へのアピール
1189
- ****_ 信頼性
1190
- *** 説得するため5つのステップ
1191
- *** 批判と非難は違う
1192
-
1193
- @endmindmap
1194
- ```
1195
-
1196
- ---
1197
-
1198
- ### 「もっともらしさ」
1199
-
1200
- > 実生活では、断言できないことがとてもたくさんあります。私たちが話したり書いたりする内容は、ほとんど断言できないことばかりです。そのため、「もっともらしさ」は実生活では大きな役割を果たす事になります。
1201
- > そして、クリティカル・シンキンキングは、「もっともらしさ」をあなた自身が検証する事なのです。
1202
- >
1203
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
1204
-
1205
- #### 議論では、もっともらしさを高めるよう努力せよ
1206
-
1207
- > 人を納得させるのは「真実」ではなく「真実らしさ」(もっともらしさ)です。
1208
- >
1209
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
1210
-
1211
- ---
1212
-
1213
- ### アーギュメントの欠陥
1214
-
1215
- - 早まった一般化
1216
- - 原因・結果の間違い
1217
- - 間違った類比
1218
- - 権威の間違った使用
1219
- - あいまいな表現
1220
- - 立証責任の転嫁
1221
- - 循環論法
1222
- - 聞き手・読み手の感情の利用
1223
- - 個人攻撃
1224
- - 矛盾
1225
- - 一般の意見の使用
1226
- - 統計の悪用(歪めた使用)
1227
-
1228
- ---
1229
-
1230
- ### もっとも強い反論
1231
-
1232
- > もっとも強い反論は、もとの議論のアサンプションをアタックする議論です。
1233
- >
1234
- > — 論理的に考える方法 小野田博一(著)日本実業出版社
1235
-
1236
- ---
1237
-
1238
- ### 批判と非難は違う
1239
-
1240
- > 人を非難したり、煽ったりするのは、後々、自分に返ってくるのでやめましょう。面と向かって言わないようなことを、オンラインで表現してはいけません。
1241
- >
1242
- > — 達人プログラマー 熟達に向けたあなたの旅(第2版)
1243
-
1244
- ---
1245
-
1246
- ### 智に働けば角が立つ情に棹させば流される
1247
-
1248
- ---
1249
-
1250
- ### 説得の基本
1251
-
1252
- > 説得に必要な要素は三つあります。それは
1253
- > 1. 論理
1254
- > 2. 感情へのアピール
1255
- > 3. 信頼性
1256
- >
1257
- > の三つです。
1258
- > 説得をする際に重要となるのは、「説得は一方的に行うものではない。つまり、説得ではコミュニケーションに双方向性がなけらならない」という点です。
1259
- >
1260
- > 説得とは、人に影響を与えるという目的を持ったコミュニケーションのプロセス」と言うことができます。
1261
- >
1262
- > 論理的に説得する方法
1263
-
1264
- ---
1265
-
1266
- ### 説得するための5つのステップ
1267
-
1268
- - ステップ1 目標を設定する
1269
- - ステップ2 聞き手を分析する
1270
- - ステップ3 あなたの信頼性を高める
1271
- - ステップ4 説得のメッセージをつくる
1272
- - ステップ5 メッセージを聞き手に合わせる
1273
-
1274
- ---
1275
-
1276
- ### 説得力のある主張をするための究極のコツ
1277
-
1278
- - 「私」を登場させるな。「あなた」が主役。
1279
- - 「説得力のコンテスト」と考えよ。
1280
- - 審査員であろうとするな。
1281
- - 司会者であろうとするな。
1282
- - 批判せよ。非難するな。
1283
- - 肝心なことを述べよ。余分なことを述べるな。
1284
- - 力むな。
1285
- - 十分に説明せよ。
1286
- - 感想を述べるな。
1287
- # まとめ
1288
-
1289
- ```plantuml
1290
- @startuml
1291
-
1292
- object "結論" as A {
1293
- 論理的思考の実践である
1294
- ロジカル・クリティカルシンキングは
1295
- 実践プログラマの基本スキルである
1296
- }
1297
- object "小前提" as B {
1298
- 論理的思考は習得可能なスキルであり
1299
- 論理的思考は知識を扱うプログラマにとって
1300
- キャリアの始まりから終わりまで
1301
- あらゆる局面で役に立つ。
1302
- }
1303
- object "大前提" as C {
1304
- 論理的思考を身に着けることで
1305
- 「正しい結論を導くことができる」こと。
1306
- 「正しいコミュニケーションができること」こと。
1307
- 「発想を助け、課題の検討・解決に役立つ」こと。
1308
- ができるようになる。
1309
- }
1310
- A <-- B
1311
- C -> B
1312
-
1313
- object "個別論" as B_1 {
1314
- 達人プログラマーが取り扱う
1315
- 素材は木でも鉄でもありません
1316
- --- 知識です。
1317
- }
1318
- object "個別論" as B_2 {
1319
- 重要な点の最後は、
1320
- あなたが見聞きするものごとについての
1321
- 批判的な考え方です。
1322
- }
1323
- object "個別論" as B_3 {
1324
- 1つのメッセージ(結論)は、
1325
- 必ず2つ以上のサブ・メッセージ(要因)
1326
- でサポートされてるため、
1327
- 論理は、底辺に行くほど
1328
- 広いピラミッド状に組み上げられる。
1329
- }
1330
- object "個別論" as B_4 {
1331
- Deduction(演繹)は、前提となる
1332
- 正しいメッセージ(一般論)
1333
- がまずあり、それを個別の事象に適用して、
1334
- 正しい主張・答を引き出す方法で
1335
- 「一般論」から「個別論」へという
1336
- 構造になっている
1337
- }
1338
- object "個別論" as B_5 {
1339
- Induction(帰納)は、たくさんの
1340
- 個別の事象や主張を集めて、
1341
- より一般的に通用する共通の
1342
- メッセージを導き出す方法で
1343
- 「個別論」から「一般論」へ
1344
- という構造になっている
1345
- }
1346
-
1347
- B <-- B_1
1348
- B <-- B_2
1349
- B <-- B_3
1350
- B <-- B_4
1351
- B <-- B_5
1352
-
1353
- @enduml
1354
- ```
1355
- # 参考文献
1356
-
1357
- - [わかる、使える「論理思考」の本 日本一わかりやすい授業、開講!](https://www.amazon.co.jp/%E3%82%8F%E3%81%8B%E3%82%8B%E3%80%81%E4%BD%BF%E3%81%88%E3%82%8B%E3%80%8C%E8%AB%96%E7%90%86%E6%80%9D%E8%80%83%E3%80%8D%E3%81%AE%E6%9C%AC-%E6%97%A5%E6%9C%AC%E4%B8%80%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%84%E6%8E%88%E6%A5%AD%E3%80%81%E9%96%8B%E8%AC%9B%EF%BC%81-%E5%BE%8C-%E6%AD%A3%E6%AD%A6-ebook/dp/B08R37L3YW/)
1358
-
1359
- - [経営参謀が明かす論理思考と発想の技術](https://www.amazon.co.jp/%E7%B5%8C%E5%96%B6%E5%8F%82%E8%AC%80%E3%81%8C%E6%98%8E%E3%81%8B%E3%81%99%E8%AB%96%E7%90%86%E6%80%9D%E8%80%83%E3%81%A8%E7%99%BA%E6%83%B3%E3%81%AE%E6%8A%80%E8%A1%93-%E7%9F%A5%E5%8A%9B%E3%82%A2%E3%83%83%E3%83%97%E8%AC%9B%E5%BA%A7-%E5%BE%8C-%E6%AD%A3%E6%AD%A6/dp/4833416646/)
1360
-
1361
- - [論理的に考える方法: 判断力がアップし本質への筋道が読める](https://www.amazon.co.jp/%E8%AB%96%E7%90%86%E7%9A%84%E3%81%AB%E8%80%83%E3%81%88%E3%82%8B%E6%96%B9%E6%B3%95%E2%80%95%E5%88%A4%E6%96%AD%E5%8A%9B%E3%81%8C%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E6%9C%AC%E8%B3%AA%E3%81%B8%E3%81%AE%E7%AD%8B%E9%81%93%E3%81%8C%E8%AA%AD%E3%82%81%E3%82%8B-%E5%B0%8F%E9%87%8E%E7%94%B0-%E5%8D%9A%E4%B8%80/dp/4534028075)
1362
-
1363
- - [論理思考力を鍛える本: 問題演習](https://www.amazon.co.jp/%E8%AB%96%E7%90%86%E6%80%9D%E8%80%83%E5%8A%9B%E3%82%92%E9%8D%9B%E3%81%88%E3%82%8B%E6%9C%AC%E2%80%95%E5%95%8F%E9%A1%8C%E6%BC%94%E7%BF%92-%E5%B0%8F%E9%87%8E%E7%94%B0-%E5%8D%9A%E4%B8%80/dp/4534034504)
1364
-
1365
- - [論理的に説得する方法: 納得させてYESを引き出す](https://www.amazon.co.jp/%E8%AB%96%E7%90%86%E7%9A%84%E3%81%AB%E8%AA%AC%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E2%80%95%E7%B4%8D%E5%BE%97%E3%81%95%E3%81%9B%E3%81%A6YES%E3%82%92%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%99-%E5%B0%8F%E9%87%8E%E7%94%B0-%E5%8D%9A%E4%B8%80/dp/4534029934)
1366
-
1367
- - [達人プログラマー(第2版): 熟達に向けたあなたの旅](https://www.amazon.co.jp/%E9%81%94%E4%BA%BA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-%E7%AC%AC2%E7%89%88-%E7%86%9F%E9%81%94%E3%81%AB%E5%90%91%E3%81%91%E3%81%9F%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E6%97%85-David-Thomas/dp/4274226298/)
1
+ # ロジカルシンキング
2
+
3
+ > 達人プログラマーが取り扱う素材は木でも鉄でもありません --- 知識です。
4
+ >
5
+ > > — 達人プログラマー 熟達に向けたあなたの旅(第2版)
6
+
7
+ ```plantuml
8
+ @startmindmap
9
+
10
+ * ロジカルシンキング
11
+ ** ロジカルシンキングとは
12
+ *** 論理と「論理的思考」
13
+ *** 論理の世界の用語
14
+ ****_ アーギュメント
15
+ ****_ インファランス
16
+ *****_ ディダクティブインファランス
17
+ ******_ valid
18
+ ******_ invalid
19
+ *****_ インダクティブインファランス
20
+ ******_ strong
21
+ ******_ weak
22
+ ****_ リーズニング
23
+ *****_ sound
24
+ **** 日本語との対応
25
+ **** 必要条件・十分条件
26
+ *** 「ロジカル(論理的)」とは何か
27
+ *** なぜロジカルシンキングが必要か
28
+ ** ロジカルシンキングの基本
29
+ *** 論理の基本
30
+ *** 論理の基本構造
31
+ **** 演繹
32
+ **** 帰納
33
+ ** ロジカルシンキングの方法
34
+ *** 演繹
35
+ **** 前提を疑ってかかる
36
+ **** 仮説をおいて考える
37
+ *** 帰納
38
+ **** 同質のものを帰納して共通項を見いだす
39
+ **** 異質のものを組合わせて帰納する
40
+ **** モレな重複なく全てを網羅する
41
+ ***** 足し算・引き算で考える
42
+ ***** 掛け算で考える
43
+ ***** 軸で考える
44
+ **** 枠組みで考える
45
+ *** 問題解決
46
+ **** 規準を作って比較する
47
+ **** 枠組みを考える
48
+ **** 表を活用する
49
+ **** イッシュー・ツリーを展開する
50
+ ***** イッシューとは
51
+ ***** イッシュー・ツリーの考え方
52
+ **** 数学の考え方を援用する
53
+
54
+ @endmindmap
55
+ ```
56
+
57
+ ---
58
+
59
+ ## ロジカルシンキングとは
60
+
61
+ ```plantuml
62
+ @startmindmap
63
+
64
+ * ロジカルシンキング
65
+ ** ロジカルシンキングとは
66
+ *** 論理と「論理的思考」
67
+ *** 論理の世界の用語
68
+ ****_ アーギュメント
69
+ ****_ インファランス
70
+ *****_ ディダクティブインファランス
71
+ ******_ valid
72
+ ******_ invalid
73
+ *****_ インダクティブインファランス
74
+ ******_ strong
75
+ ******_ weak
76
+ ****_ リーズニング
77
+ *****_ sound
78
+ **** 日本語との対応
79
+ **** 必要条件・十分条件
80
+ *** 「ロジカル(論理的)」とは何か
81
+ *** なぜロジカルシンキングが必要か
82
+
83
+ @endmindmap
84
+ ```
85
+
86
+ ### 論理と「論理的思考」
87
+
88
+ > 論理的な思考とは、秩序だった思考です。秩序立てて考えねばなりません。考えを示す際にも、秩序だっていなければなりません。思いつくままに書き並べるのではだめです。「理詰めに考えている」ということを示すためには、帰納と同じで、根拠に量がなければなりません。いろいろな角度からの考察も必要です。いろいろな角度から、結論を支えるのです。「いろいろな角度から」の言葉で誤解して「あれこれ余分なものを混ぜる」のはだめです。
89
+ >
90
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
91
+
92
+ > 高い論理性を身につけるとは、「結論」と「結論を支えるもの」の関係について正確な理解を獲得することなのです。
93
+ >
94
+ > > 論理思考力を鍛える本 小野田博一
95
+
96
+ > 高い論理性とは、結論と前提との関係の理解度が高く、理解している通りにそれを実践の場で使えることなのです。
97
+ >
98
+ > > 論理思考力を鍛える本 小野田博一
99
+
100
+ ---
101
+
102
+ ### 論理の世界の用語
103
+
104
+ 結論と前提の両方を含んだスティトメント(statement)をアーギュメント(argument)といいます。
105
+ 「ロジック」(論理)は、結論と前提を繋ぐ無形のものです。この無形の部分はインファランス(inference)ともいいます。インファランスには2種類のものがあります。ディダクティブ・インファランス(deductive inference)とインダクティブ・インファランス(inductive inference)です。
106
+
107
+ 前提から結論を導く思考のことをリーズニング(reasoning)といいます。
108
+
109
+ ディダクティブ・インファランスの評価は、valid/invalidで与えられます。validは「論理が正しい」の意味で、invalidは「論理が正しくない」の意味です。
110
+
111
+ インダクティブ・インファランスの評価は、strong/weakで与えられます。インダクティブ・インファランスは「たぶんどうだろうか」の推論なので、前提が正しくとも、得られた結論が100%確実に正しいと断言できません。
112
+
113
+ 論理が正しいだけでなく、前提も(真実か否かの点から)正しい場合、評価はsoundで与えられます。
114
+
115
+ ```plantuml
116
+ @startuml
117
+
118
+ title 論理の世界の用語
119
+
120
+ abstract "statement" as A {
121
+ }
122
+
123
+ abstract "argument" as B {
124
+ + 前提
125
+ + 結論
126
+ }
127
+
128
+ abstract "logic" as C {
129
+ + reasoning()
130
+ + sound()
131
+ }
132
+
133
+ interface "deductive_inference" as D {
134
+ + valid()
135
+ + invalid()
136
+ }
137
+
138
+ interface "inductive_inference" as E {
139
+ + strong()
140
+ + weak()
141
+ }
142
+
143
+ A <|-- B
144
+ B <- C
145
+ C --|> D
146
+ C --|> E
147
+
148
+ @enduml
149
+ ```
150
+
151
+ ---
152
+
153
+ #### 日本語との対応
154
+
155
+ 1. カモノハシは哺乳類である。したがって、カモノハシは、哺乳類か鳥類である。
156
+ 2. 私がこれまでに食べたレモンは、どれもすっぱかった。だからレモンはどれもすっぱいだろう。
157
+ 3. メガネをかけている高校生の女の子のうち、90%のメガネは黒縁である。紀子は高校生で、メガネをかけている。だから、それはたぶん黒縁だろう。
158
+ 4. 春にピンクのスカートが流行した年の夏に、白い水着が流行した。ことしの春はピンクのTシャツが流行しているから、夏には白い水着が流行するだろう。
159
+
160
+ | 番号 | タイプ | 日本語での呼称 |
161
+ |:---:|:---:|:---:|
162
+ | 1 : deductive inference | 演繹 | 演繹 |
163
+ | 2 : inductive inference | 一般化 | 帰納 |
164
+ | 3 : inductive inference | 統計的帰納 | 帰納 |
165
+ | 4 : inductive inference | 類推 | 帰納 |
166
+
167
+ ---
168
+
169
+ ### 必要条件・十分条件
170
+
171
+ #### 必要条件
172
+
173
+ AであるためにはBである必要がある(たとえば、「ペンギンであるためには、鳥である必要がある」)
174
+ BであることはAであることの必要条件である(たとえば「鳥であることはペンギンであることの必要条件である」)
175
+
176
+ ```plantuml
177
+ @startuml
178
+ component {
179
+ object B
180
+ component {
181
+ object A
182
+ }
183
+ }
184
+ B --> A : 必要条件
185
+ @enduml
186
+ ```
187
+
188
+ ---
189
+
190
+ #### 十分条件
191
+
192
+ BであるためにはAであれば十分である(たとえば、「鳥であるためには、ペンギンであれば十分である」)
193
+ AであることはBであることの十分条件である(たとえば「ペンギンであることは鳥であることの十分条件である」)
194
+
195
+ ```plantuml
196
+ @startuml
197
+ component {
198
+ object B
199
+ component {
200
+ object A
201
+ }
202
+ }
203
+ B <-- A : 十分条件
204
+ @enduml
205
+ ```
206
+
207
+ ---
208
+
209
+ ## 「ロジカル(論理的)」とは何か
210
+
211
+ > 「実生活の議論(のうち演繹)では、validであるだけでは十分ではなく、soundでなければならない」ということで、つまり、「前提は真実でなければならない」ということです。
212
+ > > 論理思考力を鍛える本 小野田博一
213
+
214
+ ---
215
+
216
+ ## なぜロジカルシンキングが必要か
217
+
218
+ > なぜ論理思考が必要なのか
219
+ > 1. 情緒に流されやすい判断や行動を防ぎ、自分の頭で考えて、「正しい結論を導く」ことができること。
220
+ > 1. 文化の同一性に頼らず、どの民族にも通用する、「正しいコミュニケーションができること」こと。
221
+ > 1. 「発想を助け、課題の検討・解決に役立つ」こと。
222
+ >
223
+ > > わかる、使える「論理思考」の本
224
+ # ロジカルシンキングの基本
225
+
226
+ ```plantuml
227
+ @startmindmap
228
+
229
+ * ロジカルシンキング
230
+ ** ロジカルシンキングの基本
231
+ *** 論理の基本
232
+ *** 論理の基本構造
233
+ **** 演繹
234
+ **** 帰納
235
+
236
+ @endmindmap
237
+ ```
238
+
239
+ ## 論理の基本
240
+
241
+ > 1つのメッセージ(結論)は、必ず2つ以上のサブ・メッセージ(要因)でサポートされてるため、論理は、底辺に行くほど広いピラミッド状に組み上げられる。
242
+ >
243
+ > わかる、使える「論理思考」の本
244
+
245
+ 1. 論理の基本単位は、単語ではなく主語・述語で組み上げるメッセージである。
246
+ 1. メッセージを組み上げる基本構造には「演繹」と「帰納」という2つの方法がある。
247
+ 1. 上位のメッセージと、それをサポートする下位のサブ・メッセージは、結論と要因、あるいは総合と部分の関係にある(メッセージの上下関係)
248
+ 1. 上位のメッセージを支える下位のメッセージは、それらを総合すると、モレや重複がないこと(水平関係)
249
+ 1. 全体を支える最下部のメッセージは、事実、またはそれに近い疑いようのないメッセージ(蓋然性の高いメッセージ)であること
250
+
251
+ ```plantuml
252
+ @startuml
253
+
254
+ title 論理の基本
255
+
256
+ abstract "メッセージ" as A {
257
+ + 主語
258
+ + 述語
259
+ }
260
+
261
+ interface "論理" as B {
262
+ + 演繹()
263
+ + 帰納()
264
+ }
265
+
266
+ class "結論" as C {
267
+ }
268
+
269
+ class "要因" as D {
270
+ }
271
+
272
+ B <|-- A
273
+ A <|- C
274
+ A <|- D
275
+ C "1" *-- "*" D
276
+ D *- D
277
+
278
+ @enduml
279
+ ```
280
+
281
+ ---
282
+
283
+ ## 論理の基本構造
284
+
285
+ ### 演繹
286
+
287
+ Deduction(演繹)は、前提となる正しいメッセージ(一般論)がまずあり、それを個別の事象に適用して、正しい主張・答を引き出す方法で「一般論」から「個別論」へという構造になっている
288
+
289
+ ```plantuml
290
+ @startuml
291
+
292
+ title 論理の基本構造(演繹)
293
+
294
+ interface "論理" as A
295
+
296
+ class "一般論" as B
297
+
298
+ class "個別論" as C
299
+
300
+ A <|-- B
301
+ A <|-- C
302
+ B -> C : 演繹
303
+
304
+ @enduml
305
+ ```
306
+
307
+ ### 帰納
308
+
309
+ Induction(帰納)は、たくさんの個別の事象や主張を集めて、より一般的に通用する共通のメッセージを導き出す方法で「個別論」から「一般論」へという構造になっている
310
+
311
+ ```plantuml
312
+ @startuml
313
+
314
+ title 論理の基本構造(帰納)
315
+
316
+ interface "論理" as A
317
+
318
+ class "一般論" as B
319
+
320
+ class "個別論" as C
321
+
322
+ class "事象" as D
323
+
324
+ class "事実" as E
325
+
326
+ A <|-- B
327
+ A <|-- C
328
+ C -> B : 帰納
329
+
330
+ C "1" *-- "*" D
331
+
332
+ C "1" *-- "*" E
333
+
334
+ @enduml
335
+ ```
336
+ # ロジカルシンキングの方法
337
+
338
+ ```plantuml
339
+ @startmindmap
340
+
341
+ * ロジカルシンキング
342
+ ** ロジカルシンキングの方法
343
+ *** 演繹
344
+ **** 前提を疑ってかかる
345
+ **** 仮説をおいて考える
346
+ *** 帰納
347
+ **** 同質のものを帰納して共通項を見いだす
348
+ **** 異質のものを組合わせて帰納する
349
+ **** モレな重複なく全てを網羅する
350
+ ***** 足し算・引き算で考える
351
+ ***** 掛け算で考える
352
+ ***** 軸で考える
353
+ **** 枠組みで考える
354
+ *** 問題解決
355
+ **** 規準を作って比較する
356
+ **** 枠組みを考える
357
+ **** 表を活用する
358
+ **** イッシュー・ツリーを展開する
359
+ ***** イッシューとは
360
+ ***** イッシュー・ツリーの考え方
361
+ **** 数学の考え方を援用する
362
+
363
+ @endmindmap
364
+ ```
365
+
366
+ ---
367
+
368
+ ## 演繹
369
+
370
+ ### 前提を疑ってかかる
371
+
372
+ ```plantuml
373
+ @startuml
374
+
375
+ title 論理の基本構造(演繹)
376
+
377
+ interface "論理" as A
378
+
379
+ class "一般論" as B
380
+
381
+ class "個別論" as C
382
+
383
+ interface "前提" as D {
384
+ }
385
+
386
+ class "真理" as E
387
+
388
+ class "取り決め" as F
389
+
390
+ class "その他" as G
391
+
392
+
393
+ D <- A
394
+ D <|-- E
395
+ D <|-- F
396
+ D <|-- G
397
+ A <|-- B
398
+ A <|-- C
399
+ B -> C : 演繹
400
+
401
+ @enduml
402
+ ```
403
+
404
+ ---
405
+
406
+ ### 仮説をおいて考える
407
+
408
+ ```plantuml
409
+ @startuml
410
+
411
+ title 論理の基本構造(演繹)
412
+
413
+ interface "論理" as A
414
+
415
+ class "一般論" as B
416
+
417
+ class "個別論" as C
418
+
419
+ interface "前提" as D
420
+
421
+ interface "仮説" as E
422
+
423
+ class "仮説A" as F
424
+
425
+ class "仮説B" as G
426
+
427
+ class "仮説C" as H
428
+
429
+ D <- A
430
+ E <- D
431
+ E <|-- F
432
+ E <|-- G
433
+ E <|-- H
434
+ A <|-- B
435
+ A <|-- C
436
+ B -> C : 演繹
437
+
438
+ @enduml
439
+ ```
440
+
441
+ ---
442
+
443
+ ## 帰納
444
+
445
+ ### 同質のものを帰納して共通項を見いだす
446
+
447
+ ```plantuml
448
+ @startuml
449
+
450
+ title 論理の基本構造(帰納)
451
+
452
+ interface "論理" as A
453
+
454
+ class "一般論" as B
455
+
456
+ class "個別論" as C {
457
+ 共通項を見出して帰納する()
458
+ }
459
+
460
+ class "事象" as D
461
+
462
+ class "事実" as E
463
+
464
+ A <|-- B
465
+ A <|-- C
466
+ C -> B : 帰納
467
+
468
+ C "1" *-- "*" D
469
+
470
+ C "1" *-- "*" E
471
+
472
+ @enduml
473
+ ```
474
+
475
+ ---
476
+
477
+ ### 異質のものを組合わせて帰納する
478
+
479
+ ```plantuml
480
+ @startuml
481
+
482
+ title 論理の基本構造(帰納)
483
+
484
+ interface "論理" as A
485
+
486
+ class "一般論" as B
487
+
488
+ class "個別論" as C {
489
+ 異質ものを組み合わせて帰納する()
490
+ }
491
+
492
+ class "事象" as D
493
+
494
+ class "事実" as E
495
+
496
+ A <|-- B
497
+ A <|-- C
498
+ C -> B : 帰納
499
+
500
+ C "1" *-- "*" D
501
+
502
+ C "1" *-- "*" E
503
+
504
+ @enduml
505
+ ```
506
+
507
+ ---
508
+
509
+ ### モレなく重複なく全てを網羅する
510
+
511
+ ```plantuml
512
+ @startuml
513
+
514
+ title 論理の基本構造(帰納)
515
+
516
+ interface "論理" as A
517
+
518
+ class "一般論" as B
519
+
520
+ class "個別論" as C {
521
+ + 足し算・引き算で考える()
522
+ + 掛け算で考える()
523
+ + 軸で考える()
524
+ + 枠組みを工夫する()
525
+ }
526
+
527
+ class "事象" as D
528
+
529
+ class "事実" as E
530
+
531
+ class "その他" as F
532
+
533
+ A <|-- B
534
+ A <|-- C
535
+ C -> B : 帰納
536
+
537
+ C "1" *-- "*" D
538
+ C "1" *-- "*" E
539
+ C "0..1" o-- "*" F
540
+
541
+ @enduml
542
+ ```
543
+
544
+ ---
545
+
546
+ #### 足し算・引き算で考える
547
+
548
+ ```plantuml
549
+ @startmindmap
550
+ title 足し算・引き算で考える
551
+
552
+ * 売上を上げたい
553
+ ** A営業所
554
+ ** +
555
+ ** B営業所
556
+ ** +
557
+ ** C営業所
558
+ ** +
559
+ ** ...
560
+ ** +
561
+ ** Z営業所
562
+ ** +
563
+ ** その他の売上
564
+ *** OEM
565
+ *** +
566
+ *** 輸出
567
+ *** +
568
+ *** その他市場機会
569
+ @endmindmap
570
+ ```
571
+
572
+ $$可能な全売上機会 - 現行の各営業所の売上の合計 = その他$$
573
+
574
+ ---
575
+
576
+ #### 掛け算で考える
577
+
578
+ ```plantuml
579
+ @startmindmap
580
+ title 掛け算で考える
581
+
582
+ * 売上を上げたい
583
+ ** 店舗数を増やす
584
+ ** x
585
+ ** 1店舗あたりの売上を増やす
586
+ @endmindmap
587
+ ```
588
+
589
+ $$店舗数 \times 1店舗あたりの売上 = 全体の売上$$
590
+
591
+ ---
592
+
593
+ #### 軸で考える
594
+
595
+ ```plantuml
596
+ @startmindmap
597
+ title 軸で考える
598
+
599
+ * SWOT
600
+ -- 強み
601
+ -- 弱み
602
+ -- 機会
603
+ -- 脅威
604
+ ** 弱みを克服し脅威を回避する
605
+ ** 機会を活用し弱みを克服する
606
+ ** 機会を活用し強みを伸ばす
607
+ ** 強みを活用し脅威を克服する
608
+
609
+ @endmindmap
610
+ ```
611
+
612
+ ---
613
+
614
+ ### 枠組みで考える
615
+
616
+ ```plantuml
617
+ @startuml
618
+
619
+ title 論理の基本構造(帰納)
620
+
621
+ interface "論理" as A
622
+
623
+ class "一般論" as B
624
+
625
+ class "個別論" as C {
626
+ + 枠組みで考える()
627
+ }
628
+
629
+ class "事象" as D
630
+
631
+ class "事実" as E
632
+
633
+ abstract "枠組み" as F
634
+
635
+ class "3C" as G
636
+
637
+ class "SWOT" as H
638
+
639
+ A <|-- B
640
+ A <|-- C
641
+ C -> B : 帰納
642
+
643
+ C "1" *-- "*" D
644
+
645
+ C "1" *-- "*" E
646
+
647
+ F <- C
648
+ F <|-- G
649
+ F <|-- H
650
+
651
+ @enduml
652
+ ```
653
+
654
+ ---
655
+
656
+ ## 問題解決
657
+
658
+ ### 規準を作って比較する
659
+
660
+ ```plantuml
661
+ @startuml
662
+ object "結論(意思決定)" as A {
663
+ ゆえに私はAのリンゴを選択する
664
+ }
665
+ object "小前提(現状へのあてはめ)" as B {
666
+ Aのリンゴが、Bのりんごより
667
+ 量の基準に適合する程度が高い
668
+ (総合、一般論)
669
+ }
670
+ object "大前提(私にとっての選択基準)" as C {
671
+ 今の私の選択基準としては
672
+ 量が質より重要である
673
+ }
674
+ A <-- B
675
+ C -> B
676
+
677
+ object "個別論" as B_1 {
678
+ Aのリンゴは色つやが
679
+ よくないが
680
+ 大きい
681
+ }
682
+ object "個別論" as B_2 {
683
+ Bのリンゴは
684
+ 色つやは
685
+ よいが
686
+ 小さい
687
+ }
688
+
689
+ B <-- B_1
690
+ B <-- B_2
691
+
692
+ object "小前提(現状)" as C_2 {
693
+ 現状、私は腹ペコでたまらない
694
+ }
695
+ object "大前提(規準の存在)" as C_1 {
696
+ 一般にリンゴを
697
+ 選ぶ規準としては、
698
+ 量(大きさ・重さ)
699
+ と質(味・色・におい・形)
700
+ の両面が考えられる
701
+ }
702
+ C <-- C_2
703
+ C_1 -> C_2
704
+ @enduml
705
+ ```
706
+
707
+ ---
708
+
709
+ ### 枠組みを考える
710
+
711
+ ```plantuml
712
+ @startuml
713
+ start
714
+ :選択の規準要件(大きな枠組み)を考える;
715
+ :具体的な判断の規準を考える;
716
+ :考え方・調べ方を列挙する;
717
+ stop
718
+ @enduml
719
+ ```
720
+
721
+ ---
722
+
723
+ ```plantuml
724
+ @startmindmap
725
+ title 志望校を決める枠組み
726
+
727
+ * 志望校を決めたい
728
+ ** 行けるか
729
+ *** 試験に受かるか
730
+ **** 偏差値
731
+ **** 科目の数
732
+ **** 面接の有無
733
+ *** 通えるか
734
+ **** 通学時間
735
+ **** 手段(電車・自転車など)
736
+ *** お金は払えるか
737
+ **** 経済力
738
+ ** 大学受験に有利な勉強ができるか
739
+ *** 実績
740
+ **** どの大学に何人入ったか
741
+ *** 先生の指導の内容
742
+ **** 先生の評判
743
+ *** 設備やカリキュラム
744
+ **** 設備の新旧
745
+ **** カリキュラムの種類
746
+ *** 強い分野、弱い分野はあるか
747
+ **** 理系に強いか
748
+ **** 文系に強いか
749
+ **** 英語に力を入れているか
750
+ ** 高校生活を楽しめるか
751
+ *** 同じ中学の友人がたくさん行くか
752
+ **** 友人に聞く
753
+ **** 先輩の様子を見る
754
+ *** 部活は盛んか
755
+ **** 学園祭で見る
756
+ **** 先輩に聞く
757
+ *** サッカー部はあるか
758
+ *** 親しい先輩か知人がいるか
759
+ **** 事実を見る
760
+ *** 共学かどうか
761
+ **** 事実を見る
762
+ *** 校風や雰囲気が自分と会うか
763
+ **** 学園祭で見る
764
+ **** 先輩に聞く
765
+ **** 先生に聞く
766
+
767
+ @endmindmap
768
+ ```
769
+
770
+ ---
771
+
772
+ ### 表を活用する
773
+
774
+ | 規準 | 学校A | 学校B | 学校C |
775
+ |:---:|:---:|:---:|:---:|
776
+ | 通学時間 | 30分 | 45分 | 1時間 |
777
+ | 手段 | 電車 | 自転車 | 徒歩 |
778
+ | 経済力 | 可能 | 可能 | 難しい |
779
+ | 実績 | 〇 | △ | × |
780
+ | 先生の評判 | 良い | 普通 | 悪い |
781
+ | 設備の新旧 | 新しい | 古い | 新しい |
782
+ | カリキュラムの種類 | 理系 | 文系 | 総合 |
783
+ | 強い分野 | 理系 | 文系 | 英語 |
784
+ | 高校生活 | 楽しい | 普通 | 退屈 |
785
+ | 部活 | 盛ん | 普通 | あまりない |
786
+ | サッカー部 | あり | なし | あり |
787
+ | 共学 | あり | なし | あり |
788
+ | 校風 | 自由 | 厳格 | 普通 |
789
+ | 総合評価 | ◎ | △ | × |
790
+
791
+ ---
792
+
793
+ ### イッシュー・ツリーを展開する
794
+
795
+ #### イッシューとは
796
+
797
+ > 「1つの課題をめぐって、異なる立場から意見が対立する点」のことじゃ。
798
+ >
799
+ > > わかる。、使える「論理思考」の本 後正武
800
+
801
+ > イッシューとはイエスかノーか、なすべきかなさざるべきか、の意見が対立する政治上の問題点のことえある。
802
+ >
803
+ > > 論理的思考と発想の技術
804
+
805
+ > イッシューということばは「対立」に力点をおくよりも、「解決」に力点をおいて用いられ、その解決のための筋道を考えることが、まさにコンサルタントの日常業務となっている。
806
+ >
807
+ > > 論理的思考と発想の技術
808
+
809
+ ---
810
+
811
+ #### イッシュー・ツリーの考え方
812
+
813
+ > 実は、イッシューは「ロジックの動的展開」であって、構造上の本質はロジックと全く同じものである。
814
+ > ただし、ロジックは「あるメッセージ(命題)」を正しく主張するために、最下部の事実からピラミッドの頂点へと積み上げる構造になっているのに対して、イッシューを追求する過程は、逆に争点からはじめて、それを解決するためのより具体的な疑問へと、サブ・イッシューに分解し、ついに事実に突き当たって解決をみるところに違いがある。
815
+ > > 論理的思考と発想の技術
816
+
817
+ ```plantuml
818
+ @startuml
819
+
820
+ title ロジック(ボトムアップ)
821
+
822
+ class "一般論" as A
823
+
824
+ class "個別論" as B
825
+
826
+ class "事象" as C
827
+
828
+ class "事実" as D
829
+
830
+ B -> A : 帰納
831
+
832
+ B "1" *-- "*" C
833
+
834
+ B "1" *-- "*" D
835
+
836
+ class "個別論" as E
837
+
838
+ E <-- A : 演繹
839
+
840
+ class "一般論" as F
841
+
842
+ E -> F : 帰納
843
+
844
+ @enduml
845
+ ```
846
+
847
+ ```plantuml
848
+ @startuml
849
+
850
+ title イッシュー(トップダウン)
851
+
852
+ class "一般論" as A
853
+
854
+ class "個別論" as B
855
+
856
+ class "事象" as C
857
+
858
+ class "事実" as D
859
+
860
+ A --> B : 演繹
861
+
862
+ B "1" *-- "*" C
863
+
864
+ B "1" *-- "*" D
865
+
866
+ class "一般論" as E
867
+
868
+ B -> E : 帰納
869
+
870
+ class "個別論" as F
871
+
872
+ class "事実" as G
873
+
874
+ E --> F : 演繹
875
+
876
+ F "1" *-- "*" G
877
+
878
+ @enduml
879
+ ```
880
+
881
+ ---
882
+
883
+ - イッシュー・ツリーはロジックの動的展開であり、 MECE、抽象レベル、事実のサポート等の諸要件は共通である。
884
+ - イッシュー・ツリーは、未解決の課題(争点)を合理的に解明し、正しい結論を導くための枠組みであり、最後に事実を求めて初めて結果に結びつく。
885
+ - プロジェクトチームを効果的に運用するためには、イッシュー・ツリーが不可欠である。
886
+ - イッシュー・ツリーの展開はいろいろあり、巧拙がある。訓練して身につけるほかはない。
887
+ - 頭で考えるより、直接観察したりデータを手に取る事によって、より効果的なイッシューの展開が期待できる。
888
+
889
+ ```plantuml
890
+ @startmindmap
891
+ title ラーメン店を開くかどうかのイッシュー・ツリー
892
+
893
+ * ラーメン店を開くべきか否か
894
+ ** ラーメン店を開いて運営する能力があるか否か(company)
895
+ *** 人がいるか
896
+ *** お金があるか
897
+ *** ラーメンをつくる技術をもっているか
898
+ *** 材料や設備は手に入るか
899
+ *** ...
900
+ *** その他ラーメン店を運営する要件を満たせるか
901
+ ** 市場は十分に大きいか(customer)
902
+ *** 人口はどれだけか
903
+ *** 交通量は十分か
904
+ *** ラーメンを外食する人が期待できる構成か
905
+ ** 有力な競争相手がいるか否か(competitor)
906
+ *** 競合店が近くにあるか
907
+ **** ある場所、距離は十分に遠いか
908
+ **** 味・店構え・ロケーションなど自分に比べて優位か否か
909
+ *** ラーメン以外の外食店があるか、どんな店か
910
+ *** (競合がある場合)集客などかえって相乗効果を期待することはできないか
911
+ @endmindmap
912
+ ```
913
+
914
+ ---
915
+
916
+ ### 数学の考え方を援用する
917
+
918
+ ```plantuml
919
+ @startuml
920
+ object "売り上げが低下した" as A
921
+ object "売上を上げれるか" as B
922
+
923
+ A -> B
924
+ @enduml
925
+ ```
926
+
927
+ ---
928
+
929
+ #### 足し算・引き算で考える
930
+
931
+ ```plantuml
932
+ @startmindmap
933
+ title 足し算・引き算
934
+
935
+ * 地域等で分ける
936
+ ** 札幌営業所の売上を上げられるか
937
+ ** 仙台営業所の売上を上げられるか
938
+ ** 北関東営業所の売上を上げられるか
939
+ ** 東京営業所の売上を上げられるか
940
+ ** ...
941
+ ** その他、売上を上げらる機会はないか
942
+ *** 輸出
943
+ *** OEM
944
+ *** 他チャネル
945
+
946
+ @endmindmap
947
+ ```
948
+
949
+ ---
950
+
951
+ #### 掛け算で考える
952
+
953
+ ```plantuml
954
+ @startmindmap
955
+ title 掛け算
956
+
957
+
958
+ + x
959
+ -- 店舗数
960
+ --- 増やせるか
961
+ ---- 交通量・ロケーションの特徴
962
+ ---- 人口密度・地域需要
963
+ ---- 基本エコノミクスの構造など
964
+ ++ 1店舗あたりの売上
965
+ +++ 客数を増やせるか
966
+ ++++ キャンペーン・特売
967
+ ++++ 広告・ちらし
968
+ ++++ 店構え・その他
969
+ +++ x
970
+ +++ 客単価を増やせるか
971
+ ++++ 品揃え
972
+ ++++ レイアウト
973
+ ++++ セット販売
974
+ ++++ その他
975
+
976
+ @endmindmap
977
+ ```
978
+
979
+ ---
980
+
981
+ #### 要素・枠組みで考える
982
+
983
+ ```plantuml
984
+ @startmindmap
985
+ title 要素・枠組み
986
+
987
+ * 売上が低下した理由の検討
988
+ ** 全国共通の要因はあるか
989
+ *** 全国共通の製品・価格・マーケティング施策等の工夫
990
+ ** 個店別の要因が大きいか
991
+ *** 業績低下の大きい店への個別指導等
992
+ ** 季節性の課題が大きいか
993
+ *** 冬に売れる商品の開発(冬に低下なら)
994
+ ** その他
995
+
996
+ @endmindmap
997
+ ```
998
+ # クリティカルシンキング
999
+
1000
+ > 重要な点の最後は、あなたが見聞きするものごとについての批判的な考え方です。
1001
+ > Tip 10 見聞きしたものごとを批判的な目で分析すること
1002
+ >
1003
+ > > 達人プログラマー
1004
+
1005
+ ```plantuml
1006
+ @startmindmap
1007
+
1008
+ * クリティカルシンキング
1009
+ ** クリティカルシンキングとは
1010
+ *** 批判的に読み、批判的に聞く
1011
+ *** クリティカルシンキングとロジカルシンキングの違い
1012
+ ** クリティカルシンキングの基本
1013
+ *** クリティカルシンキングのポイント
1014
+ *** クリティカルシンキングの手順
1015
+ *** クリティカルシンキングのコツ
1016
+ ** クリティカルシンキングの実践
1017
+ *** 「もっともらしさ」
1018
+ *** アーギュメントの欠陥
1019
+ *** 最も強い反論
1020
+ *** 智に働けば角が立つ情に棹させば流される
1021
+ *** 説得の基本
1022
+ ****_ 論理
1023
+ ****_ 感情へのアピール
1024
+ ****_ 信頼性
1025
+ *** 説得するため5つのステップ
1026
+ *** 批判と非難は違う
1027
+
1028
+ @endmindmap
1029
+ ```
1030
+
1031
+ ---
1032
+
1033
+ ## クリティカルシンキングとは
1034
+
1035
+ ```plantuml
1036
+ @startmindmap
1037
+
1038
+ * クリティカルシンキング
1039
+ ** クリティカルシンキングとは
1040
+ *** 批判的に読み、批判的に聞く
1041
+ *** クリティカルシンキングとロジカルシンキングの違い
1042
+
1043
+ @endmindmap
1044
+ ```
1045
+
1046
+ ---
1047
+
1048
+ ### 批判的に読み、批判的に聞く
1049
+
1050
+ > 実生活の場において、読むとき、聞くときに行っている(行うべき)「批判的に読み、批判的に聞く」ための思考を、クリティカル・シンキングと言います。
1051
+ > > 論理思考力を鍛える本 小野田博一
1052
+
1053
+ > 「実生活の場で、論理が正しいのか、前提は正しいのか、の2点を考える」とは言い換えると、「アーギュメントを鵜呑みにせず、アーギュメントの正しさを自力で考える」ことです。
1054
+ > > 論理思考力を鍛える本 小野田博一
1055
+
1056
+ ---
1057
+
1058
+ ### クリティカルシンキングとロジカルシンキングの違い
1059
+
1060
+ > クリティカル・シンキングとロジカル・シンキングの違い
1061
+ >
1062
+ > 論理的に考えることと批判的に考えることは、基本的に同じで、ただ若干の違いは「クリティカル・シンキングの話題は日常生活のみで、ロジカル・シンキングのほうはそのような限定はない」くらいのものと言ってよいでしょう。
1063
+ >
1064
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
1065
+
1066
+ ---
1067
+
1068
+ ## クリティカルシンキングの基本
1069
+
1070
+ ```plantuml
1071
+ @startmindmap
1072
+
1073
+ * クリティカルシンキング
1074
+ ** クリティカルシンキングの基本
1075
+ *** クリティカルシンキングのポイント
1076
+ *** クリティカルシンキングの手順
1077
+ *** クリティカルシンキングのコツ
1078
+
1079
+ @endmindmap
1080
+ ```
1081
+
1082
+ ---
1083
+
1084
+ ### クリティカルシンキングのポイント
1085
+
1086
+ > なぜクリティカル・シンキングが必要なのかと言えば、それは、読み聞きした内容で「相手のいいように操られないため」「間違った判断を下さないため」です。
1087
+ > > 論理思考力を鍛える本 小野田博一
1088
+
1089
+ > クリティカル・シンキングのポイントは「むやみに信じないこと」です。つまり「信じるにたる根拠がないかぎり信じるな」です。
1090
+ > > 論理思考力を鍛える本 小野田博一
1091
+
1092
+ > 「自分自身の判断力を使って判断する」とは、「前提と結論のつながりの正しさや支えかたの強度」を自分自身で判断することで、具体的には、結論が正しく導き出されているか、しっかり支えられているか、および情報そのものの信頼性を考えることです。
1093
+ > > 論理思考力を鍛える本 小野田博一
1094
+
1095
+ ---
1096
+
1097
+ ### クリティカルシンキングの手順
1098
+
1099
+ ```plantuml
1100
+ @startuml
1101
+ start
1102
+ :結論を見つけよ;
1103
+ :支えている(つもりの)ものを見つけよ;
1104
+ :支えているつもりのものの信頼性を判断せよ;
1105
+ :支えているつもりのものが十分支えているかー支えている程度の十分さを調べよ;
1106
+ if (隠れているアサンプションがある?) then (yes)
1107
+ :アサンプションは正しい?;
1108
+ endif
1109
+ stop
1110
+ @enduml
1111
+ ```
1112
+
1113
+ ---
1114
+
1115
+ > このような「当然正しい」と考えられている事柄をー明言されていようといまいとー英語ではアサンプション(assumption)と言います。
1116
+ >
1117
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
1118
+
1119
+ > 前提から結論を導く思考のことをリーズニング(reasoning)といいます。
1120
+ >
1121
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
1122
+
1123
+ ```plantuml
1124
+ @startuml
1125
+
1126
+ title 論理の世界の用語
1127
+
1128
+ abstract "statement" as A {
1129
+ }
1130
+
1131
+ abstract "argument" as B {
1132
+ + 前提
1133
+ + 結論
1134
+ }
1135
+
1136
+ abstract "logic" as C {
1137
+ + reasoning()
1138
+ + sound()
1139
+ }
1140
+
1141
+ interface "deductive_inference" as D {
1142
+ + valid()
1143
+ + invalid()
1144
+ }
1145
+
1146
+ interface "inductive_inference" as E {
1147
+ + strong()
1148
+ + weak()
1149
+ }
1150
+
1151
+ abstract "assumption" as F
1152
+
1153
+ F -o B
1154
+ A <|-- B
1155
+ B <- C
1156
+ C --|> D
1157
+ C --|> E
1158
+
1159
+ @enduml
1160
+ ```
1161
+
1162
+ ---
1163
+
1164
+ ### クリティカルシンキングのコツ
1165
+
1166
+ 1. 隠れているアサンプションが何かを考えよ
1167
+ 1. リーズニングのフォーム(形式)を考えよ
1168
+
1169
+ > 日常的には、多くの場合、発言が論理的か否かはアサンプションが正しいか否かにかかっています。
1170
+ >
1171
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
1172
+
1173
+ ---
1174
+
1175
+ ## クリティカルシンキングの実践
1176
+
1177
+ ```plantuml
1178
+ @startmindmap
1179
+
1180
+ * クリティカルシンキング
1181
+ ** クリティカルシンキングの実践
1182
+ *** 「もっともらしさ」
1183
+ *** アーギュメントの欠陥
1184
+ *** 最も強い反論
1185
+ *** 智に働けば角が立つ情に棹させば流される
1186
+ *** 説得の基本
1187
+ ****_ 論理
1188
+ ****_ 感情へのアピール
1189
+ ****_ 信頼性
1190
+ *** 説得するため5つのステップ
1191
+ *** 批判と非難は違う
1192
+
1193
+ @endmindmap
1194
+ ```
1195
+
1196
+ ---
1197
+
1198
+ ### 「もっともらしさ」
1199
+
1200
+ > 実生活では、断言できないことがとてもたくさんあります。私たちが話したり書いたりする内容は、ほとんど断言できないことばかりです。そのため、「もっともらしさ」は実生活では大きな役割を果たす事になります。
1201
+ > そして、クリティカル・シンキンキングは、「もっともらしさ」をあなた自身が検証する事なのです。
1202
+ >
1203
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
1204
+
1205
+ #### 議論では、もっともらしさを高めるよう努力せよ
1206
+
1207
+ > 人を納得させるのは「真実」ではなく「真実らしさ」(もっともらしさ)です。
1208
+ >
1209
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
1210
+
1211
+ ---
1212
+
1213
+ ### アーギュメントの欠陥
1214
+
1215
+ - 早まった一般化
1216
+ - 原因・結果の間違い
1217
+ - 間違った類比
1218
+ - 権威の間違った使用
1219
+ - あいまいな表現
1220
+ - 立証責任の転嫁
1221
+ - 循環論法
1222
+ - 聞き手・読み手の感情の利用
1223
+ - 個人攻撃
1224
+ - 矛盾
1225
+ - 一般の意見の使用
1226
+ - 統計の悪用(歪めた使用)
1227
+
1228
+ ---
1229
+
1230
+ ### もっとも強い反論
1231
+
1232
+ > もっとも強い反論は、もとの議論のアサンプションをアタックする議論です。
1233
+ >
1234
+ > — 論理的に考える方法 小野田博一(著)日本実業出版社
1235
+
1236
+ ---
1237
+
1238
+ ### 批判と非難は違う
1239
+
1240
+ > 人を非難したり、煽ったりするのは、後々、自分に返ってくるのでやめましょう。面と向かって言わないようなことを、オンラインで表現してはいけません。
1241
+ >
1242
+ > — 達人プログラマー 熟達に向けたあなたの旅(第2版)
1243
+
1244
+ ---
1245
+
1246
+ ### 智に働けば角が立つ情に棹させば流される
1247
+
1248
+ ---
1249
+
1250
+ ### 説得の基本
1251
+
1252
+ > 説得に必要な要素は三つあります。それは
1253
+ > 1. 論理
1254
+ > 2. 感情へのアピール
1255
+ > 3. 信頼性
1256
+ >
1257
+ > の三つです。
1258
+ > 説得をする際に重要となるのは、「説得は一方的に行うものではない。つまり、説得ではコミュニケーションに双方向性がなけらならない」という点です。
1259
+ >
1260
+ > 説得とは、人に影響を与えるという目的を持ったコミュニケーションのプロセス」と言うことができます。
1261
+ >
1262
+ > 論理的に説得する方法
1263
+
1264
+ ---
1265
+
1266
+ ### 説得するための5つのステップ
1267
+
1268
+ - ステップ1 目標を設定する
1269
+ - ステップ2 聞き手を分析する
1270
+ - ステップ3 あなたの信頼性を高める
1271
+ - ステップ4 説得のメッセージをつくる
1272
+ - ステップ5 メッセージを聞き手に合わせる
1273
+
1274
+ ---
1275
+
1276
+ ### 説得力のある主張をするための究極のコツ
1277
+
1278
+ - 「私」を登場させるな。「あなた」が主役。
1279
+ - 「説得力のコンテスト」と考えよ。
1280
+ - 審査員であろうとするな。
1281
+ - 司会者であろうとするな。
1282
+ - 批判せよ。非難するな。
1283
+ - 肝心なことを述べよ。余分なことを述べるな。
1284
+ - 力むな。
1285
+ - 十分に説明せよ。
1286
+ - 感想を述べるな。
1287
+ # まとめ
1288
+
1289
+ ```plantuml
1290
+ @startuml
1291
+
1292
+ object "結論" as A {
1293
+ 論理的思考の実践である
1294
+ ロジカル・クリティカルシンキングは
1295
+ 実践プログラマの基本スキルである
1296
+ }
1297
+ object "小前提" as B {
1298
+ 論理的思考は習得可能なスキルであり
1299
+ 論理的思考は知識を扱うプログラマにとって
1300
+ キャリアの始まりから終わりまで
1301
+ あらゆる局面で役に立つ。
1302
+ }
1303
+ object "大前提" as C {
1304
+ 論理的思考を身に着けることで
1305
+ 「正しい結論を導くことができる」こと。
1306
+ 「正しいコミュニケーションができること」こと。
1307
+ 「発想を助け、課題の検討・解決に役立つ」こと。
1308
+ ができるようになる。
1309
+ }
1310
+ A <-- B
1311
+ C -> B
1312
+
1313
+ object "個別論" as B_1 {
1314
+ 達人プログラマーが取り扱う
1315
+ 素材は木でも鉄でもありません
1316
+ --- 知識です。
1317
+ }
1318
+ object "個別論" as B_2 {
1319
+ 重要な点の最後は、
1320
+ あなたが見聞きするものごとについての
1321
+ 批判的な考え方です。
1322
+ }
1323
+ object "個別論" as B_3 {
1324
+ 1つのメッセージ(結論)は、
1325
+ 必ず2つ以上のサブ・メッセージ(要因)
1326
+ でサポートされてるため、
1327
+ 論理は、底辺に行くほど
1328
+ 広いピラミッド状に組み上げられる。
1329
+ }
1330
+ object "個別論" as B_4 {
1331
+ Deduction(演繹)は、前提となる
1332
+ 正しいメッセージ(一般論)
1333
+ がまずあり、それを個別の事象に適用して、
1334
+ 正しい主張・答を引き出す方法で
1335
+ 「一般論」から「個別論」へという
1336
+ 構造になっている
1337
+ }
1338
+ object "個別論" as B_5 {
1339
+ Induction(帰納)は、たくさんの
1340
+ 個別の事象や主張を集めて、
1341
+ より一般的に通用する共通の
1342
+ メッセージを導き出す方法で
1343
+ 「個別論」から「一般論」へ
1344
+ という構造になっている
1345
+ }
1346
+
1347
+ B <-- B_1
1348
+ B <-- B_2
1349
+ B <-- B_3
1350
+ B <-- B_4
1351
+ B <-- B_5
1352
+
1353
+ @enduml
1354
+ ```
1355
+ # 参考文献
1356
+
1357
+ - [わかる、使える「論理思考」の本 日本一わかりやすい授業、開講!](https://www.amazon.co.jp/%E3%82%8F%E3%81%8B%E3%82%8B%E3%80%81%E4%BD%BF%E3%81%88%E3%82%8B%E3%80%8C%E8%AB%96%E7%90%86%E6%80%9D%E8%80%83%E3%80%8D%E3%81%AE%E6%9C%AC-%E6%97%A5%E6%9C%AC%E4%B8%80%E3%82%8F%E3%81%8B%E3%82%8A%E3%82%84%E3%81%99%E3%81%84%E6%8E%88%E6%A5%AD%E3%80%81%E9%96%8B%E8%AC%9B%EF%BC%81-%E5%BE%8C-%E6%AD%A3%E6%AD%A6-ebook/dp/B08R37L3YW/)
1358
+
1359
+ - [経営参謀が明かす論理思考と発想の技術](https://www.amazon.co.jp/%E7%B5%8C%E5%96%B6%E5%8F%82%E8%AC%80%E3%81%8C%E6%98%8E%E3%81%8B%E3%81%99%E8%AB%96%E7%90%86%E6%80%9D%E8%80%83%E3%81%A8%E7%99%BA%E6%83%B3%E3%81%AE%E6%8A%80%E8%A1%93-%E7%9F%A5%E5%8A%9B%E3%82%A2%E3%83%83%E3%83%97%E8%AC%9B%E5%BA%A7-%E5%BE%8C-%E6%AD%A3%E6%AD%A6/dp/4833416646/)
1360
+
1361
+ - [論理的に考える方法: 判断力がアップし本質への筋道が読める](https://www.amazon.co.jp/%E8%AB%96%E7%90%86%E7%9A%84%E3%81%AB%E8%80%83%E3%81%88%E3%82%8B%E6%96%B9%E6%B3%95%E2%80%95%E5%88%A4%E6%96%AD%E5%8A%9B%E3%81%8C%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E6%9C%AC%E8%B3%AA%E3%81%B8%E3%81%AE%E7%AD%8B%E9%81%93%E3%81%8C%E8%AA%AD%E3%82%81%E3%82%8B-%E5%B0%8F%E9%87%8E%E7%94%B0-%E5%8D%9A%E4%B8%80/dp/4534028075)
1362
+
1363
+ - [論理思考力を鍛える本: 問題演習](https://www.amazon.co.jp/%E8%AB%96%E7%90%86%E6%80%9D%E8%80%83%E5%8A%9B%E3%82%92%E9%8D%9B%E3%81%88%E3%82%8B%E6%9C%AC%E2%80%95%E5%95%8F%E9%A1%8C%E6%BC%94%E7%BF%92-%E5%B0%8F%E9%87%8E%E7%94%B0-%E5%8D%9A%E4%B8%80/dp/4534034504)
1364
+
1365
+ - [論理的に説得する方法: 納得させてYESを引き出す](https://www.amazon.co.jp/%E8%AB%96%E7%90%86%E7%9A%84%E3%81%AB%E8%AA%AC%E5%BE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E2%80%95%E7%B4%8D%E5%BE%97%E3%81%95%E3%81%9B%E3%81%A6YES%E3%82%92%E5%BC%95%E3%81%8D%E5%87%BA%E3%81%99-%E5%B0%8F%E9%87%8E%E7%94%B0-%E5%8D%9A%E4%B8%80/dp/4534029934)
1366
+
1367
+ - [達人プログラマー(第2版): 熟達に向けたあなたの旅](https://www.amazon.co.jp/%E9%81%94%E4%BA%BA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC-%E7%AC%AC2%E7%89%88-%E7%86%9F%E9%81%94%E3%81%AB%E5%90%91%E3%81%91%E3%81%9F%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AE%E6%97%85-David-Thomas/dp/4274226298/)