如何学习(1):构建全栈式知识结构
有次下班到家楼下等电梯,碰巧一位妈妈抱到两岁的小女孩在看旁边的宣传画。这时电梯还没到,这位妈妈就指着海报上的字读给小女孩,“这是太阳,那是月亮”……,想借这个机会教小孩认字。
这是中国式的、传统的教学方法,其实我对这种死记硬背的方法不怀好意,于是在电梯上开起了小差,为什么这种方法效果不好,不招受教者的讨好呢。
如果我是教自己的小女儿认字,我会怎么教呢?
“牛牛,你看,上面画的是太阳。你知道吗?太阳公公每天很早就起床了,大地才开始暖起来,小朋友们才可以出来玩耍。到了晚上,太阳公公要休息了,大家小朋友就回家吃晚饭,然后开始睡觉拉。太阳公公天天跟我们在一起哟,下面这两字就是太阳拉,以后见到太阳两字可以跟小朋友们讲太阳公公的故事”
注:我家女儿小名牛牛,她外婆起的。
知识是多层次的
从事IT的同行应该听说过”全栈工程师“这个名称,通常软件根据功能分成多层,每层称为栈,而全栈工程师是指那些通晓各层软件栈的、经验非常丰富的软件工程师(他们通常是架构师)。
延伸到学习本身,它的对象(某个知识,某个理论,某个公式,某项技术)是多层次,而不单单是对象本身。
我这里将知识多层次这个事情描述为 全栈式的知识结构。每个知识都应最少包括以下3个方面:
该知识的历史,它的出现是为了解决什么问题的?
该知识本身是怎么样的,它的定义,它的原理
如何应用该知识
在我们的教育当中,常常只有第二点的教育,缺少了历史和应用两处。容易造成学生根本无法理解这些纷繁复杂的理论或技术,学习缺少趣味性,成负担。
下面讲述数和计算机领域例子,体会一下全栈式的知识结构。
数学知识例子:负数
为什么需要负数:古代商人需要进行记帐,买入是为进货,卖出是为出货,使用数数无法很好进行表达;为了解决这个问题,聪明的商人使用了特殊标记,进货标示为:进 + 数量, 出货标示为:出 + 数量。但是仍然还没有解决计算问题,进和出两者无法直接进行计算。最后聪明的数学家们,将生活中遇到各种支出行为加以抽象和提炼,形成了负数。并根据生活原形,定义符合生活直觉的各种运算(加减乘除)
什么是负数:负数表示正数意义相反的量。如+5表示进货5公斤大米,那么-5表示出货5公斤大米。
如何应用: 日常记帐,收入记为正数,各项支出记为负数,月底结算时将这些数加起来:结果为正数表示月度盈余,负数表示月度负债。负数可以广泛应用于温度、楼层、海拔、水位、盈利、增产/减产、支出/收入、得分/扣分等等的这些方面中。
计算机的例子:云计算
为什么需要云计算:传统的服务运行在固定的一组服务器上,他们形成集群。如果上线用户少,服务器资源利用不充分,造成资源浪费;如果高峰时段,上线用户多,形成峰值,服务器资源会出现不够。运计算就是专门来解决资源可伸缩问题。将服务运行在多个VM上面,如果用户少,只需要运行少量VM即可,用户高峰时段,动态运行多个VM提供服务。另一方面,它改变商用模式,大公司可以提供公有云服务(比如亚马逊),让其它小公司购买VM运行它的业务。
什么是云计算技术:云计算技术可以简单理解成虚拟化技术,每台物理机上运行多个虚拟机,虚拟机之间动态调度,内存动态管理。还有配套的存储虚拟化,以及网络虚拟化,才以支撑整个云计算虚拟化。在Linux操作系统上,它利用X86 CPU上的root模式和非root模式分别运行Host OS和Guest OS(虚拟机),主流虚拟化技术有KVM和Xen两种。
云计算应用:云计算的应用很广泛,有提供云虚拟机,云储存(网盘)等。同时改变了传统服务器的商业模式。
抛弃枯燥学习方法,构建全栈式的知识结构
对于学习者,每遇到新技术,新理论,新知识,多想想它产生的背景,它是解决什么问题,它的发展历史是怎样的,这些东西会使用谜上它。一旦学习构建全栈式的知识结构,你会发现别有洞开,甚至脑洞大开。
对于教育者,抛弃那些传统的教学方法吧,多讲一些背景和发展历史,以及这门知识的应用,而不是硬生生地跳出来。
开始构建你的全栈之旅吧……
更实时查看文章,请关注我的公众号 ”程序员思维“
如何学习(1):构建全栈式知识结构相关推荐
- 数美科技CTO梁堃:怎么样构建全栈式智能风控体系,在线业务安全的挑战与实践
日前,由雷锋网鲸犀频道与腾讯"千帆计划"共同举办的"CCF-GAIR全球人工智能与机器人峰会"在深圳盛大召开.在"如何利用SaaS赋能企业转型升级&q ...
- 大数据全栈式开发语言 – Python
前段时间,ThoughtWorks在深圳举办一次社区活动上,有一个演讲主题叫做"Fullstack JavaScript",是关于用JavaScript进行前端.服务器端,甚至数据 ...
- python全栈和java全栈_Python是全栈式开发语言吗?原因竟是这样!
Python 的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.但排在前四名的语言 Python.C.Java 和 C++都拥有广大的用户群体,并且他们的用户总量也十分相近.实际上,Di ...
- 利用大数据风控教你全栈式实时反欺诈
"很久没有碰到这么大的漏洞了,你们继续,我睡了." 2019年1月20日凌晨1点半,在某"羊毛党"聚集的电报(Telegram,一款社交APP)群里,一位圈内& ...
- 一个全栈式的应用集成平台,打破“信息孤岛”
源宝导读:随着企业数字化进程的逐渐深入,企业存在大量的异构系统,各个系统之间信息传输.资源利用困难.本文将介绍明源云ERP为了打破这种"信息孤岛",而进行的思考与实践. 一.前言 ...
- 小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)
之前学习微信小程序开发,主要是基于JS.WXML.WXSS的前端开发,对于后端技术不精的我也是使用了微信开发者工具中的云开发功能,但是今天突发奇想,特别想体验一下全栈式开发微信小程序,学习了一下基于W ...
- web全栈架构师所需技术栈_统一架构–一种构建全栈应用程序的简单方法
web全栈架构师所需技术栈 Modern full-stack apps – like single-page apps or mobile apps – usually have six layer ...
- python底层是用什么语言实现的_我为何说Python是全栈式开发语言?
Python 的排名从去年开始就借助人工智能持续上升,如今它已经成为了第一名.但排在前四名的语言 Python.C.Java 和 C++都拥有广大的用户群体,而且他们的用户总量也十分相近.实际上,Di ...
- 基于NodeJS的全栈式开发(基于NodeJS的前后端分离)【转】
随着不同终端(Pad/Mobile/PC)的兴起,对开发人员的要求越来越高,纯浏览器端的响应式已经不能满足用户体验的高要求,我们往往需要针对不同的终端开发定制的版本.为了提升开发效率,前后端分离的需求 ...
最新文章
- Jar/War/Ear等包的作用与区别详解
- 为什么 Kafka 速度那么快?
- miniuidatagrid只允许修改某一列_State Processor API:如何读取,写入和修改 Flink 应用程序的状态...
- 2017.9.9 股票交易 思考记录
- ES6-18:class类及其继承
- android 桌面小插件下载地址,桌面小组件app下载
- 30个 CSS 样式常用的静态形状
- java 以10为底的对数_获取Java中值的以10为底的对数
- 办公计算机班半学期总结,计算机班的班主任工作总结.docx
- 计算机显示器闪烁,电脑显示器闪屏怎么办 显示器闪屏原因【解决方法】
- C#山寨版本【天翼拨号客户端】---内含详细抓包,模拟数据---万事俱备,只欠东风。
- Linux内存管理 - slab分配器和kmalloc
- html5 输入用户名和密码登陆网址,360路由器登录网址用户名和密码指南
- android融云消息免打扰
- MFC基本图形的绘制(一)设备环境类CDC、画笔和画刷
- 为何要配置环境变量?
- php 获取agent,PHP解析HTTP_USER_AGENT 获取客户端浏览器以及版本号 | 八戒哥技术博客...
- java比较器原理理解
- OmniGraffle 7 Mac 注册码 账号:Appked 密码:MFWG-GHEB-HYTW-CGHT-CSXU-QCNC-SXU
- 程序员这样学英语,少走很多弯路
热门文章
- J9数字科普:Web3.0世界中的J9NFT:仍在发展但未来可期
- TypeError: _typeof4 is not a function,解决微信小程序报错
- 各位大神,有没有类似于百度云软件开始时的设置向导的例子呀
- Python学习记录——십 列表
- python add picture显示过大_利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例...
- 信息安全之加密域可逆信息隐藏
- 【docker】docker重新加载nginx配置
- 【转载】目前市场上主流的BI产品主要有哪些?
- CDP科普:客户数据中台(CDP)是什么?
- 中文字体压缩器并且转换(推荐阅读)