@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,956 @@
1
+ ---
2
+ id: python-complete
3
+ title: Python完整知识体系
4
+ domain: development
5
+ category: 01-standards
6
+ difficulty: intermediate
7
+ tags: [complete, development, hints, python, type, 基础语法, 异步编程, 核心特性]
8
+ quality_score: 70
9
+ last_updated: 2026-06-15
10
+ ---
11
+ # Python完整知识体系
12
+
13
+ ## 概述
14
+ Python是一门高级、解释型、通用编程语言,强调代码可读性和简洁性。广泛应用于Web开发、数据科学、AI/ML、自动化脚本、DevOps等领域。
15
+
16
+ ## 核心特性
17
+
18
+ ### 1. 语言特性
19
+ - **动态类型**: 运行时确定类型,但支持类型提示(Python 3.5+)
20
+ - **自动内存管理**: 引用计数 + 垃圾回收
21
+ - **多范式**: 支持面向对象、函数式、过程式编程
22
+ - **跨平台**: Windows/Linux/macOS一致体验
23
+ - **丰富的标准库**: "自带电池"(batteries included)
24
+
25
+ ### 2. Python版本
26
+ - **Python 2.x**: 2020年1月1日停止维护,禁止使用
27
+ - **Python 3.x**: 当前主流,推荐3.10+(模式匹配、性能优化)
28
+ - **Python 3.12+**: 最新稳定版,GIL优化、性能提升
29
+
30
+ ## 基础语法
31
+
32
+ ### 变量与数据类型
33
+
34
+ ```python
35
+ # 基本类型
36
+ name: str = "Alice"
37
+ age: int = 30
38
+ height: float = 1.75
39
+ is_active: bool = True
40
+
41
+ # 容器类型
42
+ numbers: list[int] = [1, 2, 3, 4, 5]
43
+ coordinates: tuple[float, float] = (10.0, 20.0)
44
+ person: dict[str, any] = {"name": "Bob", "age": 25}
45
+ unique_ids: set[int] = {1, 2, 3, 4}
46
+
47
+ # None类型
48
+ result: None = None
49
+ ```
50
+
51
+ ### 控制流
52
+
53
+ ```python
54
+ # 条件判断
55
+ score = 85
56
+ if score >= 90:
57
+ grade = "A"
58
+ elif score >= 80:
59
+ grade = "B"
60
+ else:
61
+ grade = "C"
62
+
63
+ # 循环
64
+ for i in range(10):
65
+ print(i)
66
+
67
+ # 列表推导式
68
+ squares = [x**2 for x in range(10)]
69
+
70
+ # 字典推导式
71
+ word_lengths = {word: len(word) for word in ["hello", "world"]}
72
+
73
+ # 循环控制
74
+ for i in range(10):
75
+ if i == 3:
76
+ continue # 跳过3
77
+ if i == 7:
78
+ break # 到7停止
79
+ print(i)
80
+ ```
81
+
82
+ ### 函数
83
+
84
+ ```python
85
+ # 基础函数
86
+ def greet(name: str) -> str:
87
+ """问候函数"""
88
+ return f"Hello, {name}!"
89
+
90
+ # 默认参数
91
+ def power(base: int, exp: int = 2) -> int:
92
+ return base ** exp
93
+
94
+ # 可变参数
95
+ def sum_all(*args: int) -> int:
96
+ return sum(args)
97
+
98
+ # 关键字参数
99
+ def create_user(**kwargs: any) -> dict:
100
+ return kwargs
101
+
102
+ # 类型提示
103
+ from typing import List, Dict, Optional, Union
104
+
105
+ def process_data(
106
+ items: List[int],
107
+ config: Optional[Dict[str, any]] = None
108
+ ) -> Union[int, str]:
109
+ if config is None:
110
+ return "no config"
111
+ return sum(items)
112
+ ```
113
+
114
+ ### 类与对象
115
+
116
+ ```python
117
+ from dataclasses import dataclass
118
+ from typing import ClassVar
119
+
120
+ # 传统类
121
+ class Person:
122
+ species: ClassVar[str] = "Homo sapiens" # 类变量
123
+
124
+ def __init__(self, name: str, age: int):
125
+ self.name = name # 实例变量
126
+ self.age = age
127
+
128
+ def greet(self) -> str:
129
+ return f"Hi, I'm {self.name}"
130
+
131
+ @property
132
+ def is_adult(self) -> bool:
133
+ return self.age >= 18
134
+
135
+ @staticmethod
136
+ def get_species() -> str:
137
+ return Person.species
138
+
139
+ @classmethod
140
+ def from_dict(cls, data: dict) -> 'Person':
141
+ return cls(data['name'], data['age'])
142
+
143
+ # Dataclass (推荐)
144
+ @dataclass
145
+ class User:
146
+ id: int
147
+ username: str
148
+ email: str
149
+ is_active: bool = True
150
+
151
+ def __post_init__(self):
152
+ self.email = self.email.lower()
153
+
154
+ # 继承
155
+ class Employee(Person):
156
+ def __init__(self, name: str, age: int, employee_id: int):
157
+ super().__init__(name, age)
158
+ self.employee_id = employee_id
159
+ ```
160
+
161
+ ## 类型系统 (Type Hints)
162
+
163
+ ### 基础类型
164
+
165
+ ```python
166
+ from typing import (
167
+ List, Dict, Set, Tuple,
168
+ Optional, Union, Any,
169
+ Callable, TypeVar, Generic
170
+ )
171
+
172
+ # 基础
173
+ x: int = 10
174
+ y: float = 3.14
175
+ name: str = "Alice"
176
+
177
+ # 容器
178
+ numbers: List[int] = [1, 2, 3]
179
+ mapping: Dict[str, int] = {"a": 1, "b": 2}
180
+ unique: Set[int] = {1, 2, 3}
181
+ coord: Tuple[float, float, float] = (1.0, 2.0, 3.0)
182
+
183
+ # Optional
184
+ maybe_int: Optional[int] = None # 等价于 Union[int, None]
185
+
186
+ # Union
187
+ value: Union[int, str] = 42
188
+ value = "forty-two"
189
+
190
+ # Any
191
+ unknown: Any = some_function()
192
+ ```
193
+
194
+ ### 高级类型
195
+
196
+ ```python
197
+ from typing import Literal, TypedDict, Protocol
198
+
199
+ # Literal类型
200
+ Status = Literal["active", "inactive", "pending"]
201
+ user_status: Status = "active"
202
+
203
+ # TypedDict
204
+ class UserDict(TypedDict):
205
+ id: int
206
+ name: str
207
+ email: str
208
+ age: NotRequired[int] # Python 3.11+
209
+
210
+ user: UserDict = {
211
+ "id": 1,
212
+ "name": "Alice",
213
+ "email": "alice@example.com"
214
+ }
215
+
216
+ # Protocol (结构化子类型)
217
+ class Drawable(Protocol):
218
+ def draw(self) -> None: ...
219
+
220
+ class Circle:
221
+ def draw(self) -> None:
222
+ print("Drawing circle")
223
+
224
+ def render(obj: Drawable) -> None:
225
+ obj.draw()
226
+
227
+ render(Circle()) # 无需显式继承
228
+ ```
229
+
230
+ ### 泛型
231
+
232
+ ```python
233
+ T = TypeVar('T')
234
+
235
+ def first(items: List[T]) -> Optional[T]:
236
+ return items[0] if items else None
237
+
238
+ class Stack(Generic[T]):
239
+ def __init__(self):
240
+ self._items: List[T] = []
241
+
242
+ def push(self, item: T) -> None:
243
+ self._items.append(item)
244
+
245
+ def pop(self) -> Optional[T]:
246
+ return self._items.pop() if self._items else None
247
+
248
+ # 使用
249
+ int_stack: Stack[int] = Stack()
250
+ int_stack.push(42)
251
+ ```
252
+
253
+ ## 异步编程 (Async/Await)
254
+
255
+ ### 基础概念
256
+
257
+ ```python
258
+ import asyncio
259
+
260
+ # 协程定义
261
+ async def fetch_data(url: str) -> dict:
262
+ """异步获取数据"""
263
+ await asyncio.sleep(1) # 模拟I/O
264
+ return {"url": url, "data": "result"}
265
+
266
+ # 运行协程
267
+ async def main():
268
+ result = await fetch_data("https://api.example.com")
269
+ print(result)
270
+
271
+ # 事件循环
272
+ asyncio.run(main())
273
+ ```
274
+
275
+ ### 并发执行
276
+
277
+ ```python
278
+ import asyncio
279
+
280
+ async def task(name: str, delay: int) -> str:
281
+ await asyncio.sleep(delay)
282
+ return f"Task {name} completed"
283
+
284
+ async def main():
285
+ # 并发执行多个任务
286
+ results = await asyncio.gather(
287
+ task("A", 1),
288
+ task("B", 2),
289
+ task("C", 1)
290
+ )
291
+ print(results) # ['Task A completed', 'Task B completed', 'Task C completed']
292
+
293
+ asyncio.run(main())
294
+ ```
295
+
296
+ ### 异步上下文管理器
297
+
298
+ ```python
299
+ from contextlib import asynccontextmanager
300
+
301
+ @asynccontextmanager
302
+ async def async_resource():
303
+ # 进入
304
+ print("Acquiring resource")
305
+ resource = {"id": 123}
306
+ yield resource
307
+ # 退出
308
+ print("Releasing resource")
309
+
310
+ async def main():
311
+ async with async_resource() as res:
312
+ print(f"Using {res}")
313
+
314
+ asyncio.run(main())
315
+ ```
316
+
317
+ ### 异步生成器
318
+
319
+ ```python
320
+ async def async_range(count: int):
321
+ for i in range(count):
322
+ await asyncio.sleep(0.1)
323
+ yield i
324
+
325
+ async def main():
326
+ async for num in async_range(5):
327
+ print(num)
328
+
329
+ asyncio.run(main())
330
+ ```
331
+
332
+ ## 错误处理
333
+
334
+ ### 异常层次
335
+
336
+ ```python
337
+ # 基本结构
338
+ try:
339
+ result = risky_operation()
340
+ except ValueError as e:
341
+ print(f"值错误: {e}")
342
+ except TypeError as e:
343
+ print(f"类型错误: {e}")
344
+ except Exception as e:
345
+ print(f"未知错误: {e}")
346
+ raise # 重新抛出
347
+ finally:
348
+ cleanup()
349
+
350
+ # 自定义异常
351
+ class InsufficientBalanceError(Exception):
352
+ def __init__(self, balance: float, required: float):
353
+ self.balance = balance
354
+ self.required = required
355
+ super().__init__(
356
+ f"Insufficient balance: {balance} < {required}"
357
+ )
358
+
359
+ def withdraw(balance: float, amount: float) -> float:
360
+ if balance < amount:
361
+ raise InsufficientBalanceError(balance, amount)
362
+ return balance - amount
363
+ ```
364
+
365
+ ### 上下文管理器
366
+
367
+ ```python
368
+ from contextlib import contextmanager
369
+
370
+ @contextmanager
371
+ def managed_file(path: str, mode: str):
372
+ f = open(path, mode)
373
+ try:
374
+ yield f
375
+ finally:
376
+ f.close()
377
+
378
+ # 使用
379
+ with managed_file("test.txt", "w") as f:
380
+ f.write("Hello")
381
+ ```
382
+
383
+ ## 文件操作
384
+
385
+ ### 文本文件
386
+
387
+ ```python
388
+ # 读取
389
+ with open("file.txt", "r", encoding="utf-8") as f:
390
+ content = f.read() # 全部读取
391
+ lines = f.readlines() # 逐行读取列表
392
+
393
+ # 写入
394
+ with open("file.txt", "w", encoding="utf-8") as f:
395
+ f.write("Hello\n")
396
+ f.writelines(["Line 1\n", "Line 2\n"])
397
+
398
+ # 追加
399
+ with open("file.txt", "a", encoding="utf-8") as f:
400
+ f.write("New line\n")
401
+
402
+ # 逐行处理(内存高效)
403
+ with open("large.txt", "r") as f:
404
+ for line in f:
405
+ process(line)
406
+ ```
407
+
408
+ ### 二进制文件
409
+
410
+ ```python
411
+ # 读取
412
+ with open("image.png", "rb") as f:
413
+ data = f.read()
414
+
415
+ # 写入
416
+ with open("copy.png", "wb") as f:
417
+ f.write(data)
418
+ ```
419
+
420
+ ### Pathlib (推荐)
421
+
422
+ ```python
423
+ from pathlib import Path
424
+
425
+ # 路径操作
426
+ home = Path.home()
427
+ project = Path.cwd()
428
+ config = project / "config" / "settings.yaml"
429
+
430
+ # 检查
431
+ if config.exists():
432
+ print(f"Config found: {config}")
433
+
434
+ if config.is_file():
435
+ content = config.read_text(encoding="utf-8")
436
+
437
+ # 创建
438
+ (project / "logs").mkdir(exist_ok=True)
439
+ (project / "temp.txt").write_text("temporary", encoding="utf-8")
440
+
441
+ # 遍历
442
+ for py_file in project.rglob("*.py"):
443
+ print(py_file)
444
+ ```
445
+
446
+ ## 标准库常用模块
447
+
448
+ ### collections
449
+
450
+ ```python
451
+ from collections import Counter, defaultdict, deque, namedtuple
452
+
453
+ # Counter - 计数器
454
+ words = ["apple", "banana", "apple", "cherry", "apple"]
455
+ word_counts = Counter(words)
456
+ print(word_counts["apple"]) # 3
457
+ print(word_counts.most_common(2)) # [('apple', 3), ('banana', 1)]
458
+
459
+ # defaultdict - 默认值字典
460
+ grouped = defaultdict(list)
461
+ for word in words:
462
+ grouped[len(word)].append(word)
463
+
464
+ # deque - 双端队列
465
+ dq = deque([1, 2, 3])
466
+ dq.appendleft(0)
467
+ dq.pop()
468
+ dq.popleft()
469
+
470
+ # namedtuple - 命名元组
471
+ Point = namedtuple('Point', ['x', 'y'])
472
+ p = Point(10, 20)
473
+ print(p.x, p.y) # 10 20
474
+ ```
475
+
476
+ ### datetime
477
+
478
+ ```python
479
+ from datetime import datetime, timedelta, timezone
480
+
481
+ # 当前时间
482
+ now = datetime.now()
483
+ utc_now = datetime.now(timezone.utc)
484
+
485
+ # 解析
486
+ dt = datetime.strptime("2024-03-28 14:30:00", "%Y-%m-%d %H:%M:%S")
487
+
488
+ # 格式化
489
+ formatted = now.strftime("%Y年%m月%d日 %H:%M")
490
+
491
+ # 时间运算
492
+ tomorrow = now + timedelta(days=1)
493
+ next_week = now + timedelta(weeks=1)
494
+
495
+ # 时区转换
496
+ utc_dt = datetime.now(timezone.utc)
497
+ beijing_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
498
+ ```
499
+
500
+ ### json
501
+
502
+ ```python
503
+ import json
504
+
505
+ # 序列化
506
+ data = {"name": "Alice", "age": 30}
507
+ json_str = json.dumps(data, indent=2, ensure_ascii=False)
508
+
509
+ # 反序列化
510
+ loaded = json.loads(json_str)
511
+
512
+ # 文件操作
513
+ with open("data.json", "w", encoding="utf-8") as f:
514
+ json.dump(data, f, indent=2, ensure_ascii=False)
515
+
516
+ with open("data.json", "r", encoding="utf-8") as f:
517
+ loaded = json.load(f)
518
+ ```
519
+
520
+ ### re (正则表达式)
521
+
522
+ ```python
523
+ import re
524
+
525
+ # 匹配
526
+ pattern = r'\b\d{3}-\d{3}-\d{4}\b' # 电话号码
527
+ text = "Call 123-456-7890"
528
+ match = re.search(pattern, text)
529
+ if match:
530
+ print(match.group()) # 123-456-7890
531
+
532
+ # 查找所有
533
+ emails = re.findall(r'\b[\w.-]+@[\w.-]+\.\w+\b', text)
534
+
535
+ # 替换
536
+ cleaned = re.sub(r'\s+', ' ', "too many spaces")
537
+
538
+ # 分割
539
+ parts = re.split(r'[,\s]+', "apple, banana cherry")
540
+ ```
541
+
542
+ ### logging
543
+
544
+ ```python
545
+ import logging
546
+
547
+ # 配置
548
+ logging.basicConfig(
549
+ level=logging.INFO,
550
+ format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
551
+ handlers=[
552
+ logging.FileHandler("app.log"),
553
+ logging.StreamHandler()
554
+ ]
555
+ )
556
+
557
+ logger = logging.getLogger(__name__)
558
+
559
+ # 使用
560
+ logger.debug("Debug message")
561
+ logger.info("Info message")
562
+ logger.warning("Warning message")
563
+ logger.error("Error message")
564
+ logger.critical("Critical message")
565
+
566
+ # 异常记录
567
+ try:
568
+ 1 / 0
569
+ except Exception as e:
570
+ logger.exception("Division failed") # 自动记录堆栈
571
+ ```
572
+
573
+ ## 性能优化
574
+
575
+ ### 性能分析
576
+
577
+ ```python
578
+ import time
579
+ import timeit
580
+ from functools import wraps
581
+
582
+ # 计时装饰器
583
+ def timer(func):
584
+ @wraps(func)
585
+ def wrapper(*args, **kwargs):
586
+ start = time.perf_counter()
587
+ result = func(*args, **kwargs)
588
+ end = time.perf_counter()
589
+ print(f"{func.__name__} took {end - start:.4f}s")
590
+ return result
591
+ return wrapper
592
+
593
+ # timeit
594
+ time_taken = timeit.timeit('[x**2 for x in range(1000)]', number=1000)
595
+
596
+ # cProfile
597
+ import cProfile
598
+ cProfile.run('expensive_function()')
599
+ ```
600
+
601
+ ### 优化技巧
602
+
603
+ ```python
604
+ # ❌ 慢: 字符串拼接
605
+ result = ""
606
+ for word in words:
607
+ result += word
608
+
609
+ # ✅ 快: join
610
+ result = "".join(words)
611
+
612
+ # ❌ 慢: 列表append
613
+ result = []
614
+ for i in range(10000):
615
+ result = result + [i]
616
+
617
+ # ✅ 快: append
618
+ result = []
619
+ for i in range(10000):
620
+ result.append(i)
621
+
622
+ # ✅ 更快: 列表推导
623
+ result = [i for i in range(10000)]
624
+
625
+ # ❌ 慢: 成员检查(list)
626
+ items = [1, 2, 3, 4, 5]
627
+ if 3 in items: # O(n)
628
+ pass
629
+
630
+ # ✅ 快: 成员检查(set)
631
+ items = {1, 2, 3, 4, 5}
632
+ if 3 in items: # O(1)
633
+ pass
634
+
635
+ # 使用生成器节省内存
636
+ def fibonacci(n):
637
+ a, b = 0, 1
638
+ for _ in range(n):
639
+ yield a
640
+ a, b = b, a + b
641
+
642
+ # 使用内置函数
643
+ sum_result = sum(numbers) # 比循环快
644
+ max_result = max(numbers)
645
+ min_result = min(numbers)
646
+ ```
647
+
648
+ ## 测试
649
+
650
+ ### unittest
651
+
652
+ ```python
653
+ import unittest
654
+
655
+ class TestMathOperations(unittest.TestCase):
656
+ def setUp(self):
657
+ self.numbers = [1, 2, 3, 4, 5]
658
+
659
+ def test_sum(self):
660
+ self.assertEqual(sum(self.numbers), 15)
661
+
662
+ def test_max(self):
663
+ self.assertEqual(max(self.numbers), 5)
664
+
665
+ def test_exception(self):
666
+ with self.assertRaises(ZeroDivisionError):
667
+ 1 / 0
668
+
669
+ if __name__ == '__main__':
670
+ unittest.main()
671
+ ```
672
+
673
+ ### pytest (推荐)
674
+
675
+ ```python
676
+ import pytest
677
+
678
+ # 简单测试
679
+ def test_addition():
680
+ assert 1 + 1 == 2
681
+
682
+ # fixture
683
+ @pytest.fixture
684
+ def sample_data():
685
+ return [1, 2, 3, 4, 5]
686
+
687
+ def test_with_fixture(sample_data):
688
+ assert len(sample_data) == 5
689
+
690
+ # 参数化测试
691
+ @pytest.mark.parametrize("input,expected", [
692
+ (1, 1),
693
+ (2, 4),
694
+ (3, 9),
695
+ ])
696
+ def test_square(input, expected):
697
+ assert input ** 2 == expected
698
+
699
+ # 异常测试
700
+ def test_division_by_zero():
701
+ with pytest.raises(ZeroDivisionError):
702
+ 1 / 0
703
+ ```
704
+
705
+ ## 包管理
706
+
707
+ ### requirements.txt
708
+
709
+ ```txt
710
+ fastapi==0.110.0
711
+ pydantic>=2.0.0,<3.0.0
712
+ requests~=2.31.0
713
+ ```
714
+
715
+ ### pyproject.toml (现代)
716
+
717
+ ```toml
718
+ [project]
719
+ name = "my-project"
720
+ version = "1.0.0"
721
+ requires-python = ">=3.10"
722
+ dependencies = [
723
+ "fastapi>=0.110.0",
724
+ "pydantic>=2.0.0",
725
+ ]
726
+
727
+ [project.optional-dependencies]
728
+ dev = [
729
+ "pytest>=7.0.0",
730
+ "black>=23.0.0",
731
+ "ruff>=0.1.0",
732
+ ]
733
+ ```
734
+
735
+ ### 虚拟环境
736
+
737
+ ```bash
738
+ # venv
739
+ python -m venv venv
740
+ source venv/bin/activate # Linux/macOS
741
+ venv\Scripts\activate # Windows
742
+
743
+ # poetry
744
+ poetry install
745
+ poetry shell
746
+
747
+ # uv (最快)
748
+ uv venv
749
+ source .venv/bin/activate
750
+ uv pip install -r requirements.txt
751
+ ```
752
+
753
+ ## 最佳实践
754
+
755
+ ### ✅ DO
756
+
757
+ 1. **使用类型提示**: 提升代码可读性和IDE支持
758
+ ```python
759
+ def process(items: list[int]) -> dict[str, int]:
760
+ ...
761
+ ```
762
+
763
+ 2. **遵循PEP 8**: 使用black/ruff自动格式化
764
+ ```bash
765
+ black .
766
+ ruff check .
767
+ ```
768
+
769
+ 3. **写文档字符串**: 解释复杂函数
770
+ ```python
771
+ def calculate_compound_interest(
772
+ principal: float,
773
+ rate: float,
774
+ time: int
775
+ ) -> float:
776
+ """
777
+ 计算复利
778
+
779
+ Args:
780
+ principal: 本金
781
+ rate: 年利率(小数)
782
+ time: 时间(年)
783
+
784
+ Returns:
785
+ 最终金额
786
+
787
+ Example:
788
+ >>> calculate_compound_interest(1000, 0.05, 10)
789
+ 1628.89
790
+ """
791
+ return principal * (1 + rate) ** time
792
+ ```
793
+
794
+ 4. **使用上下文管理器**: 确保资源释放
795
+ ```python
796
+ with open("file.txt") as f:
797
+ ...
798
+ ```
799
+
800
+ 5. **优先使用pathlib**: 而非os.path
801
+ ```python
802
+ from pathlib import Path
803
+ config = Path("config") / "settings.yaml"
804
+ ```
805
+
806
+ ### ❌ DON'T
807
+
808
+ 1. **不要用裸except**
809
+ ```python
810
+ # ❌
811
+ try:
812
+ ...
813
+ except:
814
+ pass
815
+
816
+ # ✅
817
+ try:
818
+ ...
819
+ except ValueError as e:
820
+ logger.error(f"Value error: {e}")
821
+ ```
822
+
823
+ 2. **不要用`from module import *`**: 污染命名空间
824
+
825
+ 3. **不要在循环中修改列表**
826
+ ```python
827
+ # ❌
828
+ for item in items:
829
+ if condition(item):
830
+ items.remove(item)
831
+
832
+ # ✅
833
+ items = [item for item in items if not condition(item)]
834
+ ```
835
+
836
+ 4. **不要用可变默认参数**
837
+ ```python
838
+ # ❌
839
+ def add_item(item, items=[]):
840
+ items.append(item)
841
+ return items
842
+
843
+ # ✅
844
+ def add_item(item, items=None):
845
+ if items is None:
846
+ items = []
847
+ items.append(item)
848
+ return items
849
+ ```
850
+
851
+ 5. **不要过早优化**: 先测性能再优化
852
+
853
+ ## 常见陷阱
854
+
855
+ ### 1. 可变默认参数
856
+ ```python
857
+ # ❌ Bug
858
+ def append_to(element, target=[]):
859
+ target.append(element)
860
+ return target
861
+
862
+ # 多次调用共享同一个列表
863
+ append_to(1) # [1]
864
+ append_to(2) # [1, 2] ← Bug!
865
+
866
+ # ✅ 修复
867
+ def append_to(element, target=None):
868
+ if target is None:
869
+ target = []
870
+ target.append(element)
871
+ return target
872
+ ```
873
+
874
+ ### 2. 延迟绑定闭包
875
+ ```python
876
+ # ❌ Bug
877
+ functions = [lambda: i for i in range(3)]
878
+ for f in functions:
879
+ print(f()) # 2, 2, 2 ← 都是最后一个值!
880
+
881
+ # ✅ 修复
882
+ functions = [lambda i=i: i for i in range(3)]
883
+ for f in functions:
884
+ print(f()) # 0, 1, 2
885
+ ```
886
+
887
+ ### 3. 整数缓存
888
+ ```python
889
+ # Python缓存小整数(-5到256)
890
+ a = 256
891
+ b = 256
892
+ print(a is b) # True
893
+
894
+ a = 257
895
+ b = 257
896
+ print(a is b) # False (可能)
897
+
898
+ # 永远用==比较值,不要用is
899
+ ```
900
+
901
+ ## 学习路径
902
+
903
+ ### 初级 (0-3个月)
904
+ 1. 基础语法: 变量、控制流、函数
905
+ 2. 数据结构: list/dict/set/tuple
906
+ 3. 文件操作: 读写文件
907
+ 4. 错误处理: try/except
908
+ 5. 标准库: os/sys/json/datetime
909
+
910
+ ### 中级 (3-6个月)
911
+ 1. 面向对象: 类、继承、多态
912
+ 2. 类型系统: type hints、泛型
913
+ 3. 异步编程: async/await
914
+ 4. 装饰器: @decorator
915
+ 5. 测试: unittest/pytest
916
+
917
+ ### 高级 (6-12个月)
918
+ 1. 元编程: metaclass、descriptor
919
+ 2. 性能优化: profiling、Cython
920
+ 3. 并发: threading、multiprocessing
921
+ 4. 设计模式: Python实现
922
+ 5. 内部机制: GIL、垃圾回收
923
+
924
+ ### 专家 (1年+)
925
+ 1. 解释器: CPython源码
926
+ 2. 编译器: AST、字节码
927
+ 3. C扩展: Python C API
928
+ 4. 语言设计: PEP提案
929
+ 5. 生态系统: 包开发、分发
930
+
931
+ ## 参考资源
932
+
933
+ ### 官方文档
934
+ - [Python官方文档](https://docs.python.org/3/)
935
+ - [PEP索引](https://peps.python.org/)
936
+ - [Python打包指南](https://packaging.python.org/)
937
+
938
+ ### 推荐书籍
939
+ - 《Fluent Python》(第2版)
940
+ - 《Effective Python》(第2版)
941
+ - 《Python Cookbook》(第3版)
942
+
943
+ ### 在线资源
944
+ - [Real Python](https://realpython.com/)
945
+ - [Python Morsels](https://pythonmorsels.com/)
946
+ - [Talk Python to Me](https://talkpython.fm/)
947
+
948
+ ---
949
+
950
+ **知识ID**: `python-complete`
951
+ **领域**: development
952
+ **类型**: standards
953
+ **难度**: intermediate
954
+ **质量分**: 90
955
+ **维护者**: dev-team@umadev.com
956
+ **最后更新**: 2026-03-28