如何阅读技术书籍

不知道你们有没有这种感觉?当你拿到一本书并准备读时,老是想在几天以内就把它看完;看到后面就不想往前翻;天天以看了多少页书为衡量本身今天的价值,而不是吸取了多少知识;看完一本书总感受脑壳空空的,看了后面忘了前面的。。。固然你可能还会碰到不少看书的烦恼,,下面我就谈谈本身对看书的一些思考。java

首先这里先作一个假定,假设你手里读的书必定是一本经典的、优秀的书。若是不是,那么就赶忙扔了,一本好书是一个好老师,而一本渣书简直害死人。。。程序员

接下来我把计算机类的书大体归为三大类:算法

(1)语言方面的书。好比C、Java、Python等等编程

(2)算法书籍。《算法导论》、《编程珠玑》等等服务器

(3)某一特定类别的书。好比操做系统、编译原理、网络、Linux内核、服务器原理等等须要很大的精力才能完全掌握的书。网络

固然这个归类是很是粗浅的,针对不一样种类的书,咱们的阅读策略也会有所侧重。学习

首先针对第一类书。诀窍就一个字:练。操作系统

做为一个新手,千万不要陷入语言的细枝末节中,有些人学语言的方式实在是让人啼笑皆非,好比他要学Java,他拿着一本java编程思想使劲地看,看了后面忘了前面,把本身搞的痛苦不堪,最后感叹一句:Java真难!(我亲眼见过,,还不止一两个,也是醉了)。还有一些人,从网上或者什么地方找来一些教学视频,而后坐在那一边翘着二郎腿一边貌似“聚精会神”地看,中途偶尔QQ上来人了还要聊几句(哥们,你当是看电影么?)。这两种学习方式看上去不一样,其实本质上是同样的,都是一种被动地接受知识的方式。这种方式及其低效,记住:代码是敲出来的,不是看或者听出来的!不管你是看书或者看视频,其实都没关系,关键是必定要本身动手把它敲出来。当书看完或者视频看完后,你手上应该有大量的代码,这个时候再把这些代码敲个十几遍,此时你的脑子里留下的就是代码而不是文字或者声音了。说到这,让我想起了咱们的英语教育,,我的感受学英语最有效的方法就是把本身置于一个英语环境或给本身创造一个英语环境,接下来就是使劲地说。。这样,不到几个月,保证你的英语棒棒哒!而不是拼命地背单词或看语法。。(好了,不吐槽英语了O(∩_∩)O!)。设计

接下来讲说该如何看算法书。诀窍:理解+运用。视频

学算法不一样于学语言,学算法最重要的不是记忆,而是理解。关于如何理解算法那也没什么好说的了,看每一个人的悟性还有坚持了,固然去网上找一些容易理解的资料或者跟同窗探讨会对你学算法很是有帮助。咱们这里重点说说为何要强调运用。由于算法这种东西本质上是比较难理解的,比较难理解的东西就比较容易遗忘,好比你好不容易花了很长时间理解一个动归算法或KMP算法,,而后你自认为本身完全掌握了,而后扔在那几个月无论它。。而后就没有而后了。。所以算法一旦理解了之后至关重要的一点就是必定要去运用,在不一样的场景中去运用。那么到底怎么运用呢?好比你的算法书后面的习题,还有如今不少高校有很好的ACM OJ,上面有大量的算法设计题,这些都是很是好的资源。当你用你目前已经理解的算法去解算法题时,这个过程自己会进一步促进你对这个算法的理解,而且增强你的记忆。好比可能过一段时间你把这个算法忘了,可是当你一想起你解的那道题时,你又把那个算法回忆起来了。由于咱们人脑老是不太容易记住那些抽象的概念,而对那些具体的东西记得比较牢。话说回来,运用算法去解题是很是花费时间的,有时候一道题你可能半天都AC不了。。因此我建议那些如今还在读书的学生,若是你将来想走IT技术的道路,仍是去学学算法吧。对你是绝对有好处的!你工做之后可能想学都没时间了!

最后谈谈对第三类书的学习。

