这是我参与「第五届青训营」笔记创作活动的第2天。笔记旨在记录自己的学习过程以及跟更多人分享交流,重点讲干货,不扣细节,从整体认知。废话不多说,上内容!!!
本堂课重点内容
- 语言进阶
- 依赖管理
- 测试
- 项目实战
详细知识点介绍
语言进阶
从并发编程的视角了解Go高性能的本质。
- 并发VS并行
按我的理解:
并发 -> 接力赛跑,两个人或更多人,在同个赛道上,一个人跑一段
并行 -> 不同跑道,两个人或更多人一起跑
- Goroutine
- CSP
- Channel
跟大数据框架的一些Channel类似
-
并发安全 Lock
-
WaitGroup
依赖管理
-
背景
-
Go 依赖管理演进
- Go Module 实践
测试
- 单元测试
还有关于覆盖率,就是测试调用的代码比例
- Mock 测试
所谓打桩,就是A要替换B,那么A就是起打桩作用,这样整个测试就摆脱了本地文件的束缚和依赖。
- 基准测试
① 优化代码,需要对当前代码分析
② 内置的测试框架提供了基准测试的能力
实践练习例子
这里是一个项目实践的大致流程 : 需求设计 -> 代码开发 -> 测试运行
需求设计
社区话题页面
√展示话题(标题,文字描述)和回帖列表
√暂不考虑前端页面实现,仅仅实现一个本地web服务
√话题和回帖数据用文件存储
代码开发
测试开发
课后个人总结
- 了解了Go语言的一些重要概念以及依赖管理相关部分;
- 了解一个项目实践的大致流程,对于缺乏项目经验的我来说帮助很大;