除了datesheet ,我们经常遇到英语文档和资料。找到正确的英语文档的打开方式变的非常必要。
计算机类的书大致归为三大类:
(1)语言方面的书。比如C、Java、Python等等
(2)算法书籍。《算法导论》、《编程珠玑》等等
(3)某一特定类别的书。比如操作系统、编译原理、网络、Linux内核、服务器原理等等需要很大的精力才能彻底掌握的书。
当然这个归类是非常粗浅的,针对不同种类的书,我们的阅读策略也会有所侧重。
首先针对第一类书。诀窍就一个字:练。
接下来说说该如何看算法书。诀窍:理解+运用。
最后谈谈对第三类书的学习。
第三类书通常都是一些理论性很强的书,比较难以消化,而且短时期内看不出它有什么价值。。对于很多程序员来说感觉用不上。。但是可以这么说:对这一类书理解有多深决定了你是一个攻城狮还是一个程序猿。。当然每个人都有他自己的选择,并不是所有人都想在技术这条路上走得很远,如果你是那个想在技术上成就自己的人,那么欢迎一起来探讨。如果不是,那么就当随便看看好了。针对这一类书籍的特点,我总结了自己的读书方法——三遍读书法。是的,没错!起码三遍。对于这类书籍,要么不读,要读起码读三遍。其实,在现实中,有很多人对于自己读过的书是不太愿意再去读的,不管是技术书还是其他方面的书。这可能跟人把读书看得过于功利有关,认为读过的书再去读就是浪费时间,还不如去读新的书。如果你问一个人你为什么要读一本书时,他可能会告诉你为了学新的知识或获取新的思想。的确,目的确实没错,可是往往他忽略了一个简单的道理:一本书如果只读一遍,那么你最多只能吸收10%的知识。如果你再读第二遍、第三遍。。。你所吸收的知识就能成倍地增长,当你再读下去的时候,你已经不止是简单地再吸收书本身的知识了,你会形成自己的思考,也许这就是古人说的读书百遍,其义自现吧!所以说,如果一本经典的书拿来,你只准备看一遍,那么还是别看了,,纯粹浪费时间!既然说一本好书要读好几遍,那么问题来了:我该如何读这本书呢?是从头到脚重复地看还是有其他的方法呢?当然有。我这里为什么要提三遍读书法,这其实是对投入与产出的一种权衡,谁都知道多看几遍越好,但是现实中往往很难让你有足够的时间去反复地看,这时候就需要找到能尽可能用最少的时间来获得最大的收获的方法。那么三遍读书法具体是怎么来操作的呢?假如你拿
到一本技术书籍
第一遍
尽可能在比较短的时间内过完这本书。在第一遍中,不要陷入某个具体的知识点,这一遍的主要目的是能把握每个章节的重要知识点,记住,是把握,而不是理解透彻。这一遍讲究的是快、高效。千万不要拖太长的时间。而且对于第一遍读完后的“成果”要牢记,最好把它记录下来,因为它们是整本书的骨架。
第二遍
第二遍讲究的是慢、理解。第二遍一定要慢,要尽可能地把知识点都理解,千万不要贪快,不要讲究进度。记住,在这一遍中:欲速则不达!遇到实在不懂的点,可以先放一放,等看到后面了再回过头来理解一下,或者请教一下其他人。不建议边看边做笔记,最好在读完每一章或者每一节后,把书本合上,然后在脑子里去回忆你看过的部分,尤其是重点知识点,然后把它记录下来,这样比单纯记笔记效率要高很多。(个人比较推荐写博客。千万别觉得自己水平不够,不好意思写博客。记住,写博客不仅仅是为了给别人看,更重要的是对自己学过知识点的一种思路上的整理,通常这种整理都是非常高效的。另外,新手往往觉得写博客很费时间,但是相信我,如果你真的用心在写博客,它绝对不会辜负你的这些时间的!)这样一遍完成后,你对整本书已经有了一个比较完整的理解了。这个时候,你可以去看看你自己写的博客,不用着急读第三遍。
第三遍
通常如果你认认真真地读完第二遍后,你可以先放一放。人的大脑还是需要一些时间来慢慢消化的,哪怕是潜意识的,况且,短时间内连续读好几遍确实会让人感觉厌烦。这样过了一段时间后(比如去看看一些其它书啊等等),你再开始读第三遍,相信这个时候你很感觉很轻松(人往往对熟悉的知识有一种愉悦感),这个时候你不仅仅巩固了你之前的知识,甚至有可能还会让你产生新的想法,比如当你把操作系统的理论知识都掌握得差不多时,你可能会好奇它究竟是怎么工作的,你会产生想要去读内核源码的冲动。当然这就进入另一种境界啦!(当你研究过源码再来看操作系统的理论书籍时,你甚至都能知道哪些书写得好哪些书写得渣了呢!(^o^)/~)。最后,我还是想说,哪怕对于这些理论性很强的书,要想真正得理解它们,还需要动手实践,比如学操作系统的可以试着去看源码,学编译原理的可以试着自己做一个小型编译器,学网络原理的可以自己去搭建网络环境来加深对网络的理解等等。