30、ORM:CURD 神器 GORM 包介绍及实战你好,我是孔令飞。 在用Go开发项目时,我们免不了要和数据库打交道。每种语言都有优秀的ORM可供选择,在Go中也不例外,比如gorm、xorm、gorose等。目前,GitHub上 star数最多的是GORM,它也是当前Go项目中使用最多的ORM。 ...2026-01-19Go 语言项目开发实战
31、数据流:通过iam、authz、server设计,看数据流服务的设计你好,我是孔令飞。 在 [28讲] 和 [29讲] ,我介绍了IAM的控制流服务iam-apiserver的设计和实现。这一讲,我们再来看下IAM数据流服务iam-authz-server的设计和实现。 因为iam-authz-server是数据流服...2026-01-19Go 语言项目开发实战
32、数据处理:如何高效处理应用程序产生的数据你好,我是孔令飞。今天我们来聊聊,如何更好地进行异步数据处理。 一个大型应用为了后期的排障、运营等,会将一些请求数据保存在存储系统中,供日后使用。例如:应用将请求日志保存到 Elasticsearch 中,方便排障;网关将 API 请求次数、请求消息...2026-01-19Go 语言项目开发实战
33、 SDK 设计(上):如何设计出一个优秀的 Go SDK你好,我是孔令飞。接下来的两讲,我们来看下如何设计和实现一个优秀的Go SDK。 后端服务通过API接口对外提供应用的功能,但是用户直接调用API接口,需要编写API接口调用的逻辑,并且需要构造入参和解析返回的数据包,使用起来效率低,而且有一定的开发...2026-01-19Go 语言项目开发实战
34、SDK 设计(下):IAM项目Go SDK设计和实现你好,我是孔令飞。 上一讲,我介绍了公有云厂商普遍采用的SDK设计方式。其实,还有一些比较优秀的SDK设计方式,比如 Kubernetes的 client-go SDK设计方式。IAM项目参考client-go,也实现了client-go风格的SDK...2026-01-19Go 语言项目开发实战
35、效率神器:如何设计和实现一个命令行客户端工具你好,我是孔令飞。今天我们来聊聊,如何实现一个命令行客户端工具。 如果你用过Kubernetes、Istio、etcd,那你一定用过这些开源项目所提供的命令行工具:kubectl、istioctl、etcdctl。一个 xxx 项目,伴随着一个 xx...2026-01-19Go 语言项目开发实战
36、代码测试(上):如何编写 Go 语言单元测试和性能测试用例你好,我是孔令飞。 从今天开始,我们就进入了服务测试模块,这一模块主要介绍如何测试我们的Go项目。 在Go项目开发中,我们不仅要开发功能,更重要的是确保这些功能稳定可靠,并且拥有一个不错的性能。要确保这些,就要对代码进行测试。开发人员通常会进行单元测...2026-01-19Go 语言项目开发实战
37、代码测试(下):Go 语言其他测试类型及 IAM 测试介绍你好,我是孔令飞。 [上一讲],我介绍了Go中的两类测试:单元测试和性能测试。在Go中,还有一些其他的测试类型和测试方法,值得我们去了解和掌握。此外,IAM项目也编写了大量测试用例,这些测试用例使用了不同的编写方法,你可以通过学习IAM的测试用例来验...2026-01-19Go 语言项目开发实战
38、性能分析(上):如何分析 Go 语言代码的性能你好,我是孔令飞。 作为开发人员,我们一般都局限在功能上的单元测试中,对一些性能上的细节往往不会太关注。但是,如果我们在上线的时候对项目的整体性能没有一个全面的了解,随着请求量越来越大,可能会出现各种各样的问题,比如CPU占用高、内存使用率高、请求延...2026-01-19Go 语言项目开发实战
39、性能分析(下):API Server性能测试和调优实战你好,我是孔令飞。 上一讲,我们学习了如何分析Go代码的性能。掌握了性能分析的基本知识之后,这一讲,我们再来看下如何分析API接口的性能。 在API上线之前,我们需要知道API的性能,以便知道API服务器所能承载的最大请求量、性能瓶颈,再根据业务对性...2026-01-19Go 语言项目开发实战