Unix哲学】的更多相关文章

websocketd代表WebSocket的守护进程 websocketd处理的是浏览器和服务器之间的WebSocket连接,它会启动你所指定的服务器端应用来对WebSockets进行处理,然后在浏览器和服务器应用之间进行消息的传递. 在20年前的话,有一项叫做CGI的技术做的工作类似,但现在这项技术将会被websocket所取代. 语言无关 只要你的服务器应用是可以从命令行进行运行的,你就可以为你的服务器应用编写WebSocket终端服务. 无需额外的库的支持 通过WebSocketd进行信息…
Unix哲学是一些先哲们多方位阐述的,有多种说法.可以概括为以下几点: 模块原则:使用简洁的接口拼合简单的部件. 清晰原则:清晰胜于机巧. 组合原则:设计时考虑拼接组合. 分离原则:策略同机制分离,接口同引擎分离. 简洁原则:设计要简洁,复杂度能低则低. 吝啬原则:除非确无它法,不要编写庞大的程序. 透明性原则:设计要可见,以便审查和调试. 健壮原则:健壮源于透明与简洁. 表示原则:把知识叠入数据以求逻辑质朴而健壮. 通俗原则:接口设计避免标新立异. 缄默原则:如果一个程序没什么好说的,就沉默.…
reference : http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html 先讲两个很老的小故事. 第一个故事. 有一家日本最大的化妆品公司,收到了用户的投诉.用户抱怨买来的肥皂盒是空的.这家公司为了防止再发生这样的事故,很辛苦地发明了一台X光检查器,能够透视每一个出货的肥皂盒. 同样的事故,发生在一家小公司.他们的解决方法是买一台强力的工业电扇,对着肥皂盒猛吹,被吹走的就是空肥皂盒. 第二个故事. 美国太空总署(NASA)发现…
http://www.ruanyifeng.com/blog/2009/06/unix_philosophy.html 这几天,我在看Unix,发现很多人在谈"Unix哲学",也就是开发Unix系统的指导思想. Wikipedia上列出了好几个版本,不同的人有不同的总结.发明管道命令的Doug McIlroy总结了三条,而Eric S. Raymond则在The Art of Unix Programming一书中,一口气总结了17条(英文版,中文版). 但是我发现,所有人都同意,&q…
01. 模块原则:使用简洁的接口拼合简单的部件. 02. 清晰原则:清晰胜于机巧. 03. 组合原则:设计时考虑拼接组合. 04. 分离原则:策略同机制分离,接口同引擎分离. 05. 简洁原则:设计要简洁,复杂度能低则低. 06. 吝啬原则:除非确无它法,不要编写庞大的程序. 07. 透明性原则:设计要可见,以便审查和调试. 08. 健壮原则:健壮源于透明与简洁. 09. 表示原则:把知识叠入数据以求逻辑质朴而健壮. 10. 通俗原则:接口设计避免标新立异. 11. 缄默原则:如果一个程序没什么…
1.模块原则:使用简洁的接口拼接简单的部件 2.清晰原则:清晰胜于机巧 3.组合原则:设计时考虑拼接组合 4.分离原则:策略同机制分离,接口同引擎分离. 5.简洁原则:设计要简洁,复杂度能低则低 6.吝啬原则:除非确无他法,不要编写庞大的程序. 7.透明性原则:设计要可见,以便审查和调试. 8.健壮原则:健壮源于透明与简洁. 9.表示原则:把知识叠入数据以求逻辑质朴而健壮 10.通俗原则:接口设计要避免标新立异 11.缄默原则:如果一个程序没有什么好说的,就沉默. 12.补救原则:出现异常时,马…
说到Unix为我们所带来的软件开发的哲学,我必需要说一说.Unix遵循的原则是KISS(Keep it simple, stupid).在http://en.wikipedia.org/wiki/Unix_philosophy 上有很多的基本上大同小异的Unix哲学,都是很经典的. Doug McIlroy 是认为UNIX的哲学是这样的:三条哲学,简明扼要,就是这三条哲学贯穿着整个Unix世界.尤其是第一条"do one thing and do it well"真是相当精彩! l  …
先讲两个很老的小故事. 第一个故事. 有一家日本最大的化妆品公司,收到了用户的投诉.用户抱怨买来的肥皂盒是空的.这家公司为了防止再发生这样的事故,很辛苦地发明了一台X光检查器,能够透视每一个出货的肥皂盒. 同样的事故,发生在一家小公司.他们的解决方法是买一台强力的工业电扇,对着肥皂盒猛吹,被吹走的就是空肥皂盒. 第二个故事. 美国太空总署(NASA)发现在太空失重状态下,航天员无法用墨水笔写字.于是,他们花了大量经费,研发出了一种可以在失重状态下写字的太空笔.猜猜看,俄国人是怎么解决的?(答案在…
昨天看了这篇文章 <关于Unix哲学> 首先用了两个例子,用风扇吹出空肥皂盒 和 太空铅笔,来说明简单设计也能派上作用吧. Unix哲学,Wikipedia上列出了好几个版本,不同的人有不同的总结.发明管道命令的Doug McIlroy总结了三条,而Eric S. Raymond则在The Art of Unix Programming一书中,一口气总结了17条. 但是所有人都同意,"简单原则"----尽量用简单的方法解决问题----是"Unix哲学"的…
 沉寂了很久了,时间在不断地逝去,转眼又到了新的一年,2013的发生了太多,Beta版本.辞职.职位转换.ARM.Driver.初级厨艺.Dx11.GPU.CPU.登山.GNU/Linux.Cross-Platfrom Tool Chain.GLES.Android...难以计算,日子依然忙碌,孑然一身,这个世界于我依然有太多未知,想法却是越来越少了,也不知到底是好是坏,愿始终做一块海绵,继续努力行走下去!   最近正被Linux折腾的头疼,顺道转一篇关于UNIX/C世界的前世今生, 默默地向D…
-- 故国神游,多情应笑我,早生华发. Git是什么? Git是一个版本控制工具,代码管理工具,团队协作工具.它跟SVN等传统工具实现同样的目的:但从某种程度来说,它更快,更灵活.我想绝大多数读者都已经在接触这个工具了,并且用于日常的项目中去了.我的这篇文章,不是作为一个Git入门教程,也不是作为一本大块头的教科书.(说到教科书,我推荐下面的这本.这本书确实好,很全面.我的这篇文章,其实就是这本书的读书笔记而已.) Pro Git -- http://git.oschina.net/progit…
http://www.iwangzheng.com/ 大约30年前,当美国人边开着大型轿车边享受着其他国家民众的羡慕目光时,大众汽车却在美国开展了一项主题为“小即是美”的广告营销活动.那时,美国人对大轿车的迷恋世人皆知,这家德国汽车制造厂商的举动似乎有些不合时宜.然后意想不到的事情发生了,石油价格的上升及经济状况的制约,这些昔日的可笑小车变成了时髦的必需品. 这带来了Unix哲学的第一条准则. 准则一:小即是美 如果你准备开始编写一个程序,请从小规模开始并尽量保持,无论是设计简单的过滤器.图形软…
大多数操作系统可以被划分到两个不同的家族.除了微软的基于Windows NT的操作系统外,几乎所有其他的都可以追溯到Unix. Linux,Mac OS X,Android,iOS,Chrome OS,PlayStaion 4上运行的Orbis OS,运行在路由器上的各种固件,所有这些操作系统通常都被称为“类Unix”操作系统. Unix的设计现在都还在应用 Unix在20世纪60年代中晚期诞生于AT&T的贝尔实验室中.最初发布的Unix中的一些重要设计因素到如今都还在使用. 其中一个设计是“U…
这本书是一位面试官告诉我,.非常感谢他的忠告.面试的说明.我写后认为,足.一方面是面试的技巧.另一方面就是学习的方法. 阅读这本书非常享受,加上之前的积累,一些疑惑,另一些基础的不足,在这本书里找到了归宿. 以下.一起来享受这本书的精华吧 Unix诞生与1969年.那时候我们还在闹文革吧,可一个能够改变21世纪甚至更远的未来的操作系统问世,至少如今的Linux是基于Unix的设计哲学. Unix是唯一一个在不同种类的计算机,众多厂商和各种硬件上提供一致的,文档齐全的API的操作系统. Uni…
我想通过这篇文章解释一下我对 Unix 哲学本质的理解.我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣.虽然 Unix 在基础概念上有一个挺严重的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大量的人力).但是如果开始正视这个问题,我们也许就可以缓慢的改善系统的结构,从而使得它用起来更加高效,方便和安全,那又未尝不可.同时也希望这里对 Unix 命令本质的阐述能帮助人迅速的掌握 Unix,灵活的应用它的潜力,避免它的缺点. 通常所说的"U…
从Linux 与 Unix 异同,看开源世界的发展! 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额的报告,但Linux在数据中心操作系统上的份额可能高达70%,而Windows变体几乎涵盖了所有剩余的比例.使用任何主流公共云的开发人员可以假定目标系统将运行Linux.近些年来,随着Android和基于Linux的嵌入式系统在智能手机.电视.汽车和其他设备中的应用,Linux随处…
Linux 与 Unix 到底有什么不同?区别在哪? 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额的报告,但Linux在数据中心操作系统上的份额可能高达70%,而Windows变体几乎涵盖了所有剩余的比例.使用任何主流公共云的开发人员可以假定目标系统将运行Linux.近些年来,随着Android和基于Linux的嵌入式系统在智能手机.电视.汽车和其他设备中的应用,Linux随处…
转自 http://coolshell.cn/articles/2322.html 了解过去,我们才能知其然,更知所以然.总结过去,我们才会知道我们明天该如何去规划,该如何去走.在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今.要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史. Unix是目前还在存活的操作系统的元老了,走过了40年的历程(参看<Unix…
本篇文章主要总结分享记录一下运维工作中经常打交道的Unix进程.程序是代码的集合,而进程是运行中的程序产生的.那么进程都有那些特性呢?且看下文,部分经典且难懂的地方,使用python代码实现,可以让读者更好的理解与记忆. 进程特性 进程都有标识符   在系统中运行的所有进程都有一个唯一的进程标识符,称之为pid.   pid并不传达关于进程的任何信息,它仅仅是一个顺序字符标识.进程在内核眼中只是个数字而已. pid是对进程的一种简单通用的描述,它与进程内容无关. 进程都有父进程   系统中运行的…
40年前,Unix操作系统横空出世,Unix不仅仅带来了一个操作系统,还创造C语言,Socket,开源,黑客等等文化,这些文化影响着整个计算机世界的文明,直到今天. 如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明.管道的出现,解决的就是让不同功能的程序可以互相连通通讯,从而可以让软件开发,程序开发更加的“高内聚,低耦合”,从而可以让程序“Do one thing, Do it well”,从而可以让程序“Keep it Simpl…
操作系统有两大阵营,一边是基于微软 Windows NT 的操作系统,一边是由UNIX衍生下来的操作系统. Linux, Mac OS X, Android, iOS, Chrome OS甚至路由器上的固件,这些操作系统同出一族,都是基于最初的UNIX系统开发而来,统称Unix-like 操作系统. Unix系统由AT&T贝尔实验室于1960年代开发.Unix哲学是专注于一件事去创造小而精的工具,并将他们做的完美.比如,在Linux终端上可以使用管道符组合几个工具去完成一项复杂的任务.在Unix…
来自:开源中国 原文:Linux vs. Unix: What's the difference? 链接: https://opensource.com/article/18/5/differences-between-linux-and-unix 译者:Tocy, LinuxTech, 琪花亿草, lnovonl, 雪落无痕xdj, kevinlinkai, 无若 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,…
昨天看文章时发现自己对 linux 操作系统不够了解,还记得 17 年时听过老师的一些课,对 linux 的历史有一点了解,不过当时并没有记录笔记,现在已经忘的差不多了. 这次从网上找资料,又重新看了一遍,同时做了一些笔记. 这次看的是鸟哥的文章,他把 unix linux 的起源历史讲的相当细致,读起来非常有意思,而且本来他们的历史也是一个非常复杂曲折的过程,认真读一读也是收货颇多. Unix 算是操作系统的鼻祖,尽管现在移动平台中的 Android.iOS 操作系统,电脑中的 MAC OS…
原文:https://opensource.com/article/18/5/differences-between-linux-and-unix 来源:开源中国社区,译者:Tocy, LinuxTech, 琪花亿草, lnovonl, 雪落无痕xdj, kevinlinkai, 无若             如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中.数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额的报告,但Linux在数…
『哲学与玄学』 FreeBSD 是一种 UNIX 哲学(如模块化,一切皆文件等,见< UNIX 编程艺术>❩的发展,也是学院派的代表作品.她是一套工具集,她存在目的是为了让人们更好的生活. 『硬件支持』 截至 2020 年 12 月 22 日,FreeBSD 已经支持 intel 十代处理器显卡( FreeBSD 12.2-STABLE / FreeBSD 13-CURRENT ),NVME PCI-E 硬盘,UEFI + GPT,Root 分区使用 ZFS 文件系统,部分树莓派等嵌入式设备,…
引言 之所以想到写这些东西,那是因为我确实想让大家也和我一样,把 Linux 桌面系统打造成真真正正日常使用的工具,而不是安装之后试用几把再删掉.我是真的在日常生活和工作中都使用 Linux,比如在 Linux 下编程.写博客.写论文和做幻灯.当然,对于 LibreOffice 这样的软件使用起来都不会有什么困难,所以在我的博客中就基本没有提到,就像 Windows 下的程序员不会去写 MS Office 的使用指南一样.如果有人不能坚持使用 Linux,那一定是 Linux 中的某些困难打败了…
为什么需要正则表达式 by 王垠 学习Unix最开头,大家都学过正则表达式(regexp).可是有没有人考虑过我们为什么需要正则表达式? 正则表达式本来的初衷是用来从无结构的字符串中提取信息,殊不知这正好是Unix的缺陷所在.Unix用无结构的字符串来表示数据,导致了诸多复杂的基于regexp的软件的诞生.sed, AWK, Perl, … 都是为了同样的目的来到这个世界上的.如果不是因为Unix用字符串来表示数据,我们就会拥有按数据结构类型的直接存储,而不需要折腾regexp.正则表达式有它自…
两年前接触到了微服务的概念,面对日益膨胀的系统感觉豁然开朗.之后的两年逐步把系统按微服务的架构理念进行了重构,并将业务迁移到了新架构之上.感觉现在差不多是时候写一篇关于微服务的总结文章了. 定义 在 Martin Fowler & James Lewis 的文章(参考[1])里给出了微服务架构的一个定义: 微服务架构即是采用一组小服务来构建应用的方法. 每个服务运行在独立的进程中,不同服务通过一些轻量级交互机制来通信, 例如 RPC.HTTP 等. 服务围绕业务能力来构建,并依赖自动部署机制来独…
在 Bash 中,有两个内置命令用来控制 Bash 的各种可配置行为的开关(打开或关闭),这些开关称之为选项(option).其中一个命令是 set,set 命令有三种功能:显示所有的变量和函数:修改 Bash 的位置参数:控制 Bash 的第一套选项.可见 set 命令完全违背了“一个命令只干一件事”的 UNIX 哲学.另外一个命令是 shopt,从名字(shell options 的缩写)就可以看出,它的功能是控制 Bash 的另一套选项.那么问题就来了,为啥要用两套选项? 在回答为什么之前…
作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这个星期,一个芬兰的大学生在一个邮件列表里共享了他的项目: 「只是一个业余爱好,」他说,『没有弄得像 GNU 那么大.那么专业.』 这个家伙没有想到他的操作系统将会永远地改变软件. 今天,Linux 是服务器端处于支配地位的操作系统.它也是 Android 的基础,后者在手机操作系统上处于支配地位.它…