如何完善自己的知识结构

★领域


  (本来想用“学科”这个词,后来觉得“学科”的范畴还是偏小,就改用“领域”)
  按照传统的习惯,通常会把知识归类到不同的领域(比如:文学、数学、计算机、烹调、等等)。

◇领域之间的包含关系


  有些领域是另一个领域的一部分。
  比如说,俺博客经常聊的“信息安全”,其实是“IT”这个领域的一个分支领域。
  上面这类关系比较好理解,套用数学中集合论的说法,就是“某个领域是另一个领域的子集”。

  还有一种稍微复杂一点的包含关系——某个领域同时被其它多个领域所包含。对这种关系,可以大致理解为“多个集合的交集”。
  比如“量子信息学”,可以大致看成是信息学和量子力学的交集。

◇领域之间的辅助关系


  有些领域需要另一个领域的知识进行辅助。
  比如,很多学科都用到 CAD(计算机辅助设计),这就是领域之间“辅助关系”的例子。
  如果某个领域为很多其它的领域提供辅助,那么这种领域常称之为“基础性领域”。比如在自然科学中,数学往往是基础性领域。

★跨领域的知识分布

 

◇广度和深度


  所谓的“广度”,就是指你的知识结构中,包含了多少领域。
  所谓的“深度”,就是你对具体的每一个领域是否具有深入的了解和研究。

◇深度的重要性


  深度的重要性,大伙儿应该都明白。所以俺只简单说一下。
  如果某人的知识结构只有广度而没有深度,就会导致——其个人能力没有突出的亮点——这种人往往没有太强的竞争力。

◇广度的重要性


  和深度相反,广度的重要性,很多人都没有意识到。俺多费点口水聊一下。
  如今是信息时代,不同领域之间的关联越来越密切。这时候,广度的重要性就体现出来了。
  就拿“写博客”来说吧。
如果你想把博客的界面和排版搞得好一点,你还需要懂一点“HTML、CSS、JS”的知识;
如果你想提高博客在搜索引擎的排名,你还需要懂一点“SEO(搜索引擎优化)”的知识;
如果你像俺一样,想写敏感的政治博文又不想被和谐掉,你还需要要懂一点“FQ”的知识(以便把博客架设到墙外);
如果你想使用 WordPress 这个功能最强大的博客平台,你还需要懂一点“PHP编程”的知识;
......(这个清单还可以继续列下去)
  你看,即使是“写博客”这么简单的一桩小事,牵涉的领域也不少。所以,想要在某个领域做到足够深入,必然要了解很多相关的辅助性领域的知识

  顺便再聊聊文理科之间的相互鄙视。
  据俺所知,很多文科出身的人看不起理工科;反之,很多理工科出身的人看不起文科。为啥会导致这种原因?很多时候是因为不了解。不了解导致偏见,偏见导致鄙视,鄙视之后就更加不去了解。如此往复,变成恶性循环。
  其实捏,人文学科、社会科学、自然科学这三块,有很多相通之处,也有很多互相借鉴之处。

◇深度和广度的平衡


  虽然深度和广度都很重要,但每个人的时间、精力、天赋都是有限的,你不可能在所需要的每个领域都做到足够深入。那么如何平衡这两者捏?俺的观点是:借鉴正态分布(这玩意儿也叫“高斯分布”,维基百科的解释在“这里”)。

不见图 请FQ
(这幅图中,横坐标表示不同的领域,纵坐标表示你在该领域的深度)

  尖峰的顶点周围(红色部分)对应的就是你的主攻领域。你需要在这个领域做到足够的深入(越深入越好)。和主攻方向的关系比较密切的领域(黄色部分),你需要比较深入,但深入的程度不需要跟主攻方向一样。和主攻方向关系比较疏远的领域(绿色部分),只需浅尝即止。

