当前位置:首页 > 公众号精选 > 程序喵大人
[导读]一、前言二、选书1.重视选书的过程2.如何选书3. 电子书or纸质书三、读书1.不要怕弄脏书2.消灭模糊性、不确定性3. 一定要做笔记4.怎么确认自己真的懂了一、前言前几天有同事过来,让我推荐一本Linux系统的书籍。我就问他2个问题:你想学习Linux哪一个层次:内核层?驱动层...


  • 一、前言


  • 二、选书


    • 1. 重视选书的过程


    • 2. 如何选书


    • 3. 电子书 or 纸质书


  • 三、读书


    • 1. 不要怕弄脏书


    • 2. 消灭模糊性、不确定性


    • 3. 一定要做笔记


    • 4. 怎么确认自己真的懂了


一、前言

前几天有同事过来,让我推荐一本 Linux 系统的书籍。


我就问他 2 个问题:


  1. 你想学习 Linux 哪一个层次:内核层?驱动层?应用层?


  2. 你的目标是什么:是学习 Linux 系统的设计架构?某个模块的驱动开发?还是仅仅想系统学习一下应用程序编程?


最后,给他推荐了下面这本书:


后来我又想了一下自己的选书、读书过程,索性总结一下,给需要的小伙伴参考一下。目的是抛砖引玉,如果您有更好的实践方法,还请多多分享!


二、选书

1. 重视选书的过程

在现在的市场上,无论是哪个领域的技术书籍,都是一抓一大把,其中就一定存在质量、讲解水平参差不齐的情况。


我们作为学习者来说,一定要擦亮眼睛,多花一点时间来选书,要重视选书这个过程。


如果随便选了一本书,学习到一半的时候才发现内容不对自己的胃口,那就是在浪费时间、浪费生命


如果在刚开始就能够花点心思和时间,学习起来能进入心流的状态,对于个人的知识理解绝对是事半功倍的效果。


换句话说,选书的时间绝对不能节省


2. 如何选书

我一般选书的途径有三个步骤


Step1:广撒网


根据想看的技术主题,在 google 搜索引擎中,搜索相关的关键字。


有时候我会特意加上 CSDN、知乎等关键字,这两个平台中,推荐的技术性书籍质量都是比较高的。


另外,需要注意推荐者的一些背景资料,你可以浏览一下他的一些文章,从文章内容中如果能判断出作者的专业深度、广度都比较厉害,那么他的推荐权重就比较高。


基本上看了十几篇推荐文章,就可以梳理出这个技术主题排名靠前的几本书了。


Step2:看评价


针对梳理出来的几本书,到豆瓣、当当网上找一下对这几本书的评价


咱们都知道,现在的购物网站上刷好评的比较多,但是好在对于书籍这样的商品,我感觉刷单的很少,也就是说别人对一本书的评价,基本上可以认为是客观的、基于事实的。


大家一般都会从书籍的覆盖范围、难易程度、自己从中的收获,这几个角度来对一本书进行评价。


在这个步骤中,我们就可以对基本候选的书籍在心中有个分数的排序。注意这个排序不是绝对的按照内容的深浅,而是根据自己的专业水平,来确定哪一本书与目前的自己最匹配。


这个时候千万不要高估自己,选择最难的那一本,如果这么做了,不仅仅是浪费时间的问题,更重要的是会导致自己一知半解、严重打击自信心。


经过这个步骤之后,其实已经能够决定要买哪一本书了。


如果排在第一和第二位置的这两本书,在我的心中评分差距比较大,我会直接选择评分最高的第一本书。


如果它俩感觉差不多,那么我会继续下一个步骤,翻一翻样张,看哪一本书的风格更适合自己的胃口。


我之前在学习 C 的时候,下面这两本书最后作为候选:


后来在搜索对它俩的评价时发现,第一本书的理论性更强一些,而当时我的主要目的就是系统的把 C 11 版本的语法掌握好,因为脑袋里理解的 C 已经快变成老古董了,11 版本中的很多语言让 C 几乎快变成一门新的语言了。第一本书与我的目的更匹配,所以我就选择了这一本。


Step3:对胃口


在很多卖书的网站上,都会提供目录以及一些样张;如果找不到,那就搜索一下是否可以找到 PDF 文件来浏览一下。


主要的目的就是看作者的写作风格是否对自己的胃口。两本难分伯仲的书籍中,选择自己喜欢的风格,学习起来也会更带劲一些,因为情绪的力量是无法估计的。


注意:不要贪多,只要以其中的一本作为精读的教程就可以了。如果两本你都喜欢,可以都买回来,以其中的一本为主要学习目标,其他作为交叉参考。


另外,我个人还有一个感觉比较不错的选书途径,那就是 B 站的视频评论区


