本期含 Go 量
1 |
语言学习 x11 |
2 |
工程实践 x8 |
3 |
生态拓展 x3 |
4 |
开源项目 x5 |
阅读说明
本周刊每周五发布,同步国内外 Go 开发者在一周内的最新鲜成果和最前沿方向,作为订阅者提升和进阶的学习手册。由于微信不支持外链,本文显示资讯摘要,具体每篇文章链接可通过点击文末「阅读原文」全部查看。
语言学习
Golang编程技巧
1.[译] Go反射的三个原则
反射从接口值变为反射对象
反射从反射对象变为接口值
要修改反射对象,该值必须是可设置的
2.你应该掌握的 Go 高级并发模式:计时器
如果你认为结合 Goroutines 去处理时间和计数器很简单的话,那你就错了,这里有提到的一些与 time.Timer 相关的问题或 bug:
time: Timer.Reset is not possible to use correctly #14038
time: Timer.C can still trigger even after Timer.Reset is called #11513
time: document proper usage of Timer.Stop #14383
3.Go 内存分配器可视化指南
如果你想学习所有关于 Go 内存分配器的知识,那么这篇文章正适合你。
4.图解 Go 互斥锁 mutex 核心实现源码
读写锁区别与互斥锁的主要区别就是读锁之间是共享的,多个goroutine可以同时加读锁,但是写锁与写锁、写锁与读锁之间则是互斥的。
5.Go modules:最小版本选择
从本质上讲,Go团队相信MVS为Go程序实现痴线持久的和可重复的构建提供了最佳的方案。通过阅读本文可以了解Go团队为什么相信这一点。
6.Go 触发Panic与崩溃的情况
对于标准的Go编译器,本文介绍了以下情况将导致运行时的 Panic(其中一些可能与编译器有关)以及如何恢复。
7.别告诉我这是真的?goroutine 可能使程序变慢
通常,让 Goroutines 更新全局变量不是一个好主意。记住 Go 谚语:不要通过共享内存进行通信,通过通信共享内存。
8.在Go中高效处理JSON
9.Go语言程序设计读书笔记(二)函数
10.go 类型检查之typecheck
类型检查指验证操作接收的是否为合适的类型数据以及赋值是否合乎类型要求。最自然的方式是认为检查发生在运行时,即当涉及到具体的数据值时,即动态类型检查(即运行时检查)。
11.Go Web 编程之请求
本文将学习如何从请求中获取信息。
工程实践
Go的项目应用实践
1.将现有的Rest API迁移到Graphql
2.Java JIT vs Java AOT vs Go适用于短期的小型进程
普遍认为Java速度较慢(特别是在启动过程中)且占用内存,因此它不是临时服务实例(例如容器)的首选。本文比较了JVM对Java QuickSort实现的执行时间和内存消耗的影响,并将其与现代GraalVM Ahead-Of-Time(AOT)编译器以及Go中相同的 QuickSort实现生成的本机映像的执行进行了比较 。
3.使用 Go 开发百万 WebSockets
本文是关于如何使用Go开发高负载WebSocket服务器的。
4.基于 Go 的协同系统深度实践
协同概念及应用
Go 服务端设计
主要技术点及解决方案
5.在Go中实现简洁架构
6.可汗学院尝试用Go构建后端服务
从 Python 迁移到 Go
7.Go实战布谷过滤器
8.Golang实现并发聊天室
整个项目涉及到的知识有:分支、循环、函数、map、结构体、并发编程、网络编程、select超时处理等等。项目虽然不大,但是涵盖了不少的基础知识,所以非常适合刚看完一本入门书、学完基础的人拿过来练手。
生态拓展
云原生等 Go 生态体系
1.如何调试 K8s 中的 DNS 问题
本指南提供了有关如何系统解决Kubernetes集群中的DNS问题的分步教程。文中将使用 Hubble 来识别和检查DNS问题以及设置监视,以便尽早定位DNS问题,甚至在事件发生之前也可以做出反应。
2.Go Serverless Functions
3.Thanos简介和实践
将介绍CNCF大杀器, Thanos + Prometheus TP组合(PS:并不是银弹)在Openstack与ceph集群中的概念和使用。
开源项目
社区新涌现的开源成果
LBADD:一个实验性的分布式SQL数据库
Eris:处理跟踪和记录Go中的错误
Coca: 系统重构和系统分析工具箱
buf:一种新的Protobuf处理库
harmony:基于WebRTC的开源语音文字聊天室
彩 蛋
活动与招聘
01.04 Gopher Meetup Plus深圳站
活动 报名
Asta——Go在工业领域的应用实践
腾讯——Go性能优化之路
广发证券——Go与极限性能实践
OPPO——云平台存储系统架构设计与容器化实践
平安科技——从面试题目到Golang汇编
腾讯——如何向Go官方提交代码
华为云——云原生边缘计算平台的Golang实践
【北京】【商汤科技招聘】Golang开发实习生 详情
【杭州】【蚂蚁金服】蚂蚁金服研发效能团队招人啦!详情
【深圳】【腾讯广告】招聘后台开发工程师 详情
【上海】【趣头条旗下米读小说】资深后端研发/架构师 详情
【武汉】【奇虎360】招聘资深golang工程师 详情
欢迎联系 GoCN
国内最具规模和生命力的 Go 开发者社区
演讲 成为 Gopher Meetup/Gopher China 讲师 |
投稿 展示个人/团队原创内容 |
聪明又努力的 Gophers,让我知道你“在看”