@k2works/claude-code-booster 3.6.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (713) 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 +258 -239
  5. package/lib/assets/.claude/agent-memory/xp-programmer/MEMORY.md +6 -0
  6. package/lib/assets/.claude/agent-memory/xp-programmer/project_cargo_tracker.md +11 -0
  7. package/lib/assets/.claude/agent-memory/xp-programmer/project_ddd_patterns.md +27 -0
  8. package/lib/assets/.claude/agent-memory/xp-programmer/project_us07_route_assignment.md +19 -0
  9. package/lib/assets/.claude/scripts/generate-inception-deck.mjs +911 -911
  10. package/lib/assets/.claude/settings.json +11 -11
  11. package/lib/assets/.claude/skills/ai-agent-guidelines/SKILL.md +111 -111
  12. package/lib/assets/.claude/skills/analyzing-architecture/SKILL.md +83 -83
  13. package/lib/assets/.claude/skills/analyzing-business/SKILL.md +95 -95
  14. package/lib/assets/.claude/skills/analyzing-data-model/SKILL.md +77 -77
  15. package/lib/assets/.claude/skills/analyzing-domain-model/SKILL.md +117 -117
  16. package/lib/assets/.claude/skills/analyzing-inception-deck/SKILL.md +84 -84
  17. package/lib/assets/.claude/skills/analyzing-non-functional/SKILL.md +95 -95
  18. package/lib/assets/.claude/skills/analyzing-operation/SKILL.md +95 -95
  19. package/lib/assets/.claude/skills/analyzing-requirements/SKILL.md +91 -91
  20. package/lib/assets/.claude/skills/analyzing-tech-stack/SKILL.md +101 -101
  21. package/lib/assets/.claude/skills/analyzing-test-strategy/SKILL.md +89 -89
  22. package/lib/assets/.claude/skills/analyzing-ui-design/SKILL.md +80 -80
  23. package/lib/assets/.claude/skills/analyzing-usecases/SKILL.md +72 -72
  24. package/lib/assets/.claude/skills/creating-adr/SKILL.md +113 -113
  25. package/lib/assets/.claude/skills/developing-backend/SKILL.md +100 -100
  26. package/lib/assets/.claude/skills/developing-frontend/SKILL.md +93 -93
  27. package/lib/assets/.claude/skills/developing-release/SKILL.md +120 -120
  28. package/lib/assets/.claude/skills/generating-bmc/SKILL.md +97 -0
  29. package/lib/assets/.claude/skills/generating-slides/SKILL.md +94 -94
  30. package/lib/assets/.claude/skills/git-commit/SKILL.md +81 -81
  31. package/lib/assets/.claude/skills/killing-processes/SKILL.md +44 -44
  32. package/lib/assets/.claude/skills/operating-backup/SKILL.md +59 -59
  33. package/lib/assets/.claude/skills/operating-cicd/SKILL.md +54 -54
  34. package/lib/assets/.claude/skills/operating-deploy/SKILL.md +67 -67
  35. package/lib/assets/.claude/skills/operating-docs/SKILL.md +219 -219
  36. package/lib/assets/.claude/skills/operating-provision/SKILL.md +77 -77
  37. package/lib/assets/.claude/skills/operating-setup/SKILL.md +63 -63
  38. package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +104 -104
  39. package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +162 -162
  40. package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +158 -158
  41. package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +144 -144
  42. package/lib/assets/.claude/skills/planning-releases/SKILL.md +119 -119
  43. package/lib/assets/.claude/skills/syncing-github-project/SKILL.md +151 -151
  44. package/lib/assets/.claude/skills/tracking-progress/SKILL.md +91 -91
  45. package/lib/assets/.claude/skills/validating-iteration-plan/SKILL.md +215 -215
  46. package/lib/assets/.devcontainer/devcontainer.json +34 -34
  47. package/lib/assets/.env.example +17 -17
  48. package/lib/assets/.gitattributes +4 -4
  49. package/lib/assets/.github/workflows/docker-publish.yml +77 -77
  50. package/lib/assets/.github/workflows/mkdocs.yml +39 -39
  51. package/lib/assets/AGENTS.md +94 -94
  52. package/lib/assets/CLAUDE.md +1 -0
  53. package/lib/assets/README.md +254 -254
  54. package/lib/assets/docker-compose.yml +33 -33
  55. package/lib/assets/docs/adr/index.md +10 -10
  56. package/lib/assets/docs/article/functional-desgin-ppp/all/01-immutability-and-data-transformation.md +475 -475
  57. package/lib/assets/docs/article/functional-desgin-ppp/all/02-function-composition.md +519 -519
  58. package/lib/assets/docs/article/functional-desgin-ppp/all/03-polymorphism.md +537 -537
  59. package/lib/assets/docs/article/functional-desgin-ppp/all/04-data-validation.md +300 -300
  60. package/lib/assets/docs/article/functional-desgin-ppp/all/05-property-based-testing.md +320 -320
  61. package/lib/assets/docs/article/functional-desgin-ppp/all/06-tdd-and-functional.md +498 -498
  62. package/lib/assets/docs/article/functional-desgin-ppp/all/07-composite-pattern.md +298 -298
  63. package/lib/assets/docs/article/functional-desgin-ppp/all/08-decorator-pattern.md +291 -291
  64. package/lib/assets/docs/article/functional-desgin-ppp/all/09-adapter-pattern.md +336 -336
  65. package/lib/assets/docs/article/functional-desgin-ppp/all/10-strategy-pattern.md +303 -303
  66. package/lib/assets/docs/article/functional-desgin-ppp/all/11-command-pattern.md +286 -286
  67. package/lib/assets/docs/article/functional-desgin-ppp/all/12-visitor-pattern.md +322 -322
  68. package/lib/assets/docs/article/functional-desgin-ppp/all/13-abstract-factory-pattern.md +319 -319
  69. package/lib/assets/docs/article/functional-desgin-ppp/all/14-abstract-server-pattern.md +365 -365
  70. package/lib/assets/docs/article/functional-desgin-ppp/all/15-gossiping-bus-drivers.md +156 -156
  71. package/lib/assets/docs/article/functional-desgin-ppp/all/16-payroll-system.md +178 -178
  72. package/lib/assets/docs/article/functional-desgin-ppp/all/17-video-rental-system.md +312 -312
  73. package/lib/assets/docs/article/functional-desgin-ppp/all/18-concurrency-system.md +287 -287
  74. package/lib/assets/docs/article/functional-desgin-ppp/all/19-wa-tor-simulation.md +286 -286
  75. package/lib/assets/docs/article/functional-desgin-ppp/all/20-pattern-interactions.md +274 -274
  76. package/lib/assets/docs/article/functional-desgin-ppp/all/21-best-practices.md +294 -294
  77. package/lib/assets/docs/article/functional-desgin-ppp/all/22-oo-to-fp-migration.md +337 -337
  78. package/lib/assets/docs/article/functional-desgin-ppp/all/index.md +388 -388
  79. package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +273 -273
  80. package/lib/assets/docs/article/functional-desgin-ppp/clojure/02-function-composition.md +380 -380
  81. package/lib/assets/docs/article/functional-desgin-ppp/clojure/03-polymorphism.md +384 -384
  82. package/lib/assets/docs/article/functional-desgin-ppp/clojure/04-clojure-spec.md +350 -350
  83. package/lib/assets/docs/article/functional-desgin-ppp/clojure/05-property-based-testing.md +352 -352
  84. package/lib/assets/docs/article/functional-desgin-ppp/clojure/06-tdd-in-functional.md +383 -383
  85. package/lib/assets/docs/article/functional-desgin-ppp/clojure/07-composite-pattern.md +529 -529
  86. package/lib/assets/docs/article/functional-desgin-ppp/clojure/08-decorator-pattern.md +395 -395
  87. package/lib/assets/docs/article/functional-desgin-ppp/clojure/09-adapter-pattern.md +399 -399
  88. package/lib/assets/docs/article/functional-desgin-ppp/clojure/10-strategy-pattern.md +485 -485
  89. package/lib/assets/docs/article/functional-desgin-ppp/clojure/11-command-pattern.md +566 -566
  90. package/lib/assets/docs/article/functional-desgin-ppp/clojure/12-visitor-pattern.md +567 -567
  91. package/lib/assets/docs/article/functional-desgin-ppp/clojure/13-abstract-factory-pattern.md +475 -475
  92. package/lib/assets/docs/article/functional-desgin-ppp/clojure/14-abstract-server-pattern.md +462 -462
  93. package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +325 -325
  94. package/lib/assets/docs/article/functional-desgin-ppp/clojure/16-payroll-system.md +401 -401
  95. package/lib/assets/docs/article/functional-desgin-ppp/clojure/17-video-rental-system.md +450 -450
  96. package/lib/assets/docs/article/functional-desgin-ppp/clojure/18-concurrency-system.md +475 -475
  97. package/lib/assets/docs/article/functional-desgin-ppp/clojure/19-wator-simulation.md +739 -739
  98. package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +567 -567
  99. package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +518 -518
  100. package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +532 -532
  101. package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +241 -241
  102. package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +383 -383
  103. package/lib/assets/docs/article/functional-desgin-ppp/elixir/02-function-composition.md +374 -374
  104. package/lib/assets/docs/article/functional-desgin-ppp/elixir/03-polymorphism.md +375 -375
  105. package/lib/assets/docs/article/functional-desgin-ppp/elixir/04-data-validation.md +195 -195
  106. package/lib/assets/docs/article/functional-desgin-ppp/elixir/05-property-based-testing.md +268 -268
  107. package/lib/assets/docs/article/functional-desgin-ppp/elixir/06-tdd-and-fp.md +294 -294
  108. package/lib/assets/docs/article/functional-desgin-ppp/elixir/07-effects-and-pure-functions.md +164 -164
  109. package/lib/assets/docs/article/functional-desgin-ppp/elixir/08-error-handling-strategies.md +168 -168
  110. package/lib/assets/docs/article/functional-desgin-ppp/elixir/09-io-and-external-systems.md +254 -254
  111. package/lib/assets/docs/article/functional-desgin-ppp/elixir/10-concurrency-patterns.md +269 -269
  112. package/lib/assets/docs/article/functional-desgin-ppp/elixir/11-command-pattern.md +148 -148
  113. package/lib/assets/docs/article/functional-desgin-ppp/elixir/12-visitor-pattern.md +176 -176
  114. package/lib/assets/docs/article/functional-desgin-ppp/elixir/13-abstract-factory-pattern.md +604 -604
  115. package/lib/assets/docs/article/functional-desgin-ppp/elixir/14-abstract-server-pattern.md +729 -729
  116. package/lib/assets/docs/article/functional-desgin-ppp/elixir/15-gossiping-bus-drivers.md +291 -291
  117. package/lib/assets/docs/article/functional-desgin-ppp/elixir/16-payroll-system.md +420 -420
  118. package/lib/assets/docs/article/functional-desgin-ppp/elixir/17-video-rental-system.md +319 -319
  119. package/lib/assets/docs/article/functional-desgin-ppp/elixir/18-concurrency-system.md +466 -466
  120. package/lib/assets/docs/article/functional-desgin-ppp/elixir/19-wator-simulation.md +523 -523
  121. package/lib/assets/docs/article/functional-desgin-ppp/elixir/20-pattern-interactions.md +287 -287
  122. package/lib/assets/docs/article/functional-desgin-ppp/elixir/21-best-practices.md +340 -340
  123. package/lib/assets/docs/article/functional-desgin-ppp/elixir/22-oo-to-fp-migration.md +395 -395
  124. package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +248 -248
  125. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +384 -384
  126. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/02-function-composition.md +452 -452
  127. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/03-polymorphism.md +495 -495
  128. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/04-data-validation.md +416 -416
  129. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/05-property-based-testing.md +382 -382
  130. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/06-tdd-functional.md +687 -687
  131. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/07-composite-pattern.md +442 -442
  132. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/08-decorator-pattern.md +479 -479
  133. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/09-adapter-pattern.md +479 -479
  134. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/10-strategy-pattern.md +427 -427
  135. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/11-command-pattern.md +428 -428
  136. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/12-visitor-pattern.md +339 -339
  137. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/13-abstract-factory-pattern.md +309 -309
  138. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/14-abstract-server-pattern.md +596 -596
  139. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +355 -355
  140. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/16-payroll-system.md +350 -350
  141. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +414 -414
  142. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/18-concurrency-system.md +367 -367
  143. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +403 -403
  144. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/20-pattern-interactions.md +291 -291
  145. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +324 -324
  146. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +332 -332
  147. package/lib/assets/docs/article/functional-desgin-ppp/fsharp/index.md +274 -274
  148. package/lib/assets/docs/article/functional-desgin-ppp/haskell/01-immutability-and-data-transformation.md +298 -298
  149. package/lib/assets/docs/article/functional-desgin-ppp/haskell/02-function-composition.md +304 -304
  150. package/lib/assets/docs/article/functional-desgin-ppp/haskell/03-polymorphism.md +362 -362
  151. package/lib/assets/docs/article/functional-desgin-ppp/haskell/04-data-validation.md +257 -257
  152. package/lib/assets/docs/article/functional-desgin-ppp/haskell/05-property-based-testing.md +254 -254
  153. package/lib/assets/docs/article/functional-desgin-ppp/haskell/06-tdd-functional.md +283 -283
  154. package/lib/assets/docs/article/functional-desgin-ppp/haskell/07-composite-pattern.md +395 -395
  155. package/lib/assets/docs/article/functional-desgin-ppp/haskell/08-decorator-pattern.md +319 -319
  156. package/lib/assets/docs/article/functional-desgin-ppp/haskell/09-adapter-pattern.md +382 -382
  157. package/lib/assets/docs/article/functional-desgin-ppp/haskell/10-strategy-pattern.md +287 -287
  158. package/lib/assets/docs/article/functional-desgin-ppp/haskell/11-command-pattern.md +303 -303
  159. package/lib/assets/docs/article/functional-desgin-ppp/haskell/12-visitor-pattern.md +326 -326
  160. package/lib/assets/docs/article/functional-desgin-ppp/haskell/13-abstract-factory-pattern.md +332 -332
  161. package/lib/assets/docs/article/functional-desgin-ppp/haskell/14-abstract-server-pattern.md +379 -379
  162. package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +177 -177
  163. package/lib/assets/docs/article/functional-desgin-ppp/haskell/16-payroll-system.md +219 -219
  164. package/lib/assets/docs/article/functional-desgin-ppp/haskell/17-video-rental-system.md +244 -244
  165. package/lib/assets/docs/article/functional-desgin-ppp/haskell/18-concurrency-system.md +363 -363
  166. package/lib/assets/docs/article/functional-desgin-ppp/haskell/19-wator-simulation.md +438 -438
  167. package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +325 -325
  168. package/lib/assets/docs/article/functional-desgin-ppp/haskell/21-best-practices.md +403 -403
  169. package/lib/assets/docs/article/functional-desgin-ppp/haskell/22-oo-to-fp-migration.md +469 -469
  170. package/lib/assets/docs/article/functional-desgin-ppp/haskell/index.md +174 -174
  171. package/lib/assets/docs/article/functional-desgin-ppp/index.md +90 -90
  172. package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +450 -450
  173. package/lib/assets/docs/article/functional-desgin-ppp/rust/02-function-composition.md +463 -463
  174. package/lib/assets/docs/article/functional-desgin-ppp/rust/03-polymorphism.md +425 -425
  175. package/lib/assets/docs/article/functional-desgin-ppp/rust/04-data-validation.md +273 -273
  176. package/lib/assets/docs/article/functional-desgin-ppp/rust/05-property-based-testing.md +247 -247
  177. package/lib/assets/docs/article/functional-desgin-ppp/rust/06-tdd-and-functional.md +841 -841
  178. package/lib/assets/docs/article/functional-desgin-ppp/rust/07-composite-pattern.md +384 -384
  179. package/lib/assets/docs/article/functional-desgin-ppp/rust/08-decorator-pattern.md +383 -383
  180. package/lib/assets/docs/article/functional-desgin-ppp/rust/09-adapter-pattern.md +339 -339
  181. package/lib/assets/docs/article/functional-desgin-ppp/rust/10-strategy-pattern.md +331 -331
  182. package/lib/assets/docs/article/functional-desgin-ppp/rust/11-command-pattern.md +356 -356
  183. package/lib/assets/docs/article/functional-desgin-ppp/rust/12-visitor-pattern.md +379 -379
  184. package/lib/assets/docs/article/functional-desgin-ppp/rust/13-abstract-factory-pattern.md +361 -361
  185. package/lib/assets/docs/article/functional-desgin-ppp/rust/14-abstract-server-pattern.md +392 -392
  186. package/lib/assets/docs/article/functional-desgin-ppp/rust/15-gossiping-bus-drivers.md +300 -300
  187. package/lib/assets/docs/article/functional-desgin-ppp/rust/16-payroll-system.md +297 -297
  188. package/lib/assets/docs/article/functional-desgin-ppp/rust/17-video-rental-system.md +304 -304
  189. package/lib/assets/docs/article/functional-desgin-ppp/rust/18-concurrency-system.md +315 -315
  190. package/lib/assets/docs/article/functional-desgin-ppp/rust/19-wator-simulation.md +311 -311
  191. package/lib/assets/docs/article/functional-desgin-ppp/rust/20-pattern-interactions.md +304 -304
  192. package/lib/assets/docs/article/functional-desgin-ppp/rust/21-best-practices.md +336 -336
  193. package/lib/assets/docs/article/functional-desgin-ppp/rust/22-oo-to-fp-migration.md +349 -349
  194. package/lib/assets/docs/article/functional-desgin-ppp/rust/index.md +243 -243
  195. package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +328 -328
  196. package/lib/assets/docs/article/functional-desgin-ppp/scala/02-function-composition.md +348 -348
  197. package/lib/assets/docs/article/functional-desgin-ppp/scala/03-polymorphism.md +357 -357
  198. package/lib/assets/docs/article/functional-desgin-ppp/scala/04-data-validation.md +364 -364
  199. package/lib/assets/docs/article/functional-desgin-ppp/scala/05-property-based-testing.md +515 -515
  200. package/lib/assets/docs/article/functional-desgin-ppp/scala/06-tdd-functional.md +557 -557
  201. package/lib/assets/docs/article/functional-desgin-ppp/scala/07-composite-pattern.md +363 -363
  202. package/lib/assets/docs/article/functional-desgin-ppp/scala/08-decorator-pattern.md +327 -327
  203. package/lib/assets/docs/article/functional-desgin-ppp/scala/09-adapter-pattern.md +517 -517
  204. package/lib/assets/docs/article/functional-desgin-ppp/scala/10-strategy-pattern.md +441 -441
  205. package/lib/assets/docs/article/functional-desgin-ppp/scala/11-command-pattern.md +407 -407
  206. package/lib/assets/docs/article/functional-desgin-ppp/scala/12-visitor-pattern.md +379 -379
  207. package/lib/assets/docs/article/functional-desgin-ppp/scala/13-abstract-factory-pattern.md +398 -398
  208. package/lib/assets/docs/article/functional-desgin-ppp/scala/14-abstract-server-pattern.md +476 -476
  209. package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +391 -391
  210. package/lib/assets/docs/article/functional-desgin-ppp/scala/16-payroll-system.md +342 -342
  211. package/lib/assets/docs/article/functional-desgin-ppp/scala/17-video-rental-system.md +324 -324
  212. package/lib/assets/docs/article/functional-desgin-ppp/scala/18-concurrency-system.md +730 -730
  213. package/lib/assets/docs/article/functional-desgin-ppp/scala/19-wator-simulation.md +624 -624
  214. package/lib/assets/docs/article/functional-desgin-ppp/scala/20-pattern-interactions.md +512 -512
  215. package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +433 -433
  216. package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +688 -688
  217. package/lib/assets/docs/article/functional-desgin-ppp/scala/index.md +243 -243
  218. package/lib/assets/docs/article/getting-start-tdd/clojure/01-todo-list-and-first-test.md +166 -166
  219. package/lib/assets/docs/article/getting-start-tdd/clojure/02-fake-it-and-triangulation.md +162 -162
  220. package/lib/assets/docs/article/getting-start-tdd/clojure/03-obvious-implementation-and-refactoring.md +135 -135
  221. package/lib/assets/docs/article/getting-start-tdd/clojure/04-version-control-and-conventional-commits.md +88 -88
  222. package/lib/assets/docs/article/getting-start-tdd/clojure/05-package-management-and-static-analysis.md +299 -299
  223. package/lib/assets/docs/article/getting-start-tdd/clojure/06-task-runner-and-ci-cd.md +241 -241
  224. package/lib/assets/docs/article/getting-start-tdd/clojure/07-protocols-and-records.md +131 -131
  225. package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md +130 -130
  226. package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md +127 -127
  227. package/lib/assets/docs/article/getting-start-tdd/clojure/10-higher-order-functions-and-composition.md +114 -114
  228. package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md +138 -138
  229. package/lib/assets/docs/article/getting-start-tdd/clojure/12-error-handling-and-spec.md +161 -161
  230. package/lib/assets/docs/article/getting-start-tdd/clojure/index.md +65 -65
  231. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter01.md +232 -232
  232. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter02.md +244 -244
  233. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter03.md +202 -202
  234. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter04.md +92 -92
  235. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter05.md +256 -256
  236. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter06.md +195 -195
  237. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter07.md +214 -214
  238. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter08.md +249 -249
  239. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter09.md +174 -174
  240. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter10.md +166 -166
  241. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter11.md +192 -192
  242. package/lib/assets/docs/article/getting-start-tdd/csharp/chapter12.md +211 -211
  243. package/lib/assets/docs/article/getting-start-tdd/csharp/index.md +83 -83
  244. package/lib/assets/docs/article/getting-start-tdd/elixir/01-todo-list-and-first-test.md +87 -87
  245. package/lib/assets/docs/article/getting-start-tdd/elixir/02-fake-it-and-triangulation.md +95 -95
  246. package/lib/assets/docs/article/getting-start-tdd/elixir/03-obvious-implementation-and-refactoring.md +109 -109
  247. package/lib/assets/docs/article/getting-start-tdd/elixir/04-version-control-and-conventional-commits.md +96 -96
  248. package/lib/assets/docs/article/getting-start-tdd/elixir/05-package-management-and-static-analysis.md +88 -88
  249. package/lib/assets/docs/article/getting-start-tdd/elixir/06-task-runner-and-ci-cd.md +71 -71
  250. package/lib/assets/docs/article/getting-start-tdd/elixir/07-structs-and-protocols.md +110 -110
  251. package/lib/assets/docs/article/getting-start-tdd/elixir/08-pattern-matching-and-guards.md +108 -108
  252. package/lib/assets/docs/article/getting-start-tdd/elixir/09-module-design-and-behaviours.md +104 -104
  253. package/lib/assets/docs/article/getting-start-tdd/elixir/10-higher-order-functions-and-pipeline.md +178 -178
  254. package/lib/assets/docs/article/getting-start-tdd/elixir/11-stream-and-lazy-evaluation.md +142 -142
  255. package/lib/assets/docs/article/getting-start-tdd/elixir/12-error-handling-and-with.md +145 -145
  256. package/lib/assets/docs/article/getting-start-tdd/elixir/index.md +35 -35
  257. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter01.md +202 -202
  258. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter02.md +246 -246
  259. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter03.md +218 -218
  260. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter04.md +179 -179
  261. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter05.md +267 -267
  262. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter06.md +190 -190
  263. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter07.md +161 -161
  264. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter08.md +175 -175
  265. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter09.md +222 -222
  266. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter10.md +189 -189
  267. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter11.md +212 -212
  268. package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter12.md +215 -215
  269. package/lib/assets/docs/article/getting-start-tdd/fsharp/index.md +71 -71
  270. package/lib/assets/docs/article/getting-start-tdd/go/01-todo-list-and-first-test.md +213 -213
  271. package/lib/assets/docs/article/getting-start-tdd/go/02-fake-it-and-triangulation.md +302 -302
  272. package/lib/assets/docs/article/getting-start-tdd/go/03-obvious-implementation-and-refactoring.md +339 -339
  273. package/lib/assets/docs/article/getting-start-tdd/go/04-version-control-and-conventional-commits.md +112 -112
  274. package/lib/assets/docs/article/getting-start-tdd/go/05-package-management-and-static-analysis.md +272 -272
  275. package/lib/assets/docs/article/getting-start-tdd/go/06-task-runner-and-ci-cd.md +233 -233
  276. package/lib/assets/docs/article/getting-start-tdd/go/07-encapsulation-and-polymorphism.md +394 -394
  277. package/lib/assets/docs/article/getting-start-tdd/go/08-design-patterns.md +422 -422
  278. package/lib/assets/docs/article/getting-start-tdd/go/09-solid-principles-and-module-design.md +400 -400
  279. package/lib/assets/docs/article/getting-start-tdd/go/10-higher-order-functions-and-composition.md +226 -226
  280. package/lib/assets/docs/article/getting-start-tdd/go/11-immutable-data-and-pipeline.md +296 -296
  281. package/lib/assets/docs/article/getting-start-tdd/go/12-error-handling-and-type-safety.md +411 -411
  282. package/lib/assets/docs/article/getting-start-tdd/go/index.md +83 -83
  283. package/lib/assets/docs/article/getting-start-tdd/haskell/01-todo-list-and-first-test.md +279 -279
  284. package/lib/assets/docs/article/getting-start-tdd/haskell/02-fake-it-and-triangulation.md +337 -337
  285. package/lib/assets/docs/article/getting-start-tdd/haskell/03-obvious-implementation-and-refactoring.md +257 -257
  286. package/lib/assets/docs/article/getting-start-tdd/haskell/04-version-control-and-conventional-commits.md +182 -182
  287. package/lib/assets/docs/article/getting-start-tdd/haskell/05-package-management-and-static-analysis.md +313 -313
  288. package/lib/assets/docs/article/getting-start-tdd/haskell/06-task-runner-and-ci-cd.md +309 -309
  289. package/lib/assets/docs/article/getting-start-tdd/haskell/07-algebraic-data-types-and-type-classes.md +412 -412
  290. package/lib/assets/docs/article/getting-start-tdd/haskell/08-pattern-matching-and-guards.md +390 -390
  291. package/lib/assets/docs/article/getting-start-tdd/haskell/09-module-design-and-smart-constructors.md +461 -461
  292. package/lib/assets/docs/article/getting-start-tdd/haskell/10-higher-order-functions-and-currying.md +434 -434
  293. package/lib/assets/docs/article/getting-start-tdd/haskell/11-function-composition-and-point-free.md +392 -392
  294. package/lib/assets/docs/article/getting-start-tdd/haskell/12-monad-and-error-handling.md +631 -631
  295. package/lib/assets/docs/article/getting-start-tdd/haskell/index.md +49 -49
  296. package/lib/assets/docs/article/getting-start-tdd/index.md +93 -93
  297. package/lib/assets/docs/article/getting-start-tdd/integration/01-language-overview.md +375 -375
  298. package/lib/assets/docs/article/getting-start-tdd/integration/02-test-framework-comparison.md +349 -349
  299. package/lib/assets/docs/article/getting-start-tdd/integration/03-tdd-pattern-comparison.md +445 -445
  300. package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +409 -409
  301. package/lib/assets/docs/article/getting-start-tdd/integration/05-dev-environment-comparison.md +330 -330
  302. package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +290 -290
  303. package/lib/assets/docs/article/getting-start-tdd/integration/index.md +69 -69
  304. package/lib/assets/docs/article/getting-start-tdd/java/01-todo-list-and-first-test.md +234 -234
  305. package/lib/assets/docs/article/getting-start-tdd/java/02-fake-it-and-triangulation.md +261 -261
  306. package/lib/assets/docs/article/getting-start-tdd/java/03-obvious-implementation-and-refactoring.md +185 -185
  307. package/lib/assets/docs/article/getting-start-tdd/java/04-version-control-and-conventional-commits.md +115 -115
  308. package/lib/assets/docs/article/getting-start-tdd/java/05-package-management-and-static-analysis.md +382 -382
  309. package/lib/assets/docs/article/getting-start-tdd/java/06-task-runner-and-ci-cd.md +272 -272
  310. package/lib/assets/docs/article/getting-start-tdd/java/07-encapsulation-and-polymorphism.md +626 -626
  311. package/lib/assets/docs/article/getting-start-tdd/java/08-design-patterns.md +393 -393
  312. package/lib/assets/docs/article/getting-start-tdd/java/09-solid-principles-and-module-design.md +310 -310
  313. package/lib/assets/docs/article/getting-start-tdd/java/10-higher-order-functions-and-composition.md +188 -188
  314. package/lib/assets/docs/article/getting-start-tdd/java/11-immutable-data-and-pipeline.md +167 -167
  315. package/lib/assets/docs/article/getting-start-tdd/java/12-error-handling-and-type-safety.md +205 -205
  316. package/lib/assets/docs/article/getting-start-tdd/java/index.md +61 -61
  317. package/lib/assets/docs/article/getting-start-tdd/node/01-todo-list-and-first-test.md +244 -244
  318. package/lib/assets/docs/article/getting-start-tdd/node/02-fake-it-and-triangulation.md +262 -262
  319. package/lib/assets/docs/article/getting-start-tdd/node/03-obvious-implementation-and-refactoring.md +169 -169
  320. package/lib/assets/docs/article/getting-start-tdd/node/04-version-control-and-conventional-commits.md +112 -112
  321. package/lib/assets/docs/article/getting-start-tdd/node/05-package-management-and-static-analysis.md +314 -314
  322. package/lib/assets/docs/article/getting-start-tdd/node/06-task-runner-and-ci-cd.md +235 -235
  323. package/lib/assets/docs/article/getting-start-tdd/node/07-encapsulation-and-polymorphism.md +327 -327
  324. package/lib/assets/docs/article/getting-start-tdd/node/08-design-patterns.md +322 -322
  325. package/lib/assets/docs/article/getting-start-tdd/node/09-solid-principles-and-module-design.md +285 -285
  326. package/lib/assets/docs/article/getting-start-tdd/node/10-higher-order-functions-and-composition.md +199 -199
  327. package/lib/assets/docs/article/getting-start-tdd/node/11-immutable-data-and-pipeline.md +207 -207
  328. package/lib/assets/docs/article/getting-start-tdd/node/12-error-handling-and-type-safety.md +295 -295
  329. package/lib/assets/docs/article/getting-start-tdd/node/index.md +56 -56
  330. package/lib/assets/docs/article/getting-start-tdd/php/01-todo-list-and-first-test.md +259 -259
  331. package/lib/assets/docs/article/getting-start-tdd/php/02-fake-it-and-triangulation.md +200 -200
  332. package/lib/assets/docs/article/getting-start-tdd/php/03-obvious-implementation-and-refactoring.md +248 -248
  333. package/lib/assets/docs/article/getting-start-tdd/php/04-version-control-and-conventional-commits.md +141 -141
  334. package/lib/assets/docs/article/getting-start-tdd/php/05-package-management-and-static-analysis.md +410 -410
  335. package/lib/assets/docs/article/getting-start-tdd/php/06-task-runner-and-ci-cd.md +321 -321
  336. package/lib/assets/docs/article/getting-start-tdd/php/07-encapsulation-and-polymorphism.md +372 -372
  337. package/lib/assets/docs/article/getting-start-tdd/php/08-design-patterns.md +453 -453
  338. package/lib/assets/docs/article/getting-start-tdd/php/09-solid-principles-and-module-design.md +460 -460
  339. package/lib/assets/docs/article/getting-start-tdd/php/10-higher-order-functions-and-composition.md +182 -182
  340. package/lib/assets/docs/article/getting-start-tdd/php/11-immutable-data-and-pipeline.md +266 -266
  341. package/lib/assets/docs/article/getting-start-tdd/php/12-error-handling-and-type-safety.md +308 -308
  342. package/lib/assets/docs/article/getting-start-tdd/php/index.md +84 -84
  343. package/lib/assets/docs/article/getting-start-tdd/python/01-todo-list-and-first-test.md +201 -201
  344. package/lib/assets/docs/article/getting-start-tdd/python/02-fake-it-and-triangulation.md +247 -247
  345. package/lib/assets/docs/article/getting-start-tdd/python/03-obvious-implementation-and-refactoring.md +199 -199
  346. package/lib/assets/docs/article/getting-start-tdd/python/04-version-control-and-conventional-commits.md +87 -87
  347. package/lib/assets/docs/article/getting-start-tdd/python/05-package-management-and-static-analysis.md +274 -274
  348. package/lib/assets/docs/article/getting-start-tdd/python/06-task-runner-and-ci-cd.md +190 -190
  349. package/lib/assets/docs/article/getting-start-tdd/python/07-encapsulation-and-polymorphism.md +208 -208
  350. package/lib/assets/docs/article/getting-start-tdd/python/08-design-patterns.md +172 -172
  351. package/lib/assets/docs/article/getting-start-tdd/python/09-solid-principles-and-module-design.md +130 -130
  352. package/lib/assets/docs/article/getting-start-tdd/python/10-higher-order-functions-and-composition.md +122 -122
  353. package/lib/assets/docs/article/getting-start-tdd/python/11-immutable-data-and-pipeline.md +116 -116
  354. package/lib/assets/docs/article/getting-start-tdd/python/12-error-handling-and-type-safety.md +126 -126
  355. package/lib/assets/docs/article/getting-start-tdd/python/index.md +55 -55
  356. package/lib/assets/docs/article/getting-start-tdd/ruby/01-todo-list-and-first-test.md +231 -231
  357. package/lib/assets/docs/article/getting-start-tdd/ruby/02-fake-it-and-triangulation.md +238 -238
  358. package/lib/assets/docs/article/getting-start-tdd/ruby/03-obvious-implementation-and-refactoring.md +228 -228
  359. package/lib/assets/docs/article/getting-start-tdd/ruby/04-version-control-and-conventional-commits.md +112 -112
  360. package/lib/assets/docs/article/getting-start-tdd/ruby/05-package-management-and-static-analysis.md +287 -287
  361. package/lib/assets/docs/article/getting-start-tdd/ruby/06-task-runner-and-ci-cd.md +248 -248
  362. package/lib/assets/docs/article/getting-start-tdd/ruby/07-encapsulation-and-polymorphism.md +279 -279
  363. package/lib/assets/docs/article/getting-start-tdd/ruby/08-design-patterns.md +329 -329
  364. package/lib/assets/docs/article/getting-start-tdd/ruby/09-solid-principles-and-module-design.md +196 -196
  365. package/lib/assets/docs/article/getting-start-tdd/ruby/10-higher-order-functions-and-composition.md +175 -175
  366. package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +237 -237
  367. package/lib/assets/docs/article/getting-start-tdd/ruby/12-error-handling-and-type-safety.md +398 -398
  368. package/lib/assets/docs/article/getting-start-tdd/ruby/index.md +83 -83
  369. package/lib/assets/docs/article/getting-start-tdd/rust/01-todo-list-and-first-test.md +211 -211
  370. package/lib/assets/docs/article/getting-start-tdd/rust/02-fake-it-and-triangulation.md +264 -264
  371. package/lib/assets/docs/article/getting-start-tdd/rust/03-obvious-implementation-and-refactoring.md +233 -233
  372. package/lib/assets/docs/article/getting-start-tdd/rust/04-version-control-and-conventional-commits.md +92 -92
  373. package/lib/assets/docs/article/getting-start-tdd/rust/05-package-management-and-static-analysis.md +212 -212
  374. package/lib/assets/docs/article/getting-start-tdd/rust/06-task-runner-and-ci-cd.md +164 -164
  375. package/lib/assets/docs/article/getting-start-tdd/rust/07-encapsulation-and-polymorphism.md +142 -142
  376. package/lib/assets/docs/article/getting-start-tdd/rust/08-design-patterns.md +145 -145
  377. package/lib/assets/docs/article/getting-start-tdd/rust/09-solid-principles-and-module-design.md +110 -110
  378. package/lib/assets/docs/article/getting-start-tdd/rust/10-higher-order-functions-and-composition.md +94 -94
  379. package/lib/assets/docs/article/getting-start-tdd/rust/11-immutable-data-and-pipeline.md +105 -105
  380. package/lib/assets/docs/article/getting-start-tdd/rust/12-error-handling-and-type-safety.md +112 -112
  381. package/lib/assets/docs/article/getting-start-tdd/rust/index.md +83 -83
  382. package/lib/assets/docs/article/getting-start-tdd/scala/01-todo-list-and-first-test.md +111 -111
  383. package/lib/assets/docs/article/getting-start-tdd/scala/02-fake-it-and-triangulation.md +107 -107
  384. package/lib/assets/docs/article/getting-start-tdd/scala/03-obvious-implementation-and-refactoring.md +99 -99
  385. package/lib/assets/docs/article/getting-start-tdd/scala/04-version-control-and-conventional-commits.md +123 -123
  386. package/lib/assets/docs/article/getting-start-tdd/scala/05-package-management-and-static-analysis.md +196 -196
  387. package/lib/assets/docs/article/getting-start-tdd/scala/06-task-runner-and-ci-cd.md +186 -186
  388. package/lib/assets/docs/article/getting-start-tdd/scala/07-case-classes-and-traits.md +139 -139
  389. package/lib/assets/docs/article/getting-start-tdd/scala/08-pattern-matching-and-sealed-traits.md +106 -106
  390. package/lib/assets/docs/article/getting-start-tdd/scala/09-packages-and-module-design.md +75 -75
  391. package/lib/assets/docs/article/getting-start-tdd/scala/10-higher-order-functions-and-composition.md +104 -104
  392. package/lib/assets/docs/article/getting-start-tdd/scala/11-collections-and-lazy-evaluation.md +94 -94
  393. package/lib/assets/docs/article/getting-start-tdd/scala/12-error-handling-and-type-safety.md +92 -92
  394. package/lib/assets/docs/article/getting-start-tdd/scala/index.md +65 -65
  395. package/lib/assets/docs/article/grokking-concurrency/all/index.md +404 -404
  396. package/lib/assets/docs/article/grokking-concurrency/all/part-1-ch02-sequential.md +554 -554
  397. package/lib/assets/docs/article/grokking-concurrency/all/part-2-ch04-05-threads.md +469 -469
  398. package/lib/assets/docs/article/grokking-concurrency/all/part-3-ch06-multitasking.md +520 -520
  399. package/lib/assets/docs/article/grokking-concurrency/all/part-4-ch07-parallel-patterns.md +420 -420
  400. package/lib/assets/docs/article/grokking-concurrency/all/part-5-ch08-09-synchronization.md +510 -510
  401. package/lib/assets/docs/article/grokking-concurrency/all/part-6-ch10-11-nonblocking-io.md +435 -435
  402. package/lib/assets/docs/article/grokking-concurrency/all/part-7-ch12-async.md +465 -465
  403. package/lib/assets/docs/article/grokking-concurrency/all/part-8-ch13-mapreduce.md +377 -377
  404. package/lib/assets/docs/article/grokking-concurrency/clojure/index.md +116 -116
  405. package/lib/assets/docs/article/grokking-concurrency/clojure/part-1.md +108 -108
  406. package/lib/assets/docs/article/grokking-concurrency/clojure/part-2.md +101 -101
  407. package/lib/assets/docs/article/grokking-concurrency/clojure/part-3.md +122 -122
  408. package/lib/assets/docs/article/grokking-concurrency/clojure/part-4.md +123 -123
  409. package/lib/assets/docs/article/grokking-concurrency/clojure/part-5.md +118 -118
  410. package/lib/assets/docs/article/grokking-concurrency/clojure/part-6.md +89 -89
  411. package/lib/assets/docs/article/grokking-concurrency/clojure/part-7.md +100 -100
  412. package/lib/assets/docs/article/grokking-concurrency/clojure/part-8.md +120 -120
  413. package/lib/assets/docs/article/grokking-concurrency/csharp/index.md +101 -101
  414. package/lib/assets/docs/article/grokking-concurrency/csharp/part-1.md +97 -97
  415. package/lib/assets/docs/article/grokking-concurrency/csharp/part-2.md +123 -123
  416. package/lib/assets/docs/article/grokking-concurrency/csharp/part-3.md +101 -101
  417. package/lib/assets/docs/article/grokking-concurrency/csharp/part-4.md +112 -112
  418. package/lib/assets/docs/article/grokking-concurrency/csharp/part-5.md +99 -99
  419. package/lib/assets/docs/article/grokking-concurrency/csharp/part-6.md +61 -61
  420. package/lib/assets/docs/article/grokking-concurrency/csharp/part-7.md +84 -84
  421. package/lib/assets/docs/article/grokking-concurrency/csharp/part-8.md +92 -92
  422. package/lib/assets/docs/article/grokking-concurrency/fsharp/index.md +65 -65
  423. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-1.md +80 -80
  424. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-2.md +103 -103
  425. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-3.md +94 -94
  426. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-4.md +110 -110
  427. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-5.md +104 -104
  428. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-6.md +93 -93
  429. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-7.md +121 -121
  430. package/lib/assets/docs/article/grokking-concurrency/fsharp/part-8.md +107 -107
  431. package/lib/assets/docs/article/grokking-concurrency/haskell/index.md +248 -248
  432. package/lib/assets/docs/article/grokking-concurrency/haskell/part-1.md +96 -96
  433. package/lib/assets/docs/article/grokking-concurrency/haskell/part-2.md +96 -96
  434. package/lib/assets/docs/article/grokking-concurrency/haskell/part-3.md +91 -91
  435. package/lib/assets/docs/article/grokking-concurrency/haskell/part-4.md +106 -106
  436. package/lib/assets/docs/article/grokking-concurrency/haskell/part-5.md +99 -99
  437. package/lib/assets/docs/article/grokking-concurrency/haskell/part-6.md +95 -95
  438. package/lib/assets/docs/article/grokking-concurrency/haskell/part-7.md +111 -111
  439. package/lib/assets/docs/article/grokking-concurrency/haskell/part-8.md +118 -118
  440. package/lib/assets/docs/article/grokking-concurrency/index.md +66 -66
  441. package/lib/assets/docs/article/grokking-concurrency/java/index.md +102 -102
  442. package/lib/assets/docs/article/grokking-concurrency/java/part-1.md +308 -308
  443. package/lib/assets/docs/article/grokking-concurrency/java/part-2.md +334 -334
  444. package/lib/assets/docs/article/grokking-concurrency/java/part-3.md +221 -221
  445. package/lib/assets/docs/article/grokking-concurrency/java/part-4.md +213 -213
  446. package/lib/assets/docs/article/grokking-concurrency/java/part-5.md +112 -112
  447. package/lib/assets/docs/article/grokking-concurrency/java/part-6.md +69 -69
  448. package/lib/assets/docs/article/grokking-concurrency/java/part-7.md +101 -101
  449. package/lib/assets/docs/article/grokking-concurrency/java/part-8.md +101 -101
  450. package/lib/assets/docs/article/grokking-concurrency/python/index.md +313 -313
  451. package/lib/assets/docs/article/grokking-concurrency/python/part-1.md +239 -239
  452. package/lib/assets/docs/article/grokking-concurrency/python/part-2.md +418 -418
  453. package/lib/assets/docs/article/grokking-concurrency/python/part-3.md +227 -227
  454. package/lib/assets/docs/article/grokking-concurrency/python/part-4.md +299 -299
  455. package/lib/assets/docs/article/grokking-concurrency/python/part-5.md +315 -315
  456. package/lib/assets/docs/article/grokking-concurrency/python/part-6.md +297 -297
  457. package/lib/assets/docs/article/grokking-concurrency/python/part-7.md +314 -314
  458. package/lib/assets/docs/article/grokking-concurrency/python/part-8.md +360 -360
  459. package/lib/assets/docs/article/grokking-concurrency/rust/index.md +270 -270
  460. package/lib/assets/docs/article/grokking-concurrency/rust/part-1.md +108 -108
  461. package/lib/assets/docs/article/grokking-concurrency/rust/part-2.md +120 -120
  462. package/lib/assets/docs/article/grokking-concurrency/rust/part-3.md +126 -126
  463. package/lib/assets/docs/article/grokking-concurrency/rust/part-4.md +175 -175
  464. package/lib/assets/docs/article/grokking-concurrency/rust/part-5.md +158 -158
  465. package/lib/assets/docs/article/grokking-concurrency/rust/part-6.md +94 -94
  466. package/lib/assets/docs/article/grokking-concurrency/rust/part-7.md +133 -133
  467. package/lib/assets/docs/article/grokking-concurrency/rust/part-8.md +155 -155
  468. package/lib/assets/docs/article/grokking-concurrency/scala/index.md +69 -69
  469. package/lib/assets/docs/article/grokking-concurrency/scala/part-1.md +78 -78
  470. package/lib/assets/docs/article/grokking-concurrency/scala/part-2.md +112 -112
  471. package/lib/assets/docs/article/grokking-concurrency/scala/part-3.md +93 -93
  472. package/lib/assets/docs/article/grokking-concurrency/scala/part-4.md +110 -110
  473. package/lib/assets/docs/article/grokking-concurrency/scala/part-5.md +119 -119
  474. package/lib/assets/docs/article/grokking-concurrency/scala/part-6.md +83 -83
  475. package/lib/assets/docs/article/grokking-concurrency/scala/part-7.md +131 -131
  476. package/lib/assets/docs/article/grokking-concurrency/scala/part-8.md +129 -129
  477. package/lib/assets/docs/article/grokkingfp/all/index.md +368 -368
  478. package/lib/assets/docs/article/grokkingfp/all/part-1-ch01-fp-introduction.md +530 -530
  479. package/lib/assets/docs/article/grokkingfp/all/part-1-ch02-pure-functions.md +923 -923
  480. package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +1128 -1128
  481. package/lib/assets/docs/article/grokkingfp/all/part-2-ch04-higher-order-functions.md +1104 -1104
  482. package/lib/assets/docs/article/grokkingfp/all/part-2-ch05-flatmap.md +1026 -1026
  483. package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +785 -785
  484. package/lib/assets/docs/article/grokkingfp/all/part-3-ch07-either-adt.md +871 -871
  485. package/lib/assets/docs/article/grokkingfp/all/part-4-ch08-io-monad.md +972 -972
  486. package/lib/assets/docs/article/grokkingfp/all/part-4-ch09-streams.md +926 -926
  487. package/lib/assets/docs/article/grokkingfp/all/part-5-ch10-concurrency.md +870 -870
  488. package/lib/assets/docs/article/grokkingfp/all/part-6-ch11-application.md +715 -715
  489. package/lib/assets/docs/article/grokkingfp/all/part-6-ch12-testing.md +626 -626
  490. package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +712 -712
  491. package/lib/assets/docs/article/grokkingfp/clojure/index.md +276 -276
  492. package/lib/assets/docs/article/grokkingfp/clojure/part-1.md +667 -667
  493. package/lib/assets/docs/article/grokkingfp/clojure/part-2.md +643 -643
  494. package/lib/assets/docs/article/grokkingfp/clojure/part-3.md +620 -620
  495. package/lib/assets/docs/article/grokkingfp/clojure/part-4.md +697 -697
  496. package/lib/assets/docs/article/grokkingfp/clojure/part-5.md +751 -751
  497. package/lib/assets/docs/article/grokkingfp/clojure/part-6.md +721 -721
  498. package/lib/assets/docs/article/grokkingfp/csharp/index.md +246 -246
  499. package/lib/assets/docs/article/grokkingfp/csharp/part-1.md +811 -811
  500. package/lib/assets/docs/article/grokkingfp/csharp/part-2.md +971 -971
  501. package/lib/assets/docs/article/grokkingfp/csharp/part-3.md +981 -981
  502. package/lib/assets/docs/article/grokkingfp/csharp/part-4.md +949 -949
  503. package/lib/assets/docs/article/grokkingfp/csharp/part-5.md +947 -947
  504. package/lib/assets/docs/article/grokkingfp/csharp/part-6.md +739 -739
  505. package/lib/assets/docs/article/grokkingfp/elixir/index.md +203 -203
  506. package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +712 -712
  507. package/lib/assets/docs/article/grokkingfp/elixir/part-2.md +838 -838
  508. package/lib/assets/docs/article/grokkingfp/elixir/part-3.md +985 -985
  509. package/lib/assets/docs/article/grokkingfp/elixir/part-4.md +974 -974
  510. package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +1286 -1286
  511. package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +1049 -1049
  512. package/lib/assets/docs/article/grokkingfp/fsharp/index.md +210 -210
  513. package/lib/assets/docs/article/grokkingfp/fsharp/part-1.md +714 -714
  514. package/lib/assets/docs/article/grokkingfp/fsharp/part-2.md +961 -961
  515. package/lib/assets/docs/article/grokkingfp/fsharp/part-3.md +972 -972
  516. package/lib/assets/docs/article/grokkingfp/fsharp/part-4.md +832 -832
  517. package/lib/assets/docs/article/grokkingfp/fsharp/part-5.md +911 -911
  518. package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +922 -922
  519. package/lib/assets/docs/article/grokkingfp/haskell/index.md +234 -234
  520. package/lib/assets/docs/article/grokkingfp/haskell/part-1.md +591 -591
  521. package/lib/assets/docs/article/grokkingfp/haskell/part-2.md +866 -866
  522. package/lib/assets/docs/article/grokkingfp/haskell/part-3.md +915 -915
  523. package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +878 -878
  524. package/lib/assets/docs/article/grokkingfp/haskell/part-5.md +845 -845
  525. package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +844 -844
  526. package/lib/assets/docs/article/grokkingfp/index.md +143 -143
  527. package/lib/assets/docs/article/grokkingfp/java/index.md +211 -211
  528. package/lib/assets/docs/article/grokkingfp/java/part-1.md +648 -648
  529. package/lib/assets/docs/article/grokkingfp/java/part-2.md +675 -675
  530. package/lib/assets/docs/article/grokkingfp/java/part-3.md +672 -672
  531. package/lib/assets/docs/article/grokkingfp/java/part-4.md +771 -771
  532. package/lib/assets/docs/article/grokkingfp/java/part-5.md +959 -959
  533. package/lib/assets/docs/article/grokkingfp/java/part-6.md +1328 -1328
  534. package/lib/assets/docs/article/grokkingfp/python/index.md +258 -258
  535. package/lib/assets/docs/article/grokkingfp/python/part-1.md +443 -443
  536. package/lib/assets/docs/article/grokkingfp/python/part-2.md +958 -958
  537. package/lib/assets/docs/article/grokkingfp/python/part-3.md +1004 -1004
  538. package/lib/assets/docs/article/grokkingfp/python/part-4.md +765 -765
  539. package/lib/assets/docs/article/grokkingfp/python/part-5.md +747 -747
  540. package/lib/assets/docs/article/grokkingfp/python/part-6.md +861 -861
  541. package/lib/assets/docs/article/grokkingfp/ruby/index.md +330 -330
  542. package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +755 -755
  543. package/lib/assets/docs/article/grokkingfp/ruby/part-2.md +938 -938
  544. package/lib/assets/docs/article/grokkingfp/ruby/part-3.md +946 -946
  545. package/lib/assets/docs/article/grokkingfp/ruby/part-4.md +921 -921
  546. package/lib/assets/docs/article/grokkingfp/ruby/part-5.md +908 -908
  547. package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +1412 -1412
  548. package/lib/assets/docs/article/grokkingfp/rust/index.md +242 -242
  549. package/lib/assets/docs/article/grokkingfp/rust/part-1.md +634 -634
  550. package/lib/assets/docs/article/grokkingfp/rust/part-2.md +1060 -1060
  551. package/lib/assets/docs/article/grokkingfp/rust/part-3.md +994 -994
  552. package/lib/assets/docs/article/grokkingfp/rust/part-4.md +573 -573
  553. package/lib/assets/docs/article/grokkingfp/rust/part-5.md +705 -705
  554. package/lib/assets/docs/article/grokkingfp/rust/part-6.md +508 -508
  555. package/lib/assets/docs/article/grokkingfp/scala/index.md +171 -171
  556. package/lib/assets/docs/article/grokkingfp/scala/part-1.md +543 -543
  557. package/lib/assets/docs/article/grokkingfp/scala/part-2.md +946 -946
  558. package/lib/assets/docs/article/grokkingfp/scala/part-3.md +919 -919
  559. package/lib/assets/docs/article/grokkingfp/scala/part-4.md +742 -742
  560. package/lib/assets/docs/article/grokkingfp/scala/part-5.md +722 -722
  561. package/lib/assets/docs/article/grokkingfp/scala/part-6.md +867 -867
  562. package/lib/assets/docs/article/grokkingfp/typescript/index.md +273 -273
  563. package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +561 -561
  564. package/lib/assets/docs/article/grokkingfp/typescript/part-2.md +1129 -1129
  565. package/lib/assets/docs/article/grokkingfp/typescript/part-3.md +842 -842
  566. package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +1087 -1087
  567. package/lib/assets/docs/article/grokkingfp/typescript/part-5.md +717 -717
  568. package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +982 -982
  569. package/lib/assets/docs/article/practical-database-design/index.md +121 -121
  570. package/lib/assets/docs/article/practical-database-design/part1/chapter01.md +288 -288
  571. package/lib/assets/docs/article/practical-database-design/part1/chapter02.md +518 -518
  572. package/lib/assets/docs/article/practical-database-design/part1/chapter03.md +557 -557
  573. package/lib/assets/docs/article/practical-database-design/part2/chapter04.md +924 -924
  574. package/lib/assets/docs/article/practical-database-design/part2/chapter05.md +1627 -1627
  575. package/lib/assets/docs/article/practical-database-design/part2/chapter06.md +2716 -2716
  576. package/lib/assets/docs/article/practical-database-design/part2/chapter07.md +2082 -2082
  577. package/lib/assets/docs/article/practical-database-design/part2/chapter08.md +2105 -2105
  578. package/lib/assets/docs/article/practical-database-design/part2/chapter09.md +2031 -2031
  579. package/lib/assets/docs/article/practical-database-design/part2/chapter10.md +1387 -1387
  580. package/lib/assets/docs/article/practical-database-design/part2/chapter11.md +1677 -1677
  581. package/lib/assets/docs/article/practical-database-design/part2/chapter12.md +1417 -1417
  582. package/lib/assets/docs/article/practical-database-design/part2/chapter13.md +1434 -1434
  583. package/lib/assets/docs/article/practical-database-design/part3/chapter14.md +667 -667
  584. package/lib/assets/docs/article/practical-database-design/part3/chapter15.md +1625 -1625
  585. package/lib/assets/docs/article/practical-database-design/part3/chapter16.md +1915 -1915
  586. package/lib/assets/docs/article/practical-database-design/part3/chapter17.md +1708 -1708
  587. package/lib/assets/docs/article/practical-database-design/part3/chapter18.md +2095 -2095
  588. package/lib/assets/docs/article/practical-database-design/part3/chapter19.md +1123 -1123
  589. package/lib/assets/docs/article/practical-database-design/part3/chapter20.md +1031 -1031
  590. package/lib/assets/docs/article/practical-database-design/part3/chapter21.md +1382 -1382
  591. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter14-orm.md +991 -991
  592. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter15-orm.md +1300 -1300
  593. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter16-orm.md +1166 -1166
  594. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter17-orm.md +1584 -1584
  595. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter18-orm.md +1183 -1183
  596. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter19-orm.md +1016 -1016
  597. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter20-orm.md +1753 -1753
  598. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter21-orm.md +1447 -1447
  599. package/lib/assets/docs/article/practical-database-design/part3-orm/chapter22-orm.md +1878 -1878
  600. package/lib/assets/docs/article/practical-database-design/part4/chapter22.md +965 -965
  601. package/lib/assets/docs/article/practical-database-design/part4/chapter23.md +2069 -2069
  602. package/lib/assets/docs/article/practical-database-design/part4/chapter24.md +2439 -2439
  603. package/lib/assets/docs/article/practical-database-design/part4/chapter25.md +3661 -3661
  604. package/lib/assets/docs/article/practical-database-design/part4/chapter26.md +2916 -2916
  605. package/lib/assets/docs/article/practical-database-design/part4/chapter27.md +3105 -3105
  606. package/lib/assets/docs/article/practical-database-design/part4/chapter28.md +2697 -2697
  607. package/lib/assets/docs/article/practical-database-design/part4/chapter29.md +2544 -2544
  608. package/lib/assets/docs/article/practical-database-design/part4/chapter30.md +2180 -2180
  609. package/lib/assets/docs/article/practical-database-design/part4/chapter31.md +1192 -1192
  610. package/lib/assets/docs/article/practical-database-design/part4/chapter32.md +2101 -2101
  611. package/lib/assets/docs/article/practical-database-design/part5/chapter33.md +1032 -1032
  612. package/lib/assets/docs/article/practical-database-design/part5/chapter34.md +1609 -1609
  613. package/lib/assets/docs/article/practical-database-design/part5/chapter35.md +1453 -1453
  614. package/lib/assets/docs/article/practical-database-design/part5/chapter36.md +1292 -1292
  615. package/lib/assets/docs/article/practical-database-design/part5/chapter37.md +1470 -1470
  616. package/lib/assets/docs/article/practical-database-design/part5/chapter38.md +1698 -1698
  617. package/lib/assets/docs/article/practical-database-design/part5/chapter39.md +2334 -2334
  618. package/lib/assets/docs/article/practical-database-design/study/study2-1.md +1693 -1693
  619. package/lib/assets/docs/article/practical-database-design/study/study2-2.md +1347 -1347
  620. package/lib/assets/docs/article/practical-database-design/study/study2-3.md +2044 -2044
  621. package/lib/assets/docs/article/practical-database-design/study/study2-4.md +2229 -2229
  622. package/lib/assets/docs/article/practical-database-design/study/study2-5.md +2418 -2418
  623. package/lib/assets/docs/article/practical-database-design/study/study3-1.md +2205 -2205
  624. package/lib/assets/docs/article/practical-database-design/study/study3-2.md +2221 -2221
  625. package/lib/assets/docs/article/practical-database-design/study/study3-3.md +2253 -2253
  626. package/lib/assets/docs/article/practical-database-design/study/study3-4.md +2106 -2106
  627. package/lib/assets/docs/article/practical-database-design/study/study3-5.md +2507 -2507
  628. package/lib/assets/docs/article/practical-database-design/study/study4-1.md +2587 -2587
  629. package/lib/assets/docs/article/practical-database-design/study/study4-2.md +2075 -2075
  630. package/lib/assets/docs/article/practical-database-design/study/study4-3.md +1805 -1805
  631. package/lib/assets/docs/article/practical-database-design/study/study4-4.md +1895 -1895
  632. package/lib/assets/docs/article/practical-database-design/study/study4-5.md +2878 -2878
  633. package/lib/assets/docs/assets/css/extra.css +29 -29
  634. package/lib/assets/docs/assets/js/extra.js +44 -44
  635. package/lib/assets/docs/development/index.md +39 -39
  636. package/lib/assets/docs/operation/index.md +11 -11
  637. 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
  638. 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
  639. 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 -581
  640. 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
  641. 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
  642. package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +450 -450
  643. package/lib/assets/docs/reference/images/Ansoff.drawio.svg +3 -3
  644. package/lib/assets/docs/reference/images/BrandBasicStrategy.drawio.svg +3 -3
  645. package/lib/assets/docs/reference/images/BrandCategorization.drawio.svg +3 -3
  646. package/lib/assets/docs/reference/images/BrandRecurutementStrategy.drawio.svg +3 -3
  647. package/lib/assets/docs/reference/images/BrandValue.drawio.svg +3 -3
  648. package/lib/assets/docs/reference/images/BusinessActivitiy.svg +3 -3
  649. package/lib/assets/docs/reference/images/HRM.drawio.svg +3 -3
  650. package/lib/assets/docs/reference/images/MarketingStructure.drawio.svg +3 -3
  651. package/lib/assets/docs/reference/images/OrganizationElemnts.svg +3 -3
  652. package/lib/assets/docs/reference/images/PPM.drawio.svg +3 -3
  653. package/lib/assets/docs/reference/images/PositioningMap.drawio.svg +3 -3
  654. package/lib/assets/docs/reference/images/ProductLayer.drawio.svg +3 -3
  655. package/lib/assets/docs/reference/images/ProductMix.drawio.svg +3 -3
  656. package/lib/assets/docs/reference/images/SWOT.drawio.svg +3 -3
  657. package/lib/assets/docs/reference/images/TargetMarket.drawio.svg +3 -3
  658. package/lib/assets/docs/reference/images/ThreeGenericStrategies.drawio.svg +3 -3
  659. package/lib/assets/docs/reference/images/VRIO.drawio.svg +3 -3
  660. package/lib/assets/docs/reference/images/ValueChain.drawio.svg +3 -3
  661. package/lib/assets/docs/reference/index.md +52 -52
  662. 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 -250
  663. 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
  664. 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
  665. 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 -550
  666. 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
  667. 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
  668. 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
  669. 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
  670. 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
  671. 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 -689
  672. 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
  673. 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 -580
  674. 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
  675. package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +2637 -2637
  676. 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 -665
  677. 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
  678. 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 +518 -518
  679. package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +1482 -1482
  680. 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
  681. 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
  682. package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +299 -299
  683. 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
  684. package/lib/assets/docs/review/index.md +5 -5
  685. package/lib/assets/docs/strategy/index.md +1 -1
  686. package/lib/assets/docs/template/ADR.md +30 -30
  687. 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
  688. 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
  689. package/lib/assets/docs/template/README.md +50 -50
  690. package/lib/assets/docs/template/index.md +23 -23
  691. 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
  692. 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
  693. 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
  694. 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
  695. 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
  696. package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +573 -573
  697. 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 -69
  698. package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +669 -669
  699. package/lib/assets/docs/template//350/250/255/350/250/210.md +173 -173
  700. 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
  701. package/lib/assets/gulpfile.js +25 -25
  702. package/lib/assets/mkdocs.yml +136 -136
  703. package/lib/assets/ops/docker/mkdoc/Dockerfile +19 -19
  704. package/lib/assets/ops/scripts/journal.js +180 -180
  705. package/lib/assets/ops/scripts/mkdocs.js +82 -82
  706. package/lib/assets/ops/scripts/release.js +431 -431
  707. package/lib/assets/ops/scripts/sonar_local.js +726 -726
  708. package/lib/assets/ops/scripts/ssh.js +190 -190
  709. package/lib/assets/ops/scripts/vault.js +299 -299
  710. package/lib/assets/package-lock.json +1653 -1653
  711. package/lib/assets/package.json +40 -40
  712. package/lib/gulpfile.js +37 -37
  713. package/package.json +41 -41
@@ -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/)