如何学一样新东西
虽然我很想激起各位学习的冲动,不过我还是得说,自己在学习的时候,大部分都是痛苦的。特别是要学一样之前从来都没接触过的新东西,从门外到门里,总得过几个坎儿,受几次折磨,停一停,再过几个坎,再受几次折磨,才能有点收获,迈到门里边儿。最近我特别留意了一下这个过程,总结一下,与大伙共勉。
动力
冲动并不都是坏的,DNA 里包含这玩意儿,一定有它的意义。冲动是学习的源动力,你总得有个理由让自己学习,最好你是主动的,比如你想去改变点什么。我记得很早以前,手里拿着一本 Foxpro 的书,看进状态以后,觉得时间不够用了,后悔以前怎么浪费那么多时间,这要是学会了,绝对可以改变工作上的某些东西,脑子里像有闪电一样,来回滚动着信息,咻咻地 … 这应该就是冲动。
愉悦感,某种东西不知道触动了你的那根神经,会带给你愉悦感。早前,我经常在电影上有这种感觉,上学的时候互换 VCD – 正规电影:) ,拿到碟的时候,那个喜悦,三万块钱换不来。近几年,我想要是能学个什么新东西,然后又想能做出视频给大家看,也有一种愉悦感。
受点刺激也会有动力,可能往往就是一句话。受刺激会让我小宇宙爆表,我 x 地要怎么怎么样。这种刺激带来的是一种反动力,受的刺激越大,你的动力也就越大。不过得小心,到一定程度可能要抄起菜刀,我 x 的劈了你 y 的 …
有回参加一个培训,课下老师跟同学一块儿闲聊,我也在旁边,老师说 “ 他就是一个职专生 ”,虽然不是在说我,不过还是被刺激了一下。上班的时候,一个大姐在我桌旁边打电话,聊到什么,说了一句 “ 一帮临时工 ”,这位大姐平时对我们很好,后来又给我介绍了工作。你说我得是多么脆弱的一个人啊,情商忒低 …
冲动的想改变点什么,一本书在看它之前可能会带给你一种奇妙的喜悦,被嘲笑,嫌弃。这些都是让你决定要做一件事的源动力。不过,他们都是短暂的,你要有行动,并且进入另一个状态,准备好漫长的折磨,喜悦,被虐,又被折磨,或许你会有点喜欢上这种被折腾的感觉。
资料
冲动让你决定了,要去学点东西,假设您想学的是一门计算机技术。下面就得找点学习的资料,你可以参加本地的小型聚会,可以听线上的直播,或者录制好的视频教程,在线做做模拟练习,书也非常好。
我的主要选择是:视频 — 文档 — 书 ,配合使用搜索。我觉得视频是最直接的,可以让你快速了解一个东西到底是怎么回事,而且不用自己动手。入门视频不能太长,只讲主要的,去掉废话。在动手练习的时候,可以再去看看文档,这个文档就是技术官方提供的,比如你学 Laravel 就去它的官方看一下他们写的文档。书,也得找两本看看,有时候可能是比文档更好的选择,有时也很糟烂。
遇到具体问题,要使用搜索。Google 能帮你解决任何问题,听说又快回到中国了,欢迎 ~
学习
学习之前,寻找合适的学习资料会耗费我大量的时间,可以选的太多也不全是好事,因为你很容易在不同的资料上来回切换,一会儿看看视频,又去查查文档,再去翻翻书,又想自己动手先练练。这种来回切换,结果都不会太好,最终就是精疲力尽,脑子紧绷着,这不是好的学习状态,开始出现排斥反应,听的,看的全都没用,这时候你最好停下来,干点别的。
选料
选择视频的时候,这人一张嘴说话,你就知道应不应该继续听下去,如果他一开始就做一大堆自我介绍,或者绕来绕去完全不知道他想要干啥。快说,你想推销的是啥玩意!! 这种视频是初学者的杀手,很容易就没了兴趣,我好不容易来的灵感,全被你 y 的给干掉了。文档或者文章能不能看,我有一个判断标准,就是看他的网站设计,还有排版,如果不够清晰,很乱,这家的文档或文章,八成你也没法能看懂。
当个傻瓜
初学者最好的心态是当个傻子。既然选择要从别人那儿学习,开始就应该像傻子一样,完全投入。初学者要减少自己的想法,跟着别人练习,完全按人家的套路,这时候你的想法会害了你自己。出了问题先从自己这里找毛病,不要自作聪明,总觉得都是别人的错。这也是我经常犯的毛病,不过现在学乖点了。
陌生的词汇
是我胆小还是什么,惧怕陌生,这是天生的。 isomorphic,这 tm 是啥意思。专业名词让同行之间的沟通变得简单无障碍,不过对于初学者来说恰恰就是障碍,甚至是灾难,我猜有 80% 人的学习热情得死在这上。我的建议是,你不需要立即明白这些词是什么意思,往往他们并不是最重要的。
我见过有人这样描述 “做网站要注重 usability ,同时又兼顾 accessibility ”,这句话里可能有两个词你从来没听过,但是你大概能猜到这人说的是什么意思,usability 与 accessibility 很可能说的是网站的两个优点,那你这样理解也就差不多了:“做一个简单又好用的网站” 。
我就经常这样,在学习的时候,纠结某个词,某个陌生的概念,很快被这些东西湮灭了。其实可以假装一下已经懂了,先混个脸熟就行。看多了,大概也就明白它们是啥意思,就像你现在看到的这些文字,不也就是看久了,才认识的吗。顾全局,先去理解整个东西的原理跟工作流程,再来弄细节。
搞定整个家族
知识也需要一个 Package Manager (包管理)。学一样东西可不是简单的就只学它老哥一个,做好准备,你可能要搞定它的整个家族。听说单页面应用不错,嗯,去学一下,先找个框架用用吧,React 好像挺不错,学一下。安装说明里提到的 npm 是什么?哦,教程里说现在可以用 ES6 了,去学学有什么新功能。啊,还得编译,好吧!Babel 这个工具可以转换 JavaScript。模块好像能更好的组织应用,怎么加载打包它们呢,这时候 jspm,webpack 这些东西又出现在你的视线。啥,React 跟 Flux 模式能配合得不错,Relay 是个框架,不过你还需要一种更好的方法为应用提供数据,这是 GraphQL 又出现了。
动动手
“我完全不明白 xx,真到我亲自动手 xx 。”