Go语言爱好者周刊:第 75 期

Go语言精选

共 4786字,需浏览 10分钟

 ·

2020-12-30 21:52

这里记录每周值得分享的 Go 语言相关内容,周日发布。

本周刊开源(GitHub:polaris1119/golangweekly[1]),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[2]

鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。

由于微信公众号不支持外链,文中大量链接可通过文末「阅读原文」查看。

题图:爱上 Code Review

刊首语

接着上期周刊,看大家是否掌握了该知识点。如果上期题目做错了,建议先看看 《这道题竟然只有 12% 的人答对。。。》

以下代码输出什么?如果你不确定,建议你查阅相关文档再作答。

package main

import(
 "fmt"
 "encoding/json"
 "context"
)

func main() {
 data, _ := json.Marshal(context.WithValue(context.Background(), "a""b"))
 fmt.Println(string(data))
}

资讯

1、vscode-go 计划将 gopls 作为默认语言服务器[3]

目前默认是不启用 gopls 的。

2、go module 即将成为你的唯一选择[4]

别挣扎了,赶紧换成 module 吧。

3、webrtc v3.0.0 发布[5]

著名 Go WebRTC 框架。

4、GoLand IDE 2021.1 raodmap[6]

看看会加哪些新功能。

文章

1、CockroachDB errors 系列文章

一个可以替代 errors 和 pkg/errors 的库。

2、这道题竟然只有 12% 的人答对。。。

这是本周刊上期(74 期)的问题解析。

3、Go 中没有引用传递?

先说清楚,在 go 中没有引用变量,所以更不存在什么引用传值了。

4、又是 Python,又是 Go 和 Rust,你觉得这个招聘到底是要什么人才?

掌握多门语言是趋势?

5、谈服务可用性监控

一个服务的监控从整体考虑,要达到哪些才能算是完善的?我想,如果没有一个全局性的监控思考,一个服务的监控即使加的再多也是会有监控盲区的。

6、图解 Go pprof 收集数据的工作流

pprof 是用于分析诸如 CPU 或 内存分配等 profile 数据的工具。分析程序的 profile 数据需要收集运行时的数据用来在之后统计和生成画像。

7、2020 年字节跳动 Go 面试总结

虽然是 Go 面试,但完全是 Go 的内容真不多。可见大家准备时,一定不能只盯着 Go 语言本身。

8、Go 运行程序中的线程数[7]

可以控制线程数吗?

9、grafana 的主体架构是如何设计的?

这篇想解释下它的主体架构的设计思路,如果你对 grafana 有兴趣,不妨让这篇成为源码阅读入门读物。

10、Golang最细节篇— struct{} 空结构体究竟是啥?

基于 go1.13.3 linux/amd64 分析。

开源项目

1、owncast[8]

Go实现的自托管的实时流服务器。

2、go-containerregistry[9]

与镜像仓库互操作的 Go 包。

3、DocHub[10]

基于 Beego 开发的类似百度文库站点。

4、trigger[11]

基于 Google 通用表达式语言(CEL)的决策和触发 Go 框架。

5、diff3[12]

diff3 文本合并算法的 Go 实现。

6、progress_bar[13]

进度条的 Go 实现。

7、redcon[14]

用于 Go 的 Redis 兼容服务器框架。

8、goatcounter[15]

一个开源 Web 分析平台,可作为托管服务(非商业用途免费)或自托管应用程序。

9、gobetween[16]

Сloud 时代的现代简约负载均衡器。

10、clutch[17]

可扩展的基础架构管理平台。

11、fusion[18]

用 Go 语言编写的微型流处理库。

12、low[19]

Golang 中的底层数据类型和 utils。

13、email-verifier[20]

作者自荐。一个高性能、多维度检查的 email 地址校验库。

资源&&工具

1、油管视频[21]

Go 机器学习实例解析。

2、一本有关 Go 网络编程的书要出版了[22]

no starch 出版社的《Network Programming with Go》将在明年 2 月与 gopher 见面。

3、brockly[23]

使用 brockly 以图形化方式构建一个 Go Web Server。

