从事IT行业若干年,有时回首,不禁感叹,很多技术方案和日常生活息息相关,可以相互借鉴。
以下只是草稿,以后有缘再整理
以下每项并不是独立,而是相互重叠的
- 从日常的工作中总结常用的套路,勤记录,提升后续的效率
- 多开发一些能提高效率的小工具,逐步优化,并可以给其他同事使用
- 抽时间回顾和总结
- 对用户的业务数据感兴趣,并思考哪些技术优化值得做
技术追求
- 提升自身和团队的水平、服务架构合理性和性能的考虑、提高开发效率和体验
定时任务使用UDS作为触发运行的通知方式
- 基于架构的完全性考虑:不暴露非本机触发的机会
- 基于架构的合理性考虑:复用已有服务的逻辑和资源,无需新开进程
- 具体实现看:谈谈定时任务的原理和应用 - 使用域信号通知通知服务
代码质量
使用代码扫描工具
- 比如Java的Sonar、Golang的golint等
单元测试
- 及时发现新代码逻辑问题,以及发现避免误改动等
- 提交代码检查并及时阻断
代码Review
- 上面的事项自动化,比如和gitlab pipeline结合,在开发阶段就及时修正;
- 后续代码review可以避免审核低级问题,提高效率
开发效率
脚本工具
- 开发快速生成curl脚本的工具,便于快速定位问题,以及反馈时提供复现实例;
代码复用
通用组件抽象
- apollo灰度工具
- bi数据上报组件
- 消息通知组件
业务组件抽象
- 目前都流行微服务,但有很多上游的逻辑是可以复用的,可以抽象出来,通过代码库的方式复用
服务稳定
灰度工具
- 为保证改动一旦出问题,降低影响,开发基于配置中心的灰度工具,可以根据业务属性进行灰度
性能优化
- 使用wrk、pprof等工具分析优化