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

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

这里记录每周值得分享的 Go 语言相关内容,周日发布。 本周刊开源(GitHub:[polaris1119/golangweekly](https://github.com/polaris1119/golangweekly)),欢迎投稿,推荐或自荐文章/软件/资源等,请[提交 issue](https://github.com/polaris1119/golangweekly/issues) 。 鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。 ![cover.png](https://static.studygolang.com/200425/13a95f313c3b5e82b4594601c8dc2326.png) 题图:Go Remote Fest 远程线上 Go 会议。 ## 刊首语 全球疫情严重,大家大多居家,减少聚集,各种线下技术会议都取消了。然而疫情并没有阻止大家对 Go 交流的热情。这不,有一个网站叫做:[GoRemoteFest](https://goremotefest.com/),坚定地进行远程 Go 会议交流。会议时间定在 2020 年 4 月 26 日(GMT +2 时间),会议从早 10 点到下午 14 点(北京时间 2020 年 4 月 26 日 16 点到 20点)。(也就是今天哦) 该活动的主要目的是使人们了解 Go 编程语言,一起环游世界,并从 Go 世界的主要演讲者那里收集最佳实践,技巧和窍门。这是第一次举办,也是第一次为了能够给你带来更好的体验,你将可以在家中通过 Youtube 享受它。 会议一个 8 个演讲者,DAVE CHENEY 很活跃,他是演讲者之一,而且第一个将,关于 Map 的细节。其他还有介绍 1.15 的新特性等。主题列表如下: - Maps in detail - Building the COVID19 API - The Quest for the Fastest Deployment Time - Tales From Event Sourcing Pastures - What's coming in Go 1.15 - Let's build event-driven application in 15 minutes - When to choose a mo*@!#th? - Defer ## 资讯 1、[官方博文:2019 年 Go 开发者调查结果](https://mp.weixin.qq.com/s/grngFL2PkiwUmp2oCvykBw) Go 官方团队发布的 2019 年 Go 开发者调查分析报告。 2、[Go 1.15 Release Note 草稿建立](https://tip.golang.org/doc/go1.15) Go 1.15 尚未发布,这些是进行中的发行说明。Go 1.15 预计将于 2020 年 8 月发布。 3、[sdns v0.3.1 发布](https://github.com/semihalev/sdns) 注重隐私,具有 dnssec 支持的快速递归 dns 服务器。 ## 文章 1、[Go 框架解析 -iris](https://mp.weixin.qq.com/s/-xhhuPkutY1-G4_NugNotQ) 这个框架据说被 awesome 除名。 2、[深度解密 Go 语言之 sync.Pool](https://mp.weixin.qq.com/s/O8EY0M4_Rt_0BLCcM8OwFw) 码农桃花出品的深度系列。 3、[记一次奇妙的 go-protobuf 包升级之旅](https://mp.weixin.qq.com/s/Q2e0kalsqm4RizjcyL1A1w) 升级完了,却依赖了两种 protobuf 包。 4、[Go 中的高级测试模式:集成测试如何做?](https://mp.weixin.qq.com/s/o71M9SU_fh8suuRdOaZ0Bw) 当你在使用 Go 编写服务实现时,希望你的测试覆盖率随着时间的推移而增长。随着测试范围的扩大,测试运行时间也会变长。你希望用服务集成及集成测试来测试服务的重要部分。你发现在某些情况下,集成测试和各种公共服务的耦合对 CI 和开发产生限制。 5、[Etcd集群的介绍和选主应用](https://mp.weixin.qq.com/s/IQEoXyewwXDc-BFl-ZpP5Q) ETCD 作为开源、分布式、高可用、强一致性的 key-value 存储系统,提供了配置共享和服务发现等众多功能。目前已广泛应用在 Kubernetes、ROOK、CoreDNS、M3 以及 openstack 等领域。本文作者基于公司内部的场景需求,对 etcd 进行了介绍,并对选主机制进行了实践。 6、[bilibili 技术总监毛剑:B 站高可用架构实践](https://mp.weixin.qq.com/s/3NUd4jObuTKqlhUr-eKvhA) 流量洪峰下要做好高服务质量的架构是一件具备挑战的事情,本文是 B 站技术总监毛剑老师在「云加社区沙龙online」的分享整理,详细阐述了从 Google SRE 的系统方法论以及实际业务的应对过程中出发,一些体系化的可用性设计。对我们了解系统的全貌、上下游的联防有更进一步的帮助。 7、[Go 每日一库:使用 sqlx 批量插入数据](https://mp.weixin.qq.com/s/izZTySv4_1Uz6n3Yo2FHYA) 本文借助使用 sqlx 实现批量插入数据的例子,介绍了 sqlx 中可能被你忽视了的 sqlx.In和 DB.NamedExec 方法。 8、[Go 使用 gdb 调试](https://jiajunhuang.com/articles/2020_04_23-go_gdb.md.html) 我一般调试都是直接打 log 的,不过 gdb 调试还是很有用处,尤其是当碰到一些底层错误的需要单步跟踪的时候,比如,想研究一下 Go 的 runtime 是如何实现的的时候。 9、[Go 协作与抢占](https://mp.weixin.qq.com/s/nib0OD-LvNG57JAs4vB9RA) 欧神的新作。 10、[Go 每日一库之专为开发人员打造的调试日志库:what](https://mp.weixin.qq.com/s/sR1REZtGY3V9B5xN8GaUkw) what 包含一组简单易用的日志记录函数,适用于跟踪代码中的各种类型的活动。what 可以打印当前函数名称,快速 Printf:格式化日期,并转储(dump)数据结构。 11、[go mod 的智障版本选择](https://xargin.com/go-mod-is-rubbish/) 之前 go mod 用的比较少,而且一直听社区有各种抱怨,所以也兴趣寥寥。新公司的项目直接使用了 go mod,本来觉得无非是个简单的工具,不需要学习,结果在一个简单的依赖上却浪费了很多时间。 12、[迷你指南——结合 MySQL 构建一个基于 Go 的 REST API 微服务](https://mp.weixin.qq.com/s/IgggbnEKh5z9fGsWbRFZSg) 在本篇迷你指导中,我会结合 MySQL 数据库创建一个简单的 REST-API。完整项目的代码会在文章的最后给出。 13、[Go 框架解析-Gin](https://mp.weixin.qq.com/s/9lVWy2LuQi8rYr9NrcJnsw) 目前最火的 Go Web 框架解析。 14、[学会用 Go 解析复杂 JSON 的思路](https://mp.weixin.qq.com/s/j_q0Hkz1WjRgB8XeBOw_tQ) JSON 的解析是一个绕不开的话题。 15、[go protobuf v1 败给了gogo protobuf,那 v2 呢?](https://tonybai.com/2020/04/24/gogoprotobuf-vs-goprotobuf-v1-and-v2/) 从性能角度考虑,如果要使用 go protobuf api,首选 gogo protobuf。如果从功能角度考虑,显然 go protobuf v2 在成熟稳定了以后,会成为 Go 语言功能上最为强大的 protobuf API。 ## 开源项目 1、[fynedesk](https://github.com/fyne-io/fynedesk) 使用 Fyne 的 Linux/Unix 完整桌面环境。之前分享过 Go 的跨平台 GUI 库 [Fyne](https://github.com/fyne-io/fyne),这是基于它构建的整个 Linux/Unix 完整的桌面环境。 2、[lockgate](https://github.com/flant/lockgate) Lockgate 是一个跨平台的锁定库,可使用 Kubernetes 和 OS 文件锁定来支持分布式锁定。 3、[pomerium](https://github.com/pomerium/pomerium) 以 Google BeyondCorp 为蓝本的身份识别访问代理,可以安全地访问内部应用程序。 4、[log](https://github.com/apex/log) 结构化的 Go 语言日志库。受 Logrus 启发。(好吧,自己的轮子又大又圆。哈哈哈~) 5、[mediary](https://github.com/HereMobilityDevelopers/mediary) 为 http.Client 增加拦截器功能。可以增加类似:跟踪,请求转储,统计信息收集等功能。 6、[iso9660](https://github.com/kdomanski/iso9660) 用于读取和创建 ISO9660 镜像的 Go 库。 7、[pxy](https://github.com/chuabingquan/pxy) 从 Websocket 到外部 RTMP 端点的代理直播流。 8、[qrcp](https://github.com/claudiodangelis/qrcp): 通过扫描二维码即可通过 wifi 将文件从计算机传输到移动设备。 9、[cloud](https://github.com/go-ocf/cloud) IOT 云平台开源项目。 10、[prot](https://github.com/umirode/prot) protobuf 文件管理器。 11、[sabre](https://github.com/spy16/sabre) 可定制、可嵌入的 LISP 引擎。 ## 资源&&工具 1、[Go 语言快递视频教程](https://ke.qq.com/course/2202273) 主要讲解语言的新特性。免费的。 2、[技术面试问题集(Go版本)](https://github.com/shomali11/go-interview) 包含算法等的 Go 语言实现。 3、[awesome-go-perf](https://github.com/cristaloleg/awesome-go-perf) 高性能 Go 语言库和工具快查表。 4、[GoTime 第 126 期](https://changelog.com/gotime/126) 大单体与微服务的辩论。 5、[Go gRPC 系列教程](https://www.cnblogs.com/FireworksEasyCool/p/12669371.html) gRPC 是一个高性能、开源和通用的 RPC 框架,面向移动和 HTTP/2 设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。 6、[gin-vue-admin](https://mp.weixin.qq.com/s/8Q3sdCn5l7jof2yXKsSnQA) 基于 Go 语言 Gin 框架和 Vue 搭建的开源后台管理系统。 ## 订阅 这个周刊每周日发布,同步更新在[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://static.studygolang.com/img/wechat.png)

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

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

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