4、2020 腾讯社招 Golang 后端面试题

没有答案,靠自己了。

5、油管视频[24]

Go 1.16 文件嵌入教程。

6、GopherCon 2020 技术大会视频全集[25]

相应全套 PPT 可以关注该公众号回复「gophercon2020」获取。

7、MIT 课程《Distributed Systems 》中文版[26]

使用 Go 作为课程设计和示例编程语言。

8、油管视频[27]

Go 1.14 增加的 goroutine 抢占调度背后的故事 by Austin Clements。

9、aquatone[28]

Aquatone 是用于对大量主机上的网站进行视觉检查的工具,可以方便地快速获得基于 HTTP 的攻击面的概述。

10、cointop[29]

基于轻量级交互式终端的 UI 应用程序,用于跟踪加密货币。

11、cds[30]

基于 go-zero 构建的 ClickHouse 的大数据数据同步、存储、计算系统。

12、clash[31]

Go 中基于规则的隧道。

13、evans[32]

更具表现力的通用 gRPC 客户端。

订阅

这个周刊每周日发布,同步更新在Go语言中文网[33]微信公众号[34]

微信搜索"Go语言中文网"或者扫描二维码,即可订阅。

wechat

上期推荐Go语言爱好者周刊:第 74 期 — 不仔细你就会答错
参考资料

[1]

polaris1119/golangweekly: https://github.com/polaris1119/golangweekly

[2]

提交 issue: https://github.com/polaris1119/golangweekly/issues

[3]

vscode-go 计划将 gopls 作为默认语言服务器: https://github.com/golang/vscode-go/issues/1037

[4]

go module 即将成为你的唯一选择: https://utcc.utoronto.ca/~cks/space/blog/programming/GoModulesOnlyFuture

[5]

webrtc v3.0.0 发布: https://github.com/pion/webrtc/wiki/Release-WebRTC@v3.0.0

[6]

GoLand IDE 2021.1 raodmap: https://blog.jetbrains.com/go/2020/12/24/goland-2021-1-roadmap/

[7]

Go 运行程序中的线程数: https://colobu.com/2020/12/20/threads-in-go-runtime/

[8]

owncast: https://github.com/owncast/owncast

[9]

go-containerregistry: https://github.com/google/go-containerregistry

[10]

DocHub: https://github.com/TruthHun/DocHub

[11]

trigger: https://github.com/graphikDB/trigger

[12]

diff3: https://github.com/nasdf/diff3

[13]

progress_bar: https://github.com/ermanimer/progress_bar

[14]

redcon: https://github.com/tidwall/redcon

[15]

goatcounter: https://github.com/zgoat/goatcounter

[16]

gobetween: https://github.com/yyyar/gobetween

[17]

clutch: https://github.com/lyft/clutch

[18]

fusion: https://github.com/spy16/fusion

[19]

low: https://github.com/openacid/low

[20]

email-verifier: https://github.com/aftership/email-verifier

[21]

油管视频: https://www.youtube.com/watch?v=vnA-aSoQSeE&t=359s

[22]

一本有关 Go 网络编程的书要出版了: https://nostarch.com/networkprogrammingwithgo

[23]

brockly: https://github.com/thestrukture/brockly

[24]

油管视频: https://www.youtube.com/watch?v=YoDGTwwQTso&feature=youtu.be

[25]

GopherCon 2020 技术大会视频全集: https://www.youtube.com/playlist?list=PL2ntRZ1ySWBfUint2hCE1JRxRWChloasB

[26]

MIT 课程《Distributed Systems 》中文版: https://github.com/feixiao/Distributed-Systems

[27]

油管视频: https://www.youtube.com/watch?v=1I1WmeSjRSw

[28]

aquatone: https://github.com/michenriksen/aquatone

[29]

cointop: https://github.com/miguelmota/cointop

[30]

cds: https://github.com/tal-tech/cds

[31]

clash: https://github.com/Dreamacro/clash

[32]

evans: https://github.com/ktr0731/evans

[33]

Go语言中文网: https://studygolang.com/go/weekly

[34]

微信公众号: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91

浏览 54
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报