◇主攻方向的选择


  如果你运气比较好,自己的工作正好就是自己的兴趣所在,那毫无疑问,这就是你的主攻方向。万一你的兴趣和工作不一致,咋办?俺的建议是,以自己的兴趣作为主攻方向。然后把工作仅仅当作是谋生手段。(类似的观点,格雷汉姆在《黑客与画家》这本书中有提到过)
  俺刚开博的时候曾经写了《如何成为优秀开发人员》系列。第一篇就强调了兴趣的重要性。今天还得旧话重提,再说说兴趣的重要性。
  当你对某个领域有【真正的】兴趣,你自然就会有:足够的热情,足够的动力,足够的耐心,足够的持久性。有了这几点,自然就能在该领域达到足够的深度。抛开功利因素不谈,如果你能在自己喜欢的领域达到足够的深度,这本身就能带来非常多的快乐(而且这种快乐往往是金钱无法换来的)。
  (关于“兴趣”的更多介绍,参见:《什么是【真正的】兴趣爱好?以及它有啥好处?》)

★领域内部的知识体系

 

◇分支领域


  前面说了,领域之间可能会有包含关系。而且,大部分领域都有不止一个分支领域。
  比如“密码学”和“社会工程学”都是信息安全的分支领域。

◇主题


  (主题这个词不是很贴切,暂时没想到更好的词儿,先凑合用着)
  除了包含若干分支领域,每个领域都会包含很多“主题”。以“信息安全”这个领域为例,“如何防止黑客入侵”就是一个主题。

◇知识树


  假如把某个领域想象成一棵树,那么分支领域就如同树枝(树枝上还可以再有树枝),而主题如同树叶。俺把这称为该领域的“知识树”。如果某个领域是你的主攻方向,那么,你必须能在头脑中清晰地勾勒出该领域的知识树。做到这一点,你对该领域才算有“广度”上的认识。

  举一个反面教材:
  招聘的时候经常碰到某些程序员,只知道 OOP(面向对象编程),从来没有听说过其它的编程范式(要知道,编程范式不下10种)。然后捏,他/她以为把 OOP 掌握透彻就足够了。有的人看了几本 OOP 的理论书籍,就以为自己是编程牛人了。这就是典型的井底之蛙心态——只看到井口上方的一小片天空。造成这种认知误区的根源在于:对自己从事的领域缺乏系统性的了解。

  关于勾勒知识树,再顺便提一下:不同的人对同一个领域勾勒知识树,得到的形态可能会不同。
  比如说对“文学”这个领域:有的人先按照“国别”细分,再按照“体裁”细分;有的人反过来,先按照“体裁”细分,再根据“国别”细分。你很难说,哪一种是对的。也很难说哪一种更好。
  俺的观点是:(构造知识树的时候)适合自己的就是好的。

◇主题的类型


  “主题”通常是以“疑问句”的形式出现的。俺总结了一下,大部分主题通常可以归为三类:WHAT型、HOW型、WHY型。
  以密码学为例:
“RSA加密算法有什么优缺点?”——这是WHAT型的主题
“RSA加密算法内部是怎么实现的?”——这是HOW型的主题
“RSA加密算法为啥要这样实现?”——这是WHY型的主题

  一说到这三个分类,某些老读者应该会联想到俺前几年的两篇博文《学习技术的三部曲:WHAT、HOW、WHY》和《用提问促进思维——再谈 WHAT HOW WHY 三部曲》。看过这两篇博文,你会意识到如下两点:
1. WHAT型问题 通常是比较肤浅的、表象的;而WHY型问题 通常是比较深刻的 、本质的。
2. 大部分WHAT型问题,通常有标准答案;而相当多的 WHY型问题 是没有标准答案的(HOW型的问题介于两者之间)。

  所以,如果你想在某个领域做到比较深入,你一定要多探寻 WHY型 的问题。对这类问题的思考,要避免 COPY 别人现成的答案,要通独立思考得出自己的答案。这类问题思考多了,无形中就对该领域有更多更深入的了解。

★知识点


  想解决某个主题,一般要运用许多“知识点”。所以再来聊聊“知识点”这个话题

