读书笔记《计算机程序的构造和解释》一

P 2.2 层次性数据与闭包性质 1. 闭包性质:某种组合数据对象的操作是否满足闭包性质取决于:通过该操作组合起数据对象得到的结果本身还可以再通过该操作再进行组合。 如 f(f(x)) 2. 如果某个对组合数据对象的操作满足闭包性质,我们就可以将一些简单操作组合得到复杂的功能 3. 将程序表示...

2017-04-30 12:31:27

阅读数 572

评论数 0

读书笔记《Unix编程艺术》六

尽量把程序的复杂度从代码中转移到数据中 数据比逻辑更容易驾驭,尽可能把设计的复杂度从代码转移到数据中。 数据驱动编程: 把代码与代码要作用的数据划分清楚,在需要改变程序逻辑时,只需要编辑数据而不是代码 例子:语法编辑器需要识别文档中的关键字,可将支持识别的关键字放在某个文件中,每次程序执行前读取...

2017-04-16 12:42:25

阅读数 471

评论数 0

读书笔记《Unix编程艺术》五

语言的分类 语言的分类从基础的文本文件到最后的脚本文件,以下分类是语言从基础功能到不断复杂功能的演变: 简单可读文本文件:/etc/passwd等 结构化可读文件:SNG文件,sng中每一个可读字符对应PNG中一段比特位 在某些上下文解释下开始执行行为的结构化可读文件:xml,html,正则表达...

2017-04-11 17:04:28

阅读数 277

评论数 0

读书笔记《Unix编程艺术》四

多道程序设计 unix设计的核心思想: 做单件事并做好 Less is more Unix IPC 方法的分类把任务转给专门程序 核心思想:一个程序调用另一个程序来完成专门的某个任务 实现方式:被调用程序在运行完毕之前接管用户的键盘与现实,调用程序在该过程中不与之通信,被调程序运行结束后归还控制...

2017-04-10 12:17:08

阅读数 207

评论数 0

JavaScript继承的实现

JavaScript 通过函数的方式实现继承,其中分为原型链继承,借用构造函数继承,组合继承,原型式继承,寄生式继承与寄生组合式继承。其中最后性能最好的是寄生组合式继承。具体分析如下原型链继承实现形式// A类型 function A(){ this.a = true; }; A.prot...

2017-04-09 23:15:57

阅读数 351

评论数 0

读书笔记《Unix编程艺术》三

程序的可显性与透明性1. 可显性 定义:软件帮助人们(用户)知道“做什么、怎么做” 理解:降低进入门槛 2. 透明性 定义:能预测到程序的全部或者大部分行为,通过程序看透机器究竟在干什么 理解:减少代码中存在的成本 3. 两者区分: Linux内核:用户可以明确知道 Linux 内核的全部或大部分...

2017-04-09 11:58:48

阅读数 315

评论数 0

JavaScript中创建对象过程的理解

JavaScript设计基础 JavaScript是完全不同于其他OO语言设计思路的一门脚本语言。 其核心思想是:函数就是对象,对象中可以有属性与函数,其中属性与函数都有一个名字,名字类似指针,存着指向值的地址。没有OO中类的概念 正是其独特的基础核心思想,决定了这门语言的很多设计特点,在过程中把...

2017-04-08 22:37:58

阅读数 329

评论数 0

读书笔记《Unix编程艺术》二

文本化文本化包含两种设计,一种是将应用数据存储在永久存储器(磁盘等)中文件格式,另一种是在协作进程之间传递数据和命令的应用协议。存储数据结构的文件格式 通常在C++,python等中,将内存中数据结构的存储为文件的过程称为序列化(列集),将文件中的数据结构恢复到应用程序中的过程称为反序列化(散集)...

2017-04-08 12:11:01

阅读数 239

评论数 0

读书笔记《Unix编程艺术》一

Unix 设计的统一思想:一切皆文件。 Linux是一个采取了Unix的设计思想,初始行为表现与Unix相同的操作系统,但Linux中的源码并未有任何出自Unix。Linux符合一切皆文件的思想,其中读写操作都是处理文件描述符,无论是文件描述符后的是真正打开的文件,还是进程间通信的套接字,对于用...

2017-04-07 12:08:38

阅读数 848

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