
读书笔记
文章平均质量分 68
Virtual_Func
小风扇吹风好吵
展开
-
读《暗时间》有感 一
1. 学习的两个最重要的喜欢:迅速进入专注学习+长时间持续专注学习2. 万事开头难,不要过早的退出或放弃,专注和持之以恒才是王道3. 想弄清楚一件觉得会伤自尊的问题时(向别人提出认为比较弱智的问题),不要犹豫,想想是否会有实质的损失4. 《程序员的自我修养》中说,每年保持能学一门新语言,因为能给出解决问题的不同思路5. 程序员一生的知识中,自学占了9原创 2017-03-04 23:43:07 · 695 阅读 · 0 评论 -
读书笔记《Unix编程艺术》六
尽量把程序的复杂度从代码中转移到数据中数据比逻辑更容易驾驭,尽可能把设计的复杂度从代码转移到数据中。数据驱动编程: 把代码与代码要作用的数据划分清楚,在需要改变程序逻辑时,只需要编辑数据而不是代码例子:语法编辑器需要识别文档中的关键字,可将支持识别的关键字放在某个文件中,每次程序执行前读取,而不是把关键字硬编码在程序中专用代码的生成: 将一些代码的书写转移到使用自动化工具来完成例子:可原创 2017-04-16 12:42:25 · 848 阅读 · 0 评论 -
读书笔记《计算机程序的构造和解释》一
P 2.2 层次性数据与闭包性质1. 闭包性质:某种组合数据对象的操作是否满足闭包性质取决于:通过该操作组合起数据对象得到的结果本身还可以再通过该操作再进行组合。如 f(f(x))2. 如果某个对组合数据对象的操作满足闭包性质,我们就可以将一些简单操作组合得到复杂的功能3. 将程序表示为一些针对序列的操作,可以帮助我们得到模块化的程序设计,也就是说,得到由一些比较独立的片段原创 2017-04-30 12:31:27 · 1197 阅读 · 0 评论 -
读书笔记《Unix编程艺术》五
语言的分类语言的分类从基础的文本文件到最后的脚本文件,以下分类是语言从基础功能到不断复杂功能的演变: 简单可读文本文件:/etc/passwd等结构化可读文件:SNG文件,sng中每一个可读字符对应PNG中一段比特位在某些上下文解释下开始执行行为的结构化可读文件:xml,html,正则表达式等声明性语言:通过约束条件来说明在解释性上下文中要完成的行为,如make,命令性语言:每个命令有其原创 2017-04-11 17:04:28 · 567 阅读 · 0 评论 -
读书笔记《Unix编程艺术》四
多道程序设计unix设计的核心思想: 做单件事并做好Less is moreUnix IPC 方法的分类把任务转给专门程序核心思想:一个程序调用另一个程序来完成专门的某个任务实现方式:被调用程序在运行完毕之前接管用户的键盘与现实,调用程序在该过程中不与之通信,被调程序运行结束后归还控制权。专门程序通过文件系统与父进程进行通信。(如将结果写到指定文件中等方式)特点:被调用进程在运行时不需原创 2017-04-10 12:17:08 · 439 阅读 · 0 评论 -
读书笔记《Unix编程艺术》三
程序的可显性与透明性1. 可显性定义:软件帮助人们(用户)知道“做什么、怎么做”理解:降低进入门槛2. 透明性定义:能预测到程序的全部或者大部分行为,通过程序看透机器究竟在干什么理解:减少代码中存在的成本3. 两者区分:Linux内核:用户可以明确知道 Linux 内核的全部或大部分行为(高透明性),但是不能很简单的就可以通过程序知道怎么去读磁盘,写磁盘等(低可显性)。SNG : 该原创 2017-04-09 11:58:48 · 578 阅读 · 0 评论 -
读书笔记《Unix编程艺术》二
文本化文本化包含两种设计,一种是将应用数据存储在永久存储器(磁盘等)中文件格式,另一种是在协作进程之间传递数据和命令的应用协议。存储数据结构的文件格式通常在C++,python等中,将内存中数据结构的存储为文件的过程称为序列化(列集),将文件中的数据结构恢复到应用程序中的过程称为反序列化(散集)。数据文件格式与配置文件(运行控制文件)的文件格式之间存在差异,这是因为配置文件通常都是只读文件,而数原创 2017-04-08 12:11:01 · 498 阅读 · 0 评论 -
读书笔记《Unix编程艺术》一
Unix 设计的统一思想:一切皆文件。Linux是一个采取了Unix的设计思想,初始行为表现与Unix相同的操作系统,但Linux中的源码并未有任何出自Unix。Linux符合一切皆文件的思想,其中读写操作都是处理文件描述符,无论是文件描述符后的是真正打开的文件,还是进程间通信的套接字,对于用户而言都是操作文件描述符,用同样的API进行操作,这种思想对写IPC等比较方便,容易上手。开源原创 2017-04-07 12:08:38 · 1486 阅读 · 0 评论 -
读《哥德尔艾舍尔巴赫》中第19章—人工智能的展望 的思考
1. 思维的滑动性我们的思维在思考一个问题或一个场景时,是存在一个滑动的过程的,从一个场景滑动到一个相似的略有差别的场景中,但是这种滑动也有自然滑动和不自然滑动的区别,例子如下:真实情况: 小明去商店买了一杯珍珠奶茶,有3颗珍珠自然滑动:小明去商店买了一杯珍珠奶茶,有很多颗珍珠略不自然滑动:小明去商店买了一杯珍珠奶茶,有3颗珍珠,有很多芒果粒很不自然滑动:小明去商店买了一杯珍珠原创 2017-03-06 23:49:36 · 1284 阅读 · 0 评论 -
类与包
包的划分原则:1. 重用发布等价原则:重用的粒度就是发布的粒度个人理解:一个包中的类要么全都是可重用的,要么全都是不可重用的。2. 共同重用原则:如果重用了包中的一个类,那么就要重用保重的所有类。个人理解:当确信依赖于一个包时,将依赖于那个包中的每一个类。3. 共同封闭原则:一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对其他的包不造成任何影响。原创 2017-03-12 12:05:28 · 806 阅读 · 0 评论 -
读《暗时间》有感 二
“逃出你的肖申克”大脑的处理分为两部分,情绪系统和理智系统,情绪系统在思维中通常占主导地位,因此会出现如下情况:学习是好事(理性系统),但是学习很沉闷( 事实),因此不开心,不想学习,不学习就很放松(情绪系统)。最终决定不学习,就是其中情绪系统占了主导地位。1. 我们太可能呢因为受到知识的局限性而对事物的看法产生无法消除的偏见,有时候打破这种偏见的唯一途径就是开阔视野,多积累知识,原创 2017-03-06 20:22:01 · 508 阅读 · 0 评论 -
读书笔记《测试驱动开发》一
单个类的开发原则:从类的小功能开始开发,在具体写实现代码之前,先写测试代码。通过先写测试代码,能确定类的指定功能较好用的接口。小函数开发周期:先将问题转为一个测试程序通过存根等方式尽快使代码通过编译对运行错误的情况进行分析,使得代码可以运行消除重复设计,优化设计结构(重构)尽快使测试程序通过编译的三个原则:伪实现:返回一个常量,并逐渐用变量替换常量,知道伪代码成为可用的真实代码显明实原创 2017-05-02 18:01:12 · 665 阅读 · 0 评论