刚刚撸完代码,意犹未尽,跟大家唠嗑几句。
1、提问题也是一种艺术
有很多读者加我微信,有时候有些读者向我提一些问题,我一眼看上去什么信息都获取不了,有时候你提问题你必须要站在对方的立场上考虑一下,你需要对方我的问题点在哪里?问题的背景是什么?我做了什么操作会产生这个问题?这个问题导致了什么样的结果?以及在这个过程中相关日志的详情等等,你至少要将问题的前因后果描述出来,你需要把对方带入你的场景中,如果你冷不丁防地短短抛出一个 10 字描述不到的问题,你怎么讲对方带入你的场景中,感同身受到你的问题呢?
而且我也特别不想回答一些正确或错误的问题,这种问题我告诉你正确或者错误没有任何意义,你要知道为什么正确为什错误,才是真正的答案。
所以说,小伙伴们以后提问题,尝试着多写一点问题的描述,把前因后果尽量详细描述下来,也许在你描述问题的过程中,你已经想到答案了。
2、关于课程
之前我有推荐过拉勾 1 块钱的课程,发现有些读者立马取关了,貌似大家都非常抵触课程这种东西,我说句心里话吧,别的我不说,至少像拉勾或者极客时间的课程,花个几十块甚至是一块钱就能得到那些大佬们的心血总结,我觉得是非常值得的,可以说是最有价值的投资了,在知识付费以前,这种事情是不可想象的。很多人在问,xx 怎么学,哪里可以找到资料,但是如果你连几十块钱甚至是一块钱都不想投资自己,我觉得你应该要反思一下。
像拉勾那些刚开始 1 块的课程,我每次都会预约毫不犹豫地买了,不说认真学,上厕所看上一章,已经是超值了,比起那种动辄几万块的课程已经不能用物价廉美来形容了。
3、遇到不会的问题应该怎么解决
大家在写代码过程中,是不是也会遇到一些自己特别难理解的点?特别是引入一些你之前从未接触过的技术。
我最近接触 K8s 比较多,因为项目需要用到 K8s Operator,而且网上资料很少,很多时候看官方文档也是看得很迷茫,而且 K8s 每次版本迭代更新也是非常大的,有时候你遇到一些问题也会,比如定义 CRD 模版时,因为它们的一个 nullable 设置问题调试了一个下午,而且这么细的细节,官方文档中并没有描述清楚,再比如,如果你单纯看官方文档,你能很快理解 CRD 模版的 anyOf、allOf 怎么定义吗?
有时候谷歌和百度并没有你的答案,这时你应该怎么去解决?我说下我的解决思路,我会先去 GitHub 查找一些相关的开源项目,比如我在给项目研发一款 k8s operator 时,我会去 GitHub 上面找到一些关于 k8s operator 的开源项目,看看他们时怎么实现的,并且尝试将自己的疑问提个 issue,尝试和开源项目的作者进行交流,很多时候你会发现,在交流过程中,你会得到你想要的答案。
我在研发 Operator 的时候,我发现我一时间没有理解它的概念,后来我在 GitHub 上面联系到了一位大佬,并且把我的问题都一一解决了,令我少走了很多弯路,最重要的是我如期把项目的 operator 模块做出来了,我非常感谢他,后来我们也相互加了微信,很聊得来,我觉得我认识这么一位大佬非常幸运。
4、推荐一门课程
上面我讲到的那位大佬,他费了好多精力,准备了几个月做了一个关于 etcd 的课程,而且他是 etcd 全球 top3 贡献者。我这人就是这样,你帮我一分,我会还你三分(疯狂在暗示读者们要多点转发我的文章),所以这篇文章必须强烈推荐一下他的课程,也算做回馈他当初回答我问题对我的点拨之恩。
如果你恰好想学 etcd 或者在工作中正好用到 etcd,看大佬的这门课程就对了,扫描下方二维码就可以和我一起加入课程学习了: