资讯专栏INFORMATION COLUMN

系统性学习与碎片化学习

raoyi / 1937人阅读

摘要:碎片化学习我们必须学会碎片化学习。碎片化学习也要讲究方法,比如我以前写的谈学习读源码和面试经都有提到碎片化学习的误区,并较之以正确的方法。首先,应该建构起基础的知识体系碎片化学习仍然需要完整系统的知识体系。

4-27在小密圈接到第一次付费提问,喜获8块。庆祝一下。

这个话题也是我在小密圈里和那位同学的交流时产生的。他说他“学习的知识也不系统化”,“学习的知识也比较混乱”。“不系统”暂时没有好办法,但比较混乱一定是个问题,但是几句话说不清楚,所以构思了半天,准备写一篇文章来回应。

TL;DR: 中心思想:

我们以前熟悉的,以学校培训为主要形式,所谓“系统性学习法”,很难适应新时期互联网开发的需求。我们必须掌握碎片化学习法,即在快速建立起基础知识体系后,利用碎片时间,有目的有针对性的吸取专业知识,将其拼接到知识体系之上。使自己能够快速成长,在需要的时候还能及时切换学习方向。

系统性学习

我们最熟悉的学习方法,是“系统性地学习”。从6、7岁上小学开始,经过初高中,一直到大学,几乎都是“系统性地学习”。有人替我们把知识点总结归纳整理成教材,按照从浅入深,先易后难的顺序编排好;保证其中逻辑关系的循序渐进,前因后果;然后规定多长时间学多少内容为合适,多长时间为一个里程碑要进行一次怎样的考试。于是只要智商正常不要偷懒,跟着老师按部就班一二三四五地学,基本最后都能学会。至少,都能通过考试。

然而这套流程里面有一些隐含前提:

教材和大纲适应生产需求

考核考试反应生产需求

市场愿意等待学员慢慢学习,学成归来

在传统行业传统理念里,这样的模式不无不可。然而面对软件开发,尤其是前端开发,这样做就不合适了。近些年,前端的市场需求大大增加,带动大量从业人员涌入,也促使大家努力从其他语言和技术中吸取营养,或者想方设法用现有手段解决眼下的问题。于是,前端技术取得飞速发展,版本号和 API 的升级换代速度之快,连写书的人都追赶不上,更别提教材了。

这种趋势虽然不会持续太久,但另一个趋势随之而来:大家已经不甘于只做浏览器相关开发(本职),而是通过各种转译方案,向服务器端移动端开拓新边疆。其它语言的开发者也是如此。所以,我们必须认清这个现实:作为一名开发者,在可以预见的将来,指望像学校那样,有教材有教学计划,有每日作业定期考试,这样的系统性学习可能在也有不会有了。即使有,市场也等不到你学成归来,那时候,早有掌握新的学习方法,掌握新的工作技能的人占据要位。

碎片化学习

我们必须学会碎片化学习。

碎片化学习绝不是东一脚西一脚,学到什么是什么,而是像拼拼图一样,通过碎片化学习收集知识技能要点,最终拼出自己的知识框架。

碎片化学习也要讲究方法,比如我以前写的 谈学习:读源码 和 面试经:GitHub 都有提到碎片化学习的误区,并较之以正确的方法。那么,完整的正确的碎片化学习方法是怎样的呢?

人类认识世界的过程

我们回想一下人类认识世界的过程,很明显,那是一个循环往复的过程:

看到现象:日升日落,斗转星移

得到初级模型:我们生活在四头大象驮着的一块四方形棋盘式的大陆上,大象下面是巨型海龟,在宇宙中遨游

模型无法解释现象:航船从地平线出现,是先露出桅杆,然后才是船体

模型升级:地球是圆的

模型无法解释现象:星轨不是纯圆以地球为圆心

模型升级:日心说

(如此反复)

重复这个过程,也可以帮我们建立现代开发的知识体系。

碎片化学习的要素

结合我的经验,它应该分为五个部分:

尽快建立起基础的知识体系

通过碎片化的学习收集知识,将其填补到知识体系之上

让知识体系慢慢成长

通过真实项目的实际操练,寻找自己知识体系的不足之处,学习补足

关注本行业内的高人名家,帮助自己确定方向

接下来逐一解释。

首先,应该建构起基础的知识体系

碎片化学习仍然需要完整系统的知识体系。只不过这里的知识体系是由我们自己建立起来的,只包含基础概念,我称它为知识体系v2.0;相对于传统系统性学习建构的、意图在结束学习后立刻解决所有专业问题的知识体系v1.0,它要简单得多:只由这个知识体系的不可变的基础概念构成。

不用担心它小,不完整,我们接下来就是不断丰富不断扩展它。

碎片化收集知识,将其填补在知识体系之上

离开校园之后,我们很难找到大块的时间集中专门学习,只能把学习环境搬到地铁上、公交站、电梯间,利用各种碎片化的时间,见缝插针进行学习。这个时候,想啃掉一本几百页的大部头变得非常困难。但是利用这些时间,一次只记住一个属性或者一个选择器的用法,就还算简单。

我常用的碎片化学习方法包括:

在微博上 Twitter 上关注一些技术达人,技术营销号,及时了解技术发展动态

关注一些常用项目的官方博客,必看更新日志

时不时去一些技术论坛翻看一下

遇到不确定的地方,立刻去翻官方文档;文档无法直接说清楚的地方,自己写成博客记下来

碎片化学习的知识点一定要拼到知识体系上才算数,无论是“读源码”还是“上 GitHub 看别人的项目”,都很难把别人知识拼到自己的拼图上,所以,自然就是不科学不推荐的学习方式。

知识体系也要碎片化

系统性学习的知识体系,比如我们上学时候学语数外政史地物化生,都很庞大。其中概念的关联也很紧密。这建立在前人大量投入教育领域规划总结的基础之上。我们开发领域没有人做这样的事情,也没有那么完整的时间让我们去尽善尽美,所以这个时候我们就必须把知识体系也碎片化,每个知识体系只包含完整语言的一部分内容,然后让它慢慢成长。

通过真实项目的操练,查缺补漏

这一点很重要!

只是跟着别人学,很容易产成“学到”的感觉,即:“哦,原来是这样。”不得不说有不少同学都停留在这个层次,尤其是的面试的时候,很多同学都会在自己简历里堆砌关键词,但是稍微往深处一问就卡壳了,这多半是因为没有实操过,没有真实的经历踩坑与爬坑。

实操的方式有两种,一是在公司的正式项目中使用。这一方面需要自己付出,先摸索个大概;另一方面也要争取领导和同事们的支持。不过一旦推进起来,会给自己带来巨大的提升。当然,在公司里推进新技术新想法未必需要那么激进,直接一上就是完整的框架,推翻之前的重做。完全可以一点一滴,从小处入手,循序渐进。

另外一种就是做业余项目。不过这个项目一定要是完整、目的明确的项目,做出来后有人用,你才会去改进它,才会发现绕不开的坑,填上之后才会获得提升。如果只是弄个小仓库,把范例 Hello world 丢进去能跑起来,是完全不作数的。想不出来做什么,仿一个别人的项目也是可以的;做出来至少自己要用,用的不爽改一改,慢慢的,就能感受到进步了。

关注前辈高人,寻找前进方向

有些同学只依赖公司业务成长,公司只做某些事情,他就只会做某些事情,一段时间后,觉得学不到东西,就跳槽,然后目标薪资随便涨个30%就可以(原帖找不到了)……这样自然是不科学的。所以很有必要关注一些前辈高人,以他们为目标修订自己的方向。

PS:最近面试了不少人,大家普遍比较关注阮一峰,这里提醒大家一下阮先生的文章一定要批判的看,一定。

碎片化学习实例:CSS

这里我们拿 CSS 来举个例子:

a {
  color: red;
}

它的基础知识体系非常简单:

选择器 + 属性名 + 属性值

可以 标签赋予新的样式

初期我们知道它可以修改元素呈现的样式,然后知道它由三个基础元素组成,然后我们就可以围绕选择器、属性、属性可选值来进行碎片化学习。这个时候我们可能认为 CSS 只能改改字体样式、改改边框、弄弄布局尺寸,没关系,这很正常。

一段时间之后,我们突然发现有人用纯 CSS 做出来非常炫酷的组件和效果,原来 CSS 还可以这样用!很好,我们把它纳入我们的知识体系。如此,慢慢的,知识体系就从小小的幼芽,茁壮成长,开枝散叶,直到能应付大部分工作。

