一直以来,我都是使用 Nginx 作为 Web 服务器,但是配置可以说是非常麻烦了。每次我要新开一个域名,都要先使用 acme.sh 签发 SSL 证书,然后再写配置,大概要花上 5 分钟的时间。曾经想过写个脚本自动完成这些工作,但是苦于对 ...
go-humanize是一个「人性化」的Go语言库,人性化的意思不是形容这个Go语言库,而是这个Go语言库实现的功能,它可以把数字、时间、容量等转换为我们人类容易理解的词语,比如硬盘的容量是 82854982 bytes ,我们可不太好理解,但...
通过 rk-boot,用户可以通过yaml格式的配置文件启动gRPC、gin、echo、GoFrame、prometheus客户端或自定义入口服务。很容易易编译、运行和调试你的 grpc 服务、grpc 网关、swagger UI 和 rk-tv Web UI。 该库是引用了ro...
net/http包默认支持http2的,而HTTP/2强制使用TLS的,所以在使用的时候必须指定证书,正好最近玩过,在这写一下:
当你对GoLang AST感兴趣时,你会参考什么?文档还是源代码? 虽然阅读文档可以帮助你抽象地理解它,但你无法看到API之间的关系等等。 如果是阅读整个源代码,你会完全看懂,但你想看完整个代码我觉得您应该会很累。 因此,本着高效...
gzip是当前应用非常广泛的文件压缩格式,golang 中也有内置的compress/gzip对其提供原生支持。今天我们要介绍的pgzip是一款完全兼容 gzip 的插件,并能提供相较于compress/gzip上百倍的性能提升!...
gofmt 是 golang 自带的代码自动格式化工具,是保证 Go 代码风格一致的大杀器。我们这次要推荐的 gofumpt 在 gofmt 的基础上添加了一系列更加严格的格式化规则,并保证了对 gofmt 的兼容。...
当业务要处理大量的定时任务时,如果每个任务都创建一个Golang原生的timer的话,会占用较多的cpu资源,这类场景,可以用时间轮算法优化timer的资源消耗。本次介绍一款多级时间轮库antlabs/timer(以下timer特指antlabs/timer库...
在日常开发中,测试是不可避免的,在针对DAO层的代码写测试用例的时候,直接将依赖的存储服务(比如mongodb)的client给mock掉,可能达不到检验代码中语法或数据操作正确性的目的。如果在本地起一个相关的存储服务又会由于不同的...
在开发中,有时会遇到对图片的处理需求,在 Python中, PIL/Pillow 库非常强大和易用。 而 Golang 语言中,处理图片的标准库 image也可以实现一些基本操作。 image 库支持常见的 PNG、JPEG、GIF 等格式的图片处理, 可以对图...