Skip to content

读者问题|关于如何学习的讨论

Posted on:January 13, 2020 at 11:23 PM

一个读者的困惑,我做了简单的解答,希望能对他有所帮助。

##image-20200113232252758

##1. 如何把一个知识由浅入深的学习?

见问题 2

##2. 那些写技术文章的作者,为什么对某一知识或某一框架理解得那么深入,是如何学习的呢?

我觉得有以下几点:

  1. 使用的多,踩得坑多,经验丰富。
  2. 花时间深入研究过原理。
  3. 思考过这个东西的价值以及为什么会出现(这个点很容易被忽略,我的那篇从历史的长河中聊虚拟 DOM 的意义就是这个点)。
  4. 思考过这个东西能给自己的业务带来什么帮助,然后紧密的结合到自己的项目中。

如果你觉得这几个点感觉你都懂,那我问你几个问题,比如你在你们公司想引入 React 来做项目。

我想表达的是在学习一个东西,或者说想深入一个知识,不仅仅知道它是什么,怎么用,还要去了解它为什么会产生,能带来什么价值,解决了什么问题。这样在你判断是否引入这门新技术才有充足的理由,否则就是追风,看到这个东西比较火,可能你根本就不需要,然后引入了反而给自己增加负担。

在你想知道它解决了什么问题的时候,可能就会思考为什么它能解决这个问题,然后再去寻找这个答案的时候就会深入他的原理,加上自己大量的实践,慢慢的就成为这个东西的专家了。

##3. 什么时候去接触和怎么去学一些规范文档?

我想你说的规范文档应该是官方文档这种吧,然后下面讨论的都是基于官方文档。

官方文档我一直是把它当做完善我知识体系的东西来看待的,而不是入门教程。毕竟官方文档是给所有人写的,不管你是没使用过的,还是使用过很长时间的,所以就导致大部分的内容都是比较官方的,所以就导致不一定适合你。所以才有了各种各样的教程,因为每个人的所拥有的知识不一样。

另外官方文档也不会告诉你哪个知识点重要,哪个知识点常用,它只会告诉你有这个东西,这些东西都是需要在实战中去得知。

特别是对于 CSS 标准,或者 Javascript 标准这种,不到万不得已是不会去看的,东西又多,又不适合新手阅读,但是在你看到网上有不同答案的时候,就非常适合去看标准,平时就看看书、看看博客、看看视频教程就行。

4. 如何处理网上的技术文章以及实体书?

我觉得首先要明白文章和书的区别是什么,然后才能正确的去使用他们。

我们一般对书的认知是对知识成体系的介绍,书是比较的全,是对整个知识比较全面的介绍,另外由于写书比较的耗时,所以往往书里面的内容都是晚于知识点出来很久的,比较适合那种很久不会变的知识。

知道了书的特性,那么我们何时需要去读书呢?

我觉得应该是在你想打造或者说完善你自己的知识体系的时候就一定要去读书,特别是像那种《xxx权威指南》这种,就特别的适合用来完善知识体系的。

但是一本书不可能把方方面面讲完,都是会有侧重点的,就拿学习 JavaScript 来说,想学好《JavaScript高级程序设计》又称红宝书、《JavaScript权威指南》又称犀牛书是不应该绕过的,那么这两本书又有什么区别呢,这两本书都很厚,理论上讲得都很全。

这两本书都会把 JavaScript 最重要的东西肯定都是会介绍的,但是红宝书侧重于程序设计,相对来说比较注重实战一点,所以对于原型、继承这种在程序设计方面较多的知识点会用大量的篇幅,然后举很多的例子,这样更利于我们的程序设计。

而对于犀牛书的话他的侧重点在于权威,那么他的侧重点就在于全,要比所有的 JavaScript 的书都介绍的更全,相对来说比较偏理论。

因为每本书都会有自己的特点,就是侧重点不同,所以在看实体书的时候就要看自己需求,如果想提高自己的程序设计能力,就看红宝书,如果想查漏补缺,看看自己是否对 JavaScript 全面了解,就看犀牛书。

其他的书也一样,对于技术书我一般的习惯都是带着目的去看,而不是像一些消费型的书随便翻。

再说说技术文章,技术文章他的特点就是可以做到很新,但是质量参差不齐,而且很容易传播错误的知识。

因为文字的复制能力太强了,然后对版权又没有很高的要求,所以很多技术文章都是东抄一点,西改一点,所以导致有可能一个错误的观点,然后很多人在写文章的时候都去引用了,当你看到不一样的时候就会懵逼了,到底哪个是对的呢?

最后总结一下,对于想深入和全面的掌握一项技术的时候,一定要去看书,而对于新东西,或者很小的知识点看技术博客是非常好的渠道,具体怎么去处理,真的得看自己是想把这个知识学到什么程度,想学深就一定得看书。

5. 真对你的状况的回答。

我觉得上面回答的东西已经给你答案了,在第三条。

另外我想补充你说的 有时候真的一篇接着一篇就学不完我想说两点:

  1. 每个人都不可能什么都会,我觉得应该多思考目前对于自己重要的是什么,然后再针对性的学习,而不是看到什么新东西就去学。
  2. 对于一个知识点应该有那种通过自己的逻辑把这个知识点解释通的习惯,而不仅仅是看别人是怎么介绍这个东西的,别人写的东西是在给你查漏补缺的。我自己很有体会的就是关于函数式编程和 React 原理相关的,我觉得我自己有一套理论,花了很多时间去研究出来的,这样我再看别人的文章我心里就很有数,虽然用不同的方式去解释,想表达的东西是一样的,所以一旦你自己对某个点再花了大量时间去研究,有深刻的认识的时候,你会发现别人写的东西你早就知道了。比如你自己把原型的东西搞得很明白了,能给小白都能讲懂,以后大部分的原型相关的文章就可以不看了。