◇什么是“知识点”?


  所谓的“知识点”,通常表示某个有价值的信息。为啥俺特地强调“有价值”这个定语捏?因为世间的信息有千千万万,绝大部分都是没有价值,不能算是“知识点”。
  关于“知识”和“信息”的关系,有一个 DIKW 模型(Data Information Knowledge Wisdom),有兴趣的同学可以去看看。

◇知识点的类型


  知识点有很多种类型,常见的有如下几种:
有些知识点是概念性的,用来表示某种“定义”
有些知识点是指导性的,用来表示某种“方法”
有些知识点是陈述性的,用来表示某种“事实”

  第一类显然是很重要的。
  不论是哪个领域,基本的概念和定义总是很关键的(犹如建筑的地基)。如果你对这些东西的理解有误或有偏差,就如同是“浮沙之上筑高台”。

  第二类也很重要。
  俺非常喜欢一句老话叫做“授人以鱼不如授人以渔”。这话说的就是方法论的重要性。

  至于第三类,其实远远不如头两类重要。为了给大伙儿加深印象,说一个爱因斯坦的掌故。
  爱因斯坦刚移民到美国的时候,已经是全球性的名人,经常受到记者的围堵。有一次,某记者问他,音速的大小是多少?老爱回答不知道。记者表示很诧异。然后老爱说了一段话,其中两句是:
这些可以在书上查到的东西,我没有记在脑子里。......教育的价值在于训练思维,而不在于传授事实。
  后面这一句话说得尤其好(已经加入到俺博客副标题的动态格言中)。

  说到这里,俺顺便再抹黑一下天朝的教育。
  咱们党国的教育,本质上就是洗脑教育。洗脑教育最常用的手段就是【灌输】。知道啥是灌输不?简而言之就是:迫使你被动地、无条件地接受一堆“事实”。在灌输的过程中,学生唯一要做的就是动用“记忆力”,把老师所说的“事实”背下来。被长期灌输的学生,除了记忆力比较好,其它思维能力(比如:分析、推理、归纳、总结、联想、创造、等等)很少得到训练。
  说难听点,这种搞法让天朝的学校成为“批量生产脑残的流水线”。有些天真的同学会问:难道国家领导人不知道教育问题的严重性吗?其实捏,朝廷对于教育的弊端是乐观其成滴。在一个独裁的国家,愚民教育是惯用的手段。愚民的比例越高,统治越稳定。因为愚民们只知道被动接收各种信息,缺乏独立思考的习惯。所以,愚民们不会质疑朝廷的忽悠,自然也不可能反抗。
  很多人有一个误区,以为“洗脑”的关键是“欺骗”。其实不然。洗脑的关键是“扼杀思维能力”。只要把某个人的思维能力扼杀,之后爱怎么忽悠就怎么忽悠,把你玩得团团转。这才是洗脑的最高境界啊!所以,俺经常在博客中普及思维能力和心理素质,就是希望能够部分抵消洗脑教育的副作用。
  (说到“扼杀思维能力”,可以参见另一篇博文:《比“欺骗”更有效的洗脑手法——基于“双重思想”的思维控制》)

◇如何应对“知识爆炸”?


  说完洗脑,再说说如何应对“知识爆炸”。这个词汇很多人都听说过。如今是信息时代,每个学科的知识总量都以非常快的速度膨胀。这对人的脑力是巨大的挑战。即便是在你主攻的一个非常细的细分领域,你也不可能记住所有的知识点。咋办?
  刚才列举了三类常见的知识点:描述概念、描述方法、描述事实。头两类的比例很低,但通常都很重要。所以这两类你需要记忆。第三类的比例很大(很可能占总量的 99% 以上),这时候你需要做一些取舍——只记住核心的知识点,舍弃边缘的知识点。
  肯定有同学会问:如何区分哪些是核心的,哪些是边缘的?这又是一个很大的话题,以后抽空单独写一篇介绍。
  还有的同学会问:不记住边缘的知识点,万一今后要用,咋办?
  其实很简单。如今的搜索引擎技术很发达,维基百科也很成熟,还有很多专业的文献检索工具。只要你善于利用计算机和互联网,可以到需要的时候再临时去查,不难查到。关于这方面的技巧,可以参考俺之前的系列博文《如何挖掘网络资源》。

