用全局思维去学习(转至百问科技https://mp.weixin.qq.com/s/DOo3CNocKjuYP8bCu7RRlA)

0.今天给大家分享一些最近收获的思维认知,在意识到这种理念后,再去反推过去自己的学习之路,发现确实走了不少弯路。所有的想法及改变都来源于生活,来源与身边朋友交流学习及结合自身体会到的。将以自身经历去倒推过去,反思这些年走过的路。

1.什么是全局思维呢?简单来说就是要有全局观,能够把握整体脉络。更深层次就是看的更高点、看的更远点,能够看清现象,把握本质。当然,全局思维不是一天两天形成的,它受个人知识储备、视野、圈子、格局的影响,自然每个人看到的层次不一样。我们能做的就是每一次比当前的你,拔高一个层次或者维度,这样慢慢养成。

2.比如在学习嵌入式的时候,首先嵌入式到底是个什么东西?它的整体架构是什么样的?一个完整的嵌入式产品分为几部分?每一部分的角色与定位是什么?整个知识体系脉络是什么样的?结合自己现有的知识储备,我应该从哪一块切入比较合适?

笔者在刚开始,根本没有想过这些问题,只知道要学嵌入式,也不知道从何入手,今天找一堆视频资料、明天看另外一堆资料,像无头苍蝇一样乱穿

3.先搞清楚嵌入式主题脉络框架,主要分为bootloader、kernel、rootfs、driver、应用。然后理清楚这些“模块”在整体嵌入式体系中的作用以及角色定位,将各个分散的“模块”串联起来,梳理一条清晰的脉络结构。先抛开技术细节,能不能从设计思想上先简单了解一个嵌入式产品的开发流程。

笔者一开始,根本没有从全局上想过这个问题,每个“模块”都是单独来学,由于是自学,知识体系很散,也没有具体的实操项目,所以一直迷迷糊糊,而且还容易陷入技术细节,学习效率特别低。

比如学习裸机程序,遇到汇编不会,跑去看汇编,遇到Makefile不懂又跑去熟悉一段时间的Makeflie,结果花了大量的时间,效率却很低,其实这些东西如果不常用,学了就忘了。这就是脉络不清晰,主次不分的表现(当然不是说这些不重要)。

4.搞清楚整体脉络,即把握主主干。然后,结合自身知识储备,看从哪个点切入,更合适,每一块该看多深多浅,此时应该心里也明朗了。也不会无端陷入其他无关紧要的细节上。

此时,你不用在顾虑,到底用哪个平台的CPU,因为都是硬件平台。你更不应该纠结linux 到底用vim还是emacs或者其他,转而先去学编辑器,都是编辑工具罢了,哪个用着合适用哪个。

5.以自己擅长的切入点入手,自上而下、自下而上或者从中间向两边,慢慢建立自己的知识体系,继而打通整个脉络。

如果知识一个点一个点的去学,而不形成体系,很容易忘记。形成体系最有效的方法就是你能理解它,头脑里都够有一张清晰的脉络图,而不是死记硬背。不要将各个知识点孤立开来

6.当你的这个知识体系脉络初步建立后,便可以上手了。此时可以深挖技术细节。至于更多的技术细节,是在工作中通过实践去钻研。

7.以上方法,仅适合有一定学习能力、知识储备,学习新的领域时提供的一个快速上手的方法,当然要成为高手还需要日复一日的训练,每个领域的东西一展开都是庞然大物。

对于嵌入式,如果一开始就想把每一块都搞的特别透彻需要大量时间同时还是很痛苦,容易打击学习兴趣。

8.最后说一点,关于学习,不要着急。先理解设计思想,其他的就是具体实现了,至于怎么实现就无所谓了。每次看到编程语言鄙视链,想不通,不知道有啥好鄙视的,抛开语言本身,去看语言特性,很多都是大同小异,没有系统的学,不代表不会,只是暂时不需要而已。懂得了面向对象思想,我发现linux kernel源码里 有很多面向对象思想都是通过c语言设计实现的,也就见怪不怪了。

9.以上,都是个人这段时间的一个小结,总结就是几句话:把握主干、理清脉络、分清主次、先整体在局部。这些方法论其实是我从深度思维推演到学习思维得来的,目前对于深度思维理解的不是很到位,有机会再分享,深度思维还可以推演到财富思维、产品思维等多维思维!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值