老程序员教你如何提升开发效率、成为大神4——快速学习方法

最近半年因为疫情影响,接了不少开发任务,也在没有足够资料的状况下不断的踏Spring Cloud的坑。好在最后仍是挺了过来,紧张的外包开发工做让我也鼓起勇气开启了本身的创业之路。隔了半年之久,才想起更新专栏,还望各位读者海涵。算法

第四篇、快速学习方法

1、目标和路径

浩瀚的知识海洋,咱们每个真正作技术的人总会保持着对知识的渴望和希冀。也仍然会有不少人对于知识的理解仅限于在金钱观层面,这无可厚非,毕竟存在即合理。不论怎样,作任何事情(包括学习),目标必定不能惟一,路径必定是多样的编程

一、目标必定不能惟一:框架

第一目标很难达到,这时候就须要树立第二、三、四、5的目标,依次将目标降级,而且要选取不通的角度去选取目标、互相依赖,第5个目标便是咱们现阶段最有可能达到的目标。举个例子,好比最初学习Java的目标多是“依靠编程出任CTO、迎娶白富美、走上人生巅峰”(事业领域),那么对目标降级,第二个目标或许就会是“成为人人敬仰的技术大神”(社会地位);再次降级,第三个目标是“融入一群真正踏实作开发的人中”(社交需求);再次降级,第四个目标是“找到一份使人满意的工做,能自给自足”(生存须要);再次降级,第五个目标是“能享受到创造的快乐”(知足心情)。所以只要你努力的同时实现你所设想的5个目标,你会发现其实虽然互相有依赖关系,但你学习时作的每一件事情均可以让你的大脑快速分泌多巴胺。别人只有1个目标,你有5个目标,别人失败了就真的宣告本身失败了,可是你即使是第1目标失败了,还有4个目标多是成功的。学习上的挫败感是杀死学习动力的罪魁祸首。当本身很艰难的时候,总要有什么东西给本身的信心保底。函数

二、路径必定多样:学习

每一个人的经历都不同,因此在学习时造成的我的版本也不同,对知识的接受程度也并不同。字体

好比一个班的学生一样是学水流压强,老师讲了泰坦尼克号这部电影里,不少人即便拼命游也仍是被卷进海里,有的同窗能学会,有的却学不会,可能只由于学不会的同窗思惟还卡在“泰坦尼克号是什么”上。视频教程上老师说Java的包其实和C#命名空间的含义是同样的……没用过C#的学生:What?网站

所以初学一个知识体系,至少要有两个知识来源,用来互相用他们本身的话、经过不一样角度来解释你不懂的事情。若是两个知识来源对同一个概念产生了不同的说法,则须要再次寻找第三个知识来源(知识来源包括官方文档、书籍、视频教程、百科网站)。切忌知识来源要精而美,避免杂而乱,不要只顾权威资料,碎片知识也值得一看。this

有了多个知识来源的好处在于,即便是做者、老师讲错了,你也能够迅速理解含义,不影响你运用知识,没有绝对的对错,只有多是所讲的角度和点你没有get到。知识必定是多维度、多角度造成的,而不是单一角度。好比说“猫”这个概念,维度1:“动物”,维度2:“不能够吃”,维度3:“很可爱”,维度4:“有尾巴,耳朵尖尖的”……。用一样的模式去理解“进程”这个概念,维度1:“程序运行就会有”,维度2:“能够杀死”,维度3:“会占用资源”,维度4:“操做系统控制的”……。只有多维度多角度去理解,知识点才能汇聚成知识。spa

2、认知决定效果

学习,实际上是两个动做,一个是“学”(学会),一个是“习”(练习)。感受本身懒,学不动、不想学、不知有什么用、没办法练习、没机会实践,甚至到自暴自弃,这都是本身对于学习的认知不足形成的。学习绝对不等于死读书、读死书,它是学会和练习的总和;而达成学会的目的,除了须要读书外,还须要接受培训、交流、讨论;达成练习的目的,除了实践外,还须要组织教学、具象演绎、凝练汇总。操作系统

