(原创)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编程思想>,我想会做不止这一篇笔记,因为之前面试的时候总会问道一些内部类的问题,那这本书的笔记就从内部类开始 ...
随机推荐
- C. Ilya and Sticks
C. Ilya and Sticks time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- ios 加载本地html css文件 ps:css和html必须在同一文件夹下面
NSString *path = [[NSBundle mainBundle] bundlePath]; NSURL *baseURL = [NSURL fileURLWithPath:path]; ...
- [Arduino] 外部中断
原文:http://www.arduino.cn/thread-2421-1-1.html 1.什么是中断? 试想一下,你正在家里吃饭,这时传来了敲门声,虽然你巨饿,虽然面前全是山珍海味,但此时你不得 ...
- 整理的Unity导出安卓工程利用ANT进行多渠道批量打包APK
Unity导出的安卓工程利用ant进行多渠道循环批量打包 一:设置JAVA环境变量 做android开发的配置这个是基础. win7 下配置java环境变量,下面是链接 http://www.cnbl ...
- 获取JDK动态代理/CGLIB代理对象代理的目标对象。
问题描述:: 我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得sservice实现了接口的方法,而extends类的方法 ...
- linux_cpu信息查询
查看cpu信息: [root@css-management ~]# cat /proc/cpuinfo processor : 0vendor_id : GenuineIntelcpu family ...
- Delphi数组复制
const AA : arrary[0..4] of byte =(0,1,2,3,4) var BB : arrary[0..4] of byte; begin BB := AA ; {这样是错 ...
- jQuery源码dom ready分析
一.前言 在平时开发web项目时,我们使用jquery框架时,可能经常这样来使用$(document).ready(fn),$(function(){}),这样使用的原因是在浏览器把DOM树渲染好之前 ...
- 转载事务在C#方法里的应用
问题:一个系统的数据库更新或者插入的时候若遭遇到断电等能引起数据库不能正常工作的情况的话,其更新或插入的将是不完整的数据,或者是错误的数据.故需要引入事务处理. 实例:数据更新的事务处理. 解决方案: ...
- .NET使用NPOI读取Word模板并替换关键字并下载
NPOI 是 POI 项目的 .NET 版本.POI是一个开源的Java读写Excel.WORD等微软OLE2组件文档的项目. 使用 NPOI 你就可以在没有安装 Office 或者相应环境的机器上对 ...