在我看来,阅读技术书籍,分为三个阶段: 1.选书 2.读书前 3.读书时 选书(技术书籍)
对书籍的选择,人们往往有两个趋势:
•经典、经过时间验证、口口相传的书。
•更新、不落伍的书。技术的发展极为迅速,稍微过上两年,前几天买的书便成了落伍旧物。
但不管是选择前沿的,还是经典的,参考下面的建议还是不会错的:
1.必须是优秀的书籍
很多书外包装光鲜亮丽,内容漏洞百出,缺少自身特点。
2.如何辨析一本书是否优秀?
知乎、豆瓣、亚马逊,当当上大家对书的评价
同类书籍,贵在精,不在多
百度、谷歌这样的存在,很多书籍买一本书就可以了。
3.购买和自己学习方向相关的书籍 :学习群64弍46衣3凌9,资料群69似64陆0吧3
认准一个方向,好好把它学好,真的需要扩展知识点,再在原来的基础上进行横向扩展。
读书前
•强烈推荐使用视频入门
•扫清关于一些基本词汇的解释问题
•(有信心可以直接跳过这一步)
•切记不要在视频上停留太久
不要在视频课做出以下行为:
•将视频中的所有知识点都仔仔细细得整理成笔记 太浪费时间 ,好的教学视频,最关心的往往是教你: 如何入门 ,建立基础的知识框架 ,强迫症,不懂得快进、跳过.
许多视频(特别是大学公开课),总会在前面说些基础(IPO、冯·诺依曼),而这不免会造成相同的内容重复听的问题。
•专门读一本计算机导论方面的书籍,比反反复复听那些烂大街的基础要有用得多•可以报名一些网课(免费的大学先修课就不错)
•出现无法理解的知识点,而又无法通过搜索引擎查找时,可以在讨论区里发帖询问。
书的类别
不同类型的书,有不同的读法 个人意见分的,不专业
从大方面定义:
•语言方面的书。比如C、Java、Python等等
•练!
•不要陷入语言的细枝末节中,盯着一个地方使劲的看。
•尽可能快,防止看了后面忘了前面,导致前后知识不连贯。
•看技术视频时,不要当看电影。一会暂停接个QQ、一会看个网页的。
•代码是敲出来的,不是看或者听出来的!
•算法书籍
不同于学语言,学算法最重要的不是记忆,而是理解。
•理解算法没什么好说的: 1.悟性 2.坚持 •为什么强调运用?
•因为算法这种东西本质上是比较难理解的
•算法一旦理解后,要马上投入到不同的环境中运用
•人们总是难以记住抽象的概念,而对具体的东西记得比较牢。
•某一特定类别的书。比如操作系统、编译原理、网络、Linux内核、服务器原理等等需要很大的精力才能彻底掌握的书。
•这类书,一般都是理论性较强,难以消化,短期内看不出多大价值。
•对此书的理解决定你是工程师还是程序员。
•针对此类书,要么不读,要读至少读三遍!
•书读一遍,往往只能吸收10%的知识。
•读两遍、三遍。所吸收的知识就能成倍地增长。
•在读下去,就不止是简单地吸收书本身的知识了,你就会形成自己的思考。 •也就是古人的“读书百遍,其义自见!” •所谓的三遍读书法,其实是对投入与产出的一种权衡。
•谁都知道读得越多越好,但是现实往往很难有足够的时间反复去读。
从内容规划定义:
•说明书型:
恨不得把所有的东西,每一个参数,每一种命令都罗列的整整齐齐 .这类,不值得从头到尾的细读,甚至不值得买。 可以直接用API、或者帮助文档就可以了。 这种书是用来查的!
•基础理论型:
软件开发领域经久不衰的经典。 数据结构、算法、图形学、设计模式、分析模式等。 读起来很费力气,建议在余有时间的情况下去研究。 不要有太大心理压力,计算机本来就是一门博大精深的学问。 唯一需要认真研读的书籍(其他大多数,视频入门,观其大略,用时按需查找即可。)
•操作指南型:
一步步带你操作,从实践中总结理论,各种XX in Action、XX cookbook等都属于此类 看书上操作,不如看视频来的直接痛快。
混合型
融合了以上所有类型的书籍 有基础理论、API说明\部分操作手册
读的时候识别,采用不同的读书方法
读书时 带着问题去读,设定明确的目标:阅读这篇文章的最终目的是什么? 如果无法达到,也就没有看下去的必要 .这篇文章对自己有多重要? 我需要的是多详细的信息? 为了达成目的,我现在需要花多少时间? 尽可能快 •后面读起来缺少连贯性。
很久没碰这本书时,再看后面章节的时候,最好先翻下前面的章节,有个预热。 没读完一篇文章,做一个小小的总结与肯定
读书抓住重点
大多书籍喜欢由浅入深、 并非不好,但对于有些基础的人而言太过基础的东西反而会显得无聊。 看书一般直入主题,直到找到重点知识。 细节类的东西,需要在反复的实践中体会,然后反复的看书。
对于IT方面的知识如何才能理解?
多实践 反复看书,反复阅读 思考 做笔记也很好 强化知识层次:时间+反复阅读+做题。
实践
最关键的一步,是对这个东西充满兴趣。
反复阅读
反复阅读一本书(前提:这本书很经典)可以有新的发现。 知识层次的提升,会让阅读的体验截然不同。 同时还可以加强记忆。 •
做题
做题是为了巩固知识,不是为了应付考试。 如果一篇文章对你有用,最好能间隔一晚上是最理想的 这段时间是知识的成熟期 尝试问自己关于那篇文章的一些内容。 提出问题时,重在在于不要急着找到答案。
注意阅读坐着的思考流程 •能够做脑图更好 多去读读英文原著 •国内很多翻译超烂。
提升你的英语水平。(包括单词,以及思维模式的改变) 迟早都要读英文,还不如早点看。
详读标题
一本不错的书,小节的标题代表了这一小节的内容 •读完后做少量的笔记加深记忆也是不错的。
三遍读书法?
第一遍
尽可能在较短的时间内过完这本书。
这一遍中,不要陷入某个具体的知识点。
目的是能把握每个章节的重要知识点,记住,是把握,而不是理解透彻。
第一遍讲究的是快、高效。千万不要拖太长的时间。对第一遍读完后的“成果”要牢记,最好把它记录下来,因为这是整本书的骨架。
第二遍
讲究慢、理解。 尽可能地把知识点都理解,千万不要贪快,不要将就进度。 所谓“欲速则不达!” 实在有不懂的点,可以放放,等看到后面了再回头来理解一下,或者请教一下其他人。 不建议边看边做笔记,最好在读完每一章或者每一节后,把书合上,然后在脑子里去回忆看过的部分,尤其是重点知识点,将其记录下来
第三遍
人的大脑还是需要一些时间来慢慢消化的,哪怕是潜意识的。 放置的时间,可以去看看其他书。 读第三遍时,一般会显得比较轻松 这个时候不仅能巩固之前的知识。 甚至还可能会产生新的想法
举例: •看过操作系统的理论知识后,会好奇它究竟是怎么工作的,会产生去源码的冲动。这就进入了第二个境界。 (当你研究过源码再来看操作系统的理论书籍时,甚至能知道哪些书写得好,那些不好。) 哪怕对于这些理论性强的东西,要想真正得理解它们,还需要动手实践。
学操作系统可以看下源码 学编译原理可以试着自己做一个小型编译器 学网络原理可以自己搭建网络环境加深对网络的理解。
陆游有云:纸上得来终觉浅,绝知此事要躬行!