★结尾


  今天杂七杂八说了一堆,希望能把俺的经验表达清楚。
  最后提醒一下列位看官,“知识结构”仅仅是个人能力的一小部分。对提升个人能力而言,完善知识结构只是必要条件,但不是充分条件。知识是需要运用的,不善于运用,再多的知识也如同垃圾。

转载于:https://www.cnblogs.com/WangBoBlog/p/7895627.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281780.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java调c++代码_Java中调用C++代码的实现 | 学步园

JNI为 Java Native Interface 即Java本地接口,使用此种方式可以对C/C代码进行调用,其在本质上是对C/C生成的动态库进行调用而不是直接对C/C代码进行调用Java代码如下:public class TestJNI{//JNI在本质上是调用C/C的动态库来实现的&#xff…

jeesite1.X 集成多数据源

2019独角兽企业重金招聘Python工程师标准>>> 网上看了几个例子,都是相同数据源的动态切换,如果不是同一种数据库类型,分页查询就出问题。经过研究解决问题。 jeesite.properties配置多数数据源地址,这里以mysql5.7和sqlserver2008…

k8s HPA(HorizontalPodAutoscaler)-自动水平伸缩

Horizontal Pod Autoscaling in Kubernetes写在前面我们平时部署web服务,当服务压力大撑不住的时候,我们会加机器(加钱);一般没有上容器编排是手动加的,临时加的机器,临时部署的服务还要改Nginx的配置,最后…

spark java 逻辑回归_逻辑回归分类技术分享,使用Java和Spark区分垃圾邮件

原标题:逻辑回归分类技术分享,使用Java和Spark区分垃圾邮件由于最近的工作原因,小鸟很久没给大家分享技术了。今天小鸟就给大家介绍一种比较火的机器学习算法,逻辑回归分类算法。回归是一种监督式学习的方式,与分类类似…

jQuery.extend()方法

定义和用法jQuery.extend()函数用于将一个或多个对象的内容合并到目标对象。 注意: 1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加…

Wget用法、参数解释的比较好的一个文章

一个语句就可以下载cvpr2016的全部论文: wget -c -N --no-clobber --convert-links --random-wait -r -p -E -e robotsoff -U mozilla http://www.cv-foundation.org/openaccess/CVPR2016.py 其中,-c表示断点续传;-N表示已经下载的内容不再重…

.NET VS智能提示汉化 (.Net6)

先上现成的.net6汉化文件,可以手动下载后参照 [如何为 .NET 安装本地化的 IntelliSense 文件 ](https://learn.microsoft.com/zh-cn/dotnet/core/install/localized-intellisense)进行安装。或者使用后文的工具进行自动安装。无对照英文在前中文在前汉化内容来自 官…

老人寻求到一名程序员,用2W行代码给自己打造了一幅肖像画

今天翻墙看了下国外的论坛,看到了一位版主给一位老人描绘肖像画的文章,不得不说这位大佬是真的厉害,近20000行代码,而且还画的很像,像小编我这种手残党,用笔也不能画出来,不得不服,今…

一题多解,ASP.NET Core应用启动初始化的N种方案[下篇]

[接上篇]“天下大势,分久必合,合久必分”,ASP.NET应用通过GenericWebHostService这个承载服务被整合到基于IHostBuilder/IHost的服务承载系统中之后,也许微软还是意识到Web应用和后台服务的承载方式还是应该加以区分,于…

GitHub服务中断24小时11分钟事故分析报告\n

上周,GitHub经历了一次事故,导致服务降级24小时11分钟。虽然平台的某些部分不受事故影响,但仍然有多个内部系统受到了影响,向用户显示了过时且不一致的内容。所幸没有用户数据丢失,但针对几秒钟数据库写入的手动调整工…

php 合并 字符串_PHP如何去重合并字符串

本篇文章主要给大家介绍PHP如何去重合并字符串。推荐教程:《PHP教程》对于PHP学习者来说,合并多个字符串,应该并不是很难。但是如果这多个字符串中,有相同元素,当我们想要合并他们并且要使其值具有唯一值。也就是说合并…

软概(lesson 2):课堂测试

一、测试题目 二、完成过程 1.设计思想 ①连接mysql数据库 ②设计user类,增加参数 ③设计add类,向数据库内增加内容 ④设计addInput页面,完成录入操作 ⑤设计add页面,接收录入的参数,并调用add类函数 2.源代码 user.ja…

谷歌Gboard输入法新增“无痕模式”:仅在Chrome隐身窗口中适用

据外媒Android Police报道,如大家所知道的,Chrome浏览器中的“隐身模式”是为了防止你的私密浏览记录被其他人看到,但是,在这种模式下,你的输入法键盘依然会记住你输入的短语,为了阻止你的键盘在Chrome隐身…

php两个数组融合,php合并两个数组的方式有哪些

1、arrary_merge示例代码:$arr1 array(1, 2, 3, 4, 5);$arr2 array(1, 2, 6, 7, 8, 9, 10);$result1 array_merge($arr1, $arr2);$arr3 array("name" > "itbsl", "age" > 13, "sex" > "Male");$arr…

最近对latin-1这个字符集产生了不少好感

【简介】 最近我要解析一个数据库中间件的日志、这个中间件会在日志中记录SQL发往的后台DB ,执行耗时,对应的SQL;中间件直接把SQL写到 了日志中去,并没有对SQL进行适当的编码转换;理想情况下这个也不会有什么问题,不幸…

面象对象设计原则之六:迪米特原则(LeastKnowledge Principle, LKP)

迪米特法则来自于1987年美国东北大学(Northeastern University)一个名为“Demeter”的研究项目。迪米特法则又称为最少知识原则(LeastKnowledge Principle, LKP),其定义如下: 迪米特法则(Law of Demeter, LoD):一个软件实体应当尽可能少地与…

其他对象的表单

1.textarea&#xff1a; textarea对象就想是input对象中的text样式的表单&#xff0c;只不过是扩展过的text样式表单。它可以通过行&#xff08;rows&#xff09;属性和列&#xff08;cols&#xff09;属性来编辑文本域的大小。最常见于留言板、论坛时回帖时的文本框等。 <h…

WinForm(十三)WebView2

WebView是WinForm框架中一个控件&#xff0c;用来对网页信息交互&#xff0c;有时Web自己开发的&#xff0c;有时Web是三方的。下面通过一个例子来看看WebView2的使用。首先看Web的逻辑&#xff0c;是一个商品添加页面&#xff0c;用AlpineJS和BootStrap来开发的&#xff0c;业…

Fluent UDF【4】:C语言

Fluent UDF利用的是C语言&#xff0c;本文简单介绍在UDF中经常会用到的C语言常识。 本文部分内容来自UDF手册。 1 C语言中的注释 C语言中的注释利用/*及*/来实现。例如: /*这是一个注释*/ 注释也可以跨行实现&#xff0c;如: /*这是一个 跨行注释*/ 注意:在编写UDF的过程中&…

java 画砖块,钢笔画入门:教你画砖块

说到砖块很多朋友会想到搬砖&#xff0c;绘画吧今天要教大家用钢笔画一块砖&#xff0c;因为画建筑的时候经常要画砖墙&#xff0c;我们先从简单的砖块学起&#xff0c;之后绘画吧会给大家分享画一面砖墙的哦。绘制要点&#xff1a;本教程的主体物选择了一块有小残缺面的砖头。…