从今年年初与极客时间编辑的初次接触开始,到这个月底专栏的正式结束,经过了差不多 7 个月的时间。这段历程有痛苦也有欢乐,有迷惘也有清朗,有困惑也有顿悟,有挫折也有奋进,各种感受五味杂陈,一言难尽。
无论如何,首先要感谢的,就是你——感谢你对我和这个专栏的支持,Many thanks to you。
写文章都讲究“首尾呼应”,所以在这篇“结束语”里,我就顺着“开篇词”,和你聊些轻松的话题,唠唠家常、说说心里话。
咱们都是吃计算机这碗饭的,应该知道通信协议这个东西很不好学,更是很难讲,因为它真的是太“虚”了。不像编程语言、算法、数据结构、开发框架、操作系统那样,有实实在在的代码,协议只是一个文本规范,是一个动态的过程,而不是在计算机系统里真实存在的东西,你不能用 GDB 直接去调试,内存里也看不见。
所以,讲协议的书本、课程实在是少之又少。
落到 HTTP 协议,就如同我在专栏一开始时所说的,它“既简单又不简单”,而且历史悠久,涉及的范围很广,关联的技能点很多、很杂。当我接下写专栏的任务时,甚至有点“懵”的感觉,千头万绪不知从何谈起。
好在我一直有写学习笔记的习惯,最早是用“原始”的 word 文档,近几年改用云端笔记工具,随时记录、整理散乱的知识碎片。
既然暂时“无从下手”,那就先读文章、记笔记好了。
于是,我开始大量地粗读、精读现有资料,在阅读的过程中慢慢搜集思维中闪现的“火花”,即使是一两个零星的词汇也不放过。一个多月的辛苦整理过后,这才逐渐理清了脉络,有了模糊的写作思路,全程有点“垃圾堆里筛金子”的感觉。
虽然我有写书的经验,但写专栏则是完全不同的体验,在正式动笔写作的时候(严格来说应该是“敲键盘码字”),我才意识到,它与传统的技术类书籍有很大的不同。
书籍的阅读场景通常会比较安静、放松,读者会有比较长的思考时间,可以翻来覆去地看,再时不时拿起铅笔画个重点、做个记号,一段时间的阅读下来可以关注很多的知识点,然后再慢慢思索,总结串联。
而专栏的阅读场景则更可能是在地铁、公交车里,周围人挤人、人挨人,拿着手机,或看或听,还要时刻当心别坐过站。在这种情况下,读者很难有足够的思考时间和精力,更希望能够高效率、便捷地在短短几分钟的碎片时间里吸取知识,如果有太多的知识点就难以接受,一两个略有深度的点会更好。
所以,这次的专栏写作我就改换了风格,开始“口语化写作”,不再像写书那样斟词酌句,为一两句话的用词反复思量、咬文嚼字,而是完全“放飞自我”,定下每篇文章的主旨、要点后就笔随心动,把头脑里的思绪完全“dump”出来。
这样虽然在一定程度上降低了文字的信息密度,却会让文章形式更流畅、更易理解,做为补充,文章的末尾我再用小结的形式集中强化一下要点,实现了“浅入深出”。
现在看来效果似乎还算不错,不知道你以为如何呢?
虽然风格定了,但专栏写作过程中的困难程度还是我当初没有预计到的,写书是一个“慢功夫”,可以慢慢思考,有想法了就写一点,没有灵感可能十天半个月都动不了笔。
而写专栏却有“硬性”的时间限制,和编辑确定了写作大纲后就开始了“奴隶”一样的日子:每周固定要交两、三篇,每篇三四千字,相当于毎天要产出至少一千的有效文字,这简直成了“夺命连环 call”,同时还有构思、画图、编码、试验、核查等其他工作,压力非常大,真是一次“触及灵魂”之旅。
记得有一句名言:“兴趣是最好的老师”,支撑着我把这个专栏按时交付下去的最大动力,可能就是对学习计算机知识的兴趣和探索欲了。每当 get 到一个以前没有注意的知识点,每当成功领会了协议背后的设计意图,我的心底都会产生由衷的喜悦,前面钻研过程中的苦恼和烦躁也就瞬间“烟消云散”了。
所以,只要发自内心地对一件事情产生兴趣和喜爱,那么即使有再多的困难,也会想办法去克服、去解决。
说到这里,我联想到了《一拳超人》里的主角埼玉,他可以算得上是典型的“兴趣使然的 Hero”,纯粹是因为自己的“兴趣”而走上了“打怪升级”的道路,不图名不图利,不在意排名,也不在意奖励。单纯而快乐的生活,也许正是我们很多人想要追求的目标。
当然,除了兴趣,更重要的是恒心、毅力和坚持。埼玉之所以成为“无敌的存在”,就是因为他每天坚持做 100 个俯卧撑、100 个仰卧起坐、100 个下蹲,天天如此,从不间断。
我在这几个月的专栏写作过程中,遇到的困难和烦恼是以前写书的好几倍,经常是坐在电脑前,脑子里有很多乱麻一样想法,却无法“落地”转化成合适的词语,有时候会就这么干坐上一两个小时,焦灼的心情可想而知。
幸运的是最终我在“兴趣”这个原动力的支撑下坚持到了最后,另外还有了一个意外的收获。每天夜里码字没有思路的时候,我会走出家门,在小区里慢跑两三圈,呼吸新鲜空气顺便“放空”大脑。到专栏结束的这个时间点,居然减掉了差不多 8 斤的体重。
所以你看,“兴趣”给我带来的好处还真是不少呢。
“透视 HTTP”这个专栏马上就要结束了,但 HTTP 协议的学习还远没有结束。
这有点像是调查兵团历经磨难和牺牲,终于看到了大海,但在海的另一头,还会更多更大的挑战等待着他们(看过《进击的巨人》的朋友一定能领会这种情景吧)。
在这篇“结束语”的留言区里,希望大家都能“冒个泡”,看看当时定下的“小目标”有没有达成,一起分享一下在这个专栏中的收获和心路历程,还有将来的打算。也欢迎你访问专栏的 GitHub 主页,提 issue 和 PR,把 HTTP 的学习、实践继续下去。