『曹大带我学 Go 』系列文章汇总
你好,我是小 X。
之前写了 11 篇跟着曹大学 Go 的文章,今天来汇总一下。
曹大的功力深厚,但能学到多少全看自己。第一期 Go 训练营也早就结束了,但学习还得继续。后面我也会继续发布这个系列,希望大家多多支持。
下面我来一一回顾已经发布的文章,并给出汇总,没看过的可以看起来。
第 1 篇,调度的本质,上课的时候有种醍醐灌顶的感觉,Go 调度没什么神奇的,本质就是一个生产者-消费者模型。各种策略就是如何让消费者消费得更快,宏观表现就是 Go 的执行效率更高。
第 2 篇,迷惑的 goroutine 执行顺序,通过两个有意思的代码片段引出“三级队列”,开始有点懵,想个几秒钟后才恍然大悟。很有可能某个无聊的面试官会面你这种题,知道考点也就不怕了。
第 3 篇,如何用汇编打同事的脸,通过 go tool
工具生成汇编、dlv 打断点调试让一些“谣言”不攻自破。我们除了可以更清楚地看到执行 Go 代码时底层做了一些什么,还能顺带打一下同事的脸。
第 4 篇,初识 ast 的威力,抽象语法树非常有用。Go 提供了一些很好的工具让我们直接上手用,如果学会了,在工作中的某些场景下有不小的帮助。
第 5 篇,哪里来的 goexit,深入源码分析了 goroutine 的退出过程,同时也再次展示了 dlv 工具的使用。
第 6 篇,技术之外,跟着曹大不光能学习技术,还能学到一些场外技能。比如搜索技巧、做动画的能力。文章最后也展示了解答第 2 篇文章的一个动画,非常生动,看完秒懂。
第 7 篇,如何优雅地指定配置项,在一些第三方库提供的接口里见的比较多,它还有个专门的名字:函数选项式。
第 8 篇,一个打点引发的事故,通过一个真实的线上事故带出如何用 pprof 来发现问题,看完后在脑子里就多一个案例,说不定下次就能用上。这个例子在曹大的博客里也有,事故发生时我的第一反应就是 metrics 打点引起的,就因为我之前看过了。
第 9 篇,开始积累自己的工具库,推荐了几个常用的工具库及命令,本来还想出第二期,但读者反响不太行,搁置了。如果还有想看的朋友,给点反馈。
第 10 篇,如何给 Go 提性能优化的 pr,曹大在上家公司期间,对 tls 做了一些优化,这篇文章还原了优化的效果,也讲了优化的原理。
第 11 篇,从 map 的 extra 字段谈起,当 map 的 key/value 是非指针类型时,GC 不会对所有的 bucket 进行扫描。当线上服务使用了一个超大的 map ,如果能优化成非指针类型,会提升性能。
最后,将目前已经发布的文章汇总列出来,祝大家阅读愉快。
第 1 篇,调度的本质
第 2 篇,迷惑的 goroutine 执行顺序
第 3 篇,如何用汇编打同事的脸
第 4 篇,初识 ast 的威力
第 5 篇,哪里来的 goexit
第 6 篇,技术之外
第 7 篇,如何优雅地指定配置项
第 8 篇,一个打点引发的事故
第 9 篇,开始积累自己的工具库
第 10 篇,如何给 Go 提性能优化的 pr
第 11 篇,从 map 的 extra 字段谈起
好了,这就是今天全部的内容了~ 我是小X,我们下期再见~
感谢关注!一线互联网工程师和你一起“精进”职业技能!码农生涯,我们结伴同行~~
希望技术变得有温度!加油~~
目前专注在 Go 语言、后端、性能优化,GTD、效率工具控。开源电子书《Go Questions》已经有 3k star 了。期待交流,一起进步!
喜欢就点个在看再走吧
『曹大带我学 Go 』系列文章汇总相关推荐
- 越学越有趣:『手把手带你学NLP』系列项目02 ——语义相似度计算的那些事儿...
点击左上方蓝字关注我们 课程简介 "手把手带你学NLP"是基于飞桨PaddleNLP的系列实战项目.本系列由百度多位资深工程师精心打造,提供了从词向量.预训练语言模型,到信息抽取. ...
- 曹大带我学 Go(8)—— 一个打点引发的事故
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 最近线上事故频发,搞得焦头烂额,但是能用上跟曹 ...
- 曹大带我学 Go(6)—— 技术之外
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 有学员私下和我说,这个课程挺打击他的自信心.我 ...
- 曹大带我学 Go(2)—— 迷惑的 goroutine 执行顺序
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 上一篇文章我们讲了 Go 调度的本质是一个生产 ...
- 曹大带我学 Go(12)—— 面向火焰图编程
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 现实中听过各种面向 XX 编程,什么面向过程编 ...
- 曹大带我学 Go(11)—— 从 map 的 extra 字段谈起
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 熟悉 map 结构体的读者应该知道,hmap ...
- 曹大带我学 Go(10)—— 如何给 Go 提性能优化的 pr
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 之前 qcrao 写了一篇<成为 Go ...
- 曹大带我学 Go(9)—— 开始积累自己的工具库
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 不知道你有没有这样的经验:看了很多计算机相关的 ...
- 曹大带我学 Go(7)—— 如何优雅地指定配置项
你好,我是小X. 曹大最近开 Go 课程了,小X 正在和曹大学 Go. 这个系列会讲一些从课程中学到的让人醍醐灌顶的东西,拨云见日,带你重新认识 Go. 最近一个年久失修的库导致了线上事故,不得不去做 ...
最新文章
- 界面怎么使用pip_从零开始学Python——10Pyinstaller的使用
- Git忽略已经被提交的文件
- php api接口调试,PHP API接口测试小工具
- php网页轮播图,JavaScript_JavaScript实现图片轮播的方法,本文实例讲述了JavaScript实现图 - phpStudy...
- Drools 规则语言详解(上)
- Kafka消息模拟器
- 多线程与高并发(四):LockSupport,高频面试题,AQS源码,以及源码阅读方法论
- python3讨论交流地_讨论 - 廖雪峰的官方网站
- 五、扩展Orchard(五) Writing a Content Part
- Sentinel 简介与API订阅发布
- 23. WebVR播放器: 消费升级带来的机遇
- php刷数据库数据库,php数据库操作种
- .NET程序员面试指南:设计窗口程序演示八皇后问题
- Linux学习笔记(7)
- MVVM后,下一代开发模式在哪?
- 360加固签名验证_360加固助手签名工具怎么用
- 散热风扇是吹风还是吸风,配电柜电气柜机柜散热风扇的原理。
- 单片机音乐盒c语言程序代码,基于单片机的八音盒电路原理图和完整程序源代码.doc...
- android用户和AID
- 世界读书日送你畅销好书!前所未有4折购书福利
热门文章
- 数据库管理系统实验答案
- 基于timestamp和nonce的防止重放攻击方案
- python随机生成生日测试生日悖论
- superslide遇到jQuery(…).slide is not a function解决办法
- 巴比特 | 元宇宙每日必读:连续七个季度出现亏损,Meta元宇宙部门Q2亏损28 亿美元,扎克伯格称这种情况可能会持续数年...
- DS1302数码管显示时--分--秒(按键可修改时间)
- 图模型在反欺诈中的应用
- html5播放器的示例代码
- storm和vgj vgj_Team VGJ发布公告解散 两年征程划上句号
- 分析google adsence