五毛:提升技术的途径


写文章坚持了一段时间了,过程中遇到了一些问题, 对于某些技术自己觉得理解的还不错,但是当我试图写出来的时候,简直举步维艰,不得不继续找资料,甚至还会发现有些东西自己压根就是理解错了。

这个问题也带来了好处,对技术的理解更深了,或者说纠正了自己的一些错误。对大脑中的知识起到了一个梳理的作用。

最开始呢,我只是觉得记一个流水账而已,把一些点写出来,大概思路写出来,方便我日后再用到的时候,再来看一下。

起初没发现有什么问题,比如之前的《消息队列-延时消息实现》,在写完之后不久,碰巧项目中出现了一个bug,关于延时消息的bug,开始找资料解决bug,这时候才发现自己的理解还不够,还有一些关键点没搞明白,只是应用了大部分网上文章的做法,功能实现了,仅此而已。然后基于这个写出的流水账,跟网上的文章大同小异,甚至文笔还远远不如。

如果换一种写作思路,想办法把为什么写出来,就会遇到很多问题,就会变得很难写,被迫去查很多资料,进而完善自己的知识点,未尝不是一种提升。就是因为流水账,只写实现,那很多貌似不重要的细节都会给漏掉。

举个例子,延时队列的bug:先发出的消息A30秒过期,然后1秒后发出消息B5秒过期。理论上消费者应该先收到消息B,然后20多秒之后收到消息A。

实际结果:30秒后消费者收到消息A,然后又收到消息B。

问题其实很简单,因为mq的这个队列是先进先出的,只是对队首的消息进行判断,如果过期,则转发。直到消息A转发了,出队了,才会判断消息B,这个时候,消息B早已经过期很久了。

很简单的细节,但是很关键。

写作(非流水账)会逼着我去思考,逼着我查阅更多资料,挖掘更多有用的信息。虽然不能避免所有bug,但是多一个知识点,就能减少一个bug。

其实很多人都知道写作是一件很好的事情, 就是犯懒,执行不下去。 还是行动起来吧! 逼自己一把,对自己狠一点 ! 有自制力的人, 能够坚持的人才更有可能成功! ——码农翻身老刘

分享到