Skip to content
On this page

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

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

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

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

题图:来自 A Journey With Go

刊首语

SQLBoiler 是用于生成针对你的数据库 schema 的 Go ORM 的工具。它是“数据库优先” ORM,而不是“代码优先”(如 gorm/gorp 等是代码优先的)。这意味着你必须首先创建数据库 schema。请使用 goosesql-migrate 之类的工具或其他一些迁移工具来管理数据库生命周期的这一部分。

不管你喜不喜欢 ORM,相关的工具的确很多!

资讯

1、Go 1.15 都有哪些值得关注的变化?

这是来自 4月 26 日 Go Remote Fest 会议的分享整理,原标题:《What’s coming in Go 1.15》,一起看看计划在今年 8 月份发布的 Go1.15 都有哪些值得关注的变化。本文提到的点,大部分已经 Merge,毕竟包括 8 月份只剩下 3 个月了。之前提到过,受疫情影响,这次的发布内容不会太多。

2、Vitness 发布 v6 版本

Youtube 使用 Go 实现的开源分布式 MySQL 工具。

3、改善 go module major 版本体验的 proposal

不断改进 module。

4、Liftbridge 1.0 发布

通过为 NATS 消息传递系统实施持久的流增强,Liftbridge 提供了轻量级的,容错的消息流。

文章

1、如何在 3 天内使用 Go 和 Vue 创建实时患者监护系统

程序员为疫情做贡献。

2、项目中要不要使用 Go?我是这么思考的

我最近决定在一个新项目中使用 GoLang 来实现一组增删改查的 API。在此之前,我较为熟悉 Java,Groovy,了解一些 Python。

3、[典藏版]Golang三色标记、混合写屏障GC模式图文全分析

如今,GC 话题成为后端工程师面试和闲聊的主话题,今天我们就详细的来聊一聊。

4、基于 Go 语言开发在线论坛增补篇:通过 Viper 读取配置文件并实现热加载

Viper 是 Go 语言的完整配置解决方案,支持多个数据源和丰富的功能。

5、Go、Java 和 Rust 的比较:得出了挺多结论

最近这几年,Go、Rust 收到越来越多的关注,特别是 Go,在国内挺受欢迎的,很多大公司都采用它。而 Rust,作为系统编程语言收到越来越多的人关注,苹果、微软都宣称他们使用 Rust 编写部分业务。而 Java 作为老牌编程语言,长期霸占编程语言排行榜第一或第二位。这篇文章从一些角度就以上三门语言做一个对比。

6、Dave 大神详解 Go 中的内联优化

本文讨论 Go 编译器是如何实现内联的以及这种优化方法如何影响你的 Go 代码。

7、“���”引发的线上事故

最近遇到了一起依赖升级 + 异常数据引发的线上事故,教训惨痛,本文对此进行回故和总结。

8、万字长文!Go 后台项目架构思考与重构

本文首先介绍了架构的重要性,随后从一个实际项目的重构过程作为主线,逐步引出主流的架构设计思想以及其所解决的实际问题是什么。

9、这是一篇实践者对 Go 语言的微吐槽

本文作者最近开始在工作中将 Go 作为主力编程语言来使用,这是一种有趣的语言,带有丰富的标准库,但在标准库中交付一个生产就绪的 HTTP 服务器并非易事。因此,作者写下了这篇文章,提到了 Go 语言的一些问题。

10、踩坑记:Go 服务内存暴涨

为什么 go 1.12 会导致内存异常上涨呢?

11、Rob Pike专访:“Go确实已成为云基础架构编程语言”

尽管看到 Docker,Kubernetes 和用 Go 编写的云计算的许多其他组件令人欣喜和重要,但也许并不奇怪。Go 确实已经成为云基础架构的语言。- Rob Pike,Go 编程语言的联合作者。

12、使用 Go 开发前端 WASM 应用

Go 近些年在国内越来越流行了,特别是上云,容器化发展之后。关键的是,Go 不仅性能好,而且占用内存等也非常少,目前大部分新的后台项目也都在使用 Go 重写。这篇文章主要用来介绍,用 Go 语言如何入门前端开发。

13、Go 中的 Goroutine + Channel 真的能减少并发 Bug 吗?

Go 目前正在通过新的并发原语(concurrency primitives)goroutine 和 channel 试图简化并发编程并减少报错。但是,实际情况怎么样呢?两位来自宾夕法尼亚州立大学和普渡大学的研究员 Yiying Zhang 和 Linhai Song 对 Go 中的 并发 bug 在真实场景的情况进行了研究。

14、我使用 Golang 两年后的总结:优点和令人讨厌的怪癖

过去两年来,我就职于 Assembled ,一直使用 Go 工作。自公司成立以来,Go 就一直是我们的主要后端语言。在我之前的工作中,我混合着使用 Ruby 和 Scala,所以肯定有过一段适应期。总体而言,我发现 Go 的表现基本上与广告宣传的一样:尽管有些怪异,但它非常适合专业工作。

开源项目

1、XLSX

用于读取和写入 XLSX(Excel)文件的库。

2、SQLBoiler

根据你的数据库 schema 生成 Go ORM。

3、decimal

表示 Go 中的任意精度十进制数。不过,它只能支持小数点后最多 2^38 位的十进制数,因此请当心。

4、redigo

Redis 6.0 已经发布了。这是一个 Redis 的 Go 语言客户端。

5、ntp

Facebook 的 NTP 库。NTP 是 “网络时间协议”,进行时钟同步。

6、grobotstxt

Google Robots.txt 解析器和 Matcher 库。现在您可以像 Google 一样抓取自己的网站

7、compiler

编译成 x86-64 汇编语言的小型编译器。

8、goneli

实现NELI分布式选主协议。

9、skycoin

又一以 Go 为主要实现语言的币项目。

10、errlog

可改善错误日志格式并加快调试速度的 log 包。

11、sftpgo

全功能且高度可配置的 SFTP 服务器。

12、gout

http client 领域的瑞士军刀,小巧,强大,犀利。

资源&&工具

1、播客:gotime 第 127 期

使用 Go 实现 WebRTC 应用。

2、GoRemoteFest 2020 会议视频全集

记得上周周刊提到的这个大会吗?完整视频放送。

3、Go-sword

可视化 Web 管理后台生成工具。

4、开源电子书

使用 Go 进行以太坊开发。

5、Super Graph

快速将 PostgreSQL 应用升级为 GraphQL 接口。

6、shotizam

分析 binary 文件 size 的工具。

订阅

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

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

wechat

Released under the MIT License.