18、错误处理(上):如何设计一套科学的错误码

你好,我是孔令飞。今天我们来聊聊如何设计业务的错误码。 现代的软件架构,很多都是对外暴露RESTful API接口,内部系统通信采用RPC协议。因为RESTful API接口有一些天生的优势,比如规范、调试友好、易懂,所以通常作为直接面向用户的通信规...

Go 语言项目开发实战

19、错误处理(下):如何设计错误包

你好,我是孔令飞。 在Go项目开发中,错误是我们必须要处理的一个事项。除了我们上一讲学习过的错误码,处理错误也离不开错误包。 业界有很多优秀的、开源的错误包可供选择,例如Go标准库自带的errors包、github.com/pkg/errors包。但...

Go 语言项目开发实战

20、日志处理(上):如何设计日志包并记录日志

你好,我是孔令飞,接下来的两讲,我们来聊聊如何设计和开发日志包。 在做Go项目开发时,除了处理错误之外,我们必须要做的另外一件事是记录日志。通过记录日志,可以完成一些基本功能,比如开发、测试期间的Debug,故障排除,数据分析,监控告警,以及记录发生...

Go 语言项目开发实战

21、日志处理(下):手把手教你从 0 编写一个日志包

你好,我是孔令飞。 上一讲我介绍了如何设计日志包,今天是实战环节,我会手把手教你从0编写一个日志包。 在实际开发中,我们可以选择一些优秀的开源日志包,不加修改直接拿来使用。但更多时候,是基于一个或某几个优秀的开源日志包进行二次开发。想要开发或者二次开...

Go 语言项目开发实战

22、应用构建三剑客:Pflag、Viper、Cobra 核心功能介绍

你好,我是孔令飞。这一讲我们来聊聊构建应用时常用的Go包。 因为IAM项目使用了Pflag、Viper和Cobra包来构建IAM的应用框架,为了让你后面学习更加容易,这里简单介绍下这3个包的核心功能和使用方式。其实如果单独讲每个包的话,还是有很多功能...

Go 语言项目开发实战

23、应用构建实战:如何构建一个优秀的企业应用框架

你好,我是孔令飞。今天我们来聊聊开发应用必须要做的那些事儿。 应用开发是软件开发工程师最核心的工作。在我这 7 年的 Go 开发生涯中,我构建了大大小小不下 50 个后端应用,深谙其中的痛点,比如: 重复造轮子。同样的功能却每次都要重新开发,浪费非...

Go 语言项目开发实战
1234569