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

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

这里记录每周值得分享的 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/issue039/guyu.png) 题图:今日谷雨,春的尾巴,夏天就要到来了。(图来自网络) ## 刊首语 优惠购书活动:[目前 Go 语言中文书籍都在这,满400减230!总有你需要的](https://mp.weixin.qq.com/s/vYdO1PIKmWmA4NFF3hvnnQ),有效期截止 4 月 23 日。不限于文中列出的图书,其他图书也可以。 Playground 先上线了一个新功能:预置了一些常用代码模板。为了方便使用,我搭建了一个完整镜像,同步了官方最新的功能,欢迎试用,地址:<https://play.studygolang.com>。 ## 资讯 1、[go-micro 2.5.0 发布](https://github.com/micro/go-micro/releases/tag/v2.5.0) 最近更新有点频繁啊! 2、[Ebiten 1.11.0 发布](https://ebiten.org/blog/v1.11.0.html) Go 2D 游戏开发库。Ebiten 是项目中的真正瑰宝之一。 3、[TiDB 3.1.0 发布](https://www.oschina.net/news/114972/tidb-3-1-0-released) 这是一个分布式 NewSQL 数据库。 ## 文章 1、[Go Vet 命令:超出预期的强大](https://mp.weixin.qq.com/s/EPfsrWxPWIO8OpbNncugbw) Go vet 命令在编写代码时非常有用。它可以帮助您检测应用程序中任何可疑、异常或无用的代码。该命令实际上由几个子分析器组成,甚至可以与您的自定义分析器一起工作。让我们首先回顾一下内置的分析器。 2、[Go 的泛型真的要来了—如何使用以及它们是怎么工作的](https://mp.weixin.qq.com/s/_2O7QF8fvTKFL5Zvo8lb5w) 你没看错,这里讲的就是 Go 中的泛型。只不过还没有正式发布,是基于草案设计的,已经是实现了可运行的版本。所以,泛型到来真的不远了! 3、[Go 监控模式(Monitor Pattern)](https://mp.weixin.qq.com/s/IBzOPxNI6Z7MlnQXA9EXmA) Go 能实现监控模式,归功于 sync 包和 sync.Cond 结构体。监控模式允许 goroutine 在进入睡眠模式前等待一个定特定条件,而不会阻塞执行或消耗资源。 4、[Go 的 Channel 很强大,理解其内在概念会让它更强大](https://mp.weixin.qq.com/s/QYY4Z6umM5wn7U5Idwb8PA) Go 中的通道(channel)机制十分强大,但是理解内在的概念甚至可以使它更强大。实际上,选择缓冲通道或无缓冲通道将改变应用程序的行为和性能。 5、[Golang 爬虫快速入门 | 获取B站全站的视频数据](https://imagician.net/archives/92/) 提到爬虫,总会联想到Python。似乎Python是爬虫的唯一选择。爬虫只是完成一个访问页面然后收集数据的任务,用任何语言来写都能实现。相比较Python快速实现但是庞大的体型,Golang来写爬虫似乎是更好的又一选择。 6、[Go 语言踩坑记——panic 与 recover](https://juejin.im/post/5e97263c6fb9a03c97754ab7) Go 语言自发布以来,一直以高性能、高并发著称。因为标准库提供了 http 包,即使刚学不久的程序员,也能轻松写出 http 服务程序。不过,任何事情都有两面性。一门语言,有它值得骄傲的有点,也必定隐藏了不少坑。新手若不知道这些坑,很容易就会掉进坑里。《 Go 语言踩坑记》系列博文将以 Go 语言中的 panic 与 recover 开头,给大家介绍笔者踩过的各种坑,以及填坑方法。 7、[轻量级 Kubernetes k3s 初探](https://www.infoq.cn/article/0c7viUfLrxOZeh7qlRBT) k3s 是 rancher® 开源的一个 Kubernetes 发行版,从名字上就可以看出 k3s 相对 k8s 做了很多裁剪和优化,二进制程序不足 50MB,占用资源更少,只需要 512MB 内存即可运行。 8、[3 个减小 Docker 镜像的简单技巧](https://mp.weixin.qq.com/s/UCm27by8Ro7NzFflsPISCQ) 当涉及到建造Docker containers问题的时候,你应该尽力获得较小的镜像。文件层既共享又小的镜像能够更快的进行传输和部署。 9、[2020 Golang 字节面试经验分享](https://studygolang.com/articles/28066) 2020 年 4 月份字节跳动后端面试经验。 10、[微服务项目讲解](https://studygolang.com/articles/28074) 详细介绍微服务。 ## 开源项目 1、[broccoli](https://github.com/aletheia-icu/broccoli) 使用谷歌 Brotli 压缩的,在 Go 中嵌入静态文件。这个需求,Go 官方官方什么时候能支持呢? ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue039/broccoli.png) 2、[3mux:受 i3 启发的终端多路复用器](https://github.com/aaronjanse/3mux) 想象一下像 tmux 这样的东西,但是更易于学习并且具有合理的默认值。另外,它是用 Go 语言编写的,因此你可以根据需要进行任意调整。 ![](https://raw.githubusercontent.com/polaris1119/golangweekly/master/docs/imgs/issue039/3mux.gif) 3、[GeoDB: 支持持久化的地理空间数据库](https://github.com/autom8ter/geodb) 使用 Badger gRPC 和 Google Maps API 构建。跨边界或相对于其他对象跟踪对象的地理位置。 4、[gocorona](https://github.com/ayoisaiah/gocorona) 冠状病毒终端统计信息显示板。 5、[gosql](https://github.com/eatonphil/gosql) 一个 PostgreSQL 的早期实现版本。 6、[what](https://appliedgo.net/what/) 仅给 Go 开发人员使用调试级别 log 包。 7、[dbq](https://github.com/rocketlaunchr/dbq) 号称是 database/sql 包的替代品。 8、[edwood](https://github.com/rjkroege/edwood) Go 版本 Plan9 Acme 编辑器。 9、[golisp](https://github.com/mattn/golisp) Go Lisp 解析器。 10、[testcase](https://github.com/adamluzsi/testcase) 一款 Go TDD 测试框架。 11、[earthly](https://github.com/vladaionescu/earthly) 容器化时代的自动化构建工具。 ## 资源&&工具 1、[播客:和 Erik St. Martin 聊聊 Go](https://6figuredev.com/podcast/episode-139-talking-go-with-erik-st-martin/) Erik St. Martin 是 GopherCon组织者、Go In Action 联合作者。 2、[播客: gotime 125](https://changelog.com/gotime/125) 谈 Go 社区组织经验。 3、[数据结构和算法:Go语言实现](https://goa.lenggirl.com/) 数据结构和算法在计算机科学里,有非常重要的地位。此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。 4、[Go Web 开发开源书](https://thewhitetulip.gitbooks.io/webapp-with-golang-anti-textbook/content/)(英文) 又一本开源的 Go Web 图书。 5、[电子书: The BlockChain way of programming](https://web3coach-public.s3.eu-central-1.amazonaws.com/the-blockchain-way-of-programming-newsletter-version.pdf) 目前只公开了前 6 章。 ## 订阅 这个周刊每周日发布,同步更新在[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

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