其实学习方法这个事情,我没啥发言权,因为我自己本身都是没啥方法可言的,就瞎折腾那种,但是大家想看这样的一篇文章,我就结合身边比较优秀的仔,那就聊一下这个事情吧。
写这个文章的的时候我构思了很多种写法,因为考虑我读者很多大学生,也有很多毕业的仔,想照顾所有的群体,那我整个文章会从读书时候的一些学习方法,还有就是工作之后的工作学习方法去写,这个思路应该也ok。
回忆
在大学期间,我自己本身是没啥学习方法的,就是一头莽进书本视频里面,大一打了一年LOL,大二迷途知返(主要是被学霸的哥哥姐姐DISS了)自己也发现玩下去不是办法,于是去图书馆肝了一年,这个时候把专业知识和很多东西都补上来了。
实践是检验真理的唯一标准,这句话大家一定要记住,多实践,我最开始学C语言,发现书本看了之后自己觉得自己无敌了,一去写代码,异常满天飞,指针都不知道跑哪里去了。
于是,在图书馆的我,那个时候基本上是,实践+看书+看视频,因为我是硬件专业,那时候就拿了很多电子元器件去做实践,那个时候是收获最多的时候,也是觉得时间过得最快的时候,也是我最充实的时候。
想起那时候陪在我身边陪我做硬件的曾经的女同学,我的眼角,又湿了……
列出计划
吹逼吹完了,我们言归正传,在学习之前我个人认为,不管是学习软件知识,还是学啥东西,个人认为,列出一个学习计划,这个绝对对你有很大的帮助,不然你漫无目的的去复习,最后发现,都学了啥呀,就很懵逼。
那一个计划应该怎么列,以及需要列一些什么东西呢?
我就从我个人的习惯角度去给大家说下,我在列计划的时候是怎么做的,以及我从什么角度去做这个计划的。
时间规划
我觉得计划里面,对于自己时间的规划是很重要的,比如你现在想学习Redis相关的知识点,那我觉得你至少得给自己一个大概的时间规划,比如你要用一个月的时间去学完Redis所有的基础知识,再一个月的时间去学习Redis的进阶知识这样的。
为什么要进行时间规划?
不进行时间规划,我想大家很容易就被各种琐事打断,比如看着看着你就去刷抖音,刷B站了,对不对?我想我应该没有说错吧?
那如果你规划了时间,你一个月要看完基础知识,你细化一下你的时间,你看的时候就发现,今天的任务我还没完成,那我先完成了再刷手机吧,相当于给自己一个指标了,没完成就别玩。
我自己某段时间的大事件规划,可能没那么细是天维度的:
那我们再看一下学霸的计划表,精确到分钟的那种:
这个的计划我想你严格执行了,坚持下去,量变会引起质变的。
列出要学习的知识点
看到这里很多小伙伴可能会疑惑了,什么叫列出知识点,这其实是我个人比较喜欢的一个点吧,还是用学习Redis举例,你想去学习他相关的技术栈,你想学什么呢?
是不是在开始前大家都是很懵逼的?你知道你要学这个技术栈,但是你要学习这个技术栈的哪些点呢?
是不是很疑惑,那如果你把知识点列出来,我想结果就是另外的一个样子了,你现在要学习Redis,那你就从基础开始嘛,那就列个清单写上基础,到时候你要去看基础的时候,你就会从他的基础知识,还有他的几种基础类型看起来了。
基础结束了你就想了解,缓存经常应用的场景,已经使用之后会出现的问题,比如持久化机制,缓存击穿、雪崩、穿透等等。
等那些都了解了,你就想知道,缓存里面的高级技巧比如BloomFilter,RedisSearch,Redis-ML等等。
这些东西如果你不列出来那我觉得你不管是看书还是看视频,到最后都无法形成知识体系的。
大家还记得那个电子科技大学的课代表么?他在学习Redis相关知识点的时候,就列了很详细的知识点脑图,这个真心很能帮助到大家的。
不知道大家发现没有,这样的仔,不管是学习,还是工作,你们难道不觉得事情交给这种人,就很放心么?
那提到脑图,我也说一下做脑图的重要性吧。
画脑图
这个是我工作以来,一直都很依赖的工作和学习的方式,就是做脑图,工作中大家也会发现身边的仔,基本上也都会或多或少的做一些脑图,去辅助自己设计系统,或者去了解学习一些知识点什么的。
他可以做详细设计,做概要设计,当然也可以做我上面提到的时间规划,以及知识点清单啥的,就是课代表做的这种。
学习一个技术栈,其实到最后是一颗技术树,就比如我最近在写的《吊打面试官》java基础系列,我其实就会去列出,java基础相关的知识点,然后看哪些面试常问,适合拿来写文章,这样写,思路非常清晰,不然我漫无目的的写,估计我不疯,你们也应该会疯掉的吧。
可以大致看下,基础方面知识点我的大致内容
做脑图的软件,我这里给大家推荐两个,这两个我都有在用,说不上好坏,一个在线方便,一个功能齐全,样式更多样。
工具:Xmind/ProcessOn
Xmind官网地址: https://www.xmind.cn
ProcessOn在线作图地址:https://www.processon.com
做笔记
俗话说得好,好记性不如烂笔头,大家不管是看视频,还是自己看书,我觉得,做个笔记太有必要了,你可能会说我是天才来的,过目不忘,我不信!
千万不要太相信自己的记忆力。
很多时候甚至我们转眼就会忘记很多事情,那还指望脑袋能记多少?
所以我身边自己的包里,就有两个笔记本,一大一小,一个是平时随手记琐事的,怕自己忘记的,一个就是打草稿,或者随时涂涂写写的笔记本。
小伙伴说我都是电脑或者Pad上看视频,看书啥的,我也不想写字。
那就用笔记工具咯,印象笔记、有道云笔记等都是不错的选择,个人用的印象笔记,从大学到现在用了很多年了,还是很不错的,也承载了我的很多记忆,基本上有我学硬件,到学软件这一路的笔记了,也有一些婆娑的话语,我是话痨来的嘛。
印象笔记、有道云笔记
- 印象笔记官网地址:https://www.yinxiang.com
- 有道云笔记地址:http://note.youdao.com
看书
我记得我写过一个书单集合的文章,里面有很多我和身边朋友看过的书籍,我还有我身边的朋友都不止一次安利,看书这件事情。
万般皆下品惟有读书高、书中自有黄金屋、黑发不知勤学早,白首方悔读书迟、书犹药也,善读之可以医愚、用宝珠打扮自己,不如用知识充实自己、鸟欲高飞先振翅,人求上进先读书……..
我想关于描写读书的谚语都不用我在过多的赘述了,读书我想也只有好处,没有坏处的,还是那句话,作者都是把自己几年甚至几十年的总结,都在写在了书里,就算有错误的点,大的方向大家还是能收获东西的。
实体书!!!我墙裂推荐大家买实体书,看实体书大家可以写写字,涂涂画画,还可以随时翻阅,主要是尊重原创嘛,经常看到有人分享什么盗版PDF,我个人是嗤之以鼻的,比较鄙视这种行为,花50-100左右的钱,买一个格局,买别人十几年的经验不香么?还白嫖?
就像很多看文章,不点赞,白嫖我的人才一样,哈哈,开个玩笑。
了解一个新的知识点,技术栈,看书是不二之选,我个人也比较推荐这个,看书的时候你的心会没那么浮躁,其实看一本书你规定每天看十几页,一本300页的书,也一个月不到就完了,很是很快的,根本不浪费大家多少时间。
看官方文档
看书你可能不想看,那我觉得文档,也是一个超级不错的地方,像我自己在学习Redis啥的,我就是看官方的文档的,其实我经常好奇,大家为啥不喜欢看文档?
因为我们技术博客写出来,我们大部分都是参考官方文档的,有时候也会有理解的偏差,导致传达一些错误信息,那这个时候你就需要一份官方文档救命了。
一般文档,都比你想象得要详细很多,基本上也会涉及到所有的知识点,例如Redis文档:
逛博客
作为一个技术人,把逛博客,养成一个跟大家刷朋友圈一样的习惯,我觉得很有必要,因为博主很多大牛,比如阿里,多多,字节,腾讯等等公司的大佬,很多都有写作的习惯。
我自己认识的阿里朋友,超过1/3都有自己的技术博客,在博客里面,没事逛一下,我觉得也是不错的,总能学到东西的嘛,而且还有类似那种又能跟你聊生活,又能跟你一起交流知识的博主,真香啊。
博客我也总结了一些平台的特性,大家可以对症下药,看自己想看什么类型的。
掘金:是一个帮助开发者成长的社区,是一个面向互联网技术人的内容分享平台,是的社区这两个字很醒目,这也是我个人认为掘金的最大特点,15成立的他很年轻,我是在大学的时候我姐姐推荐给我的。
当然你现在也知道了我也经常在掘金发文,从一个知识摄入者,变成了一个知识的分享者,他社区的特点一览无遗,是一个很包容的平台,里面前端到后端我觉得界限没别的平台那么明显,说他是社区是因为,他有分享生活,分享技术的种种文章,甚至有种看朋友圈的特点。
CSDN:这个也是我姐姐在推荐我看技术博客的时候,一起给我推荐的,不过在姐姐推荐之前,我其实就已经在使用他了,他有资源共享下载的地方,虽然要花C币,我还记得大学为了几C币去各种求网友的场景。
他是1999年成立的,算是国内最老,最成熟的技术博客网站了,内容无比丰富,底蕴很深厚,注册会员我盲猜在2000万-2500万左右,他的SEO也做的很好,所以百度你查资料基本上就是他和博客园置顶了。
CSDN:https://www.csdn.net
博客园:昂,上面刚提到的博客园,04年的他,比起CSDN年轻了不少,是一个以.net为主的博客网站,这么多年风格变化不是很大,至少在大学接触他到现在这么久了,都没怎么变。
移动端这么重要的今天,他的移动端,还是那么下饭,我不知道怎么想的哈哈,不过问题不大,因为他复古的界面,以及他极度DIY的风格定义,导致他有一批死忠粉和老用户,也是很活跃的博客网站。
知乎:知乎的流量可能是我介绍的博客网站里面最大的,但是并不意味他是最好的,因为他不是纯技术的,而且林子大了什么鸟都有嘛,不过进去看看文章,看看回答还是不错的。
很多大佬都会在里面耐心的解答你的问题,你想知道的去里面搜一下基本上都能找到答案。
思否(segmentfault):说到回答,这个跟我一样是杭漂的网站就厉害了,他也是博客和问答的形式,是中国版的stackoverflow,不过因为他的年轻,可能沉淀的文章还不够,不过我想会越来越好的。
stackoverflow:上面既然提到了中国版的,我就说一下这个世界级别的老大哥,这是我这里面使用频率很高的网站了,遇到问题不会就Google,然后基本上都往这里面跳,你就知道他的厉害了。
是的你遇到的问题,外国的友人肯定也有遇到的,问答的方式,还有很多热血仔在下面跟答的形式,我比较喜欢,而且国外大牛多嘛。
stackoverflow:https://stackoverflow.com
开源中国:跟码云是一家的,作为博客网站来说,年轻了点,但是不影响他有很多优质的博主不断给他输出内容,基本上的领域都覆盖了,经常也会举办各种活动,我也看好他的未来。
开源中国:https://www.oschina.net/blog
实践
纸上得来终觉浅,绝知此事要躬行。
真的,大家一定要去实践,,可以完全负责任的告诉你,任何行业,不管是我们写代码,还是别的行业,绝对是大量的实践去积累经验的。
我没看到任何一个人就各种吹逼,看书就能到技术专家的地步的,不管是医生还是我们写代码,都需要不断实践,犯错,吸取经验,不断进步。
看和做真的不一样,我以前做硬件,看视频的时候,觉得我自己一次就行,结果在实验室一次次熬夜,一次次失败,才成功做出成品,但是那一次成功之后,我再做类似的就会快很多了,因为第一次失败踩坑都踩了,再搞一次不就是张飞吃豆芽,小菜一碟了嘛。
写代码同理,你身边的大佬,肯定也是一个个BUG写上去的,也是不断去尝试各种框架,各种技术栈,总结出自己的一些东西的。
所以不管是看书,看博客,还是看视频,最后的最后,一定要去实践,照着敲下代码,或者边看逻辑图,一边断点整个流程,不要太香了呀,你会发现,看源码跟吸毒一样,停不下来的。
坚持
所有上面这些,最后的最后,还是要大家坚持,持之以恒才能看到效果的,你可以看了几天然后跟我说,丙丙我怎么还是拿不到大厂Offer,怎么还是啥都不会,我会回答你:滚回去继续看。
当然这里是开个玩笑,但是确实是这样,我身边的技术大佬,基本上都是日复一日坚持做一些东西,最后量变引起质变才有他们今天的,其实我在这点上做得很差,我也知道我还有很长的路要走。
不怕,我们一起鼎力前行咯。
费曼学习法
这是我最后要安利的一个学习方法,我个人认为,很不错,不知道你们能不能get到这个学习方法的精髓。
理查德·费曼(1918-1988年),1965年获得诺贝尔物理学奖,美籍犹太人。
他被认为是爱因斯坦之后最睿智的理论物理学家,也是第一位提出纳米概念的人。
选择一个概念
选一个你想学习的概念。
讲授这个概念(费曼技巧的灵魂)
设想,你面对这个领域的菜鸟,甚至面对十岁的孩童,试图解释清楚这个概念,并让对方完全听懂。
这,一方面加深你的理解,另一方面,找到不明白的节点或卡点。
你就假装你要把你学的这个东西,要做技术分享,分享给你周围所有的同事朋友或者家人,你怎么做到让他们完全理解这个技术栈。
查漏补缺
当你无法解释的时候,重新回头找答案。
回到书上去,回去找同学、找老师、找已经懂的人,把这个概念重新研究一遍。
结果要求,你能够把这个概念重新流利地解释出来。
简化语言和尝试类比
继续升华。
假若是一个学术化或抽象化的词语,尝试用简洁词语来解释。要么,用别的东西来类比它。
这里其实还可以理解为深入的了解那个技术栈。
总结
其实上面说了这么多,不需要大家全部都get到,最后要传达的意思就是,养成一种习惯,然后一直坚持下去,其实我说了你去做一下很简单,但是坚持就比较难了。
你也可以尝试发现你身边比较优秀的仔,然后像人家学习。
加油,奥利给。