@umacloud/knowledge 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/00-governance/governance-capabilities.md +557 -0
  2. package/00-governance/knowledge-map.md +39 -0
  3. package/00-governance/maintenance-policy.md +76 -0
  4. package/00-governance/review-checklist.md +81 -0
  5. package/README.md +13 -0
  6. package/ai/01-standards/agent-development-complete.md +691 -0
  7. package/ai/01-standards/llm-application-complete.md +488 -0
  8. package/ai/01-standards/mlops-complete.md +798 -0
  9. package/ai/01-standards/prompt-engineering-complete.md +646 -0
  10. package/ai/01-standards/rag-architecture-complete.md +649 -0
  11. package/ai/02-playbooks/llm-evaluation-playbook.md +847 -0
  12. package/ai/03-checklists/ai-project-checklist.md +215 -0
  13. package/ai/04-antipatterns/ai-antipatterns.md +661 -0
  14. package/ai/05-cases/case-rag-production.md +147 -0
  15. package/ai/06-glossary/ai-glossary.md +162 -0
  16. package/ai/agent-evaluation-benchmark.md +53 -0
  17. package/ai/ai-agent-memory-context-management.md +41 -0
  18. package/ai/ai-cost-capacity-optimization-playbook.md +42 -0
  19. package/ai/ai-data-security-and-compliance-playbook.md +37 -0
  20. package/ai/ai-domain-index-and-checklist.md +40 -0
  21. package/ai/ai-governance-maturity-model.md +50 -0
  22. package/ai/ai-model-selection-and-routing-strategy.md +47 -0
  23. package/ai/ai-observability-and-oncall-runbook.md +52 -0
  24. package/ai/ai-rag-engineering-playbook.md +42 -0
  25. package/ai/ai-red-team-and-safety-evaluation.md +42 -0
  26. package/ai/ai-release-readiness-and-rollback-gate.md +42 -0
  27. package/ai/llm-agent-engineering-deep-dive.md +57 -0
  28. package/ai/prompt-and-tool-guardrails.md +52 -0
  29. package/api/01-standards/enterprise-api-standards.md +198 -0
  30. package/api/01-standards/rest-api-design-guide.md +63 -0
  31. package/api/02-playbooks/api-pagination-playbook.md +93 -0
  32. package/api/02-playbooks/graphql-production-playbook.md +176 -0
  33. package/api/03-checklists/api-review-checklist.md +55 -0
  34. package/api/04-antipatterns/api-antipatterns.md +112 -0
  35. package/architecture/01-standards/api-gateway-patterns.md +496 -0
  36. package/architecture/01-standards/cloud-native-patterns.md +644 -0
  37. package/architecture/01-standards/distributed-systems-patterns.md +591 -0
  38. package/architecture/01-standards/event-driven-architecture.md +595 -0
  39. package/architecture/01-standards/microservices-patterns-complete.md +968 -0
  40. package/architecture/01-standards/microservices-patterns.md +495 -0
  41. package/architecture/01-standards/system-design-interview.md +664 -0
  42. package/architecture/02-playbooks/microservices-patterns-playbook.md +137 -0
  43. package/architecture/02-playbooks/migration-playbook.md +780 -0
  44. package/architecture/02-playbooks/system-design-playbook.md +779 -0
  45. package/architecture/03-checklists/architecture-decision-checklist.md +297 -0
  46. package/architecture/04-antipatterns/architecture-antipatterns.md +417 -0
  47. package/architecture/05-cases/case-netflix-microservices.md +413 -0
  48. package/architecture/06-glossary/architecture-glossary.md +164 -0
  49. package/architecture/adr-template-and-examples.md +38 -0
  50. package/architecture/api-gateway-deep-dive.md +1291 -0
  51. package/architecture/configuration-management.md +1162 -0
  52. package/architecture/distributed-transactions.md +1220 -0
  53. package/architecture/microservices-complete.md +735 -0
  54. package/architecture/resilience-and-disaster-patterns.md +37 -0
  55. package/architecture/service-governance.md +1198 -0
  56. package/architecture/system-architecture-deep-dive.md +37 -0
  57. package/backend/01-standards/analytics-and-growth.md +65 -0
  58. package/backend/01-standards/api-and-error-conventions.md +120 -0
  59. package/backend/01-standards/application-layering-and-packaging.md +160 -0
  60. package/backend/01-standards/auth-implementation.md +104 -0
  61. package/backend/01-standards/backend-framework-idioms.md +74 -0
  62. package/backend/01-standards/background-jobs-and-async.md +66 -0
  63. package/backend/01-standards/caching-strategies-complete.md +390 -0
  64. package/backend/01-standards/config-and-observability.md +77 -0
  65. package/backend/01-standards/data-modeling-and-persistence.md +94 -0
  66. package/backend/01-standards/django-complete.md +1765 -0
  67. package/backend/01-standards/email-and-notifications.md +64 -0
  68. package/backend/01-standards/fastapi-complete.md +925 -0
  69. package/backend/01-standards/file-upload-and-storage.md +66 -0
  70. package/backend/01-standards/graphql-api-complete.md +416 -0
  71. package/backend/01-standards/llm-application-standard.md +78 -0
  72. package/backend/01-standards/message-queue-patterns.md +379 -0
  73. package/backend/01-standards/microservices-and-distributed.md +78 -0
  74. package/backend/01-standards/nestjs-complete.md +2167 -0
  75. package/backend/01-standards/payment-integration.md +80 -0
  76. package/backend/01-standards/rate-limiting-complete.md +451 -0
  77. package/backend/01-standards/realtime-and-websocket.md +65 -0
  78. package/backend/01-standards/search-and-filtering.md +64 -0
  79. package/backend/01-standards/spring-boot-complete.md +445 -0
  80. package/backend/02-playbooks/api-design-playbook.md +718 -0
  81. package/backend/02-playbooks/email-send-playbook.md +130 -0
  82. package/backend/02-playbooks/file-upload-s3-playbook.md +153 -0
  83. package/backend/02-playbooks/typescript-enterprise-playbook.md +133 -0
  84. package/backend/02-playbooks/websocket-realtime-playbook.md +154 -0
  85. package/backend/03-checklists/api-launch-checklist.md +189 -0
  86. package/backend/04-antipatterns/backend-antipatterns.md +1051 -0
  87. package/blockchain/01-standards/blockchain-basics.md +557 -0
  88. package/blockchain/01-standards/smart-contract-development.md +1315 -0
  89. package/cicd/01-standards/deployment-and-delivery-standard.md +96 -0
  90. package/cicd/01-standards/github-actions-complete.md +473 -0
  91. package/cicd/01-standards/release-and-store-submission.md +75 -0
  92. package/cicd/02-playbooks/cicd-pipeline-playbook.md +144 -0
  93. package/cicd/02-playbooks/release-management-playbook.md +605 -0
  94. package/cicd/03-checklists/pipeline-security-checklist.md +168 -0
  95. package/cicd/04-antipatterns/cicd-antipatterns.md +589 -0
  96. package/cicd/05-cases/case-deployment-automation.md +221 -0
  97. package/cicd/05-cases/case-gitops-transformation.md +212 -0
  98. package/cicd/06-glossary/cicd-glossary.md +114 -0
  99. package/cicd/cicd-blueprint-deep-dive.md +38 -0
  100. package/cicd/release-readiness-gate.md +37 -0
  101. package/cloud-native/01-standards/container-security.md +741 -0
  102. package/cloud-native/01-standards/kubernetes-complete.md +812 -0
  103. package/cloud-native/02-playbooks/api-gateway-playbook.md +155 -0
  104. package/cloud-native/02-playbooks/gitops-with-argocd.md +760 -0
  105. package/cloud-native/02-playbooks/k8s-troubleshooting-playbook.md +1942 -0
  106. package/cloud-native/02-playbooks/message-queue-playbook.md +129 -0
  107. package/cloud-native/02-playbooks/multicloud-governance.md +726 -0
  108. package/cloud-native/02-playbooks/serverless-patterns.md +788 -0
  109. package/cloud-native/02-playbooks/service-mesh-playbook.md +612 -0
  110. package/cloud-native/02-playbooks/terraform-iac-playbook.md +143 -0
  111. package/cloud-native/03-checklists/container-security-checklist.md +431 -0
  112. package/cloud-native/03-checklists/k8s-production-readiness-checklist.md +460 -0
  113. package/cloud-native/04-antipatterns/container-antipatterns.md +660 -0
  114. package/cloud-native/04-antipatterns/k8s-antipatterns.md +743 -0
  115. package/cloud-native/05-cases/case-k8s-migration.md +478 -0
  116. package/cloud-native/05-cases/case-k8s-scaling.md +642 -0
  117. package/cloud-native/05-cases/case-k8s-security-incident.md +397 -0
  118. package/cloud-native/06-glossary/cloud-native-glossary.md +337 -0
  119. package/cross-platform/01-standards/cross-platform-frameworks.md +83 -0
  120. package/cross-platform/01-standards/platform-selection-and-architecture.md +77 -0
  121. package/data/01-standards/elasticsearch-complete.md +2098 -0
  122. package/data/01-standards/postgresql-complete.md +1613 -0
  123. package/data/01-standards/redis-complete.md +1527 -0
  124. package/data/02-playbooks/database-optimization-playbook.md +403 -0
  125. package/data/02-playbooks/elasticsearch-production-playbook.md +132 -0
  126. package/data/03-checklists/database-launch-checklist.md +187 -0
  127. package/data/04-antipatterns/database-antipatterns.md +873 -0
  128. package/data/05-cases/case-database-migration.md +310 -0
  129. package/data/06-glossary/database-glossary.md +440 -0
  130. package/data/data-governance-and-modeling-deep-dive.md +39 -0
  131. package/data-engineering/01-standards/airflow-complete.md +523 -0
  132. package/data-engineering/01-standards/kafka-complete.md +1521 -0
  133. package/data-engineering/02-playbooks/spark-etl-playbook.md +496 -0
  134. package/data-engineering/03-checklists/pipeline-launch-checklist.md +194 -0
  135. package/data-engineering/04-antipatterns/data-pipeline-antipatterns.md +684 -0
  136. package/data-engineering/05-cases/case-real-time-pipeline.md +355 -0
  137. package/data-engineering/06-glossary/data-engineering-glossary.md +429 -0
  138. package/database/01-standards/database-schema-standards.md +147 -0
  139. package/database/02-playbooks/postgresql-optimization-quick.md +52 -0
  140. package/database/02-playbooks/postgresql-performance-optimization.md +58 -0
  141. package/database/02-playbooks/postgresql-production-playbook.md +146 -0
  142. package/database/02-playbooks/redis-caching-playbook.md +117 -0
  143. package/database/03-checklists/database-review-checklist.md +50 -0
  144. package/database/04-antipatterns/database-antipatterns.md +112 -0
  145. package/design/01-standards/ui-design-system-complete.md +423 -0
  146. package/design/02-playbooks/design-handoff-playbook.md +254 -0
  147. package/design/02-playbooks/design-review-playbook.md +388 -0
  148. package/design/03-checklists/design-review-checklist.md +246 -0
  149. package/design/04-antipatterns/design-antipatterns.md +378 -0
  150. package/design/05-cases/case-design-system-adoption.md +328 -0
  151. package/design/06-glossary/design-glossary.md +329 -0
  152. package/design/ui-full-lifecycle-cross-platform-playbook.md +571 -0
  153. package/design/ux-system-deep-dive.md +38 -0
  154. package/design-systems/00-craft-rules.md +71 -0
  155. package/design-systems/aesthetic-families.md +43 -0
  156. package/design-systems/anti-ai-slop.md +162 -0
  157. package/design-systems/bold-geometric.md +120 -0
  158. package/design-systems/brutalist-bold.md +103 -0
  159. package/design-systems/editorial-clean.md +109 -0
  160. package/design-systems/glass-aurora.md +108 -0
  161. package/design-systems/modern-minimal.md +145 -0
  162. package/design-systems/premium-luxury.md +106 -0
  163. package/design-systems/product-type-design-map.md +48 -0
  164. package/design-systems/soft-warm.md +123 -0
  165. package/design-systems/tech-utility.md +113 -0
  166. package/desktop/01-standards/desktop-app-standard.md +72 -0
  167. package/desktop/01-standards/desktop-design.md +71 -0
  168. package/development/00-governance/document-template.md +41 -0
  169. package/development/01-standards/api-versioning-strategies.md +432 -0
  170. package/development/01-standards/authentication-patterns-complete.md +479 -0
  171. package/development/01-standards/css-architecture-complete.md +550 -0
  172. package/development/01-standards/database-migration-strategies.md +484 -0
  173. package/development/01-standards/elasticsearch-complete.md +347 -0
  174. package/development/01-standards/git-complete.md +371 -0
  175. package/development/01-standards/golang-complete.md +1565 -0
  176. package/development/01-standards/graphql-complete.md +298 -0
  177. package/development/01-standards/javascript-bundlers-complete.md +469 -0
  178. package/development/01-standards/javascript-typescript-complete.md +528 -0
  179. package/development/01-standards/jest-complete.md +275 -0
  180. package/development/01-standards/linux-complete.md +234 -0
  181. package/development/01-standards/logging-observability-complete.md +526 -0
  182. package/development/01-standards/microservices-communication.md +502 -0
  183. package/development/01-standards/mongodb-complete.md +406 -0
  184. package/development/01-standards/oauth2-complete.md +285 -0
  185. package/development/01-standards/performance-optimization-complete.md +289 -0
  186. package/development/01-standards/playwright-complete.md +247 -0
  187. package/development/01-standards/postgresql-complete.md +456 -0
  188. package/development/01-standards/pytest-complete.md +340 -0
  189. package/development/01-standards/python-async-programming.md +902 -0
  190. package/development/01-standards/python-complete.md +956 -0
  191. package/development/01-standards/python-decorators-complete.md +799 -0
  192. package/development/01-standards/python-design-patterns.md +2854 -0
  193. package/development/01-standards/python-packaging-distribution.md +420 -0
  194. package/development/01-standards/python-testing-strategies.md +607 -0
  195. package/development/01-standards/python-web-frameworks-comparison.md +471 -0
  196. package/development/01-standards/redis-complete.md +317 -0
  197. package/development/01-standards/rest-api-complete.md +316 -0
  198. package/development/01-standards/rust-complete.md +578 -0
  199. package/development/01-standards/typescript-advanced-types.md +1513 -0
  200. package/development/01-standards/web-security-complete.md +292 -0
  201. package/development/02-playbooks/api-design-playbook.md +810 -0
  202. package/development/02-playbooks/database-migration-playbook.md +580 -0
  203. package/development/02-playbooks/debugging-playbook.md +692 -0
  204. package/development/02-playbooks/feature-delivery-playbook.md +430 -0
  205. package/development/02-playbooks/incident-hotfix-playbook.md +387 -0
  206. package/development/02-playbooks/performance-optimization-playbook.md +531 -0
  207. package/development/02-playbooks/performance-tuning-playbook.md +652 -0
  208. package/development/02-playbooks/refactor-playbook.md +403 -0
  209. package/development/02-playbooks/release-playbook.md +469 -0
  210. package/development/03-checklists/architecture-review-checklist.md +168 -0
  211. package/development/03-checklists/data-migration-checklist.md +157 -0
  212. package/development/03-checklists/oncall-handover-checklist.md +173 -0
  213. package/development/03-checklists/pr-checklist.md +158 -0
  214. package/development/03-checklists/production-readiness-checklist.md +190 -0
  215. package/development/03-checklists/release-readiness-checklist.md +154 -0
  216. package/development/03-checklists/security-review-checklist.md +182 -0
  217. package/development/04-antipatterns/api-antipatterns.md +657 -0
  218. package/development/04-antipatterns/architecture-antipatterns.md +686 -0
  219. package/development/04-antipatterns/backend-antipatterns.md +648 -0
  220. package/development/04-antipatterns/cicd-antipatterns.md +540 -0
  221. package/development/04-antipatterns/code-smell-antipatterns.md +571 -0
  222. package/development/04-antipatterns/data-antipatterns.md +658 -0
  223. package/development/04-antipatterns/database-antipatterns.md +578 -0
  224. package/development/04-antipatterns/frontend-antipatterns.md +635 -0
  225. package/development/04-antipatterns/reliability-antipatterns.md +700 -0
  226. package/development/04-antipatterns/security-antipatterns.md +747 -0
  227. package/development/05-cases/case-api-version-migration.md +428 -0
  228. package/development/05-cases/case-authorization-hardening.md +383 -0
  229. package/development/05-cases/case-bluegreen-rollback.md +466 -0
  230. package/development/05-cases/case-cache-snowball-protection.md +485 -0
  231. package/development/05-cases/case-ci-cd-pipeline.md +544 -0
  232. package/development/05-cases/case-database-scaling.md +500 -0
  233. package/development/05-cases/case-db-hotspot-optimization.md +487 -0
  234. package/development/05-cases/case-incident-mttr-reduction.md +563 -0
  235. package/development/05-cases/case-microservice-migration.md +375 -0
  236. package/development/05-cases/case-performance-optimization.md +406 -0
  237. package/development/05-cases/case-security-incident-response.md +345 -0
  238. package/development/06-glossary/full-stack-glossary.md +166 -0
  239. package/development/09-maturity/quarterly-audit-template.md +35 -0
  240. package/development/11-ui-excellence/ui-aesthetic-system.md +41 -0
  241. package/development/11-ui-excellence/ui-engineering-excellence.md +435 -0
  242. package/development/12-scenarios/development-scenarios-guide.md +565 -0
  243. package/development/13-implementation-assets/implementation-toolkit.md +282 -0
  244. package/development/13-implementation-assets/knowledge-gates-execution.md +43 -0
  245. package/development/14-full-lifecycle/software-lifecycle-gates.md +511 -0
  246. package/development/15-lifecycle-templates/project-templates-collection.md +791 -0
  247. package/development/api-contract-and-versioning-guide.md +36 -0
  248. package/development/api-governance-complete.md +43 -0
  249. package/development/backend-engineering-complete.md +43 -0
  250. package/development/code-review-quality-complete.md +43 -0
  251. package/development/concurrency-reliability-complete.md +43 -0
  252. package/development/database-engineering-complete.md +43 -0
  253. package/development/engineering-effectiveness-complete.md +43 -0
  254. package/development/engineering-standards-deep-dive.md +38 -0
  255. package/development/frontend-engineering-complete.md +43 -0
  256. package/development/performance-capacity-complete.md +43 -0
  257. package/development/refactor-migration-complete.md +42 -0
  258. package/development/refactoring-and-techdebt-playbook.md +37 -0
  259. package/development/security-in-development-complete.md +43 -0
  260. package/devops/01-standards/cicd-pipeline-complete.md +262 -0
  261. package/devops/01-standards/docker-complete.md +1490 -0
  262. package/devops/01-standards/github-actions-complete.md +337 -0
  263. package/devops/01-standards/kubernetes-complete.md +638 -0
  264. package/devops/01-standards/terraform-complete.md +2117 -0
  265. package/devops/02-playbooks/docker-compose-playbook.md +233 -0
  266. package/devops/02-playbooks/docker-k8s-production-playbook.md +186 -0
  267. package/devops/02-playbooks/docker-production-playbook.md +952 -0
  268. package/edge-iot/01-standards/edge-iot-complete.md +473 -0
  269. package/experts/architect/api-design.md +178 -0
  270. package/experts/architect/methodology.md +124 -0
  271. package/experts/architect/security.md +75 -0
  272. package/experts/backend-lead/methodology.md +216 -0
  273. package/experts/devops/methodology.md +160 -0
  274. package/experts/frontend-lead/methodology.md +178 -0
  275. package/experts/product-manager/industry/ecommerce.md +43 -0
  276. package/experts/product-manager/industry/saas.md +40 -0
  277. package/experts/product-manager/methodology.md +97 -0
  278. package/experts/qa-lead/methodology.md +123 -0
  279. package/experts/qa-lead/test-strategy.md +128 -0
  280. package/experts/uiux-designer/methodology.md +125 -0
  281. package/frontend/01-standards/accessibility-complete.md +532 -0
  282. package/frontend/01-standards/accessibility-standard.md +74 -0
  283. package/frontend/01-standards/admin-dashboard-and-crud.md +72 -0
  284. package/frontend/01-standards/design-tokens-complete.md +444 -0
  285. package/frontend/01-standards/forms-and-validation.md +77 -0
  286. package/frontend/01-standards/frontend-architecture-and-layering.md +119 -0
  287. package/frontend/01-standards/i18n-and-localization.md +65 -0
  288. package/frontend/01-standards/nextjs-complete.md +451 -0
  289. package/frontend/01-standards/react-complete.md +713 -0
  290. package/frontend/01-standards/react-hooks-complete-guide.md +1100 -0
  291. package/frontend/01-standards/react-hooks-complete.md +1171 -0
  292. package/frontend/01-standards/seo-and-web-vitals.md +77 -0
  293. package/frontend/01-standards/state-management-complete.md +444 -0
  294. package/frontend/01-standards/vue-complete.md +499 -0
  295. package/frontend/01-standards/vue3-complete.md +2002 -0
  296. package/frontend/01-standards/web-framework-best-practices.md +64 -0
  297. package/frontend/01-standards/web-performance-complete.md +495 -0
  298. package/frontend/02-playbooks/accessibility-a11y-playbook.md +161 -0
  299. package/frontend/02-playbooks/frontend-performance-playbook.md +707 -0
  300. package/frontend/02-playbooks/i18n-internationalization-playbook.md +120 -0
  301. package/frontend/02-playbooks/performance-optimization-playbook.md +163 -0
  302. package/frontend/02-playbooks/react-nextjs-production-playbook.md +167 -0
  303. package/frontend/02-playbooks/react-state-management-playbook.md +173 -0
  304. package/frontend/03-checklists/component-quality-checklist.md +166 -0
  305. package/frontend/03-checklists/frontend-launch-checklist.md +299 -0
  306. package/frontend/04-antipatterns/frontend-antipatterns.md +886 -0
  307. package/frontend/05-cases/case-performance-optimization.md +274 -0
  308. package/harmony/01-standards/harmonyos-arkts-standard.md +75 -0
  309. package/harmony/01-standards/harmonyos-design.md +65 -0
  310. package/high-quality-engineering-playbook.md +54 -0
  311. package/incident/01-standards/incident-response-complete.md +303 -0
  312. package/incident/02-playbooks/chaos-engineering-playbook.md +883 -0
  313. package/incident/02-playbooks/postmortem-playbook.md +398 -0
  314. package/incident/03-checklists/incident-readiness-checklist.md +181 -0
  315. package/incident/04-antipatterns/incident-antipatterns.md +490 -0
  316. package/incident/05-cases/case-cascade-failure.md +176 -0
  317. package/incident/06-glossary/incident-glossary.md +114 -0
  318. package/incident/postmortem-and-response-deep-dive.md +39 -0
  319. package/industries/ecommerce/ecommerce-complete.md +631 -0
  320. package/industries/education/education-complete.md +555 -0
  321. package/industries/fintech/fintech-complete.md +501 -0
  322. package/industries/gaming/gaming-complete.md +587 -0
  323. package/industries/healthcare/healthcare-complete.md +452 -0
  324. package/low-code/01-standards/low-code-complete.md +944 -0
  325. package/miniprogram/01-standards/ai-common-mistakes.md +61 -0
  326. package/miniprogram/01-standards/miniprogram-custom-navbar-capsule.md +77 -0
  327. package/miniprogram/01-standards/miniprogram-design.md +61 -0
  328. package/miniprogram/01-standards/miniprogram-standard.md +81 -0
  329. package/mobile/01-standards/android-material-design.md +70 -0
  330. package/mobile/01-standards/flutter-complete.md +384 -0
  331. package/mobile/01-standards/ios-design-hig.md +78 -0
  332. package/mobile/01-standards/mobile-app-standard.md +85 -0
  333. package/mobile/01-standards/react-native-complete.md +352 -0
  334. package/mobile/02-playbooks/mobile-cross-platform-playbook.md +175 -0
  335. package/mobile/02-playbooks/mobile-performance.md +473 -0
  336. package/mobile/03-checklists/mobile-release-checklist.md +234 -0
  337. package/mobile/04-antipatterns/mobile-antipatterns.md +798 -0
  338. package/mobile/05-cases/case-app-performance.md +500 -0
  339. package/mobile/05-cases/case-app-startup-optimization.md +218 -0
  340. package/mobile/06-glossary/mobile-glossary.md +484 -0
  341. package/observability/01-standards/observability-standards.md +103 -0
  342. package/observability/02-playbooks/prometheus-grafana-playbook.md +135 -0
  343. package/observability/02-playbooks/structured-logging-playbook.md +73 -0
  344. package/observability/03-checklists/observability-checklist.md +54 -0
  345. package/observability/04-antipatterns/observability-antipatterns.md +106 -0
  346. package/operations/01-standards/prometheus-monitoring-complete.md +1578 -0
  347. package/operations/02-playbooks/capacity-planning-playbook.md +620 -0
  348. package/operations/03-checklists/production-launch-checklist.md +365 -0
  349. package/operations/04-antipatterns/operations-antipatterns.md +664 -0
  350. package/operations/05-cases/case-sre-practices.md +581 -0
  351. package/operations/06-glossary/operations-glossary.md +120 -0
  352. package/operations/aiops-anomaly-detection.md +758 -0
  353. package/operations/capacity-planning.md +1061 -0
  354. package/operations/chaos-engineering.md +659 -0
  355. package/operations/incident-command-system.md +38 -0
  356. package/operations/observability-complete.md +442 -0
  357. package/operations/slo-sli-playbook.md +517 -0
  358. package/operations/sre-operations-deep-dive.md +39 -0
  359. package/package.json +8 -0
  360. package/performance/01-standards/performance-and-scalability.md +80 -0
  361. package/performance/01-standards/performance-standards.md +156 -0
  362. package/performance/02-playbooks/query-optimization-playbook.md +103 -0
  363. package/performance/03-checklists/performance-checklist.md +56 -0
  364. package/performance/04-antipatterns/performance-antipatterns.md +146 -0
  365. package/product/01-standards/product-management-complete.md +285 -0
  366. package/product/02-playbooks/feature-launch-playbook.md +207 -0
  367. package/product/02-playbooks/user-research-playbook.md +532 -0
  368. package/product/03-checklists/feature-launch-checklist.md +275 -0
  369. package/product/04-antipatterns/product-antipatterns.md +355 -0
  370. package/product/05-cases/case-mvp-to-scale.md +384 -0
  371. package/product/06-glossary/product-glossary.md +462 -0
  372. package/product/feature-prioritization-framework.md +40 -0
  373. package/product/kpi-and-metric-tree.md +37 -0
  374. package/product/product-discovery-and-prd-deep-dive.md +41 -0
  375. package/quantum/01-standards/quantum-complete.md +1186 -0
  376. package/security/01-standards/api-security-complete.md +511 -0
  377. package/security/01-standards/container-runtime-security.md +574 -0
  378. package/security/01-standards/data-protection-gdpr.md +543 -0
  379. package/security/01-standards/owasp-top10-complete.md +1890 -0
  380. package/security/01-standards/secure-coding-baseline.md +90 -0
  381. package/security/01-standards/supply-chain-security.md +441 -0
  382. package/security/01-standards/web-security-checklist.md +108 -0
  383. package/security/01-standards/zero-trust-architecture.md +521 -0
  384. package/security/02-playbooks/auth-sso-playbook.md +166 -0
  385. package/security/02-playbooks/incident-response-security-playbook.md +588 -0
  386. package/security/02-playbooks/owasp-api-security-playbook.md +129 -0
  387. package/security/02-playbooks/payment-integration-playbook.md +119 -0
  388. package/security/02-playbooks/penetration-testing-playbook.md +517 -0
  389. package/security/03-checklists/security-audit-checklist.md +356 -0
  390. package/security/04-antipatterns/security-coding-antipatterns.md +580 -0
  391. package/security/05-cases/case-log4shell-incident.md +537 -0
  392. package/security/05-cases/case-major-breaches.md +468 -0
  393. package/security/06-glossary/security-glossary.md +212 -0
  394. package/security/compliance-automation.md +993 -0
  395. package/security/container-security.md +680 -0
  396. package/security/devsecops-complete.md +426 -0
  397. package/security/sast-dast-sca.md +775 -0
  398. package/security/secrets-management.md +594 -0
  399. package/security/security-architecture-deep-dive.md +37 -0
  400. package/security/threat-modeling-stride-playbook.md +40 -0
  401. package/seed-templates/auth-system.md +59 -0
  402. package/seed-templates/blog-content.md +94 -0
  403. package/seed-templates/dashboard.md +89 -0
  404. package/seed-templates/docs-site.md +73 -0
  405. package/seed-templates/e-commerce.md +50 -0
  406. package/seed-templates/saas-landing.md +92 -0
  407. package/seed-templates/settings-page.md +51 -0
  408. package/testing/01-standards/test-strategy-and-layering.md +83 -0
  409. package/testing/01-standards/testing-strategy-complete.md +422 -0
  410. package/testing/01-standards/unit-testing-best-practices.md +118 -0
  411. package/testing/02-playbooks/e2e-testing-playbook.md +988 -0
  412. package/testing/02-playbooks/testing-strategy-playbook.md +126 -0
  413. package/testing/03-checklists/test-strategy-checklist.md +208 -0
  414. package/testing/04-antipatterns/testing-antipatterns.md +718 -0
  415. package/testing/05-cases/case-testing-transformation.md +300 -0
  416. package/testing/06-glossary/testing-glossary.md +110 -0
  417. package/testing/risk-based-test-matrix.md +36 -0
  418. package/testing/testing-strategy-deep-dive.md +37 -0
