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

polaris · · 4409 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

这里记录每周值得分享的 Go 语言相关内容,周日发布。 本周刊开源(GitHub:[polaris1119/golangweekly](https://github.com/polaris1119/golangweekly)),欢迎投稿,推荐或自荐文章/软件/资源等,请[提交 issue](https://github.com/polaris1119/golangweekly/issues) 。 鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue041/cover.png) 题图:来自 A Journey With Go ## 刊首语 SQLBoiler 是用于生成针对你的数据库 schema 的 Go ORM 的工具。它是“数据库优先” ORM,而不是“代码优先”(如 gorm/gorp 等是代码优先的)。这意味着你必须首先创建数据库 schema。请使用 [goose](https://bitbucket.org/liamstask/goose),[sql-migrate](https://github.com/rubenv/sql-migrate) 之类的工具或其他一些迁移工具来管理数据库生命周期的这一部分。 不管你喜不喜欢 ORM,相关的工具的确很多! ## 资讯 1、[Go 1.15 都有哪些值得关注的变化?](https://mp.weixin.qq.com/s/FB2q4CD9XLvp3c3ilQMINA) 这是来自 4月 26 日 Go Remote Fest 会议的分享整理,原标题:《What’s coming in Go 1.15》,一起看看计划在今年 8 月份发布的 Go1.15 都有哪些值得关注的变化。本文提到的点,大部分已经 Merge,毕竟包括 8 月份只剩下 3 个月了。之前提到过,受疫情影响,这次的发布内容不会太多。 2、[Vitness 发布 v6 版本](https://vitess.io/blog/2020-04-29-announcing-vitess-6/) Youtube 使用 Go 实现的开源分布式 MySQL 工具。 3、[改善 go module major 版本体验的 proposal](https://github.com/golang/go/issues/38762) 不断改进 module。 4、[Liftbridge 1.0 发布](https://github.com/liftbridge-io/liftbridge) 通过为 NATS 消息传递系统实施持久的流增强,Liftbridge 提供了轻量级的,容错的消息流。 ## 文章 1、[如何在 3 天内使用 Go 和 Vue 创建实时患者监护系统](https://mp.weixin.qq.com/s/aDGpq_6WWGgwZRktPocJNA) 程序员为疫情做贡献。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue041/go-vue-patient-monitor.png) 2、[项目中要不要使用 Go?我是这么思考的](https://mp.weixin.qq.com/s/UrTLGhPE9HaNGG6zBuAETw) 我最近决定在一个新项目中使用 GoLang 来实现一组增删改查的 API。在此之前,我较为熟悉 Java,Groovy,了解一些 Python。 3、[[典藏版\]Golang三色标记、混合写屏障GC模式图文全分析](https://mp.weixin.qq.com/s/G7id1bNt9QpAvLe7tmRAGw) 如今,GC 话题成为后端工程师面试和闲聊的主话题,今天我们就详细的来聊一聊。 4、[基于 Go 语言开发在线论坛增补篇:通过 Viper 读取配置文件并实现热加载](https://mp.weixin.qq.com/s/0UPWFvku1mts5SYL9ERFHQ) Viper 是 Go 语言的完整配置解决方案,支持多个数据源和丰富的功能。 5、[Go、Java 和 Rust 的比较:得出了挺多结论](https://mp.weixin.qq.com/s/sH5jad9_5-QZx6X1jV_HUw) 最近这几年,Go、Rust 收到越来越多的关注,特别是 Go,在国内挺受欢迎的,很多大公司都采用它。而 Rust,作为系统编程语言收到越来越多的人关注,苹果、微软都宣称他们使用 Rust 编写部分业务。而 Java 作为老牌编程语言,长期霸占编程语言排行榜第一或第二位。这篇文章从一些角度就以上三门语言做一个对比。 6、[Dave 大神详解 Go 中的内联优化](https://mp.weixin.qq.com/s/SdGZKXCloypcCClGNDbU7Q) 本文讨论 Go 编译器是如何实现内联的以及这种优化方法如何影响你的 Go 代码。 7、[“���”引发的线上事故](https://mp.weixin.qq.com/s/xe8KXD39YlJdDG4cLT0veA) 最近遇到了一起依赖升级 + 异常数据引发的线上事故,教训惨痛,本文对此进行回故和总结。 8、[万字长文!Go 后台项目架构思考与重构](https://mp.weixin.qq.com/s/UQZGqAumYurTqbZCAbeQCQ) 本文首先介绍了架构的重要性,随后从一个实际项目的重构过程作为主线,逐步引出主流的架构设计思想以及其所解决的实际问题是什么。 9、[这是一篇实践者对 Go 语言的微吐槽](https://mp.weixin.qq.com/s/UP_Rf-x1HekU-nl7BneVyg) 本文作者最近开始在工作中将 Go 作为主力编程语言来使用,这是一种有趣的语言,带有丰富的标准库,但在标准库中交付一个生产就绪的 HTTP 服务器并非易事。因此,作者写下了这篇文章,提到了 Go 语言的一些问题。 10、[踩坑记:Go 服务内存暴涨](https://segmentfault.com/a/1190000022472459) 为什么 go 1.12 会导致内存异常上涨呢? 11、[Rob Pike专访:“Go确实已成为云基础架构编程语言”](https://tonybai.com/2020/05/01/rob-pike-interview-go-become-the-language-of-cloud-infrastructure/) 尽管看到 Docker,Kubernetes 和用 Go 编写的云计算的许多其他组件令人欣喜和重要,但也许并不奇怪。Go 确实已经成为云基础架构的语言。- Rob Pike,Go 编程语言的联合作者。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue041/rob-pike.jpg) 12、[使用 Go 开发前端 WASM 应用](https://mp.weixin.qq.com/s/cBjk4jOjX7mdsXuS4r-l-g) Go 近些年在国内越来越流行了,特别是上云,容器化发展之后。关键的是,Go 不仅性能好,而且占用内存等也非常少,目前大部分新的后台项目也都在使用 Go 重写。这篇文章主要用来介绍,用 Go 语言如何入门前端开发。 13、[Go 中的 Goroutine + Channel 真的能减少并发 Bug 吗?](https://mp.weixin.qq.com/s/7ivK7eLA7o8lerZ19If0WA) Go 目前正在通过新的并发原语(concurrency primitives)goroutine 和 channel 试图简化并发编程并减少报错。但是,实际情况怎么样呢?两位来自宾夕法尼亚州立大学和普渡大学的研究员 Yiying Zhang 和 Linhai Song 对 Go 中的 并发 bug 在真实场景的情况进行了研究。 14、[我使用 Golang 两年后的总结:优点和令人讨厌的怪癖](https://www.infoq.cn/article/yDMrvVr1IJAAih3eh5fW) 过去两年来,我就职于 Assembled ,一直使用 Go 工作。自公司成立以来,Go 就一直是我们的主要后端语言。在我之前的工作中,我混合着使用 Ruby 和 Scala,所以肯定有过一段适应期。总体而言,我发现 Go 的表现基本上与广告宣传的一样:尽管有些怪异,但它非常适合专业工作。 ## 开源项目 1、[XLSX](https://github.com/tealeg/xlsx) 用于读取和写入 XLSX(Excel)文件的库。 2、[SQLBoiler](https://github.com/volatiletech/sqlboiler) 根据你的数据库 schema 生成 Go ORM。 3、[decimal](https://github.com/shopspring/decimal) 表示 Go 中的任意精度十进制数。不过,它只能支持小数点后最多 2^38 位的十进制数,因此请当心。 4、[redigo](https://github.com/gomodule/redigo) Redis 6.0 已经发布了。这是一个 Redis 的 Go 语言客户端。 5、[ntp](https://github.com/facebookincubator/ntp) Facebook 的 NTP 库。NTP 是 “网络时间协议”,进行时钟同步。 6、[grobotstxt](https://github.com/jimsmart/grobotstxt) Google Robots.txt 解析器和 Matcher 库。现在您可以像 Google 一样抓取自己的网站 7、[compiler](https://github.com/MauriceGit/compiler) 编译成 x86-64 汇编语言的小型编译器。 8、[goneli](https://github.com/obsidiandynamics/goneli) 实现NELI分布式选主协议。 9、[skycoin](https://github.com/SkycoinProject/skycoin) 又一以 Go 为主要实现语言的币项目。 10、[errlog](https://github.com/snwfdhmp/errlog) 可改善错误日志格式并加快调试速度的 log 包。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue041/errlog.png) 11、[sftpgo](https://github.com/drakkan/sftpgo) 全功能且高度可配置的 SFTP 服务器。 12、[gout](https://github.com/guonaihong/gout) http client 领域的瑞士军刀,小巧,强大,犀利。 ## 资源&&工具 1、[播客:gotime 第 127 期](https://changelog.com/gotime/127) 使用 Go 实现 WebRTC 应用。 2、[GoRemoteFest 2020 会议视频全集](https://www.youtube.com/watch?v=OZSJ2fwSSUM&list=PLdeYrDm3hJTh21xi3rezgsSqrZl_Xs0VA) 记得上周周刊提到的这个大会吗?完整视频放送。 3、[Go-sword](https://github.com/sunshinev/go-sword) 可视化 Web 管理后台生成工具。 4、[开源电子书](https://github.com/miguelmota/ethereum-development-with-go-book) 使用 Go 进行以太坊开发。 5、[Super Graph](https://github.com/dosco/super-graph) 快速将 PostgreSQL 应用升级为 GraphQL 接口。 6、[shotizam](https://github.com/bradfitz/shotizam) 分析 binary 文件 size 的工具。 ## 订阅 这个周刊每周日发布,同步更新在[Go语言中文网](https://studygolang.com/go/weekly)和[微信公众号](https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91)。 微信搜索"Go语言中文网"或者扫描二维码,即可订阅。 ![wechat](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/wechat.png)

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4409 次点击  ∙  1 赞  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传