获取专业知识的正确姿势

我想阅读技术类的文章应该是程序员日常生活中最普遍的之一,平日里,我也是经常定期阅读一些文章,来扩充自己的知识体系,授人以鱼不如授人以渔,简单介绍一下,这些年里获取专业知识的方式,想来或许也可以帮助一部分朋友,以提高学习之效率。

大概六年前,为了学习Python,我用思维导图自己画了一张Python开发的知识体系,(比较遗憾的是这张图遗失了),只有从基础开始积累你的专业才会比较牢固,记得当时比较穷一直用着社区版PyCharm,有时候一款好用的IDE对于学习,有极大的辅助作用。后来,学习Web前端开发,iOS,一样会自己去分解,把知识体系整理出来然后逐步学习。最近几年中国大陆的技术分享盛行,有开发者头条,掘金,infoQ等,专业前端类的社区就更数不胜数了,比如Div.io,CNode等,就连简书也能产生大量的技术类文章,倒是以前的博客园慢慢没落了下来。有幸和开发者头条的创始人戚兄认识快三年了,其中也一起讨论过关于社区技术分享的看法。虽然分享是一件非常好的事情,但是文章五花八门,深浅不一,编辑其实是很难界定一篇文章的深度与广度的,有些文章更甚是把官方文档摘录一遍,很可能还有错误误导之嫌,二手知识和一手知识的区别,就在于此吧。

曾经,我也写博客,主要是用于记录自己还不了解的知识点,记录下来以备将来复查。后来博客不写了,主要迁移到了微信公众号上。像前几次,因为我编辑的失误,发布了两篇有错误的《前端面试题》,推广到了开发者头条,掘金(是的你能看见我发布到掘金上,仅仅是为了硬推广)。后来才发现错误百出,既有错别字也有遗漏代码,造成了很不好的影响。你能看见如果你获取知识的来源于此,很可能被带入误区。大概三年前顺手撸了一遍 https://github.com/icepy/manong-reading,后来发现正因为基础知识不牢固,留了很多默默将来要改的坑,本来想在1.0.2版本中重构它,后来发现工作量巨大而放弃。这就是急于在短时间内掌握要点,尽可能的快速拿到结果而付出的代价。那正确的姿势该怎么办?应该从 https://developer.apple.com/library/content/navigation/ 这里开始,如果你想进入一个领域,最好先计划把官方文档撸一遍,如果还有疑问再想办法,去挖掘相关领域比较深入的二手知识,自己也要有独立的思考,对比,想一想这些有没有收益,有没有价值。在进入一个专业领域时,最好是能克制自己的求知欲,俗话说“酒不能贪杯”,越多有时候不一定是件好事情。比如,你是做前端开发的,突然有一天你深入阅读用Java学Web服务,并做了一些接口,但这然并卵。现实是什么?实现是我们的精力有限,无法成为每个领域的专家,如果在有限的时间里去阅读并无太交集的话题,反而会造成时间和精力上的浪费。看上你可能什么都会,其实你什么都不会。

其实,真正的阅读只有两种类型:泛读和精读,前一种追求广度,后一种看中深度。从泛读来看,对于基础知识的积累价值并不高,倒是有一些“好读书,不求甚解”,而编程又恰恰是要求牢固地基的一个行业,只有泛读和精读相辅相成,并且重精读轻泛读才行。以前,我也走过另外一个弯路,看到什么吸引人的标题,点进去浏览一遍,当时会有一种收获颇丰的假感受,但过后即忘。看起来,我一天阅读了大量的文章“是有价值的”,其实这才是往往最没有价值的事情,泛读是很难在你的记忆里留存信息的。这也牵扯出了另外一个问题,编程到底要不要广度?横向扩展只有从泛读中,你才可能了解到行业的发展如何了,技术点是否又有新的火花。我认为,这个事情应该完全取决于你当时的时间。

至于在何时去阅读,我认为宜静不宜动啊,平时在工作里会有各种事情来打断你,比如产品,设计等等过来找你讨论,这种打断对于阅读其实有害的,所以我不建议在大家在工作中去阅读技术类的文章,倒是可以在下班之后(而且我也不建议碎片化的阅读,这个只能泛读,看技术类的,还不如看看科技文人,创业类的,想想怎么致富会比技术类的要强很多),阅读时,一定要把网络和手机处于飞行模式,也不要放音乐(什么轻音乐有助阅读,这都是骗人的),静下心来,调整一下柔和的台灯,慢慢阅读,如果需要做笔记,或者查资料,才把电脑打开(也不要打开任何社交产品喔,滴滴肯定会打断你的思考)。

而且关于阅读,也一定要善于发现好的阅读渠道,比如现在JavaScript社区这么火爆,没事都可以看看这些社区大牛们在阅读什么,我想Github应该是你最好的渠道之一,有时候参与讨论,从他们的思维里,也能吸取到不少知识“灵感”。如果在交流的过程中,发现了自己不熟悉的词汇,你可以先Google,或者https://developer.mozilla.org/ 查阅相关的文档,为了自己管理阅读渠道,我自己用Reeder来订阅优秀作者写的博客,然后用Pocket来收集想深入阅读的文章。至少现在我每周保证深入阅读一篇文章,挖掘它的知识点并消化它。可能深入阅读对于一些朋友,是有认知障碍的。这没有捷径,如果实在看不下去了,也要强迫自己阅读下去,可以把一篇文章阅读的时间调整长一些,比如像我一周才阅读一篇文章(有时候也要花更多的时间),或者把这些很难阅读的文章分割成几个tips,总之是要花上你较多的时间去阅读去理解。只有这样你才算是有幸跟行业大牛在思想上有所碰撞,这种“神交”类型的深入交流的机会可不多,如果你发现些不同的观点,也可以给作者写邮件,来彼此交换观点。

阅读过程中,要多写一写笔记,哪怕疑问也可以。有疑问,你才可能有思考,比如我第一次阅读flux时,就在想“这是什么鬼”,为什么要Action,这又有什么?在这些疑问中,你才会不断的思考去寻找答案。当然,这也为你的知识做下了沉淀,后期当你要回顾时,可以很快的查阅到,当时你的想法,你的思考。有时候回过头来看,当时你不理解的,或者你记录的笔记也许不一定对,心上两下对照,又是一次提升。

最后,我想告诫每一位朋友,技术类文章要阅读,但不要花费太多的时间,要有选择性的一专多精的去挑选。有时间的话一定要阅读一下那种大部头的技术类原版书,哪怕中文翻译的也行。比如《HTTP权威指南》《操作系统:精髓与设计原理》这种经典,即使耗费你多年的时间,都远远强过阅读技术类文章要强的多。


更多精彩内容可关注我的个人微信公众号:搜索fed-talk或者扫描下列二维码,也欢迎您将它分享给自己的朋友。

原文:http://mp.weixin.qq.com/s/K6EyaAcKIFdgwsnErzhqyw


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流