这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 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))
}
A:{};B:{"a":"b”}
;C:{"Context":0}
;D:a,b
资讯
1、vscode-go 计划将 gopls 作为默认语言服务器
目前默认是不启用 gopls 的。
别挣扎了,赶紧换成 module 吧。
著名 Go WebRTC 框架。
看看会加哪些新功能。
文章
一个可以替代 errors 和 pkg/errors 的库。
- Go 格式化 API — CockroachDB errors 库(第2篇)
- Go error 打印灾难 — CockroachDB errors 库(第3篇)
- 除了 fmt.Errorf() 之外—Go 中的日常错误对象:CockroachDB errors 库(第4篇)
这是本周刊上期(74 期)的问题解析。
先说清楚,在 go 中没有引用变量,所以更不存在什么引用传值了。
4、又是 Python,又是 Go 和 Rust,你觉得这个招聘到底是要什么人才?
掌握多门语言是趋势?
5、谈服务可用性监控
一个服务的监控从整体考虑,要达到哪些才能算是完善的?我想,如果没有一个全局性的监控思考,一个服务的监控即使加的再多也是会有监控盲区的。
pprof 是用于分析诸如 CPU 或 内存分配等 profile 数据的工具。分析程序的 profile 数据需要收集运行时的数据用来在之后统计和生成画像。
虽然是 Go 面试,但完全是 Go 的内容真不多。可见大家准备时,一定不能只盯着 Go 语言本身。
可以控制线程数吗?
这篇想解释下它的主体架构的设计思路,如果你对 grafana 有兴趣,不妨让这篇成为源码阅读入门读物。
10、Golang最细节篇— struct{} 空结构体究竟是啥?
基于 go1.13.3 linux/amd64 分析。
开源项目
1、owncast
Go实现的自托管的实时流服务器。
与镜像仓库互操作的 Go 包。
3、DocHub
基于 Beego 开发的类似百度文库站点。
4、trigger
基于 Google 通用表达式语言(CEL)的决策和触发 Go 框架。
5、diff3
diff3 文本合并算法的 Go 实现。
进度条的 Go 实现。
7、redcon
用于 Go 的 Redis 兼容服务器框架。
一个开源 Web 分析平台,可作为托管服务(非商业用途免费)或自托管应用程序。
Сloud 时代的现代简约负载均衡器。
10、clutch
可扩展的基础架构管理平台。
11、fusion
用 Go 语言编写的微型流处理库。
12、low
Golang 中的底层数据类型和 utils。
作者自荐。一个高性能、多维度检查的 email 地址校验库。
资源&&工具
1、油管视频
Go 机器学习实例解析。
no starch 出版社的《Network Programming with Go》将在明年 2 月与 gopher 见面。
3、brockly
使用 brockly 以图形化方式构建一个 Go Web Server。
没有答案,靠自己了。
5、油管视频
Go 1.16 文件嵌入教程。
相应全套 PPT 可以关注该公众号回复「gophercon2020」获取。
7、MIT 课程《Distributed Systems 》中文版
使用 Go 作为课程设计和示例编程语言。
8、油管视频
Go 1.14 增加的 goroutine 抢占调度背后的故事 by Austin Clements。
9、aquatone
Aquatone 是用于对大量主机上的网站进行视觉检查的工具,可以方便地快速获得基于 HTTP 的攻击面的概述。
10、cointop
基于轻量级交互式终端的 UI 应用程序,用于跟踪加密货币。
11、cds
基于 go-zero 构建的 ClickHouse 的大数据数据同步、存储、计算系统。
12、clash
Go 中基于规则的隧道。
13、evans
更具表现力的通用 gRPC 客户端。
订阅
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。
有疑问加站长微信联系(非本文作者)

想在此感谢 Go 语言爱好者周刊提供的资源分享平台,以及给我们开发者们 Go 社区实时的热点信息。
这里想对 email-verifier 项目做下补充。
这个项目是我们下半年来内部消息平台的一个孵化,主要解决 email 地址有效性校验难等场景。 Bounce Email 一直是 emails campaigns 的一个痛点问题,结合12月14号刚发生的 Gmail 不可用 的 case, 所以对收件人地址校验还是很有必要的。 在发送 email 前对地址的检查,可以很好地过滤出这部分无效地址,从而提高邮件送达率。
我们内部邮件发送的量级每个月在千万封左右,email-verifier 上线之后,对我们业务的改善效果和带来的收益还是相当明显的。目前社区其实有一个可以说是认可度最高的免费 email 校验器 trumail, 但是该项目有3个问题: 校验维度单一、性能有些问题和已经不再维护。我们的项目其实也是在 trumail 的基础之上做的性能优化和参考社区很多的校验器,提供高性能,多维度的 email 地址校验解决方案,我们的目标是做到 Go 版本最好的多维度 email verifier。 当然这个目标其实也挺困难的,所以还是很希望大家有兴趣或者也有相同业务场景的朋友,能一起关注这一块建设和发展。如果有遇到相关问题,欢迎提反馈和建议给到我们,谢谢~
最后,更多关于 email 地址校验原理和项目介绍, 可以看下这里:如何校验 email 地址以提高邮件送达率