杂论
面对web安全领域有大量的不熟悉的技术与概念时(其他领域也适用)推荐使用费曼技巧(The Feynman Technique)
费曼技巧来源于当他曾纠结于某篇艰深的研究论文时。他的办法是,仔细审阅这篇论文的辅助材料(supporting material,互联网时代下搜索引擎是个好选择),直到他掌握了相关的知识基础、足以理解其中的艰深想法为止。这是一个分治的思想,将一个大问题分解成多个可理解易学习的小问题分而治之。
最好在使用费曼技巧时结合自我反馈和自我阐述。当学会了一个新概念新知识时要及时给予自我正反馈,提高自己的学习热情和信心。同时在掌握知识的过程中可以试图使用自己的语言来阐述所学的知识。可以试想一个虚拟的学生,然后你用自己的语言来想方设法教会这名学生,若过程中发现自己的逻辑不清和记忆模糊要及时补上相关知识,直到自己能很有条理的阐述出自己所学的知识。这时就已经对所学的知识有了较好的掌握
学会学习,见招拆招
从管理逻辑上来讲、管机器和管人一样,分而治之!按业务线、按群组分、每群有自己的head;团队需要沟通机制、服务器间也一样,平行和上下的沟通、状态要纳入监控。。
先弄清楚项目大概的结构,从模块这个层面分析,对各个模块大致上做什么的有个初步的认识。
然后进入文件级别的代码。把函数都折叠起来,尽量不去看函数内容。
先看主要框架,看看目录结构,从目录的名字一般能推断出其下的文件内容
然后点进目录看README,看看和自己推测的是否一致,将各目录下README看完后,基本知道程序入口,核心代码块儿
看核心代码所在的目录,仍然是BFS方式查看
根据需要修改代码,调试,不行的话再看细节
先理解整体,再看细节,分而治之
对于一个函数,先看功能,再看怎么实现的,遇到不懂得库或者函数去查
更糟的是,理解本身,很难称得上是一种开关。它像洋葱的层层表皮,从最肤浅的领会到深层次的理解,逐层巩固对科学革命的认知。给这样的洋葱剥皮,则是常人知之甚少、易被忽略的理解过程。
加速学习的第一步,就是揭秘这个过程。如何洞悉问题,加深你的理解,取决于两个因素:
- 建立知识联系;
- 自我调试排错。
知识联系很重要,因为它们是了解一个想法的接入点。我曾纠结于傅里叶变换,直至我意识到它将压强转化为音高、或将辐射转化为颜色。这些见解,常在你懂的和你不懂的之间建立联系。调试排错也同样重要,因为你常常犯错,这些错误究根到底,还是知识残缺,胸无成竹。贫瘠的理解,恰似一个错漏百出的软件程序。如果你能高效地自我调试,必将大大提速学习进程。建立准确的知识联系与调试排错,就足够形成了深刻的问题见解。而机械化技能与死记硬背,通常也只在你对问题的本质有了肯定的直觉以后,才有所裨益。
费曼技巧(The Feynman Technique)
这个技巧的灵感,源于诺贝尔物理奖获得者,理查德·费曼(Richard Feynman)。在他的自传里,他提到曾纠结于某篇艰深的研究论文。他的办法是,仔细审阅这篇论文的辅助材料(supporting material),直到他掌握了相关的知识基础、足以理解其中的艰深想法为止。
费曼技巧,亦同此理。对付一个知识枝节繁杂如发丝、富有内涵的想法,应该分而化之,切成小知识块,再逐个对付,你最终能填补所有的知识缺口,否则,这些缺口将阻挠你理解这个想法。对此
费曼技巧很简单:
拿张白纸;
在白纸顶部写上你想理解的某想法或某过程;
用你自己的话解释它,就像你在教给别人这个想法。
最要紧的是,对一个想法分而化之,虽然可能重复解释某些已经弄懂的知识点。但你最终会到达一个临界点,无法再解释清楚。那里正是你需要填补的知识缺口。为了填补这个缺口,你可以查课本、问老师、或到互联网搜寻答案。通常来说,一旦你精准地定义了你的不解或误解,找到确切的答案则相对而言更轻松。
我已经使用过这个费曼技巧有数百次,确信它能应付各种各样的学习情境。然而,由于学习情境各有特点,它需要灵活变通,似乎显得难以入门,所以,我将尝试举些不同的例子。
对付你完全摸不着头脑的概念
对此,我仍坚持使用费曼技巧,但翻开课本,找到解释这个概念的章节。我先浏览一遍作者的解释,然后仔细地摹仿它,并也试着用自己的思维详述和阐明它。如此一来,当你不能用自己的话写下任何解释时,“引导式”费曼技巧很有用处。这里有个例子,展示我如何理解摄影测量学。
对付各种过程
你也能通过费曼技巧去了解一个你需要用到的过程。审视所有的步骤,不光解释每一步在干什么,还要清楚它是怎么执行的。我常这样理解数学的证明过程、化学的方程式、与生物学的糖酵解过程。这里有个例子,展示我如何想到怎么实现网格加速。
对付各种公式
公式,应该被理解,而不只是死记硬背。因此,当你看到一个公式,却无法理解它的运作机理时,试着用费曼技巧分而化之。这里有个例子,展示我如何理解傅里叶分析方程。
对付需要记忆的内容
费曼技巧,也可以帮你自查是否掌握非技术类学科那些博大精深的知识概念。对于某个主题,如果你能顺利应用费曼技巧,而无需参考原始材料(讲义、课本等),就证明你已经理解和记住它。这里有个例子,展示我如何回忆起经济学中的掠夺性定价概念。
雕爷孟醒就是一个鲜活的例子。他早年搞过传销,20岁就把市面上所有营销的理论书全都掌握,做AFU精油做到淘宝第一,年销售额上亿。今年,毫无餐饮业经验的他,又搞起了“轻奢侈”餐馆,所创办的雕爷牛腩,好评如潮。并且获投资6000万元风投,投资商给出的估值高达4亿元。雕爷因酷爱先锋戏剧,现在进军戏剧行业,第一出戏就在爱丁堡国际戏剧节上演。是什么原因让他可以这样得心应手地玩跨界,要雨得雨,要风得风?
很简单,雕爷从小具有超凡的学习能力。他小时候学书法,别的小朋友都吭哧吭哧地埋头临帖,他却不急于动笔,而是先选择自己喜欢的字体“读帖”,即用眼睛去拆解这些字,领会它们用笔的特点,从笔锋变化到间架结构,拆解完毕,再开始下笔。别的孩子每天写字三小时,他每天读帖、写字各一小时,效果却远远超过了他的小伙伴们。他的书法获得国东城区一等奖、北京市二等奖、全国一等奖,最后获得了日本高野山书道学会的大奖。后来他将这套方法用在了其他领域,比如培训美工。
我们知道,一个资深的美工身价很高,并且很难挖到。但是雕爷用他的方法在三个月之内,把一个刚入行的美工培养成专业级的设计师。他的方法看似很简单:
1 ,找出心仪案例;
2 ,拆解并做出模型;
3 ,凭记忆临摹;
4 ,对比找不足;
5 ,再次凭记忆临摹直到满意;
6 ,周而复始一至五步。
其实,这套方法是久负盛名的“费曼技巧(The Feynman Technique)”的一个应用。
Evernote用来记录和输出,看的多了,就有感觉了,会有一些灵感。我会在Evernote里面按照主题来记录,这样也能看到对于一个主题,自己的想法经历了怎样的发展。
坚持了半年多,受益匪浅。工具不重要,重要的是你。
好似不同等于垂直。垂直是需要深入,知识层面就是专门,思维方式就是专一,训练方法就是专业。它有别于常识,因为,常识一般是指平面广阔的领域,但不需要要求深入,比如:我们知道火是烫手的,但不需要知道火的产生与高温会造成人的皮肤破损等。
我就谈谈审计当中如何发现问题吧。一般而言,被审计方提供的资料都经过了精心梳理,而且审计过程中有大量的资料,如果一条条细细去看,费时且往往无效。这个时候,抽样很重要。很可能你随机抽取的样本就是让你摸到瓜的那条藤。正所谓抽丝剥茧,做事情抓住一个点再展开,往往比一把抓更有效。
数学和计算机编程里经常用到一种方法叫做分治法。
分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
遇到复杂的数学难题,就往往采用延伸、分解的思路,把一个复杂难题分解成为各种小的证明或计算,然后逐一攻克。常见的例如不定积分求解,往往利用分部积分法分解,逐项求解。
计算机排序算法中,分治排序如快速排序、归并排序也都是非常高效、有用的排序算法。其中的分治思想就是把大的排序问题分散成小的排序。
生活中分治法主要解决的问题:
遇到困难犹豫不前。困难制约因素多,怎么看都是mission impossible。这时候就分解成个小问题,然后再分解成更小的,逐一解决。这样就可以大大减少放弃的情况。
另外如果是必须要做的事情,最终被逼无奈经常就会采用分治法。养成主动去分解问题的习惯,可以更快入手。
限制主要在于:分解问题的能力。这个完全可以锻炼出来,分解多了就成了习惯,遇到问题就如庖丁解牛一般分而治之。核心就是让分解的行为从被动变主动。
历史学的一种思维方式 解构和构建
1,很多人认为历史学其实只要知道史实,然后把史实串联起来,再加以评论
2,大部分初学历史的人则认为历史学是需要大量的史料,然后把史料组合起来,串联史实,再进行评论
3,其实历史学是一种“分析问题”的学科,这个从程序上来说就是"提出问题,挖掘问题根源,解构概念,构建逻辑,解释问题。”,而最终想要达到的结果就是希望寻找“论证准确的反常识”。这里只涉及理论,不涉及史料学,史料学是一个技术活和体力活。
=================================================
1,提出问题和挖掘问题根源。
提出问题不仅仅是说提出自己的疑问。首先,大部分疑问都是伪问题,只是建立在对问题所涉及概念不熟悉的基础上造成的误解。第二,另一部分疑问是无法解答,这些无法解答原因可能很多,比如这个问题史料严重不足,或者这个问题涉及面太广,明显超越了这个人现在的能力(这个其实很主观的,说白了就是只要问题准确,没有不能解决的问题,只是在精力上和效率上不值得)
这两个判断问题是否成立的步骤就是挖掘问题根源
2,解构概念。
要弄清楚自己所提出的问题,首先必须对问题涉及的概念进行解构,这个解构一方面是逻辑上的解构,仔细重新思考这个概念是否是本元的概念,还是由别的概念构成的,或者衍生的概念,或者是被人灌输的概念,当然其实基本上没有什么本元的概念,所以这个步骤可以算是概念的溯源,这是重新定义概念内涵的过程。
其次是对这个概念的适用范围进行解构,基本上没有什么概念是普世的,在不同的问题上同一个概念其内涵可能非常不同,所以在要重新审视在上一步中所重新定义了的概念其适用的范围有多大,是不是能够覆盖要解决问题的范围,不行的话就从上一步重新开始,这是重新划分概念外延的过程。
3,全新的概念必然会带来全新的逻辑,这个是正常的逻辑推理过程,其方法很多,不外乎归纳与演绎。
4,然后在全新的概念下和逻辑下重新解释问题。
==================================================
所以,其实对于历史学来说,最重要的其实是“重新构建概念”这个步骤,这是思考问题的基础。
3.选题策划中的思维方式
例子:一个人独自穿越大森林,他可以在老虎、大象、狗、猴子、孔雀五种动物之中选择一种带在身边。你会选择什么呢?为什么呢?
成功的选题策划的最重要的思想就是最大限度满足读者(用户)需求,而不是满足作者的需求或者是编辑自以为是的需求,大多数粗制滥造的同质化的产品都是这样不负责任的产生的。
我最喜欢Multilevel的理念。在理工科里面这个用得很多吧,肤浅地举几个例子:
1。数字电路里面。
我们会用真值表来设计逻辑电路。但是,若某个逻辑电路有100个输入,一个输出,输入的可能性为2的100次方。于是,我们分层次,有点模块化的感觉,但非常强调从属关系,也就是倒三角结构:先实现,小的功能,再用这些小功能组装成大的,大的再组装成更大的。
2。计算机科学里
这个部分,我了解得比较肤浅。比如,计算机网络的几层模型,每一层都不用管下一层在干什么,上一层在干什么,只管它能通过下一层提供的接口给上一层提供什么。由于分了层次,问题会更容易解决。比直接面对一个庞大的系统更好。
3。生活中。
制定计划。如果我要制定十年的计划,我分层次来:
第一层,每一年,要实现一个怎样的大目标。
第二层,由于,其他的年份还很遥远,剩下的九年先不用管,第二层中,暂时只细化明年的目标,也就是,大约明年哪几个月要实现什么。
第三层,由于明年后面几个月的计划暂时不用考虑,先把明年开头几个月的计划制定出。
第四层,比如第三层考虑的是开头的三个月,那么,此刻,离得最近的是下个月,则把下个月每一周大概完成什么先细化,而另外两个月,等到下个月末再计划。
第五层,下个月的第一周开始前,可以稍微细化这周每一天干什么了。
假如直接把十年的每一天都计划好,那是个庞大的工程,但是用分层次的方法,并且把细节化不同部分放到了不同时间,一切都容易多了。
3. SWOT分析
在做选择和决策时非常有用,仔细分析一件事的strength, weakness, oppertunity, threats,综合分析考虑后做决定
4. WBS任务分解
有点像MECE原则,只不过针对对象更偏向于具体的任务,对任务进行一条条的细分,包括责任人和时间点
5. 金字塔原理
同类问题或事情按逻辑归类原则
法律专业:
1、律师一定要亲眼看到证据,不能依赖别人的判断去说证据是怎么样。别人的表述出来的事情,往往跟事物原本情况有差距。
2、任何案件、项目、背景非常重要。就如同阅读理解中的上下文关系,不同背景下同一事实的含义截然不同。律师一定要尽可能获得更多的背景信息。
3、法律是容纳整个社会关系的高度抽象网络,法律将人的行为分为“民事”、“商事”、“行政”、“刑事”,“民事”下又分为“婚姻”、”继承“、”抚养“等等关系,”婚姻“下又可分成”婚姻关系缔结”、“夫妻共同财产与债务”、“婚姻的有效性“、等等,不停的分类,一层一层,当律师在分析问题时,首先是看这个是刑事还是民事,然后进入第二层分类,再进入第三层,层层剖析,找到问题可以适用的法律规定。
4、在构造证据锁链时,每一个证据与证明目的之间的关系,都可能被对方律师反驳。想当然的事情都可能被打破。律师要有Critical Thinking的能力。
5、法律离不开实务,搞婚姻法要懂夫妻关系,搞知识产权要有工科背景,搞金融法要懂金融运作,离开实务的法律一钱不值。老律师的经验不体现在法律上,而体现在他见过多少稀奇古怪的事。
6、做律师离不开数据库。遇到事情先做Research,把能检索到的类似情况全看一遍,然后再分析,再检索,直到解决问题。
7、律师是个中介组织,他能联系各行各业的人,互通信息,有时可以促成许多交易,解决很多问题。功夫在诗外,人脉积累很重要。
先想到这么多。
非常能让人学到知识的一个好问题,我也来凑凑热闹,粗略想了一下,考虑的还很不成熟,抛砖引玉,请同行补充。
就从一个医生普通接诊病人的一般临床思路来说吧。一个病人来看医生了,总是有不舒服了,就是有症状,那么你应该详细问清楚症状的各种细节,和前前后后很多可能有影响的相关情况。这一些问诊,在医学上是有一整套比较成熟的话术的。比方说碰上肚子疼的,除了问起病时间、诱因、部位、程度、性质、伴随症状、持续时间、加剧或减轻等等之外,还要问过去有无内外科病史、药物过敏史、外伤史、家族史等等这些有可能对诊断有帮助的信息。经过一圈撒网式的问诊之后,你可能发现他的肚子疼其实是心脏的毛病,胸前区压榨感不适可能才是他的主要症状,而肚子疼只是引起他重视的一个次要症状而已。
推而广之:遇到问题的第一件事,应该是先搞清楚问题到底是什么,可能问题被提出来的时候,并不是它的本来面貌,或者不是主要关键所在。如果问题很笼统的话,应该尽可能的细分,凭自己的经验尽可能的多联想一些可能会对问题造成影响的各种因素。
撒网问诊之后,你会有一个自己的认识,根据所学知识,会对产生这种症状的可能原因有一个初步判断,要强调的是,这些可能的原因不止一个。然后应该是重点问诊,用以排除你能想到的各种原因。
推而广之:产生问题的原因或者可能的解决办法,有可能不止一种,不能根据经验想当然的先入为主的就只考虑某一种情况,这样容易造成“漏诊”。当然,知识结构和经验的丰富程度,也决定了你考虑问题的全面性,所以很多时候要相信专业人士的判断。
问诊结束以后,应该做出有重点的体格检查,以发现其他新的问题,同时也可以进一步明确自己的判断。
推而广之:尝试很重要,自己瞎想了很多方案,设想了很多结果的可能,不如尝试着自己去做一下,可能会发现新的问题,或者会证实你的想法。空想是永远解决不了问题的,想知道薛定谔的猫是不是还活着,最好的办法就是动手打开盒子。
体格检查结束之后是辅助检查,比方说抽血拍片之类的。辅助检查的重点在“辅助”二字,你的临床判断不能完全依赖这些检查,虽然它们是客观指标,但客观指标只是用来进一步帮助你证实自己判断的手段而已。如果你的判断和客观指标之间出现了偏差,你当然应该审视自己之前的过程,绝大多数情况下,这些指标可以帮助你发现更多问题、少犯错误,但是,机器也有犯错的时候,机器也有自己的能力范围,必要的话再做一遍。
推而广之:绝大多数情况下,当然应该相信自己亲眼所见的“客观事实”,但是也应该时刻保持一种警惕性的怀疑,可能“事实”真的就不像它所表现出的样子,它可能因为某些原因而产生了“误差”,你要有自己综合的判断。
根据你掌握的病史、体格检查、辅助检查的结果,现在你可以给出你的诊断了。然后,根据你的诊断,做出相应处理:开药,手术,或者继续观察,等等等等。每一种疾病当然都有它的临床处理原则,只要你按照原则做了,就不会有问题。但是,以目前的医学水平,远不能解决所有问题,当你给出处理的时候,最好记得和病人沟通一下,你的这个处理到底能解决多少问题,如果没有充分的解释,你可能要为医学发展的局限性而吃苦头了。
推而广之:结局问题的时候,如果对象是木头、石头这样的客观自然物,我想总不会有什么大的问题。但是,如果有“人"的因素掺杂其中了,就要注意它的种种可变性,你既往的一切原则和经验都是过去,现在面对的这个问题可能就会是一个例外。问题在于整个过程你是不是都问心无愧的尽量努力去做了,至于结果,你可能真的没办法去把握。谋事在人,成事在天。
问题说明里还提到了外科医生,再说一点关于外科手术的事儿。我个人觉得,做手术应该沉着冷静胆大心细。而常言说艺高人胆大,所以满足这些要求的前提是要”艺高“。解剖是外科手术的基础,碰到一根血管,你不敢去扎,另一个医生就敢,他为什么胆子这么大?因为他对这里的解剖比你更熟悉,他知道扎掉之后的后果。碰到某个部位的出血,你很紧张,另一个医生很冷静,因为他知道这个地方出血的后果是什么。同理,在一个部位操作的时候,你没当回事,结果损伤了重要脏器,另一个医生在这个位置会小心翼翼,他为什么这么”心细“,因为他更了解这个位置各个脏器的情况和出问题的后果。所以,解决问题所需要的素质,尤其是重大问题需要的素质,我不相信是与生俱来的,而应该是建立在大量知识的积累之上的。没有遇到问题的时候不断学习,注意积累自己的知识,当你真的碰上问题了,自然就会表现出应有的素质了。
最后,我觉得各行各业,越往后做,越容易碰上哲学问题了。所以不管干哪行,学点哲学都是应该的。
遂整理好思路,认真回答,给这个好问题做点点贡献。
在日常维修时,常会遇到生锈的螺丝,以至于连螺栓松动剂也 无可耐何。
这时老师傅就会拿榔头对螺丝敲两下,再用扳手往里紧半圈再松开,于是螺丝就这样松动了。
问老师傅为何这样做,老师傅便说: 我师傅就这样教的。
从这个事情上来看,事不大,但却有大学问。
1 逆向思维 很多人遇到螺丝锈死,第一反应是用扳手往松拧,拧不动,就会觉得自己没有使出足够的力气,于是就一味的加大力气往松开的方向上拧,以至于把螺母或螺栓头拧圆了也未能拧开。这样的情况是因为陷入一个误区,认为锈死的螺栓只能往松开拧。其实,由于设计原因,螺丝扣的三角形截面形状所限制,只能有一面是紧贴着的,三角形截面的另一边会有间隙,这个重要的情况往往被人忽视,包括搞机械加工和维修的人员。老师傅的敲击并紧固半圈的方式,正是利用了这个误区。
逆向思维理论很多人都知道也都学过,但有很多人在实践中,往往被固有的惯性思维方式所禁锢,看不到面临问题中误区。这种方法,我用的比较多。(另我幼稚的是:我由于使用成为习惯,导致我看问题时往牛角里钻,让我看问题不够全面,言论显得极为偏激和幼稚,我在慢慢改正)
2 缺乏分析 用螺丝紧固的物品大都是金属和木质等的固体,在长期的使用过程中,被氧化而生锈,但,对于金属固件,还有一个问题,那就是热胀冷缩所带来的微量应力变形。老师傅的敲击,消除了这种应力变形,对于松开螺丝有很大的帮助。在做回头分析时,方恍然大悟。
缺乏细致的分析和判断,导致耗费了大量的时间和人力物力,却没有得到好的效果和回报。这在日常工作时候,经常能看到。
面对问题,正确的解决之道是一个大家都渴望得到的能力。但在成长过程中,我学习到了很多知识,但却渐渐失去了仔细观察和认真思考,太浮躁太浮躁了。
每当我遇到困难时,我总会想起这个螺丝生锈的事情。
所言极为粗陋,希望有帮到大家。
有两个思维习惯,对我帮助很大:
1,能够把简单的事情想复杂。使你具备执行力。
2,能够把复杂的事情想简单。使你具备操控局面的能力。
李淼:
谢谢邀请。
我来说说我知道且常用的方法,在管理、咨询、金融分析时经常会用到的。
1. MECE (Mutually Exclusive and Collectively Exhaustive)
这是一种在分析问题的所有方面,或者穷举所有实例时,做到不重复且不遗漏的方法。来自麦肯锡咨询的知识积累。具体做法是把问题逐级分类,每步都尽量考虑到所有方面,最终形成一个树形图,把问题的表象分为细致层面的每个小问题。
举个例子。
例如我们在分析“环保局为什么不公布PM2.5数据”时,用MECE的方法分层:
1. 主观不愿意 和 客观不能够
2. 主观:内部主观原因 和 外部主观原因
客观:监测硬件原因 和 监测软件原因
3. 内部主观原因:对环保局内部无大利益 和 对环保局内部有损害
外部主观原因:上层单位命令 和 下层单位需要
硬件原因:没有监测设备 和 设备无法使用
软件原因:没有收集能力 和 没有分析能力
4. ......
这个过程每个人在做时都会有一定区别,但至少能够保证分析过程中对问题的方方面面无一遗漏。这对于解决复杂问题和现象是必不可少的。
我们这里不说广义的“问题”,单单说严肃的、认真的“问题”。
问题的提出首先要明确:问题的提出是要找出目前困境的解决方法,通过逻辑推理来挖掘困境的本质。而如何定义问题,就是开始解决问题的第一步。
而在咨询行业里,会用一种金字塔结构去定义问题,其中仍然会用到MECE方法。而区别在于,要把每个方面都转化成一个“合理的质疑”Reasonable question。并通过建立这些质疑的清单,来逐条理清目前的状况,最终留下一个包含了 清晰的问题清单 以及 问题之间的逻辑脉络 的图表。
有了问题,下一步就应该是如何解决问题。这里我建议参考另外一个问题:
浙公网安备 33010602011771号