第三类书一般都是一些理论性很强的书,比较难以消化,并且短时期内看不出它有什么价值。。对于不少程序员来讲感受用不上。。可是能够这么说:对这一类书理解有多深决定了你是一个攻城狮仍是一个程序猿。。固然每一个人都有他本身的选择,并非全部人都想在技术这条路上走得很远,若是你是那个想在技术上成就本身的人,那么欢迎一块儿来探讨。若是不是,那么就当随便看看好了。针对这一类书籍的特色,我总结了本身的读书方法——三遍读书法。是的,没错!起码三遍。对于这类书籍,要么不读,要读起码读三遍。其实,在现实中,有不少人对于本身读过的书是不太愿意再去读的,无论是技术书仍是其余方面的书。这可能跟人把读书看得过于功利有关,认为读过的书再去读就是浪费时间,还不如去读新的书。若是你问一我的你为何要读一本书时,他可能会告诉你为了学新的知识或获取新的思想。的确,目的确实没错,但是每每他忽略了一个简单的道理:一本书若是只读一遍,那么你最多只能吸取10%的知识。若是你再读第二遍、第三遍。。。你所吸取的知识就能成倍地增加,当你再读下去的时候,你已经不止是简单地再吸取书自己的知识了,你会造成本身的思考,也许这就是古人说的读书百遍,其义自现吧!因此说,若是一本经典的书拿来,你只准备看一遍,那么仍是别看了,,纯粹浪费时间!既然说一本好书要读好几遍,那么问题来了:我该如何读这本书呢?是从头到脚重复地看仍是有其余的方法呢?固然有。我这里为何要提三遍读书法,这实际上是对投入与产出的一种权衡,谁都知道多看几遍越好,可是现实中每每很难让你有足够的时间去反复地看,这时候就须要找到能尽量用最少的时间来得到最大的收获的方法。那么三遍读书法具体是怎么来操做的呢?假如你拿到一本技术书籍

第一遍

尽量在比较短的时间内过完这本书。在第一遍中,不要陷入某个具体的知识点,这一遍的主要目的是能把握每一个章节的重要知识点,记住,是把握,而不是理解透彻。这一遍讲究的是快、高效。千万不要拖太长的时间。并且对于第一遍读完后的“成果”要牢记,最好把它记录下来,由于它们是整本书的骨架。

第二遍

第二遍讲究的是慢、理解。第二遍必定要慢,要尽量地把知识点都理解,千万不要贪快,不要讲究进度。记住,在这一遍中:欲速则不达!遇到实在不懂的点,能够先放一放,等看到后面了再回过头来理解一下,或者请教一下其余人。不建议边看边作笔记,最好在读完每一章或者每一节后,把书本合上,而后在脑子里去回忆你看过的部分,尤为是重点知识点,而后把它记录下来,这样比单纯记笔记效率要高不少。(我的比较推荐写博客。千万别以为本身水平不够,很差意思写博客。记住,写博客不只仅是为了给别人看,更重要的是对本身学过知识点的一种思路上的整理,一般这种整理都是很是高效的。另外,新手每每以为写博客很费时间,可是相信我,若是你真的用心在写博客,它绝对不会辜负你的这些时间的!)这样一遍完成后,你对整本书已经有了一个比较完整的理解了。这个时候,你能够去看看你本身写的博客,不用着急读第三遍。

第三遍

一般若是你认认真真地读完第二遍后,你能够先放一放。人的大脑仍是须要一些时间来慢慢消化的,哪怕是潜意识的,何况,短期内连续读好几遍确实会让人感受厌烦。这样过了一段时间后(好比去看看一些其它书啊等等),你再开始读第三遍,相信这个时候你很感受很轻松(人每每对熟悉的知识有一种愉悦感),这个时候你不只仅巩固了你以前的知识,甚至有可能还会让你产生新的想法,好比当你把操做系统的理论知识都掌握得差很少时,你可能会好奇它到底是怎么工做的,你会产生想要去读内核源码的冲动。固然这就进入另外一种境界啦!(当你研究过源码再来看操做系统的理论书籍时,你甚至都能知道哪些书写得好哪些书写得渣了呢!\(^o^)/~)。最后,我仍是想说,哪怕对于这些理论性很强的书,要想真正得理解它们,还须要动手实践,好比学操做系统的能够试着去看源码,学编译原理的能够试着本身作一个小型编译器,学网络原理的能够本身去搭建网络环境来加深对网络的理解等等。

借用陆游的名句:纸上得来终觉浅,绝知此事要躬行!

 

固然,以上只是我我的对看书的一些想法,也不必定对。每一个人都有适合本身的方法,欢迎来讨论\(^o^)/

相关文章
相关标签/搜索