这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:一个宇宙飞船模拟游戏 https://github.com/BenNicholls/spaceshippers
看到一道题,挺有意思。以下代码能否通过编译?
package main
import (
"fmt"
)
type worker interface {
work()
}
type person struct {
name string
worker
}
func main() {
var w worker = person{}
fmt.Println(w)
}
A: 能;B: 不能;C: 不知道
2020 年 12 月 03 日举行。Go Systems Conf SF 是一个免费的在线 Go 会议,将于下周举行,关注构建和可扩展 Go 系统。来自 Monzo、VMware 和 DigitalOcean 等公司的优秀演讲者阵容。该会议中 PingCAP 的 CTO 黄东旭也是演讲者。
GitHub-Actions 自动发布的说明。
分布式缓存和内存键/值数据存储。它既可以用作嵌入式 Go 库,也可以用作独立于语言的服务。
离正式版不远了。
小版本,但有用。
goctl 增加了一些功能。
1、CNCF 刚宣布 etcd 正式毕业:赶紧实战下 etcd 的服务发现
在云原生的时代,服务发现已经是必不可少的功能,我借着最近迁移 gRPC 服务的机会尝试了一下如何用 etcd 实现服务发现,期间遇到诸多问题,本文逐一记之。
切片是Go语言中引入的用于在大多数场合替代数组的语法元素。切片是长度可变的同类型元素序列,它不支持存储不同类型的元素,当然如果你非用sl := []interface{}{"hello", 11, 3.14}来抬杠^_^,那就另当别论。
很多人可能会有。
光说不练假把式,不如上手试试,这篇来写个有点卵用的东西。
从单体服务拆分到微服务过程中,原来模块间交互逐渐抽离成远程调用,可能 http,rpc,tcp 等等,那么这些模块在调用中一定存在某种依赖关系。
最近,我们通过 Anglerfish 蜜罐捕获到一个利用 Docker Remote API 未授权访问漏洞来传播的 Go 语言编写的恶意后门程序,鉴于它上线的 C2 为 blackrota.ga ,我们把它命名为 Blackrota。
1、clock
Clock 是 Go 中用来模拟时间的一个小库。
为你的 CLI 应用制作高度定制的盒子(方框)。
一个基于分布式消息传递的异步任务队列/作业队列。
可以轻松地将使用 Gin 等框架编写的 API 移植到 AWS Lambda 和 Amazon API Gateway。
5、netaddr
Go 网络地址包,据说比 net.IP 更好,不过目前还不建议用于生产环境。
6、grocksdb
rocksdb 的 Go binding。
7、gotalk
异步对等通信协议和库。
转到 Stripe API 库。
9、cogman
高效的后台处理,后端支持 RabbitMQ 和 Redis。
10、go-archaius
分布式系统中使用的动态配置框架。
11、simplecert
用于自动获取 Let's Encrypt SSL 证书的 Golang 库。
12、fab.io
Fab.io 是用 Go 语言编写的轻量级游戏后端框架。
13、participle
Go 的解析库。
1、ethr
一个用于 TCP、UDP 和 HTTP 的网络性能测量工具。微软出品。
2、smithy
如果你喜欢 gitea 之类的东西,可以在 git 存储库中使用一个简单的前端。
3、maddy
Maddy Mail Server 实现了运行电子邮件服务器所需的所有功能。
4、油管视频
为什么 GitHub 客户端命令行组从 Ruby 切换到 Go?这是 Go Time 第 153 期。
5、ham
用 Go 检测垃圾短信。
6、cdb
常量数据库 golang 实现。
7、zq
结构化日志的搜索和分析工具。
8、cron
CLI 工具(hcron)和 Go 库(cron),用于将 CRON 表达式转换为人类可读的描述。
9、glsnip
跨机器复制和粘贴。
10、webify
将 Shell 命令转换为 Web 服务。
11、gophertunnel
Go 语言编写的 Minecraft 软件的瑞士军刀。
12、gospider
快速的 Web 爬虫。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。