技术阅读周刊第第6️⃣期
技术阅读周刊,每周更新。
历史更新
5 Skills the Best Engineers I Know Have in Common
作者讲述了他身边最好的工程师都具备的五个通用技能
- 技术的深度与广度
- 对于最好的工程师来说,深度和广度他们都会掌握
- 要保持好奇心,好奇心是学习任何新东西的原始动力
- 和身边厉害的工程师一起工作,会快速从他们身上学到东西
- 不用权威去影响他人
- 我理解的是不是依靠资历、经验来向他人输出观点;而是就事论事,利用知识、技能来输出。
- 锻炼写作和口语
- 学会销售
- 提升他人
- 分享知识,写 WIKI、做分享
- 团队协作:codereview、团队讨论等
- 构建工具,解决大家遇到的一些共性问题。
- 要有主人公意识
- 这些工程师都有主人公意识。
- 像老板一样思考问题
Explaining 9 Types of API Testing
URL: https://blog.bytebytego.com/p/ep83-explaining-9-types-of-api-testing?ref=dailydev
介绍了九种常见的 API 测试方法
- 冒烟测试:简单的验证 API 是否可以正常工作
- 功能测试:根据需求进行测试,有预期结果进行比较
- 集成测试:结合多个 API 完成集成测试,更完善的功能测试
- 回归测试:确保新增功能没有影响到原有的 API
- 负载测试:模拟不同的负载进行测试,测出系统可支持的最大容量
- 压力测试:模拟高负载场景,在这种压力情况下观察 API 行为
- 安全测试:模拟外部安全测试
- UI测试:配合 UI 交互进行功能测试
- 模糊测试:对 API 进行无效输入,尝试让 API 崩溃
实际情况可能并不会分的这么细,往往会将一些步骤合并在一起。
Prometheus 14 点实践经验分享
URL: https://mp.weixin.qq.com/s/z2IVP26swYaTeiPTeOMoQw
这是一篇 17 年的 Prometheus
使用分享,但放到现在一点也不过时。
- 使用 USE 理论来判断资源是否健康
- Utilization 利用率
- Saturation 饱和率
- Errors 错误
- 使用 RED 理论
- Request rate 请求速率
- Error rate 错误速率
- Duration 持续时间
- 指标命名需要有规范
- 通常使用框架生成的都没啥问题
- 可以参考 Prometheus 的官方实践 https://prometheus.io/docs/practices/naming/
- 注意指标基数
- 避免基数爆炸的,比如不能使用 user_id, trace_id 等作为指标的 label
- 统计失败+总量而不要统计失败+成功量
- 告警症状而非原因
- 告警规则需要配置持续时间,避免无效告警
- 查询时候通常先求 rate() 再求 sum()
程序员可能必读书单推荐(一) - 面向信仰编程
URL: https://draveness.me//books-1
draveness 大佬推荐的都是一些偏低层的,静得下心的可以看看,我觉得我是看不下来的。
- SICP 《计算机程序的构造和解释》
- CTMCP 《计算机程序设计的概念、技术和模型》
- DDIA 《设计数据密集型应用》
TOP 20 Go最佳实践
URL: https://colobu.com/2023/11/17/golang-quick-reference-top-20-best-coding-practices/
都是一些基本套路,各种语言的使用者都推荐掌握
- 适当使用缩进,推荐统一使用
gofmt
- 变量和函数名具有意义
- 限制行长度,IDE 通常都会有提示
- 使用常量代替魔法值
- 显示处理错误
- 避免使用全局变量
- 使用结构体处理复杂逻辑,更易维护
- 使用
goroutines
处理并发 - 使用 Recover 处理 panic
- 避免使用 Init 函数,更容易维护
- 使用 Defer 清理资源
- 使用复合字面值而非构造函数
- 使用显示返回值而非具名返回值,也是代码更易读
- 避免变量屏蔽,易读性
- 使用接口抽象
文章链接:
- https://www.developing.dev/p/5-skills-all-10x-engineers-have?utm_source=post-email-title&publication_id=1340878&post_id=138715343&utm_campaign=email-post-title&isFreemail=true&r=4buvd&utm_medium=email
- https://blog.bytebytego.com/p/ep83-explaining-9-types-of-api-testing?ref=dailydev
- https://mp.weixin.qq.com/s/z2IVP26swYaTeiPTeOMoQw
- https://draveness.me//books-1
- https://colobu.com/2023/11/17/golang-quick-reference-top-20-best-coding-practices/
#Newletters