接下来就是增强须要对本身的认知和定位,学习者大体可分为常人、学术者、明智者、未悟者。

常人对于知识的认知应当戒骄戒躁,学会了知识要避免骄傲(由于一学就会,一用就废),以避免阻碍获取更高级知识的动力;若是仅仅从一个维度学会了知识便有了抑制不住的骄傲感,那恭喜这我的,他如今正在愚昧之峰上(达克效应),急需一个外力把他推向绝望之谷。固然若是此人读过本篇,便会知道如何把本身推向绝望之谷:找几个不一样维度的知识来源、试验项目来验证本身。若是时间长了,开始习惯于曾经的知识体系,进入了一个温馨区,则须要时刻去主动寻找不一样的对手,以此来警告本身:“比你厉害的人还在更加努力”,不怕本身很牛,就怕没有对手。学习要制定计划,若是遵照计划,就要给本身一个短时间奖励;若是破坏计划,就要受到惩罚,言必行,行必果。

学术者对于知识的认知本就理性(咱们你们常说的技术狂热爱好者),应当将重心放在与他人的知识交流上,增长情感上的共鸣。学术者使知识能快速增加的办法只有一个:得到你们的尊敬和礼遇。所以学术者要勇于去当别人的老师、勇于去和权威多沟通交流。得到了更多的赞美,学术者便更想研究更前沿的技术。一旦学术者的学者心态筑成,自尊就是每一块知识的基石,那么周围人一旦有蔑视甚至侮辱行为,学术者每每会在学术上失控,开始浪费资源、精力寻找局部最优解以自证观点,这是学术者值得注意的一点,这种情绪对学习知识彻底无用,甚至会影响职业生涯。要为志同道合而治学,只接受积极情绪,拒绝消极情绪。

明智者每每对技术并不狂热,但经常一学就会,上手就能工做(传说中的天才)。事实上天才的学习自有其学习方法,天才的比例在人群中也并不低,但为何明智者每每遇到新技术就会很局促。主要缘由是由于明智者主要学习的动力是来自于实用主义,构筑的知识体系维度单1、片面(由于底层逻辑是:只靠极强的理解力经过单一知识来源即可以学习,为什么要浪费时间再学一遍?快就完事了,毕竟本身是天才)。这与学术者对于知识的狂热而无差异的学习是不一样的。若是未读过本文,每每连明智者自身也不知道本身是否是属于学术者。明智者彼此之间在技术交流时应避免炫技,由于炫不过就会产生抵触,好比“JS链式调用不优美,反复返回this会调用栈溢出”、“Java不能热部署很正常啊,由于元数据空间不能访问”,从而错过不少技术上的可能性。在遇到学术者时,由于学术者自带气场,应当理解其骄傲和自尊,避免嫉妒,有些技术明智者不理解很正常,因此当学术者张口闭口“MDD、BPMN、RBAC、RDF、RFID、AIoT、OpenBCI、LowCode……”的时候,多听听他们在讲什么,千万不要拿实用主义理论来驳斥:“它如今看起来没什么用”,也许3年以后就得用上,明智者一定要克服的就是恃才傲物。

未悟者在人群中属于少数派(如何学也学不会)。其未能开悟的缘由主要是由于从最开始就放弃学习,安于现状,缺少主观能动性,所以不能自我完成学习。那怎么能让未悟者开悟呢?这就须要有强执行力的管理者来办了:经常用冗余工做任务考察其应当掌握的知识点,把未悟者应该会的诈出来:“你说说,你这里写的究竟是传值仍是传址!”,未悟者思考片刻:“应该是传址”,而后开悟:“我好像是写错了”。每每未悟者是经由上一轮知识体系升级、新技术普及而被淘汰,且未能跟上节奏的常人转变的。于是未悟者如有一天忽然想起应当改变一切的时候,须要重新知识体系的常识入手,按部就班,越急躁,越容易失败。

