《超级系统》

下载本书

添加书签

超级系统- 第4节


按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!

    骨骼肌、皮肤肌、神经肌肉接头

    骨骼肌结构(运动终板)

    运动单位:一个神经元和它所支配的肌纤维组成

    肌肉收缩(单肌收缩)

    过程:潜伏期、收缩期、舒张期

    收缩的总和:第二个动作电位在第一个反应完成之前被触,张力的增加可以叠加,而形成一个较大的反应。时间性总和空间性总和

    强直收缩:率足够的快,单收缩变得模糊,肌肉张力达到最大

    肌紧张:身体的许多肌肉,常常维持一个低水平的张力。

    肌肉的收缩机制

    骨骼肌纤维的微结构、肌肉收缩的过程、肌肉收缩需要ca的参与、肌肉收缩是个耗能的过程、快收缩和慢收缩(保持动物正常姿势)

    2、色素反应、生物光等其他
正文 黑客圣经:大教堂和市集
    一。大教堂和市集

    Linux的影响是非常巨大的。甚至在5年以前,有谁能够想象一个世界级的操作系统能够仅仅用细细的Internet连接起来的散布在全球的几千个开人员有以业余时间来创造呢?

    我当然不会这么想。在1993年早期我开始注意Linux时,我已经参与unix和自由软件开达十年之久了。我是八十年代中期gnu最早的几个参与者之一。我已经在网上布了大量的自由软件,开和协助开了几个至今仍在广泛使用的程序和gnd模式,x1ife等等)。我想我知道该怎样做。

    Linux推翻了许多我认为自己明白的事情。我已经宣扬小工具、快原型和演进式开的unix福音多年了。但是我也相信某些重要的复杂的事情需要更集中化的,严密的方法。我相信多数重要的软件(操作系统和象em一样的真正大型的工具)需要向建造大教堂一样来开,需要一群于世隔绝的奇才的细心工作,在成功之前没有beta版的布。

    LinusTorva1ds的开风格(尽早尽多的布,委托所有可以委托的事,对所有的改动和融合开放)令人惊奇的降临了。这里没有安静的、虔诚的大教堂的建造工相反,Linux团体看起来像一个巨大的有各种不同议程和方法的乱哄哄的集市(Linux归档站点接受任何人的建议和并聪明的加以管理),一个一致而稳定的系统就象奇迹一般从这个集市中产生了。

    这种设计风格确实能工作,并且工作得很好,这个事实确实是一个冲击。在我的研究过程中,我不仅在单个工程中努力工作,而且试图理解为什么Linux世界不仅没有在一片混乱中分崩离析,反而以大教堂建造者们不可想象的度变得越来越强大。

    到了1996年中,我想我开始理解了。我有一个极好的测试我的理论的机会,以一个自由软件计划的形式,我有意识的是用了市集风格。我这样做了,并取得了很大的成功。

    在本文的余下部分,我将讲述这个计划的故事,我用它来明确一些自由软件高效开的格言。并不是所有这些都是从Linux世界中学到的,但我们将看到Linux世界给予了它们一个什么样的位置。如果我是正确的,它们将使你理解是什么使Linux团体成为好软件的源泉,帮助你变得更加高效。

    二。邮件必须得通过

    1993年以前我在一个小的免费访问的名为netk的Isp的做技术工作,它位于pennsy1vania的estchester。(我协助建立了ccIL,并写了我们独特的多用户BBs系统——你可以te1net到来检测一下。今天它在十九条线上支持三千的用户)。这个工作使我可以一天二十四小时通过ccIL的56k专线连在网上,实际上,它要求我怎么做!

    所以,我对Internetemai1很熟悉。因为复杂的原因,很难在我家里的机器和ccIL之间用sLIp工后我终于成功了,但我现不得不时常te1net到1ocke来检查我的邮件,这真是太烦了。我所需要的是我的邮件送到snark;这样biff(1)会在它到达时通知我。

    简单地sendmai1的转送功能是不够的,因为snark并不是总在网上而且没有一个静态地址。我需要一个程序通过我的sLIp连接把我的本地送的邮件拉过来。我知道这种东西是存在的,它们大多使用一个简单的协议potofficeprot1)。而且,1ocke的Bsd/os操作系统已经自带了一个pop3服务器。

    我需要一个pop3客户。所以我到网上去找到了一个。实际上,我现了三、四个。我用了一会popper1,但它却少一个明显的特征:抽取收到的邮件的地址以便正确回复。

    问题是这样的:假设1ocke上一个叫“joe”的人向我了一封邮件。如果我把它取到snark上准备回复时;我的邮件程序会很高兴地把它送给一个不存在的snark上的“joe”。手工的在地址上加上“”变成了一个严酷的痛苦。

    这显然应是计算机替我做的事。(实际上,依据RFnetdmai1应该做这件事)。但是没有一个现存的pop客户知道怎样做!于是这就给我们上了第一课:

    1。每个好的软件工作都开始于搔到了开者本人的痒处。

    也许这应该是显而易见的(“需要是明之母”长久以来就被证明是正确的),但是软件开人员常常把他们的精力放在它们既不需要也不喜欢的程序,但在Linux世界中却不是这样——这解释了为什么从Linux团体中产生的软件质量都如此之高。

    那么,我是否立即投入疯狂的工要编出一个新的pop3客户与现存的那些竞争呢?才不是哪!我仔细考察了手头上的pop工具,问自己“那一个最接近我的需要?”因为:

    2。好程序员知道该写什么,伟大的程序员知道该重写(和重用)什么。

    我并没有声称自己是一个伟大的程序员,可是我试着效仿他们。伟大程序员的一个重要特点是建设性的懒惰。他们知道你是因为成绩而不是努力得到奖赏,而且从一个好的实际的解决方案开始总是要比从头干起容易。

    例如,Linux并不是从头开始写Linux的。相反的它从重用minix(一个386机型上的类似unix的微型操作系统)的代码和思想入手。最后所有的minix代码都消失或被彻底的重写了,但是当它们在的时候它为最终成为Linux的雏形做了铺垫。

    秉承同样的精神,我去寻找良好编码的现成的pop工具,用来作为基础。

    unix世界中的代码共享传统一直对代码重用很友好(这正是为什么gnu计划不管unix本身有多么保守而选取它作为基础操作系统的原因)。Linux世界把这个传统推向技术极限:它有几个T字节的源代码可以用。所以在Linux世界中花时间寻找其他几乎足够好的东西,会比在别处带来更好的结果。

    这也适合我。加上我先前现的,第二次寻找找到了9个候选者——fetopTart,getmai1,gpop,pimp,popper1,popc,popmai1和upop)。我先选定的是“fetchpop”。我加入了头标重写功能,并且做了一些被作者加入他的1。9版中的改进。

    但是几个星期之后,我偶然现了nett”的代码,然后现有个问题,虽然fetchpop有一些好的原始思想(比如它的守护进程模式),它只能处理pop3,而且编码的水平相当业余(seunghong是个很聪明但是经验不足的程序员)r1的代码更好一些,相当专业和稳固,但他的程序缺少几个重要的相当容易实现的fetchpop的特征(包括我自己写的那些)。

    继续呢还是换一个?如果换一个的话,作为得到一个更好开基础的代价,我就要扔掉我已经有的那些代码。

    换一个的一个实际的动机是支持多协议,pop3是用的最广的邮局协议,但并非唯一一个,Fetchpop和其余几个没有实现或者apop,而且我还有一个为了兴趣加入I(Internetmegeerot1,最近设计的最强大的邮局协议)的模糊想法。

    但是我有一个更加理论化的原因认为换一下会是一个好主意,这是我在Linux很久以前学到的:

    3。“计划好抛弃,无论如何,你会的”(FredBrooks;《神秘的人月》第11章)

    或者换句话说,你常常在第一次实现一个解决方案之后才能理解问题所在,第二次你也许才足够清楚怎样做好它,因此如果你想做好,准备好推翻重来至少一次。

    好吧(我告诉自己),对fetchpop的尝试是我第一次的尝试,因此我换了一下。

    当我在1996年6月25日把我第一套popnett的补丁程序寄给car1harris之后,我现一段时间以前他已经对popnett基本上失去了兴趣,这些代码有些陈旧,有一些次要的错误,我有许多修改要做,我们很快达成一致,我来接手这个程序。不知不觉的,这个计划扩大了,再也不是我原先打算的在已有的pop客户上加几个次要的补丁而已了,我得维护整个的工程,而且我脑袋里涌动着一些念头要引起一个大的变化。

    在一个鼓励代码共享的软件文化里,这是一个工程进化的自然道路,我要指出:

    4。如果你有正确的态度,有趣的问题会找上你的,但是car1harris的态度甚至更加重要,他理解:

    5。当你对一个程序失去兴趣时,你最后的责任就是把它传给一个能干的后继者。

    甚至没有商量r1和我知道我们有一个共同目标就是找到最好的解决方案,对我们来说唯一的问题是我能否证明我有一双坚强的手,他优雅而快的写出了程序,我希望轮到我时我也能做到。

    三。拥有用户的重要性

    于是我继承了popnett,同样重要的是,我继承了popnett的用户基础,用户是你所拥有的极好的东西,不仅仅是因为他们显示了你正在满足需要,你做�
小提示:按 回车 [Enter] 键 返回书目,按 ← 键 返回上一页, 按 → 键 进入下一页。 赞一下 添加书签加入书架