Web Analytics

二闺女一周岁了

本文永久链接 – https://tonybai.com/2021/07/23/my-second-daughter-is-one-year-old **时光飞逝** – 这是我在写这类记录孩子成长的文章时最喜欢用的一个词,也是最能体现我真实感受的一个词。一年前的今天,二闺女非常痛快地呱呱坠地,当时刚出生的她是这样的: 而一年后的今天,现在的她是这样: 这样: 以及这样: 就像她脸上快乐的笑容那样...

July 23, 2021 · 3 min · Tony Bai

一文搞懂Go语言的plugin

本文永久链接 – https://tonybai.com/2021/07/19/understand-go-plugin 要历数Go语言中还有哪些我还没用过的特性,在Go 1.8版本中引入的go plugin算一个。近期想给一个网关类平台设计一个插件系统,于是想起了go plugin^\_^。 Go plugin支持将Go包编译为共享库(.so)的形式单独发布,主程序可以在运行时动态加载这些编译为...

July 19, 2021 · 19 min · Tony Bai

一文告诉你如何用好uber开源的zap日志库

本文永久链接 – https://tonybai.com/2021/07/14/uber-zap-advanced-usage 1. 引子 日志在后端系统中有着重要的地位,通过日志不仅可以直观看到程序的当前运行状态,更重要的是日志可以在程序发生问题时为开发人员提供线索。 在Go生态中,logrus可能是使用最多的Go日志库,它不仅提供结构化的日志,更重要的是与标准库log包在api层面兼容。在性能...

July 14, 2021 · 16 min · Tony Bai

使用section.key的形式读取ini配置项

本文永久链接 – https://tonybai.com/2021/07/10/read-ini-config-item-by-passing-section-key 配置文件读取是很多Go项目必备的功能,这方面社区提供的方案也相对成熟稳定。但之前写这部分代码时除了使用了针对不同配置文件格式(比如:ini、toml等)的驱动包之外,很少直接使用第三方包对读取出的配置项的值进行管理。于是我们就面对这...

July 10, 2021 · 10 min · Tony Bai

使用go-metrics在Go应用中增加度量

本文永久链接 – https://tonybai.com/2021/07/06/add-metrics-for-go-application-using-go-metrics Go语言内置expvar,基于expvar提供的对基础度量的支持能力,我们可以自定义各种度量(metrics)。但是expvar仅仅是提供了最底层的度量定义支持,对于一些复杂的度量场景,第三方或自实现的metrics包必不可...

July 6, 2021 · 11 min · Tony Bai