常人在懈怠的时候会转变为未悟者;未悟者在被工做任务逼迫的情形下获取了主观能动性会转变为常人;常人意识到自身不足,从而逼迫本身,会成为明智者;明智者因否认他人,会逐渐转变为常人;明智者无差异的学习、构建庞杂的知识体系,会转变为学术者;学术者因在意自尊而片面罗织能证实本身理论的证据,会转变为明智者。

3、几种快速学习方法

上面为什么这般长篇大论目标、路径和认知,由于若是连本身都不了解本身要作什么,何谈学习。只有本身的大脑彻底赞成本身要学习,而不是仅凭着一腔热血,才有可能将技术学习这件事情作到极致。要把学习当作看风景同样对待,是一种美好的体验。

一、客观环境准备

若是决定连续几天好好学习,那么不妨把手机锁起来,晚上9点30左右睡觉,睡前洗个热水澡,次日天然醒,吃过早饭后认真洗漱一下、连续一成天忌烟忌酒。书桌和电脑桌尽量保持整洁,泡一杯茶开始一天的学习。好的身心环境才是一切美好的开始。事实证实,身体或心理上的任何一种痛苦,都会阻碍学习的效果。从一开始要相信本身能够高效的学习,这是你的本能,彻底不须要逼迫本身。

二、读书的方法:2小时速读

注意,永远不要记笔记,这是很浪费时间的。先花费20分钟时间翻遍每一页,寻找全部没见过的概念,努力理解几秒,若是暂时不能理解则跳过。再重复这个行为2-3遍,此时一个小时过去了。你将会发现你奇迹般的理解了不少概念,又彷佛多了不少的问题。不要紧,咱们把那些没弄明白的问题再放到网上搜一遍,约1个小时后,你对这本书的脉络就很清晰了。

什么文字不要去细读:一段文字以“随着”、“从XXX年代开始”、“XXX是XXX专家,作了XXX事情”、“人们意识到”……诸如此类的开头,就没必要细读了,由于读了也记不住。

什么文字须要牢记:目录结构必定要记住,字体加粗的必定要记住,第一次出现的函数、API或者语法结构必定要记住。

原理是什么:做者在写书的时候,思惟是跳跃的,经常会忘记解释清楚基本概念,于是在日后写的时候,一旦想起来便会在下文作出说明,毕竟以前的文稿都已经排完版,不想作出改动。因此看不懂不要紧,可能翻到后面就解释清楚了。而不少做者在写书的时候也是基于一些很简单的点和脉络在撰写,甚至两张A4纸、一盘花生米、两瓶勇闯天涯就能说明白(也就差很少2小时)。但问题是为什么要长篇大论:一是为了可以从不一样角度阐述,二其实也是为了凑字数。所以没必要细读的那些文字极有可能只是做者经过阅读其余文献,再用本身的语言诉说出来而已。做者粘了200行代码上去,核心想阐述的可能也就10行代码,1个API而已。

(由于大多数读者和观众只想知足本身对知识的占有欲,占有欲属于物欲的一种,所以书籍越厚越好、视频越长越好。谁也不会相信2-3张A4纸的薄册子会把知识讲明白。而知识是有价的,创造和传播都须要投入资源和成本,2-3张A4纸要是卖100元,你会去买么?对学术者,再深奥的知识,凝练成2-3张A4纸足够理解了。对明智者,凝练成10页A4纸也足够了。对常人,30-40页就已是记忆极限。而对未悟者,纵使书籍再厚,也不会去翻看。)

三、视频教程的学习方法:2倍速+快进

一开始看视频教程采用2倍速播放不少人会不习惯,但毕竟时间就是生命,应当渐渐习惯2倍速学习视频教程。依旧千万不要记笔记,能用大脑记就尽力用大脑记住。当视频教程的讲师讲到你已经学过的地方时,要绝不犹豫的跳过。视频教程和书籍同样会存在不少冗余内容,录视频的老师会尽量的搜集一些小故事、高级黑、笑话来让你感受轻松,这些是彻底能够跳过的。

