嘉为研发认证学习
已于 2025年09月10日 15:59 修改
访问次数:0
🔹 第一部分:研发流程与工程规范
📌 学习内容
- IPD 流程(集成产品开发) Charter 立项阶段的产出物:商业计划书、市场需求文档、立项评审报告 获取路径:项目管理系统、立项评审存档、项目 Wiki 后续阶段产出物:需求规格说明书、架构设计、测试方案、验收文档
- 版本迭代验收流程 验收对象:功能完成度、质量评估、用户体验 质量标准维度:功能正确性、性能、稳定性、安全性 准出门槛:自动化测试通过率、Bug 收敛曲线、验收标准 checklist
- 持续集成(CI)工具与效率提升 工具:Jenkins、GitLab CI、GitHub Actions、Tekton 提升效率手段:并行 pipeline、缓存依赖、自动化测试/部署 质量红线:例如 UT 覆盖率 ≥ 80%,lint 零错误,关键安全扫描零漏洞
- 包管理与兼容性 不同类型包: wheel(Python):跨平台兼容 deb/rpm(Linux 包):特定发行版安装 docker 镜像:统一运行环境 确保兼容性:多平台构建(CI matrix)、自动化测试
- 出包流程规范 版本号规范(SemVer) 签名校验、依赖锁定 发布渠道:内部仓库 / PyPI / Docker Registry
- 后端编码规范 & Code Review 规范:命名统一、注释规范、错误处理、日志标准 审查过程:PR 提交 → CI 自动检查 → 人工代码审查 → Merge
- 单元测试与代码质量 单测编写:覆盖核心逻辑,mock 外部依赖 对质量提升:提前发现缺陷,支持回归测试
- 反模式案例 常见反模式:大泥球(Big Ball of Mud)、过早优化、重复造轮子、忽视测试
📌 学习与实践方案
- 第 1 周:学习 IPD 流程 → 用一个虚拟项目,画出产出物清单和获取路径
- 第 2 周:CI/CD 工具实战 → 配置一个 GitHub Actions/Jenkins pipeline
- 第 3 周:出包实战 → 打包一个 Python 项目并在多平台测试
- 第 4 周:代码规范 & 测试 → 进行 Code Review 模拟演练,写单元测试,识别反模式
🔹 第二部分:动作原子研发体系
📌 学习内容
- 动作原子的定义、特点与适用场景 定义:最小可复用的动作单元 特点:原子性、幂等性、可观测、可组合 场景:数据清洗、自动化运维、跨系统编排
- 动作原子协议 输入输出格式统一(JSON) 支持幂等性 token 输出 Logs / Metrics 供监控
- 本地 Python 环境 & Taskfile 环境管理(pyenv/venv) Taskfile 自动化:测试、构建、发布
- SaaS/FaaS 调用 SaaS → 调用本地安装原子(SDK/HTTP) FaaS → 调用远程原子(HTTP/云函数 API)
- 调试与常见问题 本地调试:pytest / uvicorn 热加载 常见问题:幂等失败、依赖差异、网络超时
- 提高开发效率技巧 模板化生成原子代码 CI 自动跑测试 本地缓存 & Mock 接口
- 用户态 / CMDB / ITSM 集成 用户态:获取调用者身份,做审计 CMDB:获取主机/服务拓扑 ITSM:结合工单审批流
- 缓存与存储 缓存:Redis/Memcached 持久化:SQLite/MySQL/Postgres
- 包构建与发布 动作原子 pip 包 → PyPI/私有仓库 Controller Smart 包 → 封装多个原子
- 观测(Logs & Metrics) logging 输出日志 Prometheus/Grafana 采集 metrics OpenTelemetry tracing
📌 学习与实践方案
- 第 1 周:学习动作原子协议 → 写一个最小的 Python 原子函数(输入输出 JSON)
- 第 2 周:环境搭建 + Taskfile → 用 Taskfile 管理安装、测试、构建流程
- 第 3 周:调用实战 → 本地 SaaS 调用(Flask API),远程部署到 FaaS(AWS Lambda 或本地模拟)
- 第 4 周:进阶 → 增加缓存、持久化存储,集成 CMDB API
- 第 5 周:打包发布 → 构建 pip 包并上传 PyPI(或私有仓库)
- 第 6 周:观测 → 集成 logging + metrics,配置 Prometheus 报表
🔹 总体建议
- 第一部分(研发流程与工程规范)更偏向 团队协作与质量保障;
- 第二部分(动作原子)更偏向 自动化运维与研发提效;
- 可以并行推进: 白天工作中用 工程规范 指导研发; 业余时间用 动作原子实践 提升 Python 自动化能力。
评论(0)