这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:Chime,一个 Mac 的 Go 编辑器,目前还未正式发布。
小 bug 修复。可以通过 https://studygolang.com/dl 下载。
rqlite 是一个轻量级的分布式关系数据库,它使用 SQLite 作为其存储引擎。形成集群非常简单,可以很好地处理领导者选举,并容忍包括领导者在内的机器故障。rqlite 可用于 Linux,OSX 和 Microsoft Windows。
Istio 是一个由谷歌、IBM 与 Lyft 共同开发的开源项目,旨在提供一种统一化的微服务连接、安全保障、管理与监控方式。具体来说,Istio 是一个开源服务网格平台,它确保微服务在处理故障时以指定的方式相互连接。
开源时序数据库。
类似 GitBook 的文档管理系统。
6、Chime:适用于 macOS 的 Future Go 编辑器
它目前处于内测阶段,但你可能希望订阅其更新,以便知道 Chime 准备就绪的时间。
7、go-sql-driver/mysql 1.5.0 发布
增加 Module 的支持;不再支持 Go1.9 及以下版本。
最新版本将 Clang 捆绑在发行包中,并增加了对 Adafruit Pybadge 的支持。
业务中超时抖动是大家平时比较容易遇到的一种技术问题,本文详细记录了一次线上容器中高频 go 服务超时的排查过程。本文可以给大家提供查服务业务超时问题的一些思路,理解为什么 go 服务会获取错 cpu 核数,了解获取宿主 cpu 核数会有多大影响并怎样最小成本避开。
本文侧重讲解 reflect 反射的实践应用,适合新手初窥门径。
熟悉Go的人都知道,它提倡着不要通过共享内存来通讯,而要通过通讯来共享内存。Go提供了一种独特的并发同步技术来实现通过通讯来共享内存,此技术即为通道。我们可以把一个通道看作是在一个程序内部的一个FIFO数据队列。 一些协程可以向此通道发送数据,另外一些协程可以从此通道接收数据。
你们进行服务化没有?
介绍实用Go语言去实现这些并发设计模式。
6、必会技能:简明的 Go Protocol Buffer 教程
在这个教程里面,我们将学习如何在你的 Go 应用中使 protocol Buffers 数据格式。我们将详细讲述这种数据格式,以及为什么这种数据格式优于传统的数据格式,例如 XML 甚至 JSON。在我们写更多复杂的例子之前,我们将从一个简单的例子开始编写运行。
在 Go 中,第一类函数是进行 SQL 查询构建的惯用方法。该仓库包含我编写的一些示例代码:https://github.com/andrewpillar/query。
本文的内容曾在 Hacker News 上进行讨论。
本文作者欧长坤,德国慕尼黑大学在读博士,Go/etcd/Tensorflow contributor,开源书籍《Go 语言原本》作者,《Go 夜读》SIG 成员/讲师,对 Go 有很深的研究。Github:@changkun,https://changkun.de。
前段时间给后端几个服务配证书,试着用了一下 Cert-Manager 项目。 Github 几千 Star 的项目使用起来的确很方便,秒配域名免费证书。但是,运行了三天,机器CPU报警。
uintptr 和 unsafe 普及。
它仍然处于 Alpha 状态,但是你可以使用它来检测函数末尾是否有任何意外的 goroutines 正在运行。
2、cortex
在生产中部署机器学习模型。
验证 Go 安装和依赖的小工具。
快速目录遍历库。
5、editor
纯 Go 的源代码编辑器。号称“知道你正在做什么的源代码编辑器”。
6、sarama
Sarama 是 Apache Kafka 0.8 及更高版本的 Go 库。
7、timex
测试友好的替代 Go 的 time 包。
使用成员列表进行对等注册的组缓存。
9、canvas
Go 实现的基于 wasm 的矢量绘图库。
k8s 的爱好者可以收藏一波。
有关如何编写第一个 Go 程序的这份 Go 文档的核心部分已完全按照现代标准进行了重写。
深入分析 Go 语言运行时及其引入的新漏洞。
12 月 24日 星期二,我们有机会在 Golang 台北聚会上介绍了我们的工作。
这个周刊每周日发布,同步更新在Go语言中文网、微信公众号 和 今日头条。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。