另一个问题就是,是否是看视频的时候要跟着作一遍?因人而异吧,学术者和明智者不须要作就能够快速理解。常人是须要跟着在电脑上操做一遍、巩固记忆的。而未悟者最佳的学习方式是项目和工做任务驱动,甚至要直接与KPI、OKR、末位淘汰制挂钩,没有压力的状况下,是不会主动看视频的,所以全部的操做,也要紧密和工做任务相关。

四、背诵API、概念和英文的学习方法:7x8分组背诵

背诵API的好处在于:一、能够快速上手一个新的语言、框架 二、造成命名规范和印象,本身写代码的时候有素材。 三、API互相组合套用的时候信手拈来,没必要再百度去搜寻能不能作到。

有人会以为背诵API、概念很傻,可是要在头脑中快速将API、概念组装成方案或预判可行性时,才会发现大脑一片空白。

以JS的Document对象API为例,能够在本上每7个一组记下这样的内容,中文必定要控制的字数越少越好

而后每一个API按单词默读7次(若是单词不熟悉,须要按字母拼读,仅凭大脑默读,勿读出声音,驱动发声器官会使其机械疲劳,效率逐渐降低,这个苦没必要去吃),再到下一个。这样一组API默读49次便可有印象(平均每一个API耗时10秒,一组耗时约1-2分钟)。

接下来档上英文,每一个API回忆一次(仅凭大脑回忆,勿手写),反复这两个步骤,直至这7个API能记住(平均每一个API耗时2秒,一组耗时约15秒)。而后再挡住中文,看着英文API来回忆中文含义(很重要,由于大多数人极可能懂得中文到英文怎么说,但是看到英文依然不懂其含义)。经过这种方式在头脑中创建双向映射回路。

拿8张这样的卡片(或者笔记本上记着的8组),共56个API。按如下顺序进行:

背1组、测1组;背2组,测2组;(耗时约4分30秒)

测一、2组;倒测二、1组;(耗时约1分)

背3组,测3组;背4组,测4组;(耗时约4分30秒)

测三、4组;倒测四、3组;(耗时约1分)

测一、二、三、4组;倒测四、三、二、1组;(耗时约2分)

背5组,测5组;背6组,测6组;(耗时约4分30秒)

测五、6组;倒测六、5组;(耗时约1分)

背7组,测7组;背8组,测8组;(耗时约4分30秒)

测七、8组;倒测八、7组;(耗时约1分)

测五、六、七、8组;倒测八、七、六、5组;(耗时约2分)

测一、二、三、四、五、六、七、8组;倒测八、七、六、五、四、三、二、1组;(耗时约4分)

总计30分钟,便可完成56个API的记忆。注意天天不要超过这个量,不然大脑会陷入疲劳状态。

五、逻辑推理学习

涉及到逻辑复杂、具备算法的知识时,须要借助流程图、脑图、UML序列图、类图来剖析复杂知识体系的结构。特别是相似于支付、调度、流程、交互类的技术,不妨先把各个设备、角色、模块画在纸上,每接触一个流程,就画条线,一条线赛过千言万语,一切皆有输入、输出和其自身逻辑构成(PMP的重要思想,也是UML的重要思想)。最终造成的图形多看几遍,便会完全记住。

好比下面这张图就很容易记忆了,若是用文字描述,须要大篇幅说明:

六、传道授业

接受知识最快的方式是给别人讲课。比较尴尬的是,咱们如今可能并无要听我们讲的人。为了打破这个僵局,咱们要为将来准备,学到的东西我们当即作成MarkDown、PPT、Word、事先备上课,没准真的有一天就能让你来说述所学的内容。

传道授业也是有方法的,若是你真的想把一节课讲得使人佩服,就不得不提到美国梅瑞尔教授提出的“五星教学模式”:一、聚焦问题;二、激活原有知识;三、展现论证新知识;四、尝试应用练习新知识;五、融汇贯通,触类旁通,发散思惟。

依据这样的原理而制做出来的MarkDown文档或者PPT,即便是有一天本身忘记今天所学的技术,回顾起来也能很快把技术吃透。

 

以上就是我多年来总结的一些学习方法,但愿能帮助到各位。