我是如何学习一门新的技术,接触吸收一类新的知识的?这是我一直以来经常被问到的问题,这里不妨就借区块链,来说说我是如何学习一门新技术的。其实我学东西,整个的学习过程中,离不开两个关键的问题,即what,why,与其说是学习,不如说是一个不停的去弄懂what和why的一段旅程。
比如,区块链。现在我要来学它,OK,what is blockchain? 区块链是什么东西。 我的第一步,就是去搜索这个问题,在这个过程中,我会得到很多,刚刚去搜索了一下,发现google的结果有 81,900,000个,而what is blockchain的搜索结果有141,000,000个。那么问题来了,面对如此爆炸的信息量,你怎么样能够迅速的从当中筛选出可靠的信息?
方法一:按照谷歌的搜索结果挨个点进去,大概看看。
方法二:找几个眼熟的网站,点击去看看。
其实,不管是方法一,还是方法二,我们都在无形当中,设定了以个可靠信息源的选择倾向。比如,方法一里你认为,结果越靠前的内容越靠谱,这是人之常情,所以才会有各种SEO想办法在搜索引擎中排名更靠前一些(竞价排名当我没说)。方法二中,你可能因为之前在这几个网站上找到过对你有用的信息,所以你倾向于更信任这个网站里给你提供的内容。 这都涉及到了一个可靠信息源 reliable source of truth的问题。
现在这个时代,可靠信息源已经不仅仅局限于书本,网站。还可以是一些内容创作者,我还是习惯叫内容创作者,不习惯叫自媒体人。
不管是视频形式的内容创作者,还是文字形式的内容创作者,他们可能依托于不同的平台进行内容创作,有自己的账号,也可能有自己的网站作内容输出。
这些都可能可以成为你们的可靠信息源。多嘴一句,这也是我的长期目标,不管是我的视频频道,还是WeStack(https://forum.westack.live),都可以成为大家之后的可靠信息源列表中的一项。(这个项目我还没在b站给大家介绍过,之后会详细说明,现在还在内测阶段,感兴趣的朋友可以去注册一下)
那么,我也一样,会保存一些我个人常用的可靠信息源,除了在搜索引擎里搜索,我会去那里看看有没有我感兴趣的内容。比如,如果我想学区块链,而我又是落拓的订阅者,我会去看看落拓的频道里有没有出过区块链的视频。如果有,就可以放心看咯。如果没有,我有可能去私信他问他有没有兴趣出这类视频。(有点像产品开发流程中的,feature request),又扯远了,拉回来。
那么,说到区块链,最靠谱的信息源是什么?那当然就是中本聪本尊的那篇论文了。 所以,对于任何想要学习区块链的概念的人,我都强烈建议去读一读那篇论文。因为很多简单的概念,在别人二次创作的过程中,都或被复杂化越讲越难,或被扭曲了。 不过如果觉得论文晦涩,这里我推荐李永乐老师的那几期对区块链的讲解,以及我个人出的几期对区块链基本概念的理解,作为入门。当然我还看过一些英文视频频道的内容,但是由于不方便大家访问,就不做推荐了。 我是真的特别欣赏把一个复杂的问题用简单易懂的方式讲出来的那些内容。但是现在的很多情况是,不说简单化了,能不额外添加一些复杂的东西,去好好的重述出来的内容都不多。 好了,回到what的问题上,问完什么是区块链之后,自然而然的你会问到:
What is Block? 什么是区块
What is the Chain? 链是啥
What is Hash? 哈希又是什么
What is consensus algorithm? 什么是共识算法?
What is Proof of Work? 什么是工作量证明?
What is Transaction? 交易是什么?
What is Miner Reward(Incentive)? 矿工奖励是什么,激励是什么?
What is decentralization? 去中心化是什么?
What is elliptical curve encryption? 什么是椭圆圆锥曲线加密?
对于每一个子相关问题(subproblem),我都会重复上述的过程,去尝试理解。而且这些都是很自然的,有相关性,循序渐进的,如果用一颗树状图来描述,这会是由一个点而发散出去的树状/网状学习路径,而不是点到点的直线。
好了,说完了what再说why,首先我要声明一下,我行文的顺序可能会让大家误以为我是先问what再问why的,其实不是。其实why是在你理解what的过程中,必不可少的一个过程。 还是以区块链的例子来说,在我研究 what is hash的问题过程中,我可能会问,为什么要用hash,这时候你去搜索这个问题,你可能理解了hash的唯一性,方便计算结果而几乎无法逆推这些特性,刚好符合区块链里去实现分布式防篡改这样一个需求。所以它被用作proof of work这样一个共识算法。是突出四个字,按需选型,按照需求来进行技术选型。 Why,又分为high level的why和low level的why,即,你需不需要去探寻底层的实现细节。还是只需要一个概览,理解表层的为什么就可以了。 比如EC2这个加密算法,你可能会好奇,为什么不用RSA?因为EC的密钥产生一个和RSA同等安全级的加密,需要的计算量较小,处理速度更快,存储空间和传输带宽占用较少。(皮一下,虽然他们都不是量子安全的23333) 你需要知道EC2为什么这么安全么?即,你需要懂得它的数学原理么?其实,你只要知道他们是能满足这个安全等级的需求的,你就可以放心使用了。而且如果只是使用,你更不需要去自己去实现(顺带一提,这些库都是开源的,你可以去阅读里面的源码)。 其实,仅针对加密算法在数字货币里的应用而言,比起实现的原理,更重要的问题可能是为什么区块链里需要这个非对称加密?(因为需要账本公开,却又能验证交易的合法性)而不是,这个非对称加密的原理是什么。 所以,why是一个更加有意思的问题了,你既需要保持求知欲多问why,又需要在问why的时候,知道何时的制止住自己那打破砂锅问到底的欲望,陷入钻牛角尖而脱离和实际应用相关联的无限why循环里。 这里提供一个简单的判断标准:对你目前使用这项东西的需求,这个why重要么? 如果不重要,我个人不倾向于花太多时间去弄清楚这个why,这并不代表这个why不重要,而是针对当下的技术选型和需求,这个why,不是第一优先级要去弄清楚的事情。 而且,在现在这个知识爆炸的年代,除了理解底层的实现,各种细节,能够理解表层的应用,找到对应应用的最好的使用场景,屠龙的时候用屠龙刀,杀猪的时候用杀猪刀,把现有的技术在不同的情境下使用的得心应手,也不失为一种很重要的能力。 站在别人的肩膀上,你可以看得更远。但请选择合适且靠谱的人。 毕竟,你不会站在一个面对着大海的人的肩膀上说你想看看山色。
这篇文章里,我没有谈什么陈词滥调的方法论,如果要提一下,那么我个人最喜欢最推崇的方法,是费曼学习法,我喜欢费曼学习法的原因是因为,他给了你一个过程,你可以自己去寻找其中的实现步骤,而不用遵循一些死板的条条框框。
其实这篇文章讲的是我自创的 落式W&W(What & Why) 学习法。(手动Doge)
练习,对于学习任何东西都是很重要的。我不能一目十行,也不能过目不忘,很多概念我甚至要反复阅读咀嚼很多次,才能明白其中的含义。 而问WW的习惯,我也会不经意的经常融入到我的日常生活当中:比如一个工业设计(iphone的刘海你可以快点不将就么),一个空间收纳,我都会很好奇为什么他们会做出这样的选择或者妥协。 不要因为学习一次忘记了而感到沮丧。(如果学了一次就忘不掉了那么恭喜你偷着乐吧,这可不是大多数人的样子),反反复复的过程可能枯燥,但当你迈过一个一个点之后,最后看到所有的点被连起来,回看时那种豁然开朗的感觉,也是十分令人感到满足的。
好了,简单总结一下,在学习一门新知识的过程中 我会:
找到可靠信息源
搞清楚相关概念,即what,是什么
在我需求范围内理解原理,即why,为什么
反复的复习直到吸收整个过程中会运用费曼学习法,尝试把概念简单化
最后,我想说,我不是一个纯结果论者,尤其是对于自己喜欢的事情,我觉得经历 > 结果。 Peace.
(我的luotuocoin repo https://www.github.com/ycraaron/luotuocoin)