Go语言爱好者周刊:第 24 期
这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图来自:unsplash
刊首语
这是 2020 年的第一期,本周刊跨年了,和你陪伴了 2019 年,接下来会和你一起度过 2020 年。国外人都在休假,国内似乎动作也少,本期内容不多,但希望有对你有启发或帮助的内容。
资讯
1、Go 语言中文网 2019 年终总结暨 2020 年展望
2020年计划:2020 年一定要开始进行 2019 年发誓要做的原定于推迟到 2018 年完成的 2017 年度计划!
2、Go 101 v1.13.m (v.1.14-pre) 电子书发布
本书定期(一个月左右)发布新版本,所以请时常访问此页面以获取本书最新版。
文章
本文尝试探讨几种网络异常的情况,研究在这些情况下客户端和服务端的的行为,包括连接断掉的检测能力、half-close 情况下两端的读写能力、丢包的情况等等。
本文翻译自 Some reasons for Go to not make system calls through the standard C library。
介绍 Go 语言中这个非常常见的 Context
接口,我们将从这里开始了解 Go 语言并发编程的设计理念以及实现原理。
去年早些时候,我们决定改用 Go(Golang) 作为我们(SafetyCulture)开发微服务的选择。在这之前,我们的微服务使用 Node.js(CoffeeScript, Javascript 和 TypeScript 的混合 ) 编写。下来我将分享我们更改的原因。
Carlo Alberto Ferraris 提交了一个对math/rand
库中的lockedSource
优化的 pr(CL#191538),核心代码其实只有一行,却带来了相对的巨大的性能提升,让我们一起老看看这次的修改,学习一下代码的优化技巧,提高我们 Go 语言的底层优化经验。
标题起的是有点大,不过还好本片文章主要也是使用 Go 来优化 HTTP 服务的,也算打个擦边球吧。
golang 中的依赖注入怎么实现,inject 包如何理解?
论如何正确实施微服务架构的10个技巧?
本文正是针对上述情况而提供一种简单的解决方案, 编写一个协程池(任务池)来实现对 goroutine 的管控。
golang常用的遍历方式,有两种: for 和 for-range。而for-range使用中有些坑常会遇到,今天我们一起来捋一捋。
这是 GVP 首位公布的超级大咖,这是一个所有中国 Gopher 无人不知的名字。无论是创建国内首批全面拥抱 Go 语言的七牛云,还是《 Go 语言编程》一书的编写,抑或是他独力发起并维护至今的 ECUG 社区,他的一切努力都在推动着 Go 语言的前进。
开源项目
1、go-geom
应用于地理空间应用的几何类型的实现。
2、hexya
Go 实现的开源 ERP 和业务应用开发框架。
3、shelby
用纯 Go 编写的轻巧、高性能的 shell 提示工具。
4、jql
Go 中具有 Lispy 语法的 Easy JSON 查询处理器。
5、mgm
Mongo Go 模型(mgm)是用于 Go 的快速,简单的 MongoDB ODM。
6、tasks
易于使用的进程内调度程序,用于 Go 中的重复任务。
7、koanf: 号称是 spf13/viper 的更干净,更轻便的替代品,具有更好的抽象性和可扩展性以及更少的依赖性
轻量级的可扩展库,用于在 Go 应用程序中读取配置(文件,S3 等)。内置对 JSON,TOML,YAML,env,命令行的支持。
8、waitabit
一个用于处理系统中断的微型库。
9、heksa
CLI 十六进制 dumper,带有颜色。
10、 rel
clean architecture 的 sql 层。
11、secrets
Go 实现的密码管理器。
资源&&工具
对于创业公司来说,人少资源少、产品又要求快速上线。选择合适的技术栈非常重要,本文就谈谈我们早期选择后端语言时的考量。
从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章。
3、Golang IO Cookbook(英文)
作者把学习的过程记录下来。
养成一个学习习惯和编程习惯真的太重要了,一个好习惯的养成真的对后面的学习有很大帮助。说实话我自己当初在这方面吃了不少亏,很多比较好的习惯我也是后面自己才慢慢发现,所以这里想着重给大家说一下有哪些好的学习和编程习惯。
订阅
这个周刊每周日发布,同步更新在Go语言中文网、微信公众号 和 今日头条。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。