七叶笔记 » golang编程 » 一篇文章掌握过去一周Go语言最新动态

一篇文章掌握过去一周Go语言最新动态

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

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

由于 今日头条 不支持外链,文章大量链接可以通过文末「了解更多」查看。

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

题图:Games With Go

刊首语

技术学累了,来点鸡汤补补!

资讯

1、Go1.13.4 和 1.12.13 两个小版本发布[3]

主要修复 MacOS 的一个问题和 net/http 包的修复。

2、Go1.14 应该很棒!

这个周期有很多 runtime 的工作。主要有:

  • 异步抢占 (
  • 更快的 defers (
  • 可扩展计时器 (
  • 新的页分配器 (

3、GopherCon 2020 将进入迪士尼世界!

GopherCon 将于 2020 年在佛罗里达州 奥兰多 的沃尔特·迪斯尼世界海豚度假村举行。我们只希望地鼠和老鼠相处融洽。

4、GORP 3.0 发布: 一个 ‘ORM-ish’ Go 库[4]

相比 GORM 和 XORM,这个库似乎没那么流行。在过去的一年中,这个曾经很受欢迎的项目的维护和发布速度有所放缓,但是现在有一个新的基于模块的版本,支持 Go 1.13。(GORP 代表 Go Relational Persistence)

5、Flaggy 1.3.0 发布: Go 惯用的命令行解析库[5]

在任何位置都支持子命令,位置值和标志(flag)。没有外部依赖。类似的类库中,Kingpin[6] 是另一个受欢迎的选择。

6、Zap 1.12 发布: 快速、结构化的 Go 日志库[7]

刚刚迁移到模块。支持模块是大势所趋!

问答

1、关于 chan 的用法困惑[8]

求素数的一个程序。

2、gorm 关联查询如何排除字段?[9]

学会查阅文档很重要。

3、golang 中怎么一次把 []int 转为 []int32[10]

除了遍历的方式,你觉得还有其他方式吗?

4、golang 中 websocket 读取消息的问题![11]

其实是 json 解析的问题。

5、golang Open 函数打开的文件不主动关闭,在程序关闭时会发生什么?[12]

进程退出时操作系统会回收给进程的所有资源。

文章

1、Go 1.13 中值得关注的几个变化[13]

TonyBai 的值得关注系列,这次来的有点晚。

2、一文读懂 Go profiling 和性能优化

本文总结自 Profiling and Optimizing Go[14],对应的 PPT[15],有梯子的可以直接看视频。

3、给 Go 程序加入编译版本时间等信息

你可能会需要。

4、并发陷阱 2: 未完成的工作

介绍一个新的陷阱,这个陷阱叫做未完成的工作。当进程在非主协程的协程结束前终止时,这种陷阱就会发生。根据 Gorotine 的特性,强制关闭它将造成一个严重的问题。

5、创建优化的 Go 镜像文件以及踩过的坑

也许对你有用的经验!

6、你真的了解跨域吗?如何解决?为 Go 程序员准备的跨域教程

本文为 Go 程序员介绍了几种解决跨域的方法。

7、如何把应用程序迁移到 K8S?

程序部署环境的容器化已经是大势所趋,微服务为容器化提供了广阔的应用舞台,k8s 已经把 Docker 纳入为它的底层支撑容器引擎,一统江湖,成为了容器技术事实上的标准。

8、Go 编程:记一次函数定义的争论

将这些“自以为是”的东西写下来,供读者参考。

9、一文详解 微服务架构 [16]

本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。

10、使用 git bisect 定位你的 BUG[17]

Git 是开发者的好帮手,今天跟大家分享的是用 git bisect 来找到你代码中的 bad commit 。

11、[译]Golang 应付百万级请求/分钟[18]

简洁化设计永远是我所追求的东西。我们可以设计一个复杂的系统用很多的队列,后台运行 worker,复杂的部署等等,但取而代之我们决定利用 Elasticbeanstalk 强大的自动伸缩功能以及 Go 所提供开箱即用的并发特性。

12、何处安放我们的 Go 代码[19]

本文大致顺序:包管理的历史;新的包管理方式 module;最后加上一个问题排查,彻底解决如何放置 Go 代码的问题。

13、Go 语言出现后, Java 还是最佳选择吗?

阿里人写的文章,你懂的。

开源项目

1、golang.cafe[20]

一个 Go 实现的开源招聘 web 站点。这是国外人搞的。基于它,你可以构建一个国人的招聘站点。

2、Kilo[21]

一个为 k8s 设计的、基于 wireguard 构建的多云 overlay 网络插件。

3、imgcrypt[22]

为容器提供 API 扩展以支持加密的容器映像。

4、go-gitdir[23]

基于一个目录的 git 托管服务。

5、snake-go: Go 实现的贪吃蛇终端小游戏[24]

一款基于文本的“贪吃蛇”游戏,随心所欲制作。10 年前拥有诺基亚手机或玩过 NIBBLES.BAS 的任何人都会熟悉它。

6、gazette/core[25]

构建流处理平台的基础设施代码库。

7、hemera[26]

一个零依赖的 statsd 的 Go 语言实现。

8、tson: Go 实现的 json 查看器[27]

Go 语言编写的 TUI json 编辑器和查看器。

9、ktunnel[28]

将本地资源暴露到 k8s 集群的命令行工具。

10、goldmark: Go 编写的 markdown 解析器[29]

易于扩展,符合标准(CommonMark),结构合理。

11、go-restful[30]

构建 Restful Web Service 的 Go 包。

12、gitql[31]

git 查询语言,有点意思!

资源&&工具

1、 Linux 性能调优 by Brendan Gregg on USENIX LISA 2019[32](英文)

很给力的 Linux 资料,值得收藏查阅。

2、学习使用 Go 编写游戏(几十个免费视频) 英文

3、Ebook: 静态程序分析[33](英文)

有功力的可以好好研究研究。

4、【第 64 期 Go 夜读】深入浅出 Golang Runtime

本次分享将会对 go runtime 的调度,内存分配,gc 做一些细节上的讲解,同时也需要参与者对 runtime 有一些初步了解。文档完整版[34]、文档精简版[35]

5、Micro 中国站教程[36]

Micro 中文示例、教程、资料,源码解读!

订阅

这个周刊每周日发布,同步更新在Go 语言中文网[37]、微信公众号[38] 和 今日头条[39]。

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

参考资料

[1]

polaris1119/golangweekly:

[2]

提交 issue:

[3]

Go1.13.4 和 1.12.13 两个小版本发布:

[4]

GORP 3.0 发布: 一个 ‘ORM-ish’ Go 库:

[5]

Flaggy 1.3.0 发布: Go 惯用的命令行解析库:

[6]

Kingpin:

[7]

Zap 1.12 发布: 快速、结构化的 Go 日志库:

[8]

关于 chan 的用法困惑:

[9]

gorm 关联查询如何排除字段?:

[10]

golang 中怎么一次把 []int 转为 []int32:

[11]

golang 中 websocket 读取消息的问题!:

[12]

golang Open 函数打开的文件不主动关闭,在程序关闭时会发生什么?:

[13]

Go 1.13 中值得关注的几个变化:

[14]

Profiling and Optimizing Go :

[15]

PPT :

[16]

一文详解微服务架构:

[17]

使用 git bisect 定位你的 BUG:

[18]

[译]Golang应付百万级请求/分钟:

[19]

何处安放我们的 Go 代码:

[20]

golang.cafe:

[21]

Kilo:

[22]

imgcrypt:

[23]

go-gitdir:

[24]

snake-go: Go 实现的贪吃蛇终端小游戏:

[25]

gazette/core:

[26]

hemera:

[27]

tson: Go实现的 json 查看器:

[28]

ktunnel:

[29]

goldmark: Go 编写的 markdown 解析器:

[30]

go-restful:

[31]

gitql:

[32]

Linux性能调优 by Brendan Gregg on USENIX LISA 2019:

[33]

Ebook: 静态程序分析: ~amoeller/spa/

[34]

文档完整版: res/gopher-meetup-runtime-yifhao-full.pdf

[35]

文档精简版: res/gopher-meetup-runtime-yifhao-jian.pdf

[36]

Micro 中国站教程:

[37]

Go语言中文网:

[38]

微信公众号:

[39]

今日头条: #mid=1586087918877709

相关文章