- 博客(27)
- 收藏
- 关注
原创 论蛮力查找算法
蛮力查找就是逐个比较数据,完全一样就是找到了,都找完了还没找到就是没有这样的数据。这是最容易实现的也最直观的查找算法。但是我估计很多人都会觉得我在逗你玩,因为这个太容易了,以至于容易到我都不用写出示例代码也没人写不出来(我想能看这篇文章的基本都会点:)。的确是这样的,但是我显然不能这样逗你玩的,因为我要讲的是你未必就真正明白的。1. 数据规模和算法的常数时间在设计任何实际应用算法的时候首先要考虑的...
2018-02-09 02:12:42 1041
原创 架构师能力的三个方面
架构师能力的三个方面——领悟、领域、领袖。所谓领悟,主要包括架构思维的三个核心能力:概念抽象能力、概念表达能力和基于概念的逻辑表达能力。所谓领域,是架构师在目标系统中的背景知识。架构师需要相当的背景知识,才能在对目标系统进行恰当的概念抽象,也才能够准确的把握系统的内在动律和整体动向。因此,领域能力也是架构意图能够作为抽象概念与决策条件被提出的基础。所谓领袖,是架构师在领域内和团队内的影响力。领袖能...
2018-02-08 22:54:51 548
原创 架构的灵魂
架构师的的背景差异带来了更多不同的正确映像,这种差异表现出来的就是不同的架构意图。架构意图决定了:与现实系统的相似度、与现实系统的相容性、针对现实发展的可扩展性。因此,架构意图便成了架构真正的灵魂。系统架构活动只是将这种意图表达在架构产出中,并阐述这一意图的合理性;如何得到或形成意图才是架构的精髓,其本质是通过抽象过程,即对现有系统的再认识与再创造。如果架构师没有意图,那么系统只是目标系统的某一个...
2018-02-08 22:53:39 378
原创 linux就是这个范儿之特种文件系统(5)
都说知足者常乐,但是往往就有那么一些人,以发现不足为己任,以满足不足为乐趣。于是就有了四大发明、有了飞机大炮、有了UNIX、有了Linux、有了你我今天所面对的世界。
2013-11-20 13:53:45 3158
原创 linux就是这个范儿之特种文件系统(4)
devfs和sysfs它们来了,真的来了,一前一后来的,来得是那么突然,来得是那么悄无声息。一个脸色苍白,苍白得让人不寒而栗;一个眼光深邃,深邃的让人顿觉谦卑。人们一直在谈论着它们,据说先来的已经死了,死的很透彻,是被它的门人杀死的,而且居然是后来者收买了它的门人,后来的现在还在收买其他门派的门人,正在觊觎“武林盟主”的地位。所有的事情就这么潜移默化的变化着,轮替着。一切看似那么平静,平静得已经让让很多人开始摩拳擦掌。在这平静之中不知何时又要到来一场可怕的血雨腥风。
2013-11-13 14:01:37 3033
原创 linux就是这个范儿之特种文件系统(3)
曾经内存比金子都贵,现在已经白菜价了。有时候我们在设计系统时,如果磁盘已经忙不过来了,完全可以让内存帮帮忙。不但不会有什么损失,整体执行效率几乎会有一个数量级的提升。tmpfs就是让你这么干的一个好帮手。
2013-11-08 16:01:18 3288
原创 linux就是这个范儿之特种文件系统(2)
procfs之于Linux的重要程度就好比眼睛之于心。眼睛是心灵的窗口,直达心底;眼睛是心灵感知世界的大门,洞悉全局;眼睛是人与人之间心灵沟通的桥梁,展现彼此。
2013-11-06 15:05:20 3375
原创 linux就是这个范儿之特种文件系统(1)
话说有一种感动,叫内牛满面,有一种文件系统,根本不在磁盘上。这种文件系统就是大名顶顶的ram-based filesystem。实际上,在Linux系统中,/dev、/proc、/sys目录里面的内容与硬盘是没有半毛钱关系的。那么这些玩意到底有什么用,怎么用,在听我白乎完以后,最好再去看看内核源代码中的一些文档。要知道文档这种东西,真正读起来就嫌少了。至于你信不信,反正我是信了。
2013-10-29 12:02:00 3746
原创 换个角度理解正则表达式
正则表达式已经无处不在了,无论是网络文章,还是很多图书,亦或是教材也都在讲解正则表达式,我们也坚信正在读本书的你也早已熟稔正则表达式的运用。但是,我们依然要介绍它,只是换了一个角度,以期望初学者能有一个好的开端,行家里手们能够加深入的理解它,因为要熟练使用Linux是离不开正则表达式。
2013-10-24 11:02:37 3762 3
原创 linux就是这个范儿之融于心而表于行(5)
用户也好,权限也罢,它们总是要有一个证明自己的天地;文件也罢,程序也好,它们总是得有一个安身立命的家园;即便Linux自己也必须得有自己的栖身之所。那就是磁盘。其实Linux对磁盘的管理十分对得起两个字:“不赖”!
2013-10-21 22:23:04 3931 1
原创 linux就是这个范儿之融于心而表于行(4)
Linux的多用户说完了,还需要进行下一个话题,那就是多任务的问题。所谓多任务,就是同一时刻能够执行多个程序。这个问题其实对于大多数Windows用户它都不是个问题,因为我们经常会一边浏览网页,一边用QQ聊天,同时还能听音乐。因为Windows可以在将这些软件的界面同是展现在屏幕上,即便放不下,也可以通过“窗口”堆叠的方式堆起来。要用哪个就将哪个放到最上面好了。Linux在使用图形环境下的时候也是这样,所以没有什么要专门拿它来说一说的必要。但是在命令行下这就真是一个问题了。比如你知道如何在命令行下同时运行多
2013-10-17 10:40:28 3978 4
原创 linux就是这个范儿之融于心而表于行(3)
千万不要以为前面所介绍的就是“多用户”的全部因素,毕竟在“澡堂子模型”中,那些只是人的因素。还有一个十分重要的一项,物的因素还没有出现,也就是那些柜子跟锁。要是一定得与Linux中具体的事务相对应的话,那就是文件和目录了。目录和文件在为“多用户”系统中能够形成多个用户和平共处的局面立下了汗马功劳,同时也奠定里坚实的基础。接下来我们就看看它们是怎么回事儿罢。
2013-10-16 11:41:11 3521
原创 linux就是这个范儿之融于心而表于行(2)
既然Linux从诞生的那一天起就是多用户的,足可见多用户管理是Linux一项多么重要的功能构成。那么它都管理什么呢?简单来说就是管理用户的等级和用户对文件的访问权利。Linux下的用户等级实际上是非常简单的,就两个等级——root和非root。root用户在Linux下是拥有至高无上的权利的,也就是说它可以胡作非为。但是比较幸运的是,只有一个用户是root,它的用户名就是root。而非root用户的权利是严格受限的,只能访问由root规定的文件。为了比较形象的说明Linux用户的管理模式,我们提出了这样一
2013-10-14 22:56:12 3475
原创 linux就是这个范儿之融于心而表于行(1)
时间总是过得那么快,如流水一般哗啦啦的就淌走了一大堆!周遭事事沧桑变迁喧哗或耳语中流传的故事已渐模糊,转眼间2013就来了。泰坦尼克号撞冰山都100+年了,同名的电影也改成3D的了,只是你想看的全都给剪没啦。当你看到了这段文字,就去它大爷的世界末日吧!如果你是考古学家,我可以自豪的告诉你,我们那个年代电脑早就飞进了平常百姓家。
2013-10-14 11:08:00 3665 5
原创 在Linux中使用线程
我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下。如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级。
2013-10-11 22:56:23 37034 9
原创 Linux就是这个范儿之第一次亲密接触(3)
有一种说法,现代计算机不是靠电力驱动,而是靠“鼠标”。多少应用程序的界面需要移动和点击鼠标来执行的。计算机本来的用意是把人类从反复单调的工作中解放出来,但适得其反,摆在我们身边的残酷现实是我们每个人每天不得不移动和点击鼠标,确保养家糊口的工作能够顺利正确地完成。别叹气,存在另一个世界,那就是命令行,让你暂时远离鼠标。对那些苦哈哈的程序猿来讲,这也许是另一种情调的工作方式。我们突然之间拥有了另一种意想不到的收获,例如我想看看用户目录下的的文件大小,然后按升序排列产生个报表。如果用C/C++完成这项工作,至少
2013-10-11 20:09:05 14863
原创 Linux就是这个范儿之第一次亲密接触(2)
几乎所有Linux的新用户都会认为Linux的图形界面是相当的绚丽又多彩。因为这毕竟是一种全新的体验,那种超脱Windows俗套的快感就会油然而生。对于刚刚翻开这本书的人来说,如果对Linux是抱有这样认识的,那就太棒了,因为咱们又多了一个洗脑的对象了:P。此时此刻,真正的亲密接触就要开始啦……
2013-10-10 22:09:57 5688
原创 Linux就是这个范儿之第一次亲密接触(1)
原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责有一对儿异地的恋人,他们每天在手机上聊天,显示的距离永远都是1648km。快到年底了,女孩实在受不了这种距离而提出了分手,男孩沉默不语。除夕之夜,女孩在家中刷新手机,看到男孩距离她只有1.1km,再刷新,只有0.9km。她明白即将要发生什么,含着热泪走向门口……当晚,在隆隆的烟火声中,他们
2013-10-09 20:00:15 13482 2
原创 Magic Linux开发入门指南(五)
2.6 虚拟文件系统前面几节所介绍的目录和文件,都是真真正正、实实在在的存储在具体的外部存储设备上的,它们可能是在本机的硬盘、闪存、光盘中,可能保存在不只一个磁盘分区中,也可能保存在网络中其它主机的存储设备中的。本节所介绍的几个文件系统,虽然它们出现在根文件系统中,但它里面的内容却无法在任何外部存储设备中找到,因为它们都在内存中。 2.6.1 proc文件系统proc是一个
2008-03-05 01:05:00 3880
原创 Magic Linux开发入门指南(四)
/etc/opt目录下的内容是为/opt而准备的。附加应用软件包的配置文件必须安装在/etc/opt/下,其中的与/opt下的对应软件包目录相同。/etc/X11目录下的内容是X Windows系统的配置文件,X Windows系统的所有主机相关配置文件全都在这里。这使得在/usr以只读方式挂接时,可以局部控制X Windows系统。只要安装了X Windows系统,下表中的文件必须安装
2008-02-20 23:58:00 2674
原创 Magic Linux开发入门指南(三)
一旦你拥有了一个toolchain,就拥有了制作MagicLinux的初级武器了。这个时候你可能已经开始辂胳膊挽袖子,准备大干一场了,可你却突然发现,还是什么也做不了,原因就在于你还不了解如何使用toolchain来制作MagicLinux。下一章我将讲述Linux的组织结构,让你对Linux有一个彻底的了解,为正式开始制作MagicLinux作准备。 第二章 Linux的文件组织结构
2008-02-13 15:07:00 3400
原创 Magic Linux开发入门指南(二)
2.4 让这个新的gcc环境能够真正的工作起来 编译器、连接器、程序库都创建好了,可以开始创建MagicLinux了吧?呵呵,不行!这个新的gcc环境还没有真正工作起来呢。不信,我们做一个实验试试。编写一个最简单的C代码: #echo main(){} > ttt.c #gcc ttt.c #readelf -l a.out看看结果,是不是有一行类似下面的内容:
2008-01-31 15:39:00 7285 2
原创 Magic Linux开发入门指南(一)
制作一个Linux发布难吗? 很难。 制作一个Linux发布版需要很高深的技术吗? 你能行。 好多人很想参与Magic Linux的开发,但多数不知从何入手。 其实很简单,你只需要一台供你支配的386以上配置且能够上网的电脑,以及一个能够工作在其上的gcc环境。 对,这就够了,其他的软件都是在帮助你更快的、更简便的完成这个工作。因为Linux源自于网络,
2008-01-31 13:39:00 5403 8
原创 Linux的新式线程同步原语——Futex
Linux的新式线程同步原语——Futex 在我的上一篇文章《本地POSIX线程库》中,提到了Futex一词,发现好多读者误以为这是我的笔误,将Mutex错写为Futex了。其实Futex是Linux的一种全新的线程同步原语。本文将为您解读高效的Futex。 Futex是fast userspace mutex的缩写,意思是快速用户空间互斥体。Linux内核把它们作为快速的用户空间的锁和信号量
2005-07-30 13:20:00 9550
原创 本地POSIX线程库(NPTL)
本地POSIX线程库 在Linux操作系统中,本地POSIX线程库(NPTL)是一种软件特性,它可让Linux的内核,高效地运行那些使用POSIX风格的线程所编写的程序。测试中,NPTL在一个IA-32处理器上,成功地同时跑了10万个线程,启动这些线程只用了不到2秒。比较起来,在不支持NPTL的内核上,这个测试花费了大约15分钟。以前(也就是在2.6内核以前),Linux把进程当作其调度实体,内核
2005-07-27 15:53:00 4951 4
原创 会话初始协议(SIP)(1)
会话初始协议(SIP)1.简介在Internet中,有许多应用要求创建与管理会话。会话可以被看作是相关参与者之间的数据交换。这些应用的具体实现由于参与者的一些实际情况而变得错综复杂,用户可能是在两端点之间移动,可能他们能够通过多个不同的名字被访问到,他们的通讯也可能建立在不同的媒体之上——有时这些情况一同发生。众多可携带多种不同格式的,如语音、视频以及文本消息的多媒体实时会话数据的协议已经被制定出
2005-07-08 15:24:00 2145
原创 标准MIDI文件格式
标准MIDI文件格式达思挺·考德威尔标准的MIDI文件格式就像奇异的兽。总体看来,它是那样的让你无法抗拒。当然,你怎样看它无关紧要,可是用足够多的描述符描述一段音乐并使它能够重现,可不是很少的工作就可以完成的。然而,它虽然复杂,但是真正理解之后,MIDI文件格式的结构还是很直观明了的。在这里我必须放弃一些东西,因为毕竟我不是MIDI也不是MIDI文件专家!最近我为我的PC准备了一块Gr
2001-12-29 00:36:00 2345
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人