@k2works/claude-code-booster 4.15.0 → 5.0.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.
- package/README.md +19 -0
- package/lib/assets/.claude/skills/apply-okf/SKILL.md +88 -0
- package/lib/assets/.claude/skills/apply-okf/evals/evals.json +8 -0
- package/lib/assets/.claude/skills/apply-okf/scripts/__pycache__/okf_apply.cpython-314.pyc +0 -0
- package/lib/assets/.claude/skills/apply-okf/scripts/okf_apply.py +397 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/benchmark.json +20 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/benchmark.md +13 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/eval_metadata.json +14 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/grading.json +39 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/adr/001-db.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/adr/002-cache-strategy.md +20 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/adr/index.md +4 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/design/data-model.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/design/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/index.md +10 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/log.md +7 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/operation/deploy-old.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/operation/deploy.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/operation/index.md +4 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +965 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/with_skill/outputs/report.md +76 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/grading.json +39 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/adr/001-db.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/adr/002-cache-strategy.md +20 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/adr/index.md +4 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/design/data-model.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/design/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/index.md +10 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/log.md +7 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/operation/deploy-old.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/operation/deploy.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/operation/index.md +4 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +965 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-1-register-new-adr/without_skill/outputs/report.md +22 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/eval_metadata.json +13 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/grading.json +34 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/adr/001-db.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/adr/002-cache-strategy.md +11 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/adr/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/design/data-model.md +14 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/design/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/index.md +10 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/log.md +7 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/operation/deploy-old.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/operation/deploy.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/operation/index.md +4 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +965 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/with_skill/outputs/report.md +61 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/grading.json +34 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/adr/001-db.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/adr/002-cache-strategy.md +11 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/adr/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/design/data-model.md +13 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/design/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/index.md +10 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/log.md +7 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/operation/deploy-old.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/operation/deploy.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/operation/index.md +4 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +965 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-2-verify-reviewed-doc/without_skill/outputs/report.md +18 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/eval_metadata.json +13 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/grading.json +34 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/adr/001-db.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/adr/002-cache-strategy.md +11 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/adr/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/design/data-model.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/design/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/index.md +10 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/log.md +7 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/operation/deploy-old.md +13 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/operation/deploy.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/operation/index.md +7 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +965 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/with_skill/outputs/report.md +83 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/grading.json +34 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/adr/001-db.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/adr/002-cache-strategy.md +11 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/adr/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/design/data-model.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/design/index.md +3 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/index.md +10 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/log.md +7 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/operation/deploy-old.md +14 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/operation/deploy.md +12 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/operation/index.md +4 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +965 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/eval-3-deprecate-replaced-doc/without_skill/outputs/report.md +15 -0
- package/lib/assets/.claude/skills/apply-okf-workspace/iteration-1/review.html +1325 -0
- package/lib/assets/.claude/skills/closing-iteration/SKILL.md +16 -0
- package/lib/assets/.claude/skills/creating-adr/SKILL.md +4 -0
- package/lib/assets/.claude/skills/creating-journal/SKILL.md +12 -1
- package/lib/assets/.claude/skills/creating-manual/SKILL.md +199 -199
- package/lib/assets/.claude/skills/migrating-okf/SKILL.md +149 -0
- package/lib/assets/.claude/skills/migrating-okf/evals/evals.json +23 -0
- package/lib/assets/.claude/skills/migrating-okf/scripts/__pycache__/okf_check.cpython-314.pyc +0 -0
- package/lib/assets/.claude/skills/migrating-okf/scripts/okf_check.py +468 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/benchmark.json +20 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/benchmark.md +13 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/eval_metadata.json +15 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/grading.json +44 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/adr/index.md +10 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/index.md +15 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/log.md +5 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +966 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/reference/index.md +6 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/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 +261 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/202/254/343/202/244/343/203/211.md +480 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/docs_after/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 +681 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/with_skill/outputs/report.md +85 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/grading.json +44 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/adr/index.md +8 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/index.md +11 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/log.md +7 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +964 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/reference/index.md +9 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/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 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/reference//343/203/252/343/203/252/343/203/274/343/202/271/343/202/254/343/202/244/343/203/211.md +469 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/docs_after/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 +677 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-1-migrate-docs/without_skill/outputs/report.md +49 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-2-upgrade-v01-to-v02/eval_metadata.json +13 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-2-upgrade-v01-to-v02/with_skill/grading.json +34 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-2-upgrade-v01-to-v02/with_skill/outputs/knowledge_after/index.md +7 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-2-upgrade-v01-to-v02/with_skill/outputs/knowledge_after/log.md +7 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-2-upgrade-v01-to-v02/with_skill/outputs/knowledge_after/metrics/churn.md +9 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-2-upgrade-v01-to-v02/with_skill/outputs/knowledge_after/metrics/income-statement.md +15 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/eval-2-upgrade-v01-to-v02/with_skill/outputs/report.md +147 -0
- package/lib/assets/.claude/skills/migrating-okf-workspace/iteration-1/review.html +1325 -0
- package/lib/assets/.claude/skills/opening-iteration/SKILL.md +15 -0
- package/lib/assets/.claude/skills/orchestrating-analysis/SKILL.md +4 -1
- package/lib/assets/.claude/skills/orchestrating-development/SKILL.md +2 -0
- package/lib/assets/.claude/skills/orchestrating-operation/SKILL.md +3 -1
- package/lib/assets/.claude/skills/orchestrating-project/SKILL.md +4 -1
- package/lib/assets/.claude/skills/planning-releases/SKILL.md +2 -0
- package/lib/assets/.env.example +9 -0
- package/lib/assets/AGENTS.md +8 -0
- package/lib/assets/CLAUDE.md +218 -201
- package/lib/assets/docs/article/functional-desgin-ppp/all/01-immutability-and-data-transformation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/02-function-composition.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/03-polymorphism.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/04-data-validation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/05-property-based-testing.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/06-tdd-and-functional.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/07-composite-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/08-decorator-pattern.md +10 -1
- package/lib/assets/docs/article/functional-desgin-ppp/all/09-adapter-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/10-strategy-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/11-command-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/12-visitor-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/13-abstract-factory-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/14-abstract-server-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/15-gossiping-bus-drivers.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/16-payroll-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/17-video-rental-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/18-concurrency-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/19-wa-tor-simulation.md +10 -1
- package/lib/assets/docs/article/functional-desgin-ppp/all/20-pattern-interactions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/21-best-practices.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/all/22-oo-to-fp-migration.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/01-immutability-and-data-transformation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/02-function-composition.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/03-polymorphism.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/04-clojure-spec.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/05-property-based-testing.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/06-tdd-in-functional.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/07-composite-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/08-decorator-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/09-adapter-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/10-strategy-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/11-command-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/12-visitor-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/13-abstract-factory-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/14-abstract-server-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/15-gossiping-bus-drivers.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/16-payroll-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/17-video-rental-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/18-concurrency-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/19-wator-simulation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/20-pattern-interactions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/21-best-practices.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/22-oo-to-fp-migration.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/clojure/index.md +3 -3
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/01-immutability-and-data-transformation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/02-function-composition.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/03-polymorphism.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/04-data-validation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/05-property-based-testing.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/06-tdd-and-fp.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/07-effects-and-pure-functions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/08-error-handling-strategies.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/09-io-and-external-systems.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/10-concurrency-patterns.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/11-command-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/12-visitor-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/13-abstract-factory-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/14-abstract-server-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/15-gossiping-bus-drivers.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/16-payroll-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/17-video-rental-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/18-concurrency-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/19-wator-simulation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/20-pattern-interactions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/21-best-practices.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/22-oo-to-fp-migration.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/elixir/index.md +22 -22
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/01-immutability-and-data-transformation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/02-function-composition.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/03-polymorphism.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/04-data-validation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/05-property-based-testing.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/06-tdd-functional.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/07-composite-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/08-decorator-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/09-adapter-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/10-strategy-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/11-command-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/12-visitor-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/13-abstract-factory-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/14-abstract-server-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/15-gossiping-bus-drivers.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/16-payroll-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/17-video-rental-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/18-concurrency-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/19-wator-simulation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/20-pattern-interactions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/21-best-practices.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/fsharp/22-oo-to-fp-migration.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/01-immutability-and-data-transformation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/02-function-composition.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/03-polymorphism.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/04-data-validation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/05-property-based-testing.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/06-tdd-functional.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/07-composite-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/08-decorator-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/09-adapter-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/10-strategy-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/11-command-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/12-visitor-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/13-abstract-factory-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/14-abstract-server-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/15-gossiping-bus-drivers.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/16-payroll-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/17-video-rental-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/18-concurrency-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/19-wator-simulation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/20-pattern-interactions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/21-best-practices.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/haskell/22-oo-to-fp-migration.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/01-immutability-and-data-transformation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/02-function-composition.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/03-polymorphism.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/04-data-validation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/05-property-based-testing.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/06-tdd-and-functional.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/07-composite-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/08-decorator-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/09-adapter-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/10-strategy-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/11-command-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/12-visitor-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/13-abstract-factory-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/14-abstract-server-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/15-gossiping-bus-drivers.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/16-payroll-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/17-video-rental-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/18-concurrency-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/19-wator-simulation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/20-pattern-interactions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/21-best-practices.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/rust/22-oo-to-fp-migration.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/01-immutability-and-data-transformation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/02-function-composition.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/03-polymorphism.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/04-data-validation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/05-property-based-testing.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/06-tdd-functional.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/07-composite-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/08-decorator-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/09-adapter-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/10-strategy-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/11-command-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/12-visitor-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/13-abstract-factory-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/14-abstract-server-pattern.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/15-gossiping-bus-drivers.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/16-payroll-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/17-video-rental-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/18-concurrency-system.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/19-wator-simulation.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/20-pattern-interactions.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/21-best-practices.md +9 -0
- package/lib/assets/docs/article/functional-desgin-ppp/scala/22-oo-to-fp-migration.md +9 -0
- package/lib/assets/docs/article/getting-start-docker-kubernetes/01-container-and-docker-basics.md +341 -332
- package/lib/assets/docs/article/getting-start-docker-kubernetes/02-container-deployment.md +785 -776
- package/lib/assets/docs/article/getting-start-docker-kubernetes/03-practical-container-build-deploy.md +466 -457
- package/lib/assets/docs/article/getting-start-docker-kubernetes/04-multi-container-application.md +878 -869
- package/lib/assets/docs/article/getting-start-docker-kubernetes/05-kubernetes-introduction.md +585 -576
- package/lib/assets/docs/article/getting-start-docker-kubernetes/06-kubernetes-deploy-cluster.md +620 -611
- package/lib/assets/docs/article/getting-start-docker-kubernetes/07-kubernetes-advanced.md +621 -612
- package/lib/assets/docs/article/getting-start-docker-kubernetes/08-kubernetes-packaging.md +518 -509
- package/lib/assets/docs/article/getting-start-docker-kubernetes/09-container-operations.md +546 -537
- package/lib/assets/docs/article/getting-start-docker-kubernetes/10-optimal-container-image.md +640 -631
- package/lib/assets/docs/article/getting-start-docker-kubernetes/11-continuous-delivery.md +607 -598
- package/lib/assets/docs/article/getting-start-docker-kubernetes/12-container-use-cases.md +463 -454
- package/lib/assets/docs/article/getting-start-docker-kubernetes/13-case-monolith-compose-vs-kustomize.md +346 -337
- package/lib/assets/docs/article/getting-start-docker-kubernetes/14-case-event-driven-kustomize-vs-helm.md +324 -315
- package/lib/assets/docs/article/getting-start-docker-kubernetes/15-case-escqrs-axon-kustomize-vs-helm.md +297 -288
- package/lib/assets/docs/article/getting-start-docker-kubernetes/16-case-escqrs-kafka-kustomize-vs-helm.md +256 -247
- package/lib/assets/docs/article/getting-start-docker-kubernetes/17-case-comparison-summary.md +141 -132
- package/lib/assets/docs/article/getting-start-docker-kubernetes/18-case-load-testing.md +303 -294
- package/lib/assets/docs/article/getting-start-docker-kubernetes/appendix-a-dev-tools-setup.md +274 -265
- package/lib/assets/docs/article/getting-start-docker-kubernetes/appendix-b-orchestration-environments.md +530 -521
- package/lib/assets/docs/article/getting-start-docker-kubernetes/appendix-c-tips.md +519 -510
- package/lib/assets/docs/article/getting-start-docker-kubernetes/outline.md +220 -211
- package/lib/assets/docs/article/getting-start-tdd/clojure/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/07-protocols-and-records.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/10-higher-order-functions-and-composition.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/clojure/12-error-handling-and-spec.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter01.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter02.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter03.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter04.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter05.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter06.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter07.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter08.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter09.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter10.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter11.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/csharp/chapter12.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/07-structs-and-protocols.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/08-pattern-matching-and-guards.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/09-module-design-and-behaviours.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/10-higher-order-functions-and-pipeline.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/11-stream-and-lazy-evaluation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/12-error-handling-and-with.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/elixir/index.md +2 -2
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter01.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter02.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter03.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter04.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter05.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter06.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter07.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter08.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter09.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter10.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter11.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/fsharp/chapter12.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/go/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/go/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/go/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/go/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/go/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/go/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/go/07-encapsulation-and-polymorphism.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/go/08-design-patterns.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/go/09-solid-principles-and-module-design.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/go/10-higher-order-functions-and-composition.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/go/11-immutable-data-and-pipeline.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/go/12-error-handling-and-type-safety.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/07-algebraic-data-types-and-type-classes.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/08-pattern-matching-and-guards.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/09-module-design-and-smart-constructors.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/10-higher-order-functions-and-currying.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/11-function-composition-and-point-free.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/haskell/12-monad-and-error-handling.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/01-language-overview.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/02-test-framework-comparison.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/03-tdd-pattern-comparison.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/04-type-system-comparison.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/05-dev-environment-comparison.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/integration/06-learning-roadmap.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/07-encapsulation-and-polymorphism.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/08-design-patterns.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/09-solid-principles-and-module-design.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/10-higher-order-functions-and-composition.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/11-immutable-data-and-pipeline.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/java/12-error-handling-and-type-safety.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/07-encapsulation-and-polymorphism.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/08-design-patterns.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/09-solid-principles-and-module-design.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/10-higher-order-functions-and-composition.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/11-immutable-data-and-pipeline.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/node/12-error-handling-and-type-safety.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/php/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/php/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/php/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/php/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/php/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/php/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/php/07-encapsulation-and-polymorphism.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/php/08-design-patterns.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/php/09-solid-principles-and-module-design.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/php/10-higher-order-functions-and-composition.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/php/11-immutable-data-and-pipeline.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/php/12-error-handling-and-type-safety.md +8 -0
- package/lib/assets/docs/article/getting-start-tdd/python/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/07-encapsulation-and-polymorphism.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/08-design-patterns.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/09-solid-principles-and-module-design.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/10-higher-order-functions-and-composition.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/11-immutable-data-and-pipeline.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/python/12-error-handling-and-type-safety.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/07-encapsulation-and-polymorphism.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/08-design-patterns.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/09-solid-principles-and-module-design.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/10-higher-order-functions-and-composition.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/11-immutable-data-and-pipeline.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/ruby/12-error-handling-and-type-safety.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/07-encapsulation-and-polymorphism.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/08-design-patterns.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/09-solid-principles-and-module-design.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/10-higher-order-functions-and-composition.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/11-immutable-data-and-pipeline.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/rust/12-error-handling-and-type-safety.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/01-todo-list-and-first-test.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/02-fake-it-and-triangulation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/03-obvious-implementation-and-refactoring.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/04-version-control-and-conventional-commits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/05-package-management-and-static-analysis.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/06-task-runner-and-ci-cd.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/07-case-classes-and-traits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/08-pattern-matching-and-sealed-traits.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/09-packages-and-module-design.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/10-higher-order-functions-and-composition.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/11-collections-and-lazy-evaluation.md +9 -0
- package/lib/assets/docs/article/getting-start-tdd/scala/12-error-handling-and-type-safety.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/index.md +0 -1
- package/lib/assets/docs/article/grokking-concurrency/all/part-1-ch02-sequential.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/part-2-ch04-05-threads.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/part-3-ch06-multitasking.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/part-4-ch07-parallel-patterns.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/part-5-ch08-09-synchronization.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/part-6-ch10-11-nonblocking-io.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/part-7-ch12-async.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/all/part-8-ch13-mapreduce.md +9 -0
- package/lib/assets/docs/article/grokking-concurrency/clojure/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-1.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-2.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-3.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-4.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-5.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-6.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-7.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/clojure/part-8.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-1.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-2.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-3.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-4.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-5.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-6.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-7.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/csharp/part-8.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-1.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-2.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-3.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-4.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-5.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-6.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-7.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/fsharp/part-8.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-1.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-2.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-3.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-4.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-5.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-6.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-7.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/haskell/part-8.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/java/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/java/part-1.md +8 -9
- package/lib/assets/docs/article/grokking-concurrency/java/part-2.md +8 -9
- package/lib/assets/docs/article/grokking-concurrency/java/part-3.md +7 -8
- package/lib/assets/docs/article/grokking-concurrency/java/part-4.md +8 -9
- package/lib/assets/docs/article/grokking-concurrency/java/part-5.md +7 -8
- package/lib/assets/docs/article/grokking-concurrency/java/part-6.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/java/part-7.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/java/part-8.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/python/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/python/part-1.md +7 -8
- package/lib/assets/docs/article/grokking-concurrency/python/part-2.md +10 -11
- package/lib/assets/docs/article/grokking-concurrency/python/part-3.md +8 -9
- package/lib/assets/docs/article/grokking-concurrency/python/part-4.md +8 -9
- package/lib/assets/docs/article/grokking-concurrency/python/part-5.md +9 -10
- package/lib/assets/docs/article/grokking-concurrency/python/part-6.md +9 -10
- package/lib/assets/docs/article/grokking-concurrency/python/part-7.md +9 -10
- package/lib/assets/docs/article/grokking-concurrency/python/part-8.md +8 -9
- package/lib/assets/docs/article/grokking-concurrency/rust/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/rust/part-1.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/rust/part-2.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/rust/part-3.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/rust/part-4.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/rust/part-5.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/rust/part-6.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/rust/part-7.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/rust/part-8.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/index.md +0 -10
- package/lib/assets/docs/article/grokking-concurrency/scala/part-1.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/part-2.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/part-3.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/part-4.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/part-5.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/part-6.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/part-7.md +6 -7
- package/lib/assets/docs/article/grokking-concurrency/scala/part-8.md +6 -7
- package/lib/assets/docs/article/grokkingfp/all/part-1-ch01-fp-introduction.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-1-ch02-pure-functions.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch03-immutable-data.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch04-higher-order-functions.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-2-ch05-flatmap.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch06-option.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-3-ch07-either-adt.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-4-ch08-io-monad.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-4-ch09-streams.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-5-ch10-concurrency.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-6-ch11-application.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/part-6-ch12-testing.md +9 -0
- package/lib/assets/docs/article/grokkingfp/all/writing-plan.md +9 -0
- package/lib/assets/docs/article/grokkingfp/clojure/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/clojure/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/clojure/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/clojure/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/clojure/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/clojure/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/csharp/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/csharp/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/csharp/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/csharp/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/csharp/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/csharp/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/elixir/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/fsharp/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/fsharp/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/fsharp/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/fsharp/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/fsharp/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/fsharp/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/haskell/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/java/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/java/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/java/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/java/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/java/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/java/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/python/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/python/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/python/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/python/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/python/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/python/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/ruby/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/rust/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/rust/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/rust/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/rust/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/rust/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/rust/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/scala/part-6.md +9 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-1.md +9 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-2.md +9 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-3.md +9 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-4.md +9 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-5.md +9 -0
- package/lib/assets/docs/article/grokkingfp/typescript/part-6.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part1/chapter01.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part1/chapter02.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part1/chapter03.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter04.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter05.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter06.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter07.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter08.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter09.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter10.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter11.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter12.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part2/chapter13.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter14.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter15.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter16.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter17.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter18.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter19.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter20.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3/chapter21.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter14-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter15-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter16-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter17-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter18-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter19-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter20-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter21-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part3-orm/chapter22-orm.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter22.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter23.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter24.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter25.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter26.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter27.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter28.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter29.md +8 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter30.md +8 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter31.md +8 -0
- package/lib/assets/docs/article/practical-database-design/part4/chapter32.md +8 -0
- package/lib/assets/docs/article/practical-database-design/part5/chapter33.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part5/chapter34.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part5/chapter35.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part5/chapter36.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part5/chapter37.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part5/chapter38.md +9 -0
- package/lib/assets/docs/article/practical-database-design/part5/chapter39.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study2-1.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study2-2.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study2-3.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study2-4.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study2-5.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study3-1.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study3-2.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study3-3.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study3-4.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study3-5.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study4-1.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study4-2.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study4-3.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study4-4.md +9 -0
- package/lib/assets/docs/article/practical-database-design/study/study4-5.md +9 -0
- package/lib/assets/docs/index.md +4 -0
- package/lib/assets/docs/log.md +5 -0
- package/lib/assets/docs/operation/index.md +15 -1
- 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 +13 -4
- 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 +10 -0
- 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 +11 -1
- package/lib/assets/docs/reference/OKF/345/260/216/345/205/245/343/202/254/343/202/244/343/203/211_V0.2.md +965 -0
- 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 +10 -0
- 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 +11 -1
- package/lib/assets/docs/reference/UI/350/250/255/350/250/210/343/202/254/343/202/244/343/203/211.md +10 -1
- package/lib/assets/docs/reference/Vim/346/223/215/344/275/234/343/203/236/343/203/213/343/203/245/343/202/242/343/203/253.md +177 -168
- package/lib/assets/docs/reference/index.md +54 -53
- 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 +7 -8
- 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 +10 -1
- 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 +10 -1
- 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 +6 -7
- 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 +10 -1
- 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 +10 -1
- 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 +10 -1
- 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 +10 -1
- 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 +9 -0
- 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 +10 -1
- 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 +9 -0
- 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 +7 -8
- 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 +9 -0
- package/lib/assets/docs/reference//344/274/201/346/245/255/347/265/214/345/226/266/350/253/226.md +10 -1
- 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 +10 -0
- package/lib/assets/docs/reference//347/265/214/345/226/266/346/210/246/347/225/245/345/210/206/346/236/220/343/202/254/343/202/244/343/203/211.md +9 -0
- 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 +10 -1
- 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 +9 -0
- package/lib/assets/docs/reference//351/201/213/345/226/266/347/256/241/347/220/206.md +10 -1
- 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 +9 -0
- 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 +10 -1
- package/lib/assets/docs/reference//351/226/213/347/231/272/343/202/254/343/202/244/343/203/211.md +9 -0
- 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 +10 -1
- package/lib/assets/docs/template/ADR.md +9 -0
- 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 +9 -0
- 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 +9 -0
- package/lib/assets/docs/template/README.md +9 -0
- 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 +9 -0
- 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 +9 -0
- 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 +10 -1
- package/lib/assets/docs/template//343/202/244/343/203/206/343/203/254/343/203/274/343/202/267/343/203/247/343/203/263/350/250/210/347/224/273.md +11 -2
- 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 +9 -0
- 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 +9 -0
- package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/345/256/214/344/272/206/345/240/261/345/221/212/346/233/270.md +9 -0
- package/lib/assets/docs/template//343/203/252/343/203/252/343/203/274/343/202/271/350/250/210/347/224/273.md +289 -280
- package/lib/assets/docs/template//344/272/213/344/276/213/345/210/206/346/236/220.md +9 -0
- package/lib/assets/docs/template//344/274/201/346/245/255/345/210/206/346/236/220.md +9 -0
- 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 +7 -8
- package/lib/assets/docs/template//350/246/201/344/273/266/345/256/232/347/276/251.md +7 -8
- package/lib/assets/docs/template//350/250/255/350/250/210.md +10 -1
- 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 +9 -0
- package/lib/assets/gulpfile.js +4 -2
- package/lib/assets/ops/scripts/okf.js +272 -0
- package/lib/assets/package.json +2 -0
- package/package.json +1 -1
|
@@ -1,211 +1,220 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
├──
|
|
72
|
-
├──
|
|
73
|
-
├──
|
|
74
|
-
├──
|
|
75
|
-
├──
|
|
76
|
-
├──
|
|
77
|
-
├──
|
|
78
|
-
├──
|
|
79
|
-
├──
|
|
80
|
-
├──
|
|
81
|
-
├──
|
|
82
|
-
├──
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
|
117
|
-
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
|
127
|
-
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
|
137
|
-
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
|
147
|
-
|
|
|
148
|
-
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
###
|
|
166
|
-
|
|
167
|
-
|
|
|
168
|
-
|
|
169
|
-
|
|
|
170
|
-
|
|
|
171
|
-
|
|
|
172
|
-
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
-
|
|
210
|
-
-
|
|
211
|
-
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "執筆計画アウトライン"
|
|
4
|
+
description: "「Docker/Kubernetes 実践コンテナ解説」シリーズの執筆計画。"
|
|
5
|
+
tags: [article, getting-start-docker-kubernetes]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-06-26T00:29:42Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 執筆計画アウトライン
|
|
11
|
+
|
|
12
|
+
## 概要
|
|
13
|
+
|
|
14
|
+
「Docker/Kubernetes 実践コンテナ解説」シリーズの執筆計画。書籍『Docker/Kubernetes 実践コンテナ開発入門(第 2 版)』の章立て(`tmp/index.md`)を解説記事として再構成し、各章を実際に動作するサンプルコードに紐づけて解説する。
|
|
15
|
+
|
|
16
|
+
アルゴリズム入門シリーズ(`getting-started-algorithm`)の `outline.md` の方針を踏襲し、章とソースの対応を明確にしたうえで、読者が手を動かしながら理解できる構成にする。
|
|
17
|
+
|
|
18
|
+
## 執筆方針
|
|
19
|
+
|
|
20
|
+
### 実コード紐づけ方式
|
|
21
|
+
|
|
22
|
+
すべての解説は実在のサンプルコードに紐づける。コードを引用するときは出典(パス)を明示し、存在しないコマンドや設定を捏造しない。中心となるサンプルは本リポジトリの `apps/` 配下に実装を配置し、実機で動作検証している。書籍リポジトリの一部(pipecd-examples / cloudshell / gihyo-docker-kuberbetes)は `apps/` には収録せず、補助参照として扱う。
|
|
23
|
+
|
|
24
|
+
### apps/ 配下に配置するサンプル
|
|
25
|
+
|
|
26
|
+
- **echo**(`apps/echo/`)— 単一コンテナの最小サンプル(Go 製の Hello サーバ)。第 1〜2 章、第 5 章、第 8 章、第 10 章で利用
|
|
27
|
+
- **taskapp**(`apps/taskapp/`)— 複数コンテナ構成のタスク管理アプリ(api / web / mysql / migrator / nginx)。第 3〜4 章、第 6 章、第 9 章で利用
|
|
28
|
+
- **container-kit**(`apps/container-kit/`)— デバッグ・プロキシ・ジョブ用の補助コンテナ集。第 7 章、第 12 章、付録 C で利用
|
|
29
|
+
- **image-bootstrap**(`apps/image-bootstrap/`)— distroless + 非 root + Trivy によるセキュアイメージのサンプル。第 10 章、付録 C で利用
|
|
30
|
+
- **echo-bootstrap**(`apps/cd/echo-bootstrap/`)— echo を Kubernetes へデプロイする Kustomize マニフェスト。第 6 章、第 11 章で利用
|
|
31
|
+
- **argocd-example-apps**(`apps/cd/argocd-example-apps/`)— Argo CD 用のサンプルアプリ(guestbook、helm、kustomize、blue-green)。第 11 章で利用
|
|
32
|
+
|
|
33
|
+
### 補助参照(apps/ には収録しない書籍リポジトリ)
|
|
34
|
+
|
|
35
|
+
- **pipecd-examples** — PipeCD 用のデプロイ定義(canary、bluegreen、analysis など)。第 11 章で利用
|
|
36
|
+
- **cloudshell** — AWS(EKS / ECS)構築スクリプトと CDK。付録 B で利用
|
|
37
|
+
- **gihyo-docker-kuberbetes** — 書籍のサンプルコード(simple-pod/replicaset/deployment/service/ingress、Helm チャートなど)。第 5 章、第 7〜10 章の補助参照
|
|
38
|
+
|
|
39
|
+
### 文体・表記
|
|
40
|
+
|
|
41
|
+
- 言語: 日本語(技術用語は英語のまま)
|
|
42
|
+
- 文体: ですます調、句読点は「。」「、」
|
|
43
|
+
- 日本語と半角英数字の間には半角スペースを入れる
|
|
44
|
+
- コードブロックには言語識別子(`dockerfile` `yaml` `bash` `go` など)を付ける
|
|
45
|
+
- 各章は「はじめに → 概念解説 → ハンズオン → まとめ」の流れを基本とする
|
|
46
|
+
|
|
47
|
+
## 章とソースの対応
|
|
48
|
+
|
|
49
|
+
| 章 | ファイル | テーマ | 主な参考ソース |
|
|
50
|
+
|----|---------|--------|---------------|
|
|
51
|
+
| 第 1 章 | `01-container-and-docker-basics.md` | コンテナと Docker の基礎 | `apps/echo/Dockerfile`, `apps/container-kit/containers/` |
|
|
52
|
+
| 第 2 章 | `02-container-deployment.md` | コンテナのデプロイ | `apps/echo/` (main.go, Dockerfile, compose.yaml) |
|
|
53
|
+
| 第 3 章 | `03-practical-container-build-deploy.md` | 実用的なコンテナの構築とデプロイ | `apps/echo/Dockerfile.slim`, `apps/taskapp/containers/` |
|
|
54
|
+
| 第 4 章 | `04-multi-container-application.md` | 複数コンテナ構成でのアプリケーション構築 | `apps/taskapp/` (compose.yaml, containers, Tiltfile) |
|
|
55
|
+
| 第 5 章 | `05-kubernetes-introduction.md` | Kubernetes 入門 | `gihyo-docker-kuberbetes/ch05/simple-*.yaml`, `apps/echo/k8s` |
|
|
56
|
+
| 第 6 章 | `06-kubernetes-deploy-cluster.md` | Kubernetes のデプロイ・クラスタ構築 | `apps/taskapp/k8s/plain/local/`, `apps/cd/echo-bootstrap/` |
|
|
57
|
+
| 第 7 章 | `07-kubernetes-advanced.md` | Kubernetes の発展的な利用 | `apps/container-kit/containers/time-limit-job`, `gihyo*/ch09` |
|
|
58
|
+
| 第 8 章 | `08-kubernetes-packaging.md` | Kubernetes アプリケーションのパッケージング | `apps/taskapp/k8s/kustomize/`, `gihyo*/ch07`, `apps/cd/argocd-example-apps/helm-guestbook` |
|
|
59
|
+
| 第 9 章 | `09-container-operations.md` | コンテナの運用 | `apps/taskapp/containers/nginx-*`, `apps/taskapp/containers/mysql` |
|
|
60
|
+
| 第 10 章 | `10-optimal-container-image.md` | 最適なコンテナイメージ作成と運用 | `apps/echo/Dockerfile.slim`, `apps/image-bootstrap/` |
|
|
61
|
+
| 第 11 章 | `11-continuous-delivery.md` | コンテナにおける継続的デリバリー | `apps/cd/argocd-example-apps/`, `pipecd-examples/`, `apps/cd/echo-bootstrap/` |
|
|
62
|
+
| 第 12 章 | `12-container-use-cases.md` | コンテナのさまざまな活用方法 | `apps/container-kit/`, `gihyo*/chA` |
|
|
63
|
+
| 付録 A | `appendix-a-dev-tools-setup.md` | 開発ツールのセットアップ | `apps/taskapp/.tool-versions`, `apps/taskapp/hack/` |
|
|
64
|
+
| 付録 B | `appendix-b-orchestration-environments.md` | さまざまなコンテナオーケストレーション環境 | `cloudshell/aws/`, `apps/taskapp/k8s/plain/aks`, `pipecd-examples/ecs` |
|
|
65
|
+
| 付録 C | `appendix-c-tips.md` | コンテナ開発・運用の Tips | `apps/container-kit/`, `apps/image-bootstrap/trivy.yaml` |
|
|
66
|
+
|
|
67
|
+
## ファイル構成
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
docs/article/getting-start-docker-kubernetes/
|
|
71
|
+
├── index.md # 記事トップページ(目次)
|
|
72
|
+
├── outline.md # 本ファイル(執筆計画)
|
|
73
|
+
├── 01-container-and-docker-basics.md # 第 1 章
|
|
74
|
+
├── 02-container-deployment.md # 第 2 章
|
|
75
|
+
├── 03-practical-container-build-deploy.md # 第 3 章
|
|
76
|
+
├── 04-multi-container-application.md # 第 4 章
|
|
77
|
+
├── 05-kubernetes-introduction.md # 第 5 章
|
|
78
|
+
├── 06-kubernetes-deploy-cluster.md # 第 6 章
|
|
79
|
+
├── 07-kubernetes-advanced.md # 第 7 章
|
|
80
|
+
├── 08-kubernetes-packaging.md # 第 8 章
|
|
81
|
+
├── 09-container-operations.md # 第 9 章
|
|
82
|
+
├── 10-optimal-container-image.md # 第 10 章
|
|
83
|
+
├── 11-continuous-delivery.md # 第 11 章
|
|
84
|
+
├── 12-container-use-cases.md # 第 12 章
|
|
85
|
+
├── 13-case-monolith-compose-vs-kustomize.md # 第 13 章(ケーススタディ 1)
|
|
86
|
+
├── 14-case-event-driven-kustomize-vs-helm.md # 第 14 章(ケーススタディ 2)
|
|
87
|
+
├── 15-case-escqrs-axon-kustomize-vs-helm.md # 第 15 章(ケーススタディ 3)
|
|
88
|
+
├── 16-case-escqrs-kafka-kustomize-vs-helm.md # 第 16 章(ケーススタディ 4)
|
|
89
|
+
├── 17-case-comparison-summary.md # 第 17 章(ケーススタディ まとめ)
|
|
90
|
+
├── appendix-a-dev-tools-setup.md # 付録 A
|
|
91
|
+
├── appendix-b-orchestration-environments.md # 付録 B
|
|
92
|
+
└── appendix-c-tips.md # 付録 C
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## 構成方針
|
|
96
|
+
|
|
97
|
+
書籍の 12 章 + 付録 3 章構成をそのまま維持する。各部のねらいは以下のとおり。
|
|
98
|
+
|
|
99
|
+
### 第 1 部: コンテナと Docker(第 1〜3 章)
|
|
100
|
+
|
|
101
|
+
コンテナの概念、Docker の基本操作、実用的なイメージ構築までを学ぶ。
|
|
102
|
+
|
|
103
|
+
| 章 | テーマ | 内容 |
|
|
104
|
+
|----|--------|------|
|
|
105
|
+
| 1 | コンテナと Docker の基礎 | コンテナとは、Docker とは、利用意義、ローカル実行環境の構築 |
|
|
106
|
+
| 2 | コンテナのデプロイ | アプリの実行、イメージ作成、イメージ・コンテナの操作、Docker Compose |
|
|
107
|
+
| 3 | 実用的なコンテナの構築とデプロイ | 粒度、ポータビリティ、コンテナフレンドリ、クレデンシャル、永続化 |
|
|
108
|
+
|
|
109
|
+
### 第 2 部: 複数コンテナと Kubernetes 入門(第 4〜6 章)
|
|
110
|
+
|
|
111
|
+
複数コンテナ構成のアプリ構築と Kubernetes の基礎・デプロイを学ぶ。
|
|
112
|
+
|
|
113
|
+
| 章 | テーマ | 内容 |
|
|
114
|
+
|----|--------|------|
|
|
115
|
+
| 4 | 複数コンテナ構成でのアプリケーション構築 | Web/API/MySQL/マイグレータ/リバースプロキシ、Tilt |
|
|
116
|
+
| 5 | Kubernetes 入門 | Kubernetes とは、ローカル実行、Pod/ReplicaSet/Deployment/Service/Ingress |
|
|
117
|
+
| 6 | Kubernetes のデプロイ・クラスタ構築 | タスクアプリのデプロイ、インターネット公開 |
|
|
118
|
+
|
|
119
|
+
### 第 3 部: Kubernetes の実践(第 7〜9 章)
|
|
120
|
+
|
|
121
|
+
発展的な利用、パッケージング、運用を学ぶ。
|
|
122
|
+
|
|
123
|
+
| 章 | テーマ | 内容 |
|
|
124
|
+
|----|--------|------|
|
|
125
|
+
| 7 | Kubernetes の発展的な利用 | デプロイ戦略、CronJob、RBAC |
|
|
126
|
+
| 8 | Kubernetes アプリケーションのパッケージング | Kustomize、Helm |
|
|
127
|
+
| 9 | コンテナの運用 | ロギング、可用性の高い運用 |
|
|
128
|
+
|
|
129
|
+
### 第 4 部: イメージ最適化と継続的デリバリー(第 10〜12 章)
|
|
130
|
+
|
|
131
|
+
イメージ最適化、CD パイプライン、応用的な活用方法を学ぶ。
|
|
132
|
+
|
|
133
|
+
| 章 | テーマ | 内容 |
|
|
134
|
+
|----|--------|------|
|
|
135
|
+
| 10 | 最適なコンテナイメージ作成と運用 | 軽量ベースイメージ、Multi-stage builds、BuildKit、セキュリティ |
|
|
136
|
+
| 11 | コンテナにおける継続的デリバリー | Flux、Argo CD、PipeCD |
|
|
137
|
+
| 12 | コンテナのさまざまな活用方法 | 開発環境統一、CLI、負荷テスト |
|
|
138
|
+
|
|
139
|
+
### 第 5 部: 国際貨物輸送システムのケーススタディ(第 13〜17 章)
|
|
140
|
+
|
|
141
|
+
書籍の基礎を踏まえ、実在の貨物追跡システム(Cargo Tracker)の 4 つのアーキテクチャ実装を題材に、コンテナデプロイ手段(Docker Compose / Kustomize / Helm)を比較する。アーキテクチャの違いがデプロイ手段の選択にどう影響するかを、実装と動作検証を通じて学ぶ。
|
|
142
|
+
|
|
143
|
+
| 章 | テーマ | 比較軸 |
|
|
144
|
+
|----|--------|--------|
|
|
145
|
+
| 13 | モノリス(case-1)のデプロイ | Docker Compose 対 Kustomize |
|
|
146
|
+
| 14 | イベント駆動マイクロサービス(case-2)のデプロイ | Kustomize 対 Helm |
|
|
147
|
+
| 15 | ES/CQRS マイクロサービス(Axon、case-3)のデプロイ | Kustomize 対 Helm |
|
|
148
|
+
| 16 | ES/CQRS マイクロサービス(Kafka、case-4)のデプロイ | Kustomize 対 Helm |
|
|
149
|
+
| 17 | ケーススタディ実装比較まとめ | 全アーキテクチャ × デプロイ手段の総括 |
|
|
150
|
+
|
|
151
|
+
### 付録(App.A〜C)
|
|
152
|
+
|
|
153
|
+
| 付録 | テーマ | 内容 |
|
|
154
|
+
|------|--------|------|
|
|
155
|
+
| A | 開発ツールのセットアップ | WSL2、asdf、kind、Rancher Desktop |
|
|
156
|
+
| B | さまざまなコンテナオーケストレーション環境 | GKE、EKS、AKS、オンプレミス、ECS |
|
|
157
|
+
| C | コンテナ開発・運用の Tips | コンテナランタイム、Kubernetes Tips、生成 AI 活用、apk |
|
|
158
|
+
|
|
159
|
+
## 第 5 部 ケーススタディの実装・執筆計画
|
|
160
|
+
|
|
161
|
+
### ねらい
|
|
162
|
+
|
|
163
|
+
第 1〜12 章で学んだコンテナ・Kubernetes・パッケージング・CD の知識を、実在の業務システム(国際貨物輸送システム = Cargo Tracker)の 4 アーキテクチャに適用する。同一ドメインを異なるアーキテクチャで実装した題材を使い、「アーキテクチャの複雑さが増すほど、宣言的・テンプレート化されたデプロイ手段(Kustomize → Helm)の価値が高まる」ことを実装と検証で示す。
|
|
164
|
+
|
|
165
|
+
### 題材(参考ソース)
|
|
166
|
+
|
|
167
|
+
| ケース | アーキテクチャ | 参考ソース | 主な構成要素 |
|
|
168
|
+
|--------|--------------|-----------|------------|
|
|
169
|
+
| case-1 | モノリス | `tmp/case-1` | Spring Boot 単一アプリ(port 8080)+ PostgreSQL |
|
|
170
|
+
| case-2 | イベント駆動マイクロサービス | `tmp/case-2` | 7 マイクロサービス(auth/booking/routing/tracking/handling/billing/gateway)+ frontend |
|
|
171
|
+
| case-3 | ES/CQRS マイクロサービス(Axon) | `tmp/case-3` | Axon 5(Command/Event Sourcing)+ MyBatis(Read)構成のマイクロサービス群 |
|
|
172
|
+
| case-4 | ES/CQRS マイクロサービス(Kafka) | `tmp/case-4` | Kafka + ZooKeeper + PostgreSQL + マイクロサービス群。**`ops/k8s`(Kustomize)と `ops/helm` を既に実装済み**(参照モデル) |
|
|
173
|
+
|
|
174
|
+
### 章とソース・比較軸の対応
|
|
175
|
+
|
|
176
|
+
| 章 | ファイル | 参考ソース | 実装する成果物 | 比較軸 |
|
|
177
|
+
|----|---------|-----------|--------------|--------|
|
|
178
|
+
| 第 13 章 | `13-case-monolith-compose-vs-kustomize.md` | `tmp/case-1` | Docker Compose 一式 + Kustomize マニフェスト | Compose 対 Kustomize |
|
|
179
|
+
| 第 14 章 | `14-case-event-driven-kustomize-vs-helm.md` | `tmp/case-2` | Kustomize(base/overlay)+ Helm チャート | Kustomize 対 Helm |
|
|
180
|
+
| 第 15 章 | `15-case-escqrs-axon-kustomize-vs-helm.md` | `tmp/case-3` | Kustomize + Helm チャート | Kustomize 対 Helm |
|
|
181
|
+
| 第 16 章 | `16-case-escqrs-kafka-kustomize-vs-helm.md` | `tmp/case-4` | 既存の `ops/k8s`・`ops/helm` を整理・検証 | Kustomize 対 Helm |
|
|
182
|
+
| 第 17 章 | `17-case-comparison-summary.md` | 第 13〜16 章 | (比較表・指針) | 全体総括 |
|
|
183
|
+
|
|
184
|
+
### apps/ への実装方針
|
|
185
|
+
|
|
186
|
+
ケーススタディのデプロイ成果物とアプリ本体のソースは `apps/case-studies/` 配下に配置する。`tmp/` は Git 管理対象外でチェックアウトし直すと失われ再現できないため、ビルドに必要なソースも `apps/` に同梱する(ビルド成果物・`node_modules`・`.gradle` 等は除外)。
|
|
187
|
+
|
|
188
|
+
```
|
|
189
|
+
apps/case-studies/
|
|
190
|
+
├── case-1-monolith/ # 第 13 章: cargo-tracker/(ソース)+ compose/ + k8s/kustomize/
|
|
191
|
+
├── case-2-event-driven/ # 第 14 章: ソース + k8s/kustomize/ + helm/
|
|
192
|
+
├── case-3-escqrs-axon/ # 第 15 章: ソース + k8s/kustomize/ + helm/
|
|
193
|
+
└── case-4-escqrs-kafka/ # 第 16 章: ソース + k8s/kustomize/ + helm/(tmp/case-4 の ops を基に)
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
### 実装・検証・執筆のワークフロー
|
|
197
|
+
|
|
198
|
+
各章は「実装 → 動作検証 → 執筆」の順で進める。
|
|
199
|
+
|
|
200
|
+
1. **実装**: 参考ソースを基に、対象のデプロイ成果物(Compose / Kustomize / Helm)を `apps/case-studies/` に作成する。
|
|
201
|
+
2. **動作検証**: Docker と ローカル Kubernetes(Docker Desktop / kind)で実際にデプロイし、起動・疎通を確認する。検証時に発見した不具合は修正し、修正点を記録する。
|
|
202
|
+
3. **執筆**: 検証で確認した実コード・コマンド・結果に基づき、比較記事を執筆する。捏造せず、出典(`apps/case-studies/...`)を明示する。
|
|
203
|
+
|
|
204
|
+
各章の比較記事には、最低限以下を含める。
|
|
205
|
+
|
|
206
|
+
- アーキテクチャ概要(ドメインとサービス構成)
|
|
207
|
+
- 各デプロイ手段の実装(マニフェスト・チャートの要点)
|
|
208
|
+
- 環境差分の扱い(overlay / values による上書き)
|
|
209
|
+
- 動作検証の手順と結果
|
|
210
|
+
- 比較考察(記述量・重複・再利用性・学習コスト・適性)
|
|
211
|
+
|
|
212
|
+
### 進め方
|
|
213
|
+
|
|
214
|
+
規模が大きいため、第 13 章(case-1)から順に「実装 → 検証 → 執筆」を 1 章ずつ完了させ、章単位でコミットする。第 17 章は第 13〜16 章の成果を踏まえて最後に執筆する。
|
|
215
|
+
|
|
216
|
+
## 参考文献
|
|
217
|
+
|
|
218
|
+
- 『Docker/Kubernetes 実践コンテナ開発入門(第 2 版)』 — 山田明憲
|
|
219
|
+
- 国際貨物輸送システム(Cargo Tracker)ケーススタディ実装(`tmp/case-1`〜`tmp/case-4`、実装は `apps/case-studies/` に配置)
|
|
220
|
+
- 各章のサンプルコード(`apps/` 配下に配置。一部は書籍リポジトリの補助参照)
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 1 章: TODO リストと最初のテスト"
|
|
4
|
+
description: "プログラムを作成するにあたって、まず何をすればよいでしょうか?私たちは、仕様を確認して TODO リスト を作るところから始めます。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 1 章: TODO リストと最初のテスト
|
|
2
11
|
|
|
3
12
|
## 1.1 はじめに
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 2 章: 仮実装と三角測量"
|
|
4
|
+
description: "前章で最初の失敗するテストを書きました。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 2 章: 仮実装と三角測量
|
|
2
11
|
|
|
3
12
|
## 2.1 はじめに
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 3 章: 明白な実装とリファクタリング"
|
|
4
|
+
description: "前章で三角測量による実装を学びました。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 3 章: 明白な実装とリファクタリング
|
|
2
11
|
|
|
3
12
|
## 3.1 はじめに
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 4 章: バージョン管理と Conventional Commits"
|
|
4
|
+
description: "第 1 部では TDD の基本サイクル(RED → GREEN → REFACTOR)を体験しました。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 4 章: バージョン管理と Conventional Commits
|
|
2
11
|
|
|
3
12
|
## 4.1 はじめに
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 5 章: パッケージ管理と静的解析"
|
|
4
|
+
description: "この章では Clojure プロジェクトのパッケージ管理と静的コード解析ツールについて学びます。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 5 章: パッケージ管理と静的解析
|
|
2
11
|
|
|
3
12
|
## 5.1 はじめに
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 6 章: タスクランナーと CI/CD"
|
|
4
|
+
description: "前章では静的コード解析ツールとコード複雑度チェッカーを導入しました。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 6 章: タスクランナーと CI/CD
|
|
2
11
|
|
|
3
12
|
## 6.1 はじめに
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 7 章: プロトコルとレコードによるポリモーフィズム"
|
|
4
|
+
description: "この章からは FizzBuzz プログラムに追加仕様を実装しながら、Clojure におけるポリモーフィズムを学びます。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 7 章: プロトコルとレコードによるポリモーフィズム
|
|
2
11
|
|
|
3
12
|
## 7.1 はじめに
|
package/lib/assets/docs/article/getting-start-tdd/clojure/08-multimethods-and-design-patterns.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 8 章: マルチメソッドとデザインパターン"
|
|
4
|
+
description: "前章ではプロトコルとレコードによるポリモーフィズムを学びました。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 8 章: マルチメソッドとデザインパターン
|
|
2
11
|
|
|
3
12
|
## 8.1 はじめに
|
package/lib/assets/docs/article/getting-start-tdd/clojure/09-namespaces-and-module-design.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 9 章: 名前空間とモジュール設計"
|
|
4
|
+
description: "この章ではモノリシックなコードを名前空間に分割し、ドメインモデルに基づいたモジュール設計を行います。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 9 章: 名前空間とモジュール設計
|
|
2
11
|
|
|
3
12
|
## 9.1 はじめに
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 10 章: 高階関数と関数合成"
|
|
4
|
+
description: "この章では Clojure の 高階関数 と 関数合成 を使って、FizzBuzz プログラムをより関数型らしいスタイルに変換します。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 10 章: 高階関数と関数合成
|
|
2
11
|
|
|
3
12
|
## 10.1 はじめに
|
package/lib/assets/docs/article/getting-start-tdd/clojure/11-persistent-data-and-pipeline.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: Article
|
|
3
|
+
title: "第 11 章: 永続データ構造とパイプライン処理"
|
|
4
|
+
description: "この章では Clojure の 永続データ構造(Persistent Data Structures)と、それを活用した パイプライン処理 を学びます。"
|
|
5
|
+
tags: [article, getting-start-tdd, clojure]
|
|
6
|
+
status: stable
|
|
7
|
+
generated: { by: human:kakimomokuri, at: 2026-03-24T05:22:28Z }
|
|
8
|
+
---
|
|
9
|
+
|
|
1
10
|
# 第 11 章: 永続データ構造とパイプライン処理
|
|
2
11
|
|
|
3
12
|
## 11.1 はじめに
|