现在的 B 站,真的是如日中天,从中年油腻大叔到各种二次元,都可以在这里找到自己感兴趣的视频内容。而且 B 站也是我们技术开发人员的福地:越来越多的高质量视频课程都可以找得到,例如:李治军老师的操作系统,侯捷老师的 C ...


在看这些视频的时候,你不妨多看一眼后面的评论,与这个视频相关的其他视频、书籍、博客等等,都有可能被推荐,而且推荐的内容质量一般都比较高


3. 电子书 or 纸质书

每个人的看书习惯都是不同的,有些人喜欢看视频教程,有些人喜欢看 PDF 电子书,有些人喜欢看纸质书籍,每一种都各有优缺点。


我看书比较喜欢做笔记,如果是 PDF,就在学习过程中画思维导图;如果是纸质书籍,我就会在书上写写画画、记录自己的理解。


根据个人的经验,如果是很厚的书籍(超过 500 页),我会尽量选择纸质书


因为在学习的过程中,难免会回过头去参考前面的内容,用纸质书籍就比较方便了,只要记住页号,或者放一些书签,很快就可以找到。如果是 PDF 的话,那么得用鼠标下拉、滚动多次才能定位到前面的内容,很不方便,特别是需要多次来回参考的时候。


如果只能选择 PDF 的话,那么就推荐你多用一些屏幕截图工具来帮助你阅读,例如:Snipast、Quicker,我之前推荐过第一款软件,的确很好用,特别是在看文章、写代码的时候。


三、读书

1. 不要怕弄脏书

我是比较喜欢买二手书籍的,有的时候买回来一看,除了前几张有少许的划线和笔记之外,其他部分就跟新书一样,真的是糟蹋了一本好书。


但是到了我手里之后,如果是作为精读教材的,我大概率会把这本书弄得“满目疮痍”。这不是说不爱惜书本,只有做了大量笔记之后,才能记录下自己的学习过程。


如果认为某一本书是经典想收藏,那完全可以买 2 本,一本用来学习,另一本用来收藏。


下面这张图是 C Primer 里的涂鸦,这算是很整洁的了(请忽略丑陋的字体):


2. 消灭模糊性、不确定性

在学习的过程中,如果是已经理解的部分就快速读过去;如果是经过自己的思考之后,才理解的部分,就把思考过程中的关键节点信息记录下来;如果自己思考之后还是不理解,这时候千万不要放过自己,除了这本书之外,还可以求助谷歌、求助其他相关书籍。


我个人的经验是这样子:如果某一个知识点总是模棱两可,没有一个确定的理解,总是感觉如鲠在喉。如果经过查找其他资料之后,仍然不能得到让自己信服的理解,那么我就会按照其中可能性最大的那个方向去理解。


随着学习的深入,当发现这个强加给大脑的理解,与其他的知识点矛盾的时候,再回过头来对各种可能性进行再次梳理。经过这样的几个来回,就可以把那些模糊性彻底消灭掉。


3. 一定要做笔记

不知道你是否有这样的体验,在看书的时候,眼睛对大脑说:嗯,这部分内容我掌握了。但是如果让你立刻离开书本,你的可能又会对大脑说:我写不出来。


做笔记就是强化自己的理解过程,某些知识点现在可能理解了,但是过一段时间极有可能又忘记了。


有些人说书要越读越薄,也有人说书要越读越厚,这其实是从不同的角度来看的。


对于我来说,做笔记就是一个让书越来越薄的过程。


第一遍看书的时候,可能有 50% 的内容是已经理解的,剩下 40% 的内容是经过自己思考之后理解的(这部分的笔记是重点),余下的 10% 是仍然没有理解的。


那么在第二遍看书的时候,就可以重点看自己的笔记了,把 40% 经过思考后理解的部分再次复习一遍,加深印象,这样就相当于书本变薄了一半。


如果以后还想看第三遍,很可能就只剩下 1/3 -- 1/4 的内容是需要看的,这个时候,你就可以明显的感觉到自己在进步,有很强的成就感


下面是在学习 Linux 内核内容时做的笔记,以后当我想再复习的时候,只要看这些小卡片就可以了。


4. 怎么确认自己真的懂了

首先,你可以参照解 bug 时的“小黄鸭调试法”,把书本上的内容讲给自己听。注意:是用嘴巴说出声音来给自己听,而不是在大脑里自言自语。


其次,把自己理解的过程总结成文章,这应该是更好的方式。别人通过阅读你的文章,从不理解变成理解了,那就说明你自己是真的懂了


以上就是我个人的一些学习心得,希望能够对您有一丝丝的帮助。


最后还有一句话送给你:欲速则不达!




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭
关闭