You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
4.2 KiB
Markdown

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 结束语 | 学会从优秀项目的源代码中挖掘知识
你好,我是何小锋。
今天是咱们专栏的最后一课。首先,我的读者,非常感谢你对这个专栏的支持。当你看到这儿,恭喜你“毕业”了,我也“毕业”了!从专栏筹备到结课,转眼已经过去了半年的时间。这段经历令我很难忘,可以说是痛苦与快乐并存吧,今天结课我还真想和你说道说道。
我其实不太善言辞,挺典型的一类技术人,做这件事的出发点还是对技术的热爱,我希望能把自己这些年的经验去沉淀一下,分享出去供更多的人参考,与更多的人探讨和交流,很开心我做到了,有一种成就感和满足感在。但写作的过程确实还挺难的,有点出乎我的意料,讲课和写技术文档的差别不小,我觉得这其中最大的区别就是讲课我需要去设计内容,怎么让内容“既浅又深”,让不同阶段的人都能“看得懂、学得会、用得着”,就是我的标准。
**我们应该学会分享与交流,这是我在写作过程中最大的一个感触。**
在写的过程中,我会不停地调动自己积累的知识和经验,每一节课,每一个问题,都需要我在脑子里一遍遍梳理好才能成文,对我自己的知识体系是一次很好的加固和升级的机会。当然,我也会碰到新的疑惑和问题,甚至是自我否定,但这不重要,重要的是我解决了它,我的知识面得到了拓展。还有就是,我会感觉到一种快乐,别人会因为我的分享而有收获,这是一种肯定。
当然分享和兴趣虽是初衷但我打的也是“有准备之仗”。在写这个专栏之前我曾对我所运营的RPC框架进行了重定义整体架构完全重新设计代码也完全重写这里面的主要原因还是在于旧版本的RPC框架由于一次次的代码迭代已经有了太多的补丁代码维护起来已经十分困难了它很难再满足业务新增的需求。
在设计与编写RPC框架的过程中我从业界的RPC框架中吸取经验我先对自己的认知做了一次全面的升级。正如我在[\[开篇词\]](https://time.geekbang.org/column/article/199649) 里说的RPC是解决分布式系统通信问题的一大利器在我所接触的分布式系统中基本都离不开RPC。这一点令我自己都是兴奋的。
决定了重定义RPC框架我就坚持对每一行代码甚至是每一行注释进行review对代码的扩展性、可阅读性以及性能都尽量做到完美。但是在写专栏的时候我并没有写到太多的代码因为在我看来在设计整体框架、实现每个功能、解决某一个难题时我们首先要有一个或多个完整的并且可行的思路和想法而编码的过程不过是将解决问题的思路和想法以代码的形式翻译出来。当然编码也需要很扎实的基本功这一点我们不能否认。
那讲到这儿我还是想再强调一下咱们专栏的重点以免你迷路。我把重点放在了RPC框架的一些基础功能与高级功能的实现思路上以及某一类问题的解决办法上。
从内容结构上来说为了能让你更好地学习RPC框架整个专栏的内容设计还是比较系统的我们从RPC框架的基础功能讲到集群、治理等相关的高级功能再到RPC框架的性能优化以及问题排查等等整个学习过程由浅入深。
希望看到最后一课的你,已经完全理解了我的用意和用心!
那最后,我还想给你一个小建议,那就是**你一定要学会从优秀项目的源代码中挖掘知识,结合自己的见解与经验,去解决一个又一个的难题,形成自己的知识体系**,而我前面所说的分享就是检验成果的一个好办法。
最后的最后,还是要感谢你,我的读者,多谢你的支持,你的鼓励和批评是我前进的最大动力。如果你有什么意见或建议,欢迎你通过结课问卷告知我,我会正视大家的声音。
我是何小锋,我们后会有期!
[![](https://static001.geekbang.org/resource/image/a5/yy/a59c95f9ee9e238119265531d12058yy.jpg)](https://jinshuju.net/f/u49Ljk)