在工作的时候,我们要主动把新学到的知识应用到作品中。比如以前布局只会 float,但是经过学习,我们了解到 flexbox 更适合做横向布局,并且几乎所有浏览器都支持,那么我们就可以开始应用它。

工作一段时间,我们感觉 CSS 已经没什么难得倒我们的了,就可以看看张鑫旭的博客,了解一下这个行业最舍得伏下身体研究的人在琢磨什么,有哪些可以借鉴的。

总结

一不小心扯了很多。回顾一下,我认为至少在开发领域,离开校园加入工作之后,再想系统的学习已经不太可能了,一方面几乎没有真正可靠的服务,另一方面市场也等不及。所以我们必须掌握碎片化学习的方法:先建立一个基础的知识体系,然后通过碎片化学习讲知识点填补在这个体系之上,让它生根发芽,开枝散叶,直到覆盖大部分必须的场景;接着还要想办法进行实战演练,保证自己是真的学到了;最后,通过关注行业达人,寻求新的方向。

同步发于我的博客

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111957.html

相关文章

  • 十年铲码,八大体系超千篇数百万字技术笔记系列汇总(GitBook 悦享版)

    摘要:十年铲码,八大体系超千篇数百万字技术笔记系列汇总悦享版十年铲码两茫茫,纵思量,却易忘不觉笔者步入程序员已有十年。十年之期,正巧笔者从阿里离开,重回打印制造业的怀抱,希望能依托于设备优势逐步真正构建分布式制造网络。 showImg(/img/remote/1460000020151971); 十年铲码,八大体系超千篇数百万字技术笔记系列汇总(GitBook 悦享版) 十年铲码两茫茫,纵思...

    MiracleWong 评论0 收藏0
  • 十年铲码,八大体系超千篇数百万字技术笔记系列汇总(GitBook 悦享版)

    摘要:十年铲码,八大体系超千篇数百万字技术笔记系列汇总悦享版十年铲码两茫茫,纵思量,却易忘不觉笔者步入程序员已有十年。十年之期,正巧笔者从阿里离开,重回打印制造业的怀抱,希望能依托于设备优势逐步真正构建分布式制造网络。 showImg(https://segmentfault.com/img/remote/1460000020151971); 十年铲码,八大体系超千篇数百万字技术笔记系列汇总...

    Ashin 评论0 收藏0
  • 某熊的技术之路指北 ☯

    某熊的技术之路指北 ☯ 当我们站在技术之路的原点,未来可能充满了迷茫,也存在着很多不同的可能;我们可能成为 Web/(大)前端/终端工程师、服务端架构工程师、测试/运维/安全工程师等质量保障、可用性保障相关的工程师、大数据/云计算/虚拟化工程师、算法工程师、产品经理等等某个或者某几个角色。某熊的技术之路系列文章/书籍/视频/代码即是笔者蹒跚行进于这条路上的点滴印记,包含了笔者作为程序员的技术视野、...

    yiliang 评论0 收藏0
  • 某熊的技术之路指北 ☯

    某熊的技术之路指北 ☯ 当我们站在技术之路的原点,未来可能充满了迷茫,也存在着很多不同的可能;我们可能成为 Web/(大)前端/终端工程师、服务端架构工程师、测试/运维/安全工程师等质量保障、可用性保障相关的工程师、大数据/云计算/虚拟化工程师、算法工程师、产品经理等等某个或者某几个角色。某熊的技术之路系列文章/书籍/视频/代码即是笔者蹒跚行进于这条路上的点滴印记,包含了笔者作为程序员的技术视野、...

    shadowbook 评论0 收藏0
  • JDK1.8源码分析01之建议(可以延伸其他源码

    摘要:唐老师,回答道读源码是要建立在你的基础经验足够的情况下。除了自己去阅读源码之外,比如学习某个类的时候,可以专门结合一些优质的博客针对性的对比学习,并查漏补缺。制定源码学习计划。多调试,跟踪源码。如若有好的学习方法,可以留言一起交流学习。 序言:目前看一看源码,来提升自己的技术实力。同时现在好多面试官都喜欢问源码,问你是否读过JDK源码等等? 针对如何阅读源码,也请教了我的老师。下面就先...

    ky0ncheng 评论0 收藏0

发表评论

0条评论

raoyi

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<