(原创)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编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...
随机推荐
- Subsequence poj 3061 二分(nlog n)或尺取法(n)
Subsequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9236 Accepted: 3701 Descr ...
- android 布局之滑动探究 scrollTo 和 scrollBy 方法使用说明
涉及到滑动,就涉及到VIEW,大家都知道,Android的UI界面都是由一个一个的View以及View的派生类组成,View作为基类,而常用的布局里面的各种布局就是它派生出来的ViewGroup的子类 ...
- SOA与C#
What is SOA? SOA or Service oriented architecture is an architecture style for building business app ...
- nodejs的mysql模块学习(十)连接池集群配置选项
连接池集群选项 canRetry : 如果true ,连接池集群会在连接失败时尝试连接 默认true removeNodeErrorCount : 如果连接失败,节点的errCount增加.当erro ...
- 转js contains 方法
function Jcontains(root, el) { if (root.compareDocumentPosition) return root === el || !!(root.compa ...
- HDU 5253 连接的管道 (最小生成树)
连接的管道 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 在centos7中添加一个新用户并授权
参考地址:http://www.cnblogs.com/woshimrf/p/5906084.html 创建新用户 创建一个用户名为:zhangbiao [root@localhost ~]# add ...
- .NET DLL 保护措施详解(三)最终效果
针对.NET DLL 保护措施详解所述思路完成最终的实现,以下为程序包下载地址 下载 注意: 运行环境为.net4.0,需要安装VS2015 C++可发行组件包vc_redist.x86.exe.然后 ...
- JavaScript引用类型(二)
Date类型 Javascript中的Date类型是采用Java中的java.util.Date类基础上构建的,使用UTC时间来保存数据,可以精确到1970年1月1日之前或之后的285616年 创建一 ...
- apache windowns 下wamp配置多站点的问题
1.多站点配置找到apache下面的 conf/httpd.conf # Virtual hostsInclude conf/extra/httpd-vhosts.conf //将这句前面的#号注释 ...