(原创)LINUX_UNIX设计思想-读书笔记
第一章
一、Unit哲学
1、小即是美
2、让每一个程序只做好一件事情
3、尽快建立原型
4、舍高效率而取可移植性
5、使用纯文本文件来存储数据
6、充分利用软件的杠杆效应
7、使用shell脚本来提供杠杆效应和可移植性
8、避免强制性的用户界面
9、让每一个程序都成为过滤器
二、原则
1、允许用户定制
2、尽量使操作系统内核小而轻巧
3、使用小写字母,并尽量保持简短
4、保护树木
5、沉默是金
6、并行思考
7、各部分之和大于整体
8、寻找90%的解决方案
9、更坏就是更好
10、深层次思考
第二章
1、程序从小规模开始并尽量保持
2、软件开发力求简单
3、偏离了UNIX的基本操作思路
(1)参数过多
(2)函数代码太多
(3)要靠阅读注释才能明白
(4)无法定义全局变量
(5)无法确定一个异常处理在什么条件下触发
(6)不得不打印代码才能理清思路
第三章
一、Unit开发人员的开发步骤
1、撰写一份简短的功能规格文件
2、编写软件
3、使用迭代的软件测试或者重新编写代码的开发过程,直至完成全部功能
4、如果有必要,再撰写一份详细文档
二、尽快建立模型
1、建立模型是学习的过程
2、降低风险
第四章
1、不要花太多时间去优化软件
2、可移植性高于效率
第五章
1、充分利用软件的杠杆效应
2、良好的程序员编写优秀代码,优秀的程序员借用优秀代码
3、自动化的完成任务
4、使用shell脚本来提高杠杆效应和可移植性
5、小事物在反复放大之后,可以聚集起到不可思议的能量
第六章
1、真正的力量不在于有多强大,而是小而有能力
2、避免强制性的用户界面
3、让每个程序都成为过滤器
4、程序不创建数据,只有人类才会创建数据
5、尽量不要把注意力放到程序可以做什么上,而应该考虑一下程序的发展方向,然后就可以纵览全局,发现这个程序只是其中的一小部分
6、真正好的程序是不会受到人类生理机能的限制的
第七章
1、允许用户定制环境
2、尽量使操作系统内核小而轻量化
3、使用小写并尽可能短
4、保护数目
5、沉默是金
6、并行思考
7、各部分之和大于整体
8、寻求90%的解决方案
9、更坏就是更好
10、层次化思考
第八章
1、让Unit只做好一件事
2、采用那种只做好一件事的小程序来逐步构筑原型,事情会容易得多;这样只需付出最小的努力就能添加新的功能
3、软件永远是完不成的,它会一直发展下去
第九章
1、Unit与其他操作系统的比较
第十章
1、就算一群人认同你的观点,也不代表你就是对的。我同样可以找出另外一群认同我的观点的人
2、Unit系统从来没有试图去满足新手易于使用的需要,用户必须刻苦学习,然后才能利用上它内在的强大功能
3、图形用户界面和操作系统之间是一种形式与功能的关系
4、内容为王
5、有没有图形界面并不重要,真正重要的是那些被传达的信息
6、视觉内容:“用自己的眼睛去看”
7、有声内容:“听得到吗?”
第十一章
1、 起初他们忽视你,而后嘲笑你,接着打压你,最后就是你的胜利之日
第十二章
1、 一张缺少乌托邦的世界地图一文不值
2、 舍弃高效而取可移植性
3、 面向对象编程,充分利用软件的杠杆效应
4、 极限编程,尽快建立原型,从而客户一起开展迭代开发工作
5、 重构,简化再简化,采用小规模、渐进的模式来改进代码,而不是一股脑地推倒重来
6、 强大的、具有高度凝聚力的开发组织
7、 更坏就是更好
8、 廉价、高效、移动的通信
9、 你的努力会得到更多的回报
(原创)LINUX_UNIX设计思想-读书笔记的更多相关文章
- JAVA编程思想读书笔记(二)--容器
接上篇JAVA编程思想读书笔记(一) 第八章.对象的容纳 No1: java提供了四种类型的集合类:Vector(矢量).BitSet(位集).Stack(堆栈).Hashtable(散列表) No2 ...
- <<操作系统精髓与设计原理>>读书笔记(一) 并发性:互斥与同步(1)
<<操作系统精髓与设计原理>>读书笔记(一) 并发性:互斥与同步 并发问题是所有问题的基础,也是操作系统设计的基础.并发包括很多设计问题,其中有进程间通信,资源共享与竞争,多个 ...
- 部署:持续集成(CI)与持续交付(CD)——《微服务设计》读书笔记
系列文章目录: <微服务设计>读书笔记大纲 一.CI(Continuous Integration)简介 CI规则1:尽量频繁地把代码签入到分支中以进行集成 CI规则2: ...
- MySQL性能优化总结___本文乃《MySQL性能调优与架构设计》读书笔记!
一.MySQL的主要适用场景 1.Web网站系统 2.日志记录系统 3.数据仓库系统 4.嵌入式系统 二.MySQL架构图: 三.MySQL存储引擎概述 1)MyISAM存储引擎 MyISAM存储引擎 ...
- JAVA编程思想读书笔记(五)--多线程
接上篇JAVA编程思想读书笔记(四)--对象的克隆 No1: daemon Thread(守护线程) 参考http://blog.csdn.net/pony_maggie/article/detail ...
- JAVA编程思想读书笔记(四)--对象的克隆
接上篇JAVA编程思想读书笔记(三)--RTTI No1: 类的克隆 public class MyObject implements Cloneable { int i; public MyObje ...
- JAVA编程思想读书笔记(三)--RTTI
接上篇JAVA编程思想读书笔记(二) 第十一章 运行期类型判定 No1: 对于作为程序一部分的每个类,它们都有一个Class对象.换言之,每次写一个新类时,同时也会创建一个Class对象(更恰当的说, ...
- Kafka/Metaq设计思想学习笔记 转
转载自: http://my.oschina.net/geecoodeer/blog/194829 本文没有特意区分它们之间的区别,仅仅是列出其中笔者认为好的设计思想,供后续设计参考. 目前笔者并没有 ...
- Java编程思想读书笔记之内部类
现在是够懒得了,放假的时候就想把这篇笔记写出来,一直拖到现在,最近在读<Java编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...
随机推荐
- Quoit Design
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission ...
- oc语言复制视频文件
void copyFile() { NSString *home=NSHomeDirectory(); NSString *path=[NSString stringWithFormat:@" ...
- Java Set接口
Set 集合不能包含重复的元素的集合.该模型数学抽象集合. Set接口只包含继承自Collection的方法,并增加了重复的元素被禁止约束性. 集还增加了对equals和hashCode操作的行为更强 ...
- (ASP.NET)总结MVC中@Html表单用法
1.当type类型是text时:@Html.TextBoxFor(model => Model.Name,new{@style = "width: 50px;", @clas ...
- HDU 1069 Monkey and Banana (DP)
Monkey and Banana Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- 【JS Note】undefined与null
在Javascript中有这两种原始类型: Undefined与Null.而这两种原始类型都各自只有一个值,分别是undefined,null. undefined: 1.变量声明后未赋值,则变量会被 ...
- linux /etc/sysctl.conf 禁止别人ping自己
vi /etc/sysctl.conf如果希望屏蔽别人 ping 你的主机,则加入以下代码:# Disable ping requestsnet.ipv4.icmp_echo_ignore_all = ...
- 【转载】Android开发学习笔记:Intent的简介以及属性的详解
http://liangruijun.blog.51cto.com/3061169/634411/ 一.Intent的介绍 Intent的中文意思是“意图,意向”,在Android中提供了Intent ...
- json2.js 的使用
转载自:http://www.cnblogs.com/youring2/archive/2013/03/01/2938850.html -------------------------------- ...
- 使用T4为数据库自动生成实体类
T4 (Text Template Transformation Toolkit) 是一个基于模板的代码生成器.使用T4你可以通过写一些ASP.NET-like模板,来生成C#, T-SQL, XML ...