获得徽章 0
高质量编程的定义和原则,分享了代码格式、注释、命名规范、控制流程、错误和异常处理五方面的常见编码规范。
评论
传统文件传输过程
零拷贝的实现方式
GO 语言中的实现
零拷贝的应用
评论
分别从 SQL 执行流程、 SQL 引擎、存储引擎及事务引擎出发,讲解储存与数据库的核心技术。
评论
围绕 Go 内存分配和编译器相关知识展开,探讨目前 Go 内存管理过程中问题,提出解决方案,同时将通过对编译器基本算法讲解,引出编译器优化路径
评论
Go 内存分配和编译器相关知识展开,探讨目前 Go 内存管理过程中问题,提出解决方案,同时将通过对编译器基本算法讲解,引出编译器优化路径。
评论
以 Database/sql 的基础概念、设计原理与基本用法切入,进而引出有关GORM 相关解读的相关解读。
评论
Go 在测试环节的相关内容,分别从单元测试、Mock 测试和基准测试三个方面展开。

课程资料
单元测试概念和规则

Mock测试

基准测试

项目实战 - 组件及技术点
展开
评论
本节课从业内案例展开对企业介入问题的讲解,分为上下两个部分,第一部分将详细讲授域名解析、自建 DNS 服务器、HTTPS 协议与接入全站加速的相关知识。
评论
主要通过对比分布式存储选型,讲解对象存储的优势,分析为什么我们需要对象存储。
评论
RocketMQ 的使用场景,同时将 RocketMQ 和 Kafka 进行对比,剖析其特征,同时也将带来字节内部一些最佳实践的场景,包括数据展示等等。
评论
对象存储基本介绍
主要通过对比分布式存储选型,讲解对象存储的优势,分析为什么我们需要对象存储。
评论
学习如何安装 Docker/Postman/Git/Golang
安装 Minikube 或 Docker Desktop 用于使用 Docker 安装教程

可以使用 Minikube 或者使用 Docker Desktop 启动 Docker
安装 Postman

安装 Git 安装教程

安装 Go(Golang >= 1.15) 安装教程
展开
评论
排了四节课感觉有些有些吃力,自己安排的话按每天两节的进度走会好很多。
评论
主要包含以下内容:
1. 👍 高质量编程的目标是编写正确可靠、简洁清晰的代码,需要考虑代码的复杂程度和可维护性。
2. 💡 编程要遵循简单性原则,尽量用简单清晰的逻辑表达,减少程序复杂度。
3. 📖 编程要遵循可读性原则,代码要容易被人理解,减少他人的代码理解成本。
4. ⚙️ 编程要遵循生产力原则,提高团队协作效率,统一代码格式。
5. 🖥 要使用代码格式化工具,统一代码格式,方便团队协作。
6. 🗒️ 注释要解释代码的作用、实现原因和可能出错情况。好的代码需要少量注释。
7. 📝 公共函数都需要添加注释,说明功能和用法。私有函数注释根据需要决定。
8. 🏷️ 变量和函数命名要简洁明了,不同的作用域需要不同的命名方式。
9. 📐 控制流程要保持正常逻辑简单直线,错误逻辑先返回。避免代码嵌套。
10. 🚧 使用错误机制传递错误信息,方便跟踪调试。避免过多使用panic。
11. 💊 使用recover机制屏蔽panic错误,不要在业务代码中嵌套使用。
12. 🔍 性能优化需要从整体链路进行分析,定位优化关键点。
13. 📈 需要获取详细的性能数据进行分析,定位性能瓶颈。
14. 🛠️ 使用性能分析工具分析程序热点和资源消耗情况。
15. 🚏 注意分析服务的上下游依赖,问题可能不在自己代码中。
16. 📉 避免过早优化,需要有明确的性能数据支持。
17. 🔨 可以通过添加缓存、减少IO、改善算法等方式提高性能。
18. ⚡️ 对核心热点函数进行特定优化,其他函数保持简单。
19. 📊 性能测试要覆盖不同输入、负载情况,对比优化效果。
20. 🏭 生产环境性能数据才是优化的目标,测试环境引导方向。
21. 🛩 避免复杂逻辑的嵌套和循环,提高代码可读性。
22. 🗃 尽量减少变量作用域,或增加上下文信息。提高可读性。
23. 🏁 控制流要保持主线简单直白,错误逻辑先返回。
24. 🚨 错误需要传递明确信息,方便调试。避免过多使用panic。
25. 🆘 使用recover处理panic,注意作用域。不要嵌套使用。
26. 📐 命名要简明表达,避免使用常见名称和缩写。
27. 📝 注释要解释额外上下文信息,补充代码的不足。
28. 🛠️ 使用代码格式化工具,保持风格一致,提高协作效率。
展开
评论
Go 语言工程实践之测试
课程内容主要包含以下20个要点:
1. 📝 介绍测试的重要性,提到测试关系系统质量和稳定性,列举了若干没有做好测试导致的事故案例
2. 📈 提出回归测试、集成测试和单元测试的概念,测试成本逐渐降低,测试覆盖率逐步增加
3. 🎯 解释单元测试的组成部分是输入、输出和期望输出的比较,通过比较输出和期望输出验证代码逻辑
4. 📊 代码覆盖率反映测试覆盖面积,一般要求主流程覆盖50%-60%,资金类交易要求80%以上
5. 🧪 介绍如何编写单元测试,需要遵循特定的命名规范,可以用TestMain做准备工作
6. 🧼 以霍洛塔姆函数测试示例,展示单元测试发现错误、定位错误、修复错误的过程
7. 📐 推荐单元测试力度保持足够小、测试分支完备独立等实践来提高覆盖率
8. 📦 解释项目中存在强依赖如数据库、缓存等,测试需要关注稳定性和确定性
9. 🕹 介绍模拟测试工具Monkey,通过打桩实现模拟,提高测试稳定性
10. ⚡️ 介绍基准测试工具,定位代码性能瓶颈,案例找到随机函数影响性能
11. 🗂 介绍项目分层结构,包括数据层、服务层、控制层,提高代码可读性
12. 📑 以社区帖子页面需求为例,说明从分析需求到设计实体的过程
13. 🛠 介绍项目中用到的工具,如Gin等,演示步骤搭建Web服务
14. 📝 以 Repository 层为起点,说明从下至上逐层实现服务的代码流程
15. 🎯 利用 Map 实现内存索引加速查询,使查找时间复杂度为 O(1)
16. ⚙️ 服务层封装实体,控制层做格式化返回,组装成完整的接口服务
17. 🧪 对实现的接口做测试,验证服务能正确返回社区帖子信息
18. 💡 总结项目开发过程的需求分析、代码设计、开发实现、测试流程
19. 📝 讲解创建帖子接口的要点,需要生成唯一 ID,并更新索引
20. 🙇‍♂️ 结束语,感谢大家的收看,希望对项目开发有所启发
展开
评论
#新人报道# 结营证书有四方面要求,打卡天数>=21天 + 课程笔记 >= 6篇 + 学习课程数 >= 13,有效提交大项目。

打卡和课程笔记可以一起完成,大项目最后也会完成,比较重要的地方就是学习课程了,需要对应时间及时完成。
评论
个人成就
文章被阅读 129
掘力值 20
收藏集
0
关注标签
0
加入于