@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,146 @@
1
+ ---
2
+ id: postgresql-production-playbook
3
+ title: PostgreSQL 生产环境调优手册
4
+ domain: database
5
+ category: 02-playbooks
6
+ difficulty: advanced
7
+ tags: [database, postgresql, postgres, production, tuning, index, query, optimization, partitioning, vacuum, connection-pool, configuration]
8
+ quality_score: 94
9
+ maintainer: platform-team@umadev.com
10
+ last_updated: 2026-06-14
11
+ ---
12
+
13
+ # PostgreSQL 生产环境调优手册
14
+
15
+ > 基于 [Instaclustr Top 15 PostgreSQL Best Practices](https://www.instaclustr.com/education/postgresql/top-10-postgresql-best-practices-for-2025/) + [Mydbops Tuning Guide](https://www.mydbops.com/blog/postgresql-parameter-tuning-best-practices)
16
+
17
+ ## 索引策略
18
+
19
+ ### 索引类型选择
20
+ | 类型 | 场景 | 示例 |
21
+ |------|------|------|
22
+ | B-tree(默认) | 等值/范围/排序 | `WHERE id = 123` / `ORDER BY created_at` |
23
+ | GIN | JSONB/全文/数组 | `WHERE attrs @> '{"color":"red"}'` |
24
+ | GiST | 地理/范围 | `WHERE point <@ box` |
25
+ | BRIN | 大表时间序列 | 百万行日志按时间分区 |
26
+ | Hash | 纯等值 | `WHERE id = 123`(PG 10+ WAL 支持)|
27
+
28
+ ### 复合索引列顺序
29
+ ```sql
30
+ -- 最左前缀:等值列在前,范围列在后
31
+ -- 查询: WHERE user_id = ? AND created_at > ?
32
+ CREATE INDEX idx_orders_user_created ON orders(user_id, created_at DESC);
33
+ -- ✅ user_id(等值)在前,created_at(范围)在后
34
+
35
+ -- ❌ 反过来:created_at 在前无法用 user_id 过滤
36
+ CREATE INDEX idx_orders_bad ON orders(created_at, user_id);
37
+ ```
38
+
39
+ ### 部分索引(省空间 + 快)
40
+ ```sql
41
+ -- 只索引活跃数据(90% 订单已完成,不需要索引)
42
+ CREATE INDEX idx_active_orders ON orders(user_id) WHERE status = 'pending';
43
+ ```
44
+
45
+ ## 查询优化
46
+
47
+ ### EXPLAIN ANALYZE 诊断
48
+ ```sql
49
+ EXPLAIN (ANALYZE, BUFFERS)
50
+ SELECT * FROM orders WHERE user_id = 123 ORDER BY created_at DESC LIMIT 20;
51
+
52
+ -- 看关键指标:
53
+ -- Seq Scan → 全表扫描(需要索引)
54
+ -- Index Scan → 索引扫描(好)
55
+ -- Bitmap Heap Scan → 批量索引(还行)
56
+ -- Sort → 排序(可能需要索引优化)
57
+ -- actual time → 真实耗时(毫秒)
58
+ -- rows → 实际返回行数 vs 预估行数(差异大 = 统计信息过期)
59
+ ```
60
+
61
+ ### 大表分页优化
62
+ ```sql
63
+ -- ❌ OFFSET 10000 = 扫描 10020 行后丢弃前 10000
64
+ SELECT * FROM products ORDER BY id OFFSET 10000 LIMIT 20;
65
+
66
+ -- ✅ Keyset 分页 = WHERE 直接定位 20 行
67
+ SELECT * FROM products WHERE id > 5000 ORDER BY id LIMIT 20;
68
+
69
+ -- ✅ 游标分页(排序复杂时)
70
+ SELECT * FROM products
71
+ WHERE (created_at, id) < ('2024-06-14', 5000)
72
+ ORDER BY created_at DESC, id DESC LIMIT 20;
73
+ ```
74
+
75
+ ## 服务器调优
76
+
77
+ ### 关键参数
78
+ ```ini
79
+ # postgresql.conf — 按 RAM 调整
80
+ shared_buffers = 4GB # 总 RAM 的 25%
81
+ effective_cache_size = 12GB # 总 RAM 的 75%
82
+ work_mem = 64MB # 排序/哈希内存(注意:每连接×每操作)
83
+ maintenance_work_mem = 1GB # VACUUM/CREATE INDEX
84
+ max_connections = 100 # 配合连接池用
85
+
86
+ # WAL(写入日志)
87
+ wal_buffers = 16MB
88
+ checkpoint_completion_target = 0.9
89
+ max_wal_size = 4GB
90
+
91
+ # Autovacuum(自动清理)
92
+ autovacuum = on
93
+ autovacuum_naptime = 30s
94
+ autovacuum_vacuum_scale_factor = 0.1 # 变更 10% 后触发
95
+ ```
96
+
97
+ ### 连接池
98
+ ```
99
+ # PgBouncer(必须!直接连数据库会耗尽连接)
100
+ [databases]
101
+ app = host=localhost port=5432 dbname=app
102
+
103
+ [pgbouncer]
104
+ pool_mode = transaction # 事务级池化
105
+ max_client_conn = 500 # 客户端连接
106
+ default_pool_size = 25 # 到 PostgreSQL 的连接
107
+ ```
108
+
109
+ ## 分区(大表 > 1000 万行)
110
+
111
+ ```sql
112
+ -- 按范围分区(时间序列)
113
+ CREATE TABLE events (
114
+ id BIGSERIAL,
115
+ created_at TIMESTAMPTZ NOT NULL,
116
+ data JSONB
117
+ ) PARTITION BY RANGE (created_at);
118
+
119
+ CREATE TABLE events_2024_06 PARTITION OF events
120
+ FOR VALUES FROM ('2024-06-01') TO ('2024-07-01');
121
+
122
+ -- 按列表分区(租户隔离)
123
+ CREATE TABLE orders (
124
+ id UUID DEFAULT gen_random_uuid(),
125
+ tenant_id TEXT NOT NULL,
126
+ ...
127
+ ) PARTITION BY LIST (tenant_id);
128
+
129
+ CREATE TABLE orders_tenant_a PARTITION OF orders
130
+ FOR VALUES IN ('tenant_a');
131
+ ```
132
+
133
+ ## VACUUM 与膨胀
134
+
135
+ ```sql
136
+ -- 检查表膨胀
137
+ SELECT relname, n_live_tup, n_dead_tup,
138
+ round(n_dead_tup::numeric / NULLIF(n_live_tup, 0) * 100, 2) AS bloat_pct
139
+ FROM pg_stat_user_tables
140
+ WHERE n_live_tup > 10000
141
+ ORDER BY bloat_pct DESC;
142
+
143
+ -- 膨胀 > 20% 需要处理
144
+ VACUUM (ANALYZE, VERBOSE) orders; -- 常规清理
145
+ VACUUM FULL orders; -- 锁表重建(生产慎用!)
146
+ ```
@@ -0,0 +1,117 @@
1
+ ---
2
+ id: redis-caching-playbook
3
+ title: Redis 缓存实战手册
4
+ domain: database
5
+ category: 02-playbooks
6
+ difficulty: advanced
7
+ tags: [redis, caching, cache-aside, write-through, write-behind, invalidation, ttl, stampede, production, database, performance]
8
+ quality_score: 93
9
+ maintainer: platform-team@umadev.com
10
+ last_updated: 2026-06-15
11
+ ---
12
+
13
+ # Redis 缓存实战手册
14
+
15
+ > 基于 [AWS Redis Caching Strategies](https://docs.aws.amazon.com/whitepapers/latest/database-caching-strategies-using-redis/caching-patterns.html) + [Azure Cache-Aside Pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/cache-aside) + [Redis Blog](https://redis.io/blog/why-your-caching-strategies-might-be-holding-you-back-and-what-to-consider-next/)
16
+
17
+ ## 四种缓存模式
18
+
19
+ ### 1. Cache-Aside(最常用)
20
+ 应用先查缓存,miss 时查 DB 并回填。最终一致(TTL 控制)。
21
+ ```python
22
+ def get_user(user_id):
23
+ cached = redis.get(f"user:{user_id}")
24
+ if cached:
25
+ return json.loads(cached)
26
+ user = db.query(User).get(user_id)
27
+ redis.setex(f"user:{user_id}", 300, json.dumps(user.to_dict())) # TTL 5min
28
+ return user
29
+ ```
30
+
31
+ ### 2. Write-Through(强一致)
32
+ 写操作同时更新缓存和 DB(同步双写)。
33
+ ```python
34
+ def update_user(user_id, data):
35
+ user = db.update(User, user_id, data)
36
+ redis.set(f"user:{user_id}", json.dumps(user.to_dict())) # 同步更新缓存
37
+ return user
38
+ ```
39
+
40
+ ### 3. Write-Behind(高写吞吐)
41
+ 先写缓存,异步刷 DB。容忍短暂不一致。
42
+ ```python
43
+ def increment_counter(key):
44
+ redis.incr(key) # 先写缓存
45
+ enqueue_job("persist_counter", key) # 异步刷 DB
46
+ ```
47
+
48
+ ### 4. Refresh-Ahead(热数据预热)
49
+ 过期前主动刷新。
50
+ ```python
51
+ def get_hot_data(key):
52
+ cached = redis.get(key)
53
+ ttl = redis.ttl(key)
54
+ if cached and ttl < 60: # 快过期了
55
+ enqueue_job("refresh_cache", key) # 异步刷新
56
+ return cached
57
+ ```
58
+
59
+ ## 模式选择决策表
60
+ | 场景 | 推荐模式 | 一致性 |
61
+ |------|---------|--------|
62
+ | 读多写少(用户资料/配置) | Cache-Aside | 最终一致 |
63
+ | 写多且需强一致 | Write-Through | 强一致 |
64
+ | 超高写吞吐(计数器/排行) | Write-Behind | 最终一致 |
65
+ | 热点数据不可过期 | Refresh-Ahead | 最新 |
66
+
67
+ ## 缓存失效策略
68
+
69
+ ```python
70
+ # TTL 失效(最简单,推荐基础方案)
71
+ redis.setex(key, 300, value) # 5 分钟后自动过期
72
+
73
+ # 主动失效(数据变更时立刻删缓存)
74
+ def update_product(product_id, data):
75
+ product = db.update(Product, product_id, data)
76
+ redis.delete(f"product:{product_id}") # 主动删
77
+ return product
78
+
79
+ # 版本化 key(适合批量失效)
80
+ redis.set(f"products:v{version}", data)
81
+ # 版本号+1 → 旧 key 自然过期
82
+ ```
83
+
84
+ ## 防缓存击穿(Stampede)
85
+
86
+ ```python
87
+ # ❌ 缓存 miss 时 1000 个请求同时查 DB
88
+ def get_product(pid):
89
+ cached = redis.get(f"product:{pid}")
90
+ if not cached:
91
+ return db.query(Product).get(pid) # 1000 并发 = DB 爆
92
+
93
+ # ✅ 互斥锁(singleflight)—— 只让一个请求查 DB
94
+ import fcntl
95
+ def get_product(pid):
96
+ cached = redis.get(f"product:{pid}")
97
+ if cached:
98
+ return json.loads(cached)
99
+ lock = redis.set(f"lock:product:{pid}", "1", nx=True, ex=10)
100
+ if lock:
101
+ product = db.query(Product).get(pid) # 只有 1 个请求查 DB
102
+ redis.setex(f"product:{pid}", 300, json.dumps(product.to_dict()))
103
+ redis.delete(f"lock:product:{pid}")
104
+ return product
105
+ else:
106
+ time.sleep(0.1) # 其他请求等一下重试
107
+ return get_product(pid)
108
+ ```
109
+
110
+ ## 生产检查清单
111
+ - [ ] 每个缓存 key 有 TTL(无永久缓存)
112
+ - [ ] 写操作更新/删除缓存(cache-aside + invalidation)
113
+ - [ ] 热点 key 有防击穿(互斥锁/singleflight)
114
+ - [ ] Redis 有降级策略(Redis 挂了仍能服务,直查 DB)
115
+ - [ ] 缓存命中率 > 90%(`INFO stats` 监控)
116
+ - [ ] 内存淘汰策略设置(`maxmemory-policy allkeys-lru`)
117
+ - [ ] 序列化用 JSON/MessagePack(不用 pickle——跨语言 + 安全)
@@ -0,0 +1,50 @@
1
+ ---
2
+ id: database-review-checklist
3
+ title: 数据库 Schema 审查清单
4
+ domain: database
5
+ category: 03-checklists
6
+ difficulty: intermediate
7
+ tags: [database, sql, postgresql, review, checklist, index, foreign-key, migration, performance, schema]
8
+ quality_score: 89
9
+ maintainer: platform-team@umadev.com
10
+ last_updated: 2026-06-14
11
+ ---
12
+
13
+ # 数据库 Schema 审查清单
14
+
15
+ ## Schema 设计
16
+ - [ ] 每张表有 UUID 主键 (`id UUID PRIMARY KEY DEFAULT gen_random_uuid()`)
17
+ - [ ] 每张表有 `created_at` + `updated_at` (TIMESTAMPTZ NOT NULL DEFAULT now())
18
+ - [ ] 表名复数蛇形 (`users`, `order_items`,不用单数/驼峰/前缀)
19
+ - [ ] 列名蛇形语义清晰 (`assignee_id`,不用缩写)
20
+ - [ ] 软删除用 `deleted_at TIMESTAMPTZ`(可选),不用 `is_deleted BOOLEAN`
21
+ - [ ] 金额用 `NUMERIC(19,2)` 或整数分(不用 FLOAT/REAL)
22
+ - [ ] 状态用 `TEXT + CHECK` 约束(不用 ENUM 类型)
23
+ - [ ] 时间用 `TIMESTAMPTZ`(不用 TIMESTAMP WITHOUT TIME ZONE)
24
+
25
+ ## 外键关系
26
+ - [ ] 每个外键列有显式 `FOREIGN KEY` 约束
27
+ - [ ] ON DELETE 策略明确(CASCADE/SET NULL/RESTRICT)
28
+ - [ ] 自引用关系(如评论树 parent_id)有约束
29
+ - [ ] 外键列有索引(FK 列默认无索引!)
30
+
31
+ ## 索引
32
+ - [ ] 每个 WHERE/JOIN/ORDER BY 的列有索引
33
+ - [ ] 复合索引遵循最左前缀原则
34
+ - [ ] JSONB 列用 GIN 索引
35
+ - [ ] 大表的部分索引(WHERE deleted_at IS NULL)
36
+ - [ ] 没有 unused indexes(`pg_stat_user_indexes` 检查)
37
+
38
+ ## Migration 安全
39
+ - [ ] 新增列有 DEFAULT 值(PG 11+ 不锁表)
40
+ - [ ] 大表加索引用 `CONCURRENTLY`(不锁写)
41
+ - [ ] 删除列分两步:先标弃用 → 下个版本删除
42
+ - [ ] 数据回填脚本幂等(可重跑)
43
+ - [ ] 有 down migration(可回滚)
44
+
45
+ ## 查询安全
46
+ - [ ] 没有 `SELECT *`(只查需要的列)
47
+ - [ ] 没有 N+1 查询(用 JOIN/eager loading)
48
+ - [ ] list 查询有 LIMIT(无上限 = OOM 风险)
49
+ - [ ] 大表 COUNT 用估算(`pg_class.reltuples`)
50
+ - [ ] 参数化查询(防 SQL 注入)
@@ -0,0 +1,112 @@
1
+ ---
2
+ id: database-antipatterns
3
+ title: 数据库设计反模式(避坑指南)
4
+ domain: database
5
+ category: 04-antipatterns
6
+ difficulty: intermediate
7
+ tags: [database, sql, postgresql, antipattern, n-plus-1, eav, premature-optimization, no-index, float-money, enum-type]
8
+ quality_score: 88
9
+ maintainer: platform-team@umadev.com
10
+ last_updated: 2024-06-14
11
+ ---
12
+
13
+ # 数据库设计反模式(避坑指南)
14
+
15
+ ## 1. 用 FLOAT 存金额
16
+ ```sql
17
+ -- ❌ 浮点丢精度
18
+ price FLOAT -- 0.1 + 0.2 = 0.30000000000000004
19
+
20
+ -- ✅ 定点数或整数分
21
+ price NUMERIC(19,2) -- 精确
22
+ price_cents INTEGER -- 整数,绝对精确
23
+ ```
24
+
25
+ ## 2. EAV(实体-属性-值)反模式
26
+ ```sql
27
+ -- ❌ 万能表(查询噩梦,无类型安全)
28
+ CREATE TABLE attributes (
29
+ entity_id UUID,
30
+ attribute_name TEXT,
31
+ attribute_value TEXT
32
+ );
33
+
34
+ -- ✅ 显式列 + JSONB 补充
35
+ CREATE TABLE products (
36
+ id UUID PRIMARY KEY,
37
+ name TEXT NOT NULL,
38
+ price_cents INTEGER NOT NULL,
39
+ extra_attrs JSONB DEFAULT '{}' -- 灵活字段用 JSONB + GIN
40
+ );
41
+ ```
42
+
43
+ ## 3. N+1 查询
44
+ ```python
45
+ # ❌ 循环内查子资源(100 用户 = 101 次查询)
46
+ for user in users:
47
+ user.orders = db.query("SELECT * FROM orders WHERE user_id = ?", user.id)
48
+
49
+ # ✅ 批量查 + 内存关联(100 用户 = 2 次查询)
50
+ orders = db.query("SELECT * FROM orders WHERE user_id IN ?", [u.id for u in users])
51
+ # 或 ORM eager loading
52
+ users = db.query(User).options(selectinload(User.orders)).all()
53
+ ```
54
+
55
+ ## 4. 无索引的外键
56
+ ```sql
57
+ -- ❌ FK 约束创建后,默认无索引!JOIN/WHERE 会全表扫描
58
+ ALTER TABLE orders ADD CONSTRAINT fk_orders_users FOREIGN KEY (user_id) REFERENCES users(id);
59
+ -- 忘了建索引!
60
+
61
+ -- ✅ 每个 FK 列必须有索引
62
+ CREATE INDEX idx_orders_user_id ON orders(user_id);
63
+ ```
64
+
65
+ ## 5. ENUM 类型(不灵活)
66
+ ```sql
67
+ -- ❌ ENUM 加值需要 ALTER TYPE(锁表)
68
+ CREATE TYPE order_status AS ENUM ('pending', 'paid');
69
+
70
+ -- ✅ TEXT + CHECK(加值只需改约束)
71
+ status TEXT NOT NULL DEFAULT 'pending'
72
+ CHECK (status IN ('pending', 'paid', 'shipped', 'cancelled'))
73
+ ```
74
+
75
+ ## 6. 不带 LIMIT 的查询
76
+ ```sql
77
+ -- ❌ 全表扫描(10 万行 OOM)
78
+ SELECT * FROM events ORDER BY created_at DESC;
79
+
80
+ -- ✅ 强制分页
81
+ SELECT * FROM events ORDER BY created_at DESC LIMIT 100;
82
+ ```
83
+
84
+ ## 7. 过度规范化(过度拆表)
85
+ ```sql
86
+ -- ❌ 把 email 拆到单独表(每次查用户都要 JOIN)
87
+ CREATE TABLE user_emails (user_id UUID, email TEXT);
88
+
89
+ -- ✅ 高频字段内联,只有多值/大字段才拆表
90
+ CREATE TABLE users (id UUID, email TEXT, name TEXT, ...);
91
+ ```
92
+
93
+ ## 8. 同步锁表 Migration
94
+ ```sql
95
+ -- ❌ 生产环境直接加索引(锁写操作)
96
+ CREATE INDEX idx_big_table_col ON big_table(col);
97
+
98
+ -- ✅ 并发建索引(不锁写)
99
+ CREATE INDEX CONCURRENTLY idx_big_table_col ON big_table(col);
100
+ ```
101
+
102
+ ## 9. 不用事务
103
+ ```python
104
+ # ❌ 转账操作不在事务里(可能转出成功转入失败)
105
+ db.execute("UPDATE accounts SET balance -= 100 WHERE id = ?", from_id)
106
+ db.execute("UPDATE accounts SET balance += 100 WHERE id = ?", to_id) # 如果这步崩了?
107
+
108
+ # ✅ 事务包裹
109
+ with db.transaction():
110
+ db.execute("UPDATE accounts SET balance -= 100 WHERE id = ?", from_id)
111
+ db.execute("UPDATE accounts SET balance += 100 WHERE id = ?", to_id)
112
+ ```