@@ -0,0 +1,445 @@
1
+ ---
2
+ id: spring-boot-complete
3
+ title: Spring Boot 完整指南
4
+ domain: backend
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [backend, boot, complete, data, rest, security, spring, 与依赖注入]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # Spring Boot 完整指南
12
+
13
+ ## 概述
14
+
15
+ Spring Boot 是基于 Spring Framework 的快速开发框架,通过自动配置和约定优于配置原则,大幅简化 Spring 应用的搭建和开发。Spring Boot 3.x 基于 Java 17+,支持 GraalVM 原生镜像、虚拟线程和 Jakarta EE 命名空间。
16
+
17
+ ### 核心特性
18
+
19
+ - **自动配置**: 根据 classpath 自动配置 Bean
20
+ - **起步依赖**: spring-boot-starter-* 预定义依赖集
21
+ - **内嵌服务器**: Tomcat/Jetty/Undertow 内嵌运行
22
+ - **Actuator**: 生产就绪的监控和管理端点
23
+ - **Spring Security**: 企业级安全框架
24
+ - **Spring Data JPA**: 声明式数据访问
25
+ - **Spring Cloud**: 微服务基础设施
26
+
27
+ ---
28
+
29
+ ## IoC 与依赖注入
30
+
31
+ ### Bean 定义与注入
32
+
33
+ ```java
34
+ // 服务层 - 构造函数注入(推荐)
35
+ @Service
36
+ public class UserService {
37
+ private final UserRepository userRepository;
38
+ private final PasswordEncoder passwordEncoder;
39
+
40
+ // Spring 自动注入(单构造函数可省略 @Autowired)
41
+ public UserService(UserRepository userRepository, PasswordEncoder passwordEncoder) {
42
+ this.userRepository = userRepository;
43
+ this.passwordEncoder = passwordEncoder;
44
+ }
45
+
46
+ public User createUser(CreateUserRequest request) {
47
+ if (userRepository.existsByEmail(request.email())) {
48
+ throw new DuplicateEmailException(request.email());
49
+ }
50
+ var user = User.builder()
51
+ .email(request.email())
52
+ .password(passwordEncoder.encode(request.password()))
53
+ .role(Role.USER)
54
+ .build();
55
+ return userRepository.save(user);
56
+ }
57
+ }
58
+ ```
59
+
60
+ ### 配置类
61
+
62
+ ```java
63
+ @Configuration
64
+ public class AppConfig {
65
+
66
+ @Bean
67
+ public PasswordEncoder passwordEncoder() {
68
+ return new BCryptPasswordEncoder(12);
69
+ }
70
+
71
+ @Bean
72
+ @Profile("production")
73
+ public CacheManager cacheManager(RedisConnectionFactory factory) {
74
+ return RedisCacheManager.builder(factory)
75
+ .cacheDefaults(RedisCacheConfiguration.defaultCacheConfig()
76
+ .entryTtl(Duration.ofMinutes(30))
77
+ .serializeValuesWith(
78
+ SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())
79
+ ))
80
+ .build();
81
+ }
82
+ }
83
+ ```
84
+
85
+ ---
86
+
87
+ ## AOP (面向切面编程)
88
+
89
+ ```java
90
+ @Aspect
91
+ @Component
92
+ @Slf4j
93
+ public class PerformanceAspect {
94
+
95
+ @Around("@annotation(com.example.annotation.Timed)")
96
+ public Object measureTime(ProceedingJoinPoint joinPoint) throws Throwable {
97
+ String method = joinPoint.getSignature().toShortString();
98
+ long start = System.nanoTime();
99
+ try {
100
+ return joinPoint.proceed();
101
+ } finally {
102
+ long duration = (System.nanoTime() - start) / 1_000_000;
103
+ log.info("Method {} took {}ms", method, duration);
104
+ if (duration > 500) {
105
+ log.warn("Slow method detected: {} ({}ms)", method, duration);
106
+ }
107
+ }
108
+ }
109
+ }
110
+
111
+ // 审计日志切面
112
+ @Aspect
113
+ @Component
114
+ public class AuditAspect {
115
+
116
+ @AfterReturning(pointcut = "@annotation(auditable)", returning = "result")
117
+ public void auditAction(JoinPoint joinPoint, Auditable auditable, Object result) {
118
+ var auth = SecurityContextHolder.getContext().getAuthentication();
119
+ String user = auth != null ? auth.getName() : "anonymous";
120
+ log.info("AUDIT: user={} action={} resource={}", user, auditable.action(), auditable.resource());
121
+ }
122
+ }
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Spring Security
128
+
129
+ ### Security 配置
130
+
131
+ ```java
132
+ @Configuration
133
+ @EnableWebSecurity
134
+ @EnableMethodSecurity
135
+ public class SecurityConfig {
136
+
137
+ @Bean
138
+ public SecurityFilterChain filterChain(HttpSecurity http, JwtAuthFilter jwtFilter) throws Exception {
139
+ return http
140
+ .csrf(csrf -> csrf.disable())
141
+ .cors(cors -> cors.configurationSource(corsConfigurationSource()))
142
+ .sessionManagement(sm -> sm.sessionCreationPolicy(STATELESS))
143
+ .authorizeHttpRequests(auth -> auth
144
+ .requestMatchers("/api/auth/**", "/actuator/health").permitAll()
145
+ .requestMatchers("/api/admin/**").hasRole("ADMIN")
146
+ .anyRequest().authenticated()
147
+ )
148
+ .addFilterBefore(jwtFilter, UsernamePasswordAuthenticationFilter.class)
149
+ .exceptionHandling(ex -> ex
150
+ .authenticationEntryPoint((req, res, e) ->
151
+ res.sendError(HttpServletResponse.SC_UNAUTHORIZED))
152
+ )
153
+ .build();
154
+ }
155
+
156
+ @Bean
157
+ public CorsConfigurationSource corsConfigurationSource() {
158
+ var config = new CorsConfiguration();
159
+ config.setAllowedOrigins(List.of("https://app.example.com"));
160
+ config.setAllowedMethods(List.of("GET", "POST", "PUT", "DELETE"));
161
+ config.setAllowedHeaders(List.of("*"));
162
+ config.setAllowCredentials(true);
163
+ var source = new UrlBasedCorsConfigurationSource();
164
+ source.registerCorsConfiguration("/api/**", config);
165
+ return source;
166
+ }
167
+ }
168
+ ```
169
+
170
+ ### JWT 过滤器
171
+
172
+ ```java
173
+ @Component
174
+ @RequiredArgsConstructor
175
+ public class JwtAuthFilter extends OncePerRequestFilter {
176
+
177
+ private final JwtService jwtService;
178
+ private final UserDetailsService userDetailsService;
179
+
180
+ @Override
181
+ protected void doFilterInternal(HttpServletRequest request,
182
+ HttpServletResponse response,
183
+ FilterChain filterChain) throws ServletException, IOException {
184
+ String header = request.getHeader("Authorization");
185
+ if (header == null || !header.startsWith("Bearer ")) {
186
+ filterChain.doFilter(request, response);
187
+ return;
188
+ }
189
+
190
+ String token = header.substring(7);
191
+ String username = jwtService.extractUsername(token);
192
+
193
+ if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) {
194
+ UserDetails userDetails = userDetailsService.loadUserByUsername(username);
195
+ if (jwtService.isTokenValid(token, userDetails)) {
196
+ var authToken = new UsernamePasswordAuthenticationToken(
197
+ userDetails, null, userDetails.getAuthorities());
198
+ authToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
199
+ SecurityContextHolder.getContext().setAuthentication(authToken);
200
+ }
201
+ }
202
+ filterChain.doFilter(request, response);
203
+ }
204
+ }
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Spring Data JPA
210
+
211
+ ### Repository
212
+
213
+ ```java
214
+ public interface UserRepository extends JpaRepository<User, Long> {
215
+
216
+ Optional<User> findByEmail(String email);
217
+
218
+ boolean existsByEmail(String email);
219
+
220
+ @Query("SELECT u FROM User u WHERE u.role = :role AND u.createdAt > :since")
221
+ List<User> findRecentByRole(@Param("role") Role role, @Param("since") LocalDateTime since);
222
+
223
+ @Query(value = "SELECT * FROM users WHERE LOWER(name) LIKE LOWER(CONCAT('%', :keyword, '%'))",
224
+ nativeQuery = true)
225
+ Page<User> searchByName(@Param("keyword") String keyword, Pageable pageable);
226
+ }
227
+ ```
228
+
229
+ ### Entity
230
+
231
+ ```java
232
+ @Entity
233
+ @Table(name = "users", indexes = {
234
+ @Index(name = "idx_user_email", columnList = "email", unique = true),
235
+ @Index(name = "idx_user_role", columnList = "role"),
236
+ })
237
+ @Getter @Setter @Builder @NoArgsConstructor @AllArgsConstructor
238
+ public class User {
239
+
240
+ @Id
241
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
242
+ private Long id;
243
+
244
+ @Column(nullable = false, unique = true, length = 255)
245
+ private String email;
246
+
247
+ @Column(nullable = false)
248
+ @JsonIgnore
249
+ private String password;
250
+
251
+ @Enumerated(EnumType.STRING)
252
+ @Column(nullable = false, length = 20)
253
+ private Role role;
254
+
255
+ @CreationTimestamp
256
+ @Column(updatable = false)
257
+ private LocalDateTime createdAt;
258
+
259
+ @UpdateTimestamp
260
+ private LocalDateTime updatedAt;
261
+ }
262
+ ```
263
+
264
+ ---
265
+
266
+ ## REST API 设计
267
+
268
+ ```java
269
+ @RestController
270
+ @RequestMapping("/api/v1/users")
271
+ @RequiredArgsConstructor
272
+ @Validated
273
+ public class UserController {
274
+
275
+ private final UserService userService;
276
+
277
+ @GetMapping
278
+ public Page<UserResponse> listUsers(
279
+ @RequestParam(defaultValue = "0") int page,
280
+ @RequestParam(defaultValue = "20") int size,
281
+ @RequestParam(required = false) String search) {
282
+ return userService.listUsers(search, PageRequest.of(page, size));
283
+ }
284
+
285
+ @GetMapping("/{id}")
286
+ public UserResponse getUser(@PathVariable Long id) {
287
+ return userService.getUser(id);
288
+ }
289
+
290
+ @PostMapping
291
+ @ResponseStatus(HttpStatus.CREATED)
292
+ public UserResponse createUser(@Valid @RequestBody CreateUserRequest request) {
293
+ return userService.createUser(request);
294
+ }
295
+
296
+ @PutMapping("/{id}")
297
+ public UserResponse updateUser(@PathVariable Long id,
298
+ @Valid @RequestBody UpdateUserRequest request) {
299
+ return userService.updateUser(id, request);
300
+ }
301
+
302
+ @DeleteMapping("/{id}")
303
+ @ResponseStatus(HttpStatus.NO_CONTENT)
304
+ @PreAuthorize("hasRole('ADMIN')")
305
+ public void deleteUser(@PathVariable Long id) {
306
+ userService.deleteUser(id);
307
+ }
308
+ }
309
+ ```
310
+
311
+ ### 全局异常处理
312
+
313
+ ```java
314
+ @RestControllerAdvice
315
+ @Slf4j
316
+ public class GlobalExceptionHandler {
317
+
318
+ @ExceptionHandler(ResourceNotFoundException.class)
319
+ @ResponseStatus(HttpStatus.NOT_FOUND)
320
+ public ErrorResponse handleNotFound(ResourceNotFoundException ex) {
321
+ return new ErrorResponse("NOT_FOUND", ex.getMessage());
322
+ }
323
+
324
+ @ExceptionHandler(MethodArgumentNotValidException.class)
325
+ @ResponseStatus(HttpStatus.BAD_REQUEST)
326
+ public ErrorResponse handleValidation(MethodArgumentNotValidException ex) {
327
+ var errors = ex.getBindingResult().getFieldErrors().stream()
328
+ .collect(Collectors.toMap(FieldError::getField, FieldError::getDefaultMessage));
329
+ return new ErrorResponse("VALIDATION_ERROR", "请求参数验证失败", errors);
330
+ }
331
+
332
+ @ExceptionHandler(Exception.class)
333
+ @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
334
+ public ErrorResponse handleGeneric(Exception ex) {
335
+ log.error("Unhandled exception", ex);
336
+ return new ErrorResponse("INTERNAL_ERROR", "服务器内部错误");
337
+ }
338
+ }
339
+
340
+ public record ErrorResponse(String code, String message, Map<String, String> details) {
341
+ public ErrorResponse(String code, String message) {
342
+ this(code, message, Map.of());
343
+ }
344
+ }
345
+ ```
346
+
347
+ ---
348
+
349
+ ## 微服务配置
350
+
351
+ ### application.yml
352
+
353
+ ```yaml
354
+ spring:
355
+ application:
356
+ name: user-service
357
+ datasource:
358
+ url: jdbc:postgresql://${DB_HOST:localhost}:5432/${DB_NAME:userdb}
359
+ username: ${DB_USER:postgres}
360
+ password: ${DB_PASSWORD:password}
361
+ hikari:
362
+ maximum-pool-size: 20
363
+ minimum-idle: 5
364
+ connection-timeout: 30000
365
+ jpa:
366
+ hibernate:
367
+ ddl-auto: validate
368
+ open-in-view: false
369
+ properties:
370
+ hibernate:
371
+ default_batch_fetch_size: 16
372
+ jdbc.batch_size: 50
373
+ cache:
374
+ type: redis
375
+ redis:
376
+ host: ${REDIS_HOST:localhost}
377
+ port: 6379
378
+
379
+ management:
380
+ endpoints:
381
+ web:
382
+ exposure:
383
+ include: health, info, metrics, prometheus
384
+ endpoint:
385
+ health:
386
+ show-details: when-authorized
387
+
388
+ server:
389
+ port: 8080
390
+ shutdown: graceful
391
+
392
+ logging:
393
+ level:
394
+ root: INFO
395
+ com.example: DEBUG
396
+ org.hibernate.SQL: DEBUG
397
+ ```
398
+
399
+ ---
400
+
401
+ ## 部署
402
+
403
+ ### Dockerfile
404
+
405
+ ```dockerfile
406
+ FROM eclipse-temurin:21-jre-alpine
407
+ WORKDIR /app
408
+ COPY target/*.jar app.jar
409
+ RUN addgroup -S spring && adduser -S spring -G spring
410
+ USER spring
411
+ EXPOSE 8080
412
+ HEALTHCHECK --interval=30s --timeout=3s \
413
+ CMD wget -qO- http://localhost:8080/actuator/health || exit 1
414
+ ENTRYPOINT ["java", "-XX:+UseZGC", "-XX:MaxRAMPercentage=75", "-jar", "app.jar"]
415
+ ```
416
+
417
+ ---
418
+
419
+ ## 常见反模式
420
+
421
+ | 反模式 | 问题 | 正确做法 |
422
+ |--------|------|----------|
423
+ | 字段注入 @Autowired | 不可测试 | 构造函数注入 |
424
+ | open-in-view: true | 延迟查询泄漏到 Controller | 设为 false |
425
+ | 不设连接池限制 | 连接耗尽 | 配置 HikariCP 参数 |
426
+ | Entity 直接返回 | 序列化循环 / 信息泄露 | 用 DTO/Record 映射 |
427
+ | 不做分页 | 大数据量 OOM | 始终用 Pageable |
428
+ | 事务范围过大 | 锁竞争 | 最小化 @Transactional 范围 |
429
+
430
+ ---
431
+
432
+ ## Agent Checklist
433
+
434
+ - [ ] 使用构造函数注入,不使用字段注入
435
+ - [ ] spring.jpa.open-in-view 设为 false
436
+ - [ ] Entity 与 DTO/Record 分离,API 不直接返回 Entity
437
+ - [ ] 所有 API 实现分页(使用 Pageable)
438
+ - [ ] 配置全局异常处理(@RestControllerAdvice)
439
+ - [ ] Spring Security 配置为 stateless + JWT
440
+ - [ ] 敏感配置通过环境变量注入,不硬编码
441
+ - [ ] Actuator health/ready 端点启用并接入部署探针
442
+ - [ ] 数据库连接池参数明确配置
443
+ - [ ] 日志级别按环境区分(dev: DEBUG, prod: INFO)
444
+ - [ ] 使用 Flyway/Liquibase 管理数据库迁移
445
+ - [ ] 关键操作添加审计日志