管窥编程

基础

局部性原理:计算机中整体和局部的关系。分为时间局部性和空间局部性。

缓存:局部性原理的应用。利用数据的副本解决速度不匹配的问题 ,让慢者快起来

抽象:指令集是对CPU的抽象, 文件是对输入/输出设备的抽象, 虚拟存储器是对程序存储的抽象, 进程是对一个正在运行的程序的抽象, 而虚拟机是对整个计算机(包括操作系统、处理器和程序)的抽象。

分层:隔离变化。TCP/IP分层。

异步调用:比如CPU利用DMA读硬盘数据。比如前端技术AJAX,当浏览器的javascript发出HTTP请求时,不会等待服务器返回数据,而是设置一个回调函数,等服务器响应到达的时候调用一下就可以了。再比如Ngnix的线程,不会等待一个耗时操作,等这个操作完成后再去通知线程。

分而治之:分析-综合。如果子问题和母问题相似,可用递归。常见快速排序和归并排序。

OOP

由一个类挖掘出一棵树:类的最大特点是层次的逻辑,继承和多态都由此而来。

很多树联系起来组成一片森林,这就是UML图。

设计

bug:bug分成两类,一种是底层bug,另一种是顶层bug

好代码的标准有很多,但好代码不是写出来的,而是好的设计自动带出来的。

好的设计至少两个方案比较出来的,而非直觉。

好的设计有一个insight 的深度,能用三言两语概括出来。

解决问题的路子就是深入理解问题内部的原理和本质,而非一个又一个地解决细节没有全局观念。

善待身边的人,只有这样才能交流出智慧,否则将失去太多的机会。

伟大是细节堆出来的,勇敢暴露暗处的细节,重新思考忽略的细节,精雕细刻粗糙的细节,苦心钻研困惑的细节

框架

配置文件和注解(元数据)

API

应用实例

原理内幕

你可能感兴趣的:(管窥编程)