最新 最热

Go每日一库之119:goleak(goroutine 泄漏检测)

goroutine 作为 golang 并发实现的核心组成部分,非常容易上手使用,但却很难驾驭得好。我们经常会遭遇各种形式的 goroutine 泄漏,这些泄漏的 goroutine 会一直存活直到进程终结。它们的占用的栈内存一直无法释放、关联的...

2023-09-30
1

Go每日一库之118:netlink(内核通信)

netlink 是 Linux 系统里用户态程序、内核模块之间的一种 IPC 方式,特别是用户态程序和内核模块之间的 IPC 通信。比如在 Linux 终端里常用的 ip 命令,就是使用 netlink 去跟内核进行通信的。例如想在golang代码中实现i...

2023-09-30
1

Go每日一库之115:go-diff

纯文本差异对比在许多场景下都有应用,如语音识别技术对识别率的评估,需要将识别后的文本与预期文本之间做差异对比计算;又如我们使用 Git 进行代码提交时,通常会使用git diff来查看这次编辑发生了哪些改动。 这里我们先简...

2023-09-30
1

Go每日一库之117:gopacket(网络数据抓包)

gopacket是google出品的golang三方库,质量还是靠的住,项目地址为:github.com/google/gopacket gopacket到底是什么呢?是个抓取网络数据包的库,这么说可能还有点抽象,但是抓包工具大家可能都使用过。 Windows平台下有Wiresha...

2023-09-30
1

Go每日一库之116:pb(终端进度条)

我们可以将下面这个例子带入到上面IO操作的进度条的DEMO中,这里就不展示效果了。

2023-09-30
1

Go每日一库之114:go-fuzz

这次要推荐给大家的 go-fuzz 也许能让你的工程鲁棒性再上一个台阶,并或多或少缓解你的担忧。 go-fuzz是 Dmitry Vyukov 大神早在 go1.5 时代开源(Apache License 2.0 开源许可)的一款 golang 模糊测试工具,为解析复杂输入...

2023-09-30
1

Go每日一库之113:retry-go

在微服务架构中,通常会有很多的小服务,小服务之间存在大量 RPC 调用,但时常因为网络抖动等原因,造成请求失败,这时候使用重试机制可以提高请求的最终成功率,减少故障影响,让系统运行更稳定。retry-go 是一个功能比较完善的 g...

2023-09-30
1

Go每日一库之112:asynq

Asynq是一个go语言实现的分布式任务队列和异步处理库,基于redis,类似sidekiq和celery,他具有以下特点:

2023-09-30
1

Go每日一库之111:ip2location

很多时候,我们获取了用户ip,但是想知道更多信息,怎么办?使用ip2location吧。

2023-09-30
1

Go每日一库之110:protoc-gen-doc

毫无疑问,目前后台开发接口协议应用最广泛的除了HTTP之外就是gRPC了,HTTP接口有成熟的swagger工具可以生成界面美观和使用友好的文档,那么对于gRPC呢?...

2023-09-30
1