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

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

这里记录每周值得分享的 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/issue024/cover.jpeg) 题图来自:unsplash ## 刊首语 这是 2020 年的第一期,本周刊跨年了,和你陪伴了 2019 年,接下来会和你一起度过 2020 年。国外人都在休假,国内似乎动作也少,本期内容不多,但希望有对你有启发或帮助的内容。 ## 资讯 1、[Go 语言中文网 2019 年终总结暨 2020 年展望](https://mp.weixin.qq.com/s/QzbQH0X04B8pa4e34XSISA) 2020年计划:2020 年一定要开始进行 2019 年发誓要做的原定于推迟到 2018 年完成的 2017 年度计划! 2、[Go 101 v1.13.m (v.1.14-pre) 电子书发布](https://github.com/golang101/golang101/releases) 本书定期(一个月左右)发布新版本,所以请时常访问此页面以获取本书最新版。 ## 文章 1、[谁拔了我的网线?Go 网络异常对程序行为的影响](https://mp.weixin.qq.com/s/xXTsroriaub61Sjx8LuHKA) 本文尝试探讨几种网络异常的情况,研究在这些情况下客户端和服务端的的行为,包括连接断掉的检测能力、half-close 情况下两端的读写能力、丢包的情况等等。 2、[Go 不通过标准 C 库进行系统调用的一些原因](https://mp.weixin.qq.com/s/Ry1-ke62GXWNoN-4dUjKeQ) 本文翻译自 **Some reasons for Go to not make system calls through the standard C library**。 3、[大神是如何学习 Go 之并发编程与 Context](https://mp.weixin.qq.com/s/fRb4G74LW-es87jxWkiByw) 介绍 Go 语言中这个非常常见的 `Context` 接口,我们将从这里开始了解 Go 语言并发编程的设计理念以及实现原理。 4、[为什么 Go 适合微服务](https://mp.weixin.qq.com/s/ypR0CM32I2Z1unVwrFZ2hQ) 去年早些时候,我们决定改用 Go(Golang) 作为我们(**SafetyCulture**)开发微服务的选择。在这之前,我们的微服务使用 Node.js(CoffeeScript, Javascript 和 TypeScript 的混合 ) 编写。下来我将分享我们更改的原因。 5、[小改动,大提升:最近 Go 标准库的一次优化](https://mp.weixin.qq.com/s/ipVRZOEJwaUXt2HE8kx2Lg) Carlo Alberto Ferraris 提交了一个对`math/rand`库中的`lockedSource`优化的 pr(**CL#191538**),核心代码其实只有一行,却带来了相对的巨大的性能提升,让我们一起老看看这次的修改,学习一下代码的优化技巧,提高我们 Go 语言的底层优化经验。 6、[使用 Go 优化我们的接口](https://juejin.im/post/5e09e2d16fb9a016536ed0e5) 标题起的是有点大,不过还好本片文章主要也是使用 Go 来优化 HTTP 服务的,也算打个擦边球吧。 7、[golang实现依赖注入](https://mp.weixin.qq.com/s/CYT4v-s_ouAGSrUI_j4Ecw) golang 中的依赖注入怎么实现,inject 包如何理解? 8、[微服务架构的 10个 最佳实践 !](https://mp.weixin.qq.com/s/-N_PC6t1iMAu3OgEKGOg1g) 论如何正确实施微服务架构的10个技巧? 9、[100 行写一个 go 的协程池 (任务池)](https://segmentfault.com/a/1190000021468353) 本文正是针对上述情况而提供一种简单的解决方案, 编写一个协程池(任务池)来实现对 goroutine 的管控。 10、[Go之for-range排坑指南](http://blog.newbmiao.com/2020/01/03/dig101-golang-for-range.html) golang常用的遍历方式,有两种: for 和 for-range。而for-range使用中有些坑常会遇到,今天我们一起来捋一捋。 11、[许式伟:Go 语言有机会登顶,桌面侧亟待突破](https://mp.weixin.qq.com/s/PFvl0CNEyN7uTebxPj5O9g) 这是 GVP 首位公布的超级大咖,这是一个所有中国 Gopher 无人不知的名字。无论是创建国内首批全面拥抱 Go 语言的七牛云,还是《 Go 语言编程》一书的编写,抑或是他独力发起并维护至今的 ECUG 社区,他的一切努力都在推动着 Go 语言的前进。 ## 开源项目 1、[go-geom](https://github.com/twpayne/go-geom) 应用于地理空间应用的几何类型的实现。 2、[hexya](https://github.com/hexya-erp/hexya) Go 实现的开源 ERP 和业务应用开发框架。 3、[shelby](https://github.com/athul/shelby) 用纯 Go 编写的轻巧、高性能的 shell 提示工具。 4、[jql](https://github.com/cube2222/jql) Go 中具有 Lispy 语法的 Easy JSON 查询处理器。 5、[mgm](https://github.com/kamva/mgm) Mongo Go 模型(mgm)是用于 Go 的快速,简单的 MongoDB ODM。 6、[tasks](https://github.com/madflojo/tasks) 易于使用的进程内调度程序,用于 Go 中的重复任务。 7、[koanf: 号称是 spf13/viper 的更干净,更轻便的替代品,具有更好的抽象性和可扩展性以及更少的依赖性](https://github.com/knadh/koanf) 轻量级的可扩展库,用于在 Go 应用程序中读取配置(文件,S3 等)。内置对 JSON,TOML,YAML,env,命令行的支持。 8、[waitabit](https://github.com/heartwilltell/waitabit) 一个用于处理系统中断的微型库。 9、[heksa](https://github.com/raspi/heksa) CLI 十六进制 dumper,带有颜色。 10、 [rel](https://github.com/Fs02/rel) clean architecture 的 sql 层。 11、[secrets](https://github.com/jarmo/secrets) Go 实现的密码管理器。 ## 资源&&工具 1、[创业公司更适合用 Go 语言,那大公司呢?](https://mp.weixin.qq.com/s/Pd4No6XVd2UNMoTfG9gUyg) 对于创业公司来说,人少资源少、产品又要求快速上线。选择合适的技术栈非常重要,本文就谈谈我们早期选择后端语言时的考量。 2、[阿里技术专家 Go 关键技术系列](https://mp.weixin.qq.com/s/tEW9nm89eaD7vJnXqxhuqQ) 从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。我们将以系列文章的形式推出《Go 开发的关键技术指南》,共有 4 篇文章。 3、[Golang IO Cookbook](https://github.com/jesseduffield/notes/wiki/Golang-IO-Cookbook)(英文) ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue024/go-io.png) 作者把学习的过程记录下来。 4、[程序员应该有的一些好习惯](https://github.com/Snailclimb/programmer-advancement) 养成一个学习习惯和编程习惯真的太重要了,一个好习惯的养成真的对后面的学习有很大帮助。说实话我自己当初在这方面吃了不少亏,很多比较好的习惯我也是后面自己才慢慢发现,所以这里想着重给大家说一下有哪些好的学习和编程习惯。 ## 订阅 这个周刊每周日发布,同步更新在[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) 和 [今日头条](https://www.toutiao.com/c/user/59903081459/#mid=1586087918877709)。 微信搜索"Go语言中文网"或者扫描二维码,即可订阅。 ![wechat](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/wechat.png)

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

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

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