罗杰
百度空间 | 百度首页 
 
文章列表
 
2009-02-18 21:44

这里列举了七条在不打破预算的情况下,最大化可用性的方法。由于每种方法的首字母都是R,所以又称高可用性的7R原则。他们是:
冗余(Redundancy)
名声(Reputation)
可靠性(Reliability)
修补能力(Repairability)
恢复能力(Recoverability)
响应(Responsiveness)
活力(Robustness)
冗余
多 年来,制造商一直在设计他们的产品中保存一定的冗余,包括多余的能源供应,多处理器,内存分段,以及多余的磁盘。对于整个采用热备模式运行的服务器系统来 说也是如此。基础架构分析人员在配置磁盘、磁盘控制器和服务器使用双路径;把网络负载分散到两条线上;以及提供备用的控制台,这也是采用了同样的方法-- 总而言之,尽可能地减少单点的故障造成服务中断的可能性。

名声
后面三个"R"--名声、可靠性和修补能力--紧密相关。名声指的是主要供应商一贯的记录。可靠性是关于产品中所使用的部件和代码的可 依赖的程度。修补能力是衡量供应商能够多快,并且多方便地修理好(或者替换掉)有问题的部件。下面,我们将仔细看看这三项。在服务器,磁盘存储系统,数据 库管理系统和网络硬件以及软件领域中,供应商的名声是获得高可用性的重要因素。最好是选用最好的供应商。你可以通过下面几中方法来衡量一个厂商的名声。
市场分额百分比
行业分析家和华尔街的报告
在该领域内的历史记录
客户参考(尤其在确认诸如费用,服务,产品的质量,服务人员的培训以及可信程度等因素时,这点格外有用)。
可靠性
软件或者硬件的可靠性也可以通过客户参考和行业分析家来证实。除了这些,你应该考虑采用经验性部件可靠性分析的方法。这需要以下步骤:
检查并分析问题管理日志
检查并分析供应商日志
从操作人员那里获得反馈
从支持人员那里获得反馈
从供应商的维修人员那里获得反馈
同其他人的经验做比较
研究行业分析家的报告
一个对于问题日志的分析应该显示出任何不寻常的失败模式。你应该从供应商、产品、使用部门、发生失败的时间和日期、失败出现的频率以及维修的时间等角度去研究它们。供应商经常保存站内维修日志,你可以用它们来进行相似的分析。

你将发现操作人员的反馈通常是公正的,而且有启迪的作用,能够反映出各个部件真正的性能。尤其是对于那些离站的操作者们。例如每天早晨,在启动前他 们可能要对某一个特定的网络部件做数不清的重启动,但是由于这一情况经常出现,他们可能懒得做日志进行记录。和不同支持人员,比如系统管理员、网络管理员 和数据库管理员进行的相似的交流可能反映出相似的要求。

你可能认为供应商的维修人员提供的反馈会有偏私,但是根据我的经验,他们对于自己产品的反馈和使用那些产品的人的反馈一样公正而且有启迪的作用,能 够正确显示出那些产品的可靠性。这样,那些维修人员就成为评估部件可靠性、以及和其他公司的经验做比较的一个有价值的信息来源。那些和你使用的平台、配 置、提供的服务和客户都很相似的公司的经验特别有帮助。有名的行业分析家的报告也可以预测部件的可靠性。

修补能力
修补能力是技术服务人员能够解决或者替换有问题的部件的能力。衡量这项能力的两个通常的标准是完成维修的时间长短和维修工作多长时 间就要进行一次。在比较成熟的系统里,维修的工作可以通过远程诊断中心来完成,在那里,错误被查明并修正或解决,并执行了永久的解决方案,这个过程只需要 很少或者根本不需要操作人员的介入。

恢复能力
恢复能力指的是克服瞬间的失败的能力,它使最终用户端的可用性完全不受这类事件的影响。它小到从一个内存单元的错误中恢复,大到整个服务器系统转移到热备的系统上而不丢失数据和传输。恢复能力还包括重新尝试对于磁盘或者磁带进行读取或者写入,还包括沿着网线重新尝试传输。

响应
响应指的是紧急情况下,所有相关人员及因素解决问题、排除故障的能力。它包括有训练有素的供应商和内部支持人员能够对问题做出快速而有效的反应。它还包括对于资源,比如磁盘或者服务器的自动恢复能够在多长的时间内起作用。

活力
关于高可用性的最后一个词就是"活力",它描述的是可用性程序的整体设计。一个有活力的程序将能够经受很多不同的考验--无论是来自内 部的还是外部的--而这些问题可能轻而易举地就能够破坏一个比较脆弱的系统的可用性。要保持活力需要对于文件和培训投入相当的额外费用。这些技术培训包 括:为了适应和平台、产品、服务和顾客相关的技术的变化的培训;为了适应相关的人员变动的培训;为了适应新经营方向、合并和收购等新的商业变化的培训。

理解并应用这7有关高可用性的单词,可以帮助你实现高可用性的梦想。本文来自:Net130

 
2009-02-17 00:51


下面让我来讲一则故事,这故事告诉我们,你和我都应该通过自己的努力,把自己培养成领导人。

故事发生在多年之前,当时我还是一个小男孩,实际上只有4岁,我的父母带着我、我的哥哥与妹妹去了法国南部。风和日丽的一天,我的母亲带我们去了酒店的游泳池。出乎我们意料的是,她走到外面,找了一位救生员来教我的哥哥学游泳。

我们到了这个宽敞的游泳池,这时我看到一位年轻的法国男人朝我们这边走来,从体格上看像是救生员,他径直地向我们走来。他一定知道我的母亲选择了三个孩子中最大的一个孩子来学游泳,因为他直接向我的哥哥走去,并且朝着他微笑。他说:“早上好,我的小朋友。”说着,他就用他那肌肉结实的手臂将我哥哥抱起来,就像是举起一块泡沫塑料,然后带着他往最里面走,里面是水位最深的池子。

你知道,我是次子,我对看哥哥学游泳很感兴趣。我看到救生员把我哥哥推下了水,然后那位救生员就去拽那摞迷你救生圈,你知道的,小孩子下水需要救生圈,让他们在水里浮起来。他把救生圈拉到怀里,然后打开气塞,把救生圈里面的空气全部放光。当时,在我看来这还非常有趣。他将套在我哥身上的瘪了的救生圈取了下来。他朝我哥哥诡异地一笑,说:“我的小朋友,祝你好运”。说着,就将我的哥哥丢入游泳池的最深处。你可以想象,我的哥哥立马沉到水底。没有东西可以让他浮起来,而我则站在那里偷笑。
这时,我回头一看,我妹妹和母亲都慌了神,但是他们都呆住了,不知道要做些什么。而救生员也站在那里看着。我哥哥沉了下去,然后又浮出水面,一面喘气一面拍打水面。接着,他的头又再次被水淹没。这时我有点害怕了,我想:“天,这个家伙不会害死我哥哥吧。太可怕了!”
接着,我的哥哥又再次浮出水面,这次,他能在水面停留较长的时间。他自己琢磨出一种基本的游泳姿势,就是“狗爬式”,他猛烈地拍打着水面,接下来不用别人教就学会了游泳。

这则故事给我的启示是,组织可以将人才培养成领导。当然,这种培养方式有着各种各样的缺陷,现在让我们从头开始回放那个故事。组织夸奖你非常棒,非常有才干,然后分配给你非常难做的工作,以这种方式来培养你,这似乎是培养人才的最佳方式。在这则故事中,救生员就是你的老板。

在这则故事中,你发现救生员并没有和你一起下水,许多老板非常忙,当你在游泳池中奋力挣扎时,他们可能根本不会跳下来帮你。这些老板会想:“我自己以前也在这个水池待过,当时我靠我自己获得了成功,我相信你也能。”当然,他们也许会给你放一个救生圈,比如说人力资源政策或是培训计划,或者老板对你说: “无论何时你需要帮助,我都会在这里。”但是基本上来说,这是一种幻想,他们通常不会给你支持。

这则故事给我的启示是,你必须依靠你自己学会游泳。否则,你就没法向上发展,更糟的是,老板可能会将你放入一个更小的游泳池,或许是儿童游泳池,甚至于把你拉出游泳池。这则故事告诉我们,你应该主导你自己的发展,你的组织的人才培养计划只能起到非常初步的作用。老板们似乎应该感到羞愧,因为说到底他们应该用更直接的方式帮你,那个救生圈应该充满气,我们应该将你一级级地引到更深的游泳池。

你必须主动地发展自己,将自己培养成一位领导人。你必须积极地寻求辅导与指导。有时候,这样做或许有点难堪,因为你会觉得这是在展示你的缺点。如果你的老板并不鼓励你去寻求必要的指导与辅导,那么你要尽最大的努力去寻找机会。你必须主动地接受课程培训,积累经验,寻找个人指导,总之,你应该掌握培养自己的主动权。
 
2009-02-17 00:50


与其抱怨找不到有归属感的单位,不如努力创建一个有归属感的团队。

最近一直在思考团队归属感的问题,源于跟mic的一次谈话,mic提到之前产品建设过程中,团队中总会有一个人每天都时刻不停的想着产品和开发,每个迭代里面都会想着怎么把产品做的更好,比如经常会下班的时候,check out团队中其它人的代码,然后build一个版本,不断的检查产品当天实现的情况,发现有问题,会主动的去优化每天提交的成果,这样的情况在每个迭代的每个日子都会出现。我跟mic谈话完不由得仔细思考了一下,我们现在团队有这样的一个人和一些人吗?

老板经常说把产品当作自己的baby来看待,其中,我觉得最重要的就是产品的ownership,只有真正追求极致,把产品当作自己孩子的人才能真正说对产品具备ownership,其实换过来说,不论做什么产品,当你真正具备这样的认同感和归属感后,你一定会在这个过程收获非常多的东西。不管你是做一个内部的IT产品,还是做一个面向海量用户的互联网应用,如果把工作分解到足够细,把产品体验分解到足够细,这个过程一定是一样的!

当我想到这个问题的时候,我继续的思考了团队归属感的问题,产品的归属感来源于团队的归属感,而归属感又可以简单分解为:认同感、安全感、自豪感。归属感它不是一天就能形成的,它是一个量化到质变的过程,也是一个团队多方面共同努力的结果,团队的领导者要有培养团队归属感的计划,而团队的成员也需要为建设团队的归属感而努力。文章开头提到:与其抱怨找不到有归属感的单位,不如努力创建一个有归属感的团队。我觉得是每个人都应该去思考的事情。强烈的归属感能使团队爆发更大的力量,而这股力量能帮助团队中每个人都完善自我,走向职业的另外一个阶梯。

培养和建立团队归属感属于建设团队EI的管理研究,在20世纪90年代,许多管理者发现“情商” (Emotional Intelligence,简称EI)与“智商”对员工的业绩起着同样重要的作用。也就是说,员工必须提高自己的EI才能获得更高的工作绩效。然而,当时的研究只限于员工个人,这对于以团队建设为中心的现代企业来讲具有很大的局限性。

过去,管理者对于提高团队业绩的研究大多集中于分析确定一些成功团队的工作方式,如员工在工作中的相互合作、积极参与以及对制定的目标做出承诺等。管理者似乎认为,一旦确定了这些工作方式,并加以模仿,就会取得与成功团队相同的业绩。但是,事实并非如此。这就如同一个正在学弹钢琴的孩子,尽管他学会了弹几首小步舞曲,但是,如果他不懂音乐理论或不用心去弹,仍然不可能成为现代的巴哈。与此类似,一个团队的成功必须依赖于一些基本的条件,这些基本条件要能促进团队成员全心全意地投入到团队工作中去。

下面我们将通过例子来理解团队EI三个层次的含义。

IDEO是一个著名的工业性设计公司,该公司拥有很多具有创造力的团队,这些团队负责产品的外观及美术设计,正是这些设计使IDEO在市场上赢得了竞争优势。

IDEO的工作特性决定了它的团队必须具有高EI。IDEO常常需要在顾客产品设计时限以及预算评估的压力下交出具有创意和美感的设计。公司内部有一个人人铭记于心的哲学信念:一个好的设计需要依靠各个团队的相互合作才能完成,而不是依靠优秀个人的不懈追求。在IDEO我们可以找到支持团队 EI三个层次的准则。

首先,IDEO的团队善于了解和把握内部员工的情感波动。团队通过正式或非正式的沟通来了解员工的内心思想;团队尊重员工的个性并听取他们提出的不同意见;团队给予员工感情上的帮助和支持;团队对员工的成绩加以确认;团队对员工的错误行为加以训导等。

例如,IDEO的一位设计师有一次因为市场部人员要求他在他设计的产品上加上标识语而感到不愉快,因为他认为那样会破坏他整个设计的美感。在讨论该设计产品的会议上,团队的项目经理逐渐认识到事实上产品设计存在一些问题,但那位设计师坐在一旁无动于衷,形势非常僵。项目经理觉察到这个形势,为了不挫伤设计师的积极性,项目经理没有生硬地要求设计师修改(事实上,如果没有设计师的创意配合,也改不好),而是与设计师进行谈判,最终采取了一个折衷的办法。

IDEO的团队成员也会出现破坏EI准则的情况。这在一些“头脑风暴”的集会上尤其常见。会议规定,必须对问题做出不同的判断,并且彼此不能反对对方。如果有人违反了规定,团队就会以诙谐并且强制的方式来惩罚他,例如向他扔泡沫玩具。如果有人越轨的话,团队立即就会利用准则对他的行为加以责备。如果有客户在场的话,惩罚的方式就会隐蔽一些,譬如在椅子下面敲几下。

IDEO团队本身的情感自知力与控制力也很强。团队经常从组织的内部和外部获得反馈信息。更重要的一点是,团队的工作接近于客户,如果设计不符合客户的要求,团队就会马上找出原因,并加以修正。

IDEO控制团队情感的方式是为员工提供一个工作压力的发泄处。IDEO信赖娱乐对减轻员工压力的作用。在公司房子的周围放了几百个发射出软子弹的玩具,如果员工感到受挫就可以拣起玩具进行射击。IDEO公司崇尚感情发泄,因此,公司常常会有员工在高兴或愤怒时大声叫喊。IDEO公司甚至专门设立了一个娱乐办公区,员工在需要休息时可以在那儿办公。

最后,IDEO的团队也制定了了解和关心团队以外员工需求的准则,他们利用这些准则与其他团队和个人建立友好关系。这些准则主要包括以下内容:了解组织中其他团队与个人的需求;在组织范围内讨论和制定有利于相互合作的文化和政策;与其他团队和个人建立网络联系;在需要时邀请团队以外的其他员工参加团队会议。

并非所有公司都像IDEO那样依赖团队,但是,今天我们的公司比过去任何时候都要依靠团队来做出决策和完成任务。然而不幸的是,我们发现许多公司的团队虽然具备一切条件,如一流的员工、充足的资源、明确的任务,但最终仍遭到挫败。究其原因,主要在于缺乏团队EI。建立相互信任感、团队归属感、团队成就感的EI准则是促使团队获得高绩效的关键因素,它能使一个高技能的团队发挥其最大潜能,也能帮助一个面临大量挑战的团队取得出乎意料的胜利。

那么,如何建设团队的EI呢?这主要包括四个方面的途径:第一,正式团队的领导制定EI准则,并利用各种沟通渠道使团队成员认识到建设团队 EI的重要性;第二,非正式团队的领导以及EI的拥护者通过自身行为导向作用以及纠正错误行为的方式强化团队EI的重要意义;第三,通过谈判、沟通、员工之间相互协助等培训课程,使员工进一步了解如何建设团队EI;第四,建设和制订有利于团队EI形成的组织文化和政策。
 
2009-02-17 00:24
最近,团队有一些同事的角色发生了转变,从开发转为项目经理,在这里,通过本博文,简单总结一下自己以前做项目经理的一些想法,或者说是经验。

撇开PM Book里面和传统项目管理关注的较高层面(如项目管理组织)以及时间,成本,质量(效果)这个3角形,我觉得项目经理主要应该关注一下几个方面:

1、明确的目标

我把目标放在第一位,因为目标对于团队的成功非常重要,务需质疑,而给团队传递目标的就是项目经理。所以说项目经理可以说是一个团队的领航者。没有目标的团队常常会觉得迷茫,失去战斗力和效率。

如何制定目标?

SMART原则对于制定项目目标有非常清晰的指导原则。建议每个初为项目经理的同事都要仔细去学习并实践一下。Smart原则对目标的要求是详细而明确的、可评估量化的、可调整适应的、以行动为导向的并且是真实可行的。另外,我还想补充一下,目标同样还应该是简易、易于理解,并在团队中达成共识的。这里还有很多设定目标的工具,非常不错。

目标需要跟踪

刚刚说到好的目标是可以调整和适应变化的,因此,目标制定完以后需要定期进行跟踪,这个更多就是项目经理来驱动的。我们要定期根据项目的变化,碰到的困难与风险,产品策略等等因素来及时调整目标。

目标需要成为项目经理的习惯

Charles C.Noble曾说过:“我们先养成习惯,然后习惯又会左右我们。”,对于项目经理而言,目标应该成为工作的一个习惯。除了对目标的跟踪外,还需要对目标进行分解,把大的目标拆分分一个个小的目标,并把这些小的目标传递到团队成员,这样的项目管理方式就是基于目标的管理方式。

2、团队心情曲线

传统的项目管理中,项目经理更多是关注事,这个事就是项目以及任务。而现代的,敏捷的项目管理更强调对人的管理,说是管理,其实更多是教练的职责。如何保持一个项目团队的心情曲线是持续快乐的,平稳的,并且富有战斗力的,这个非常考究项目经理本身对这个的认识和能力,除了清晰的项目目标以及目标不断达成所带来的项目成就感以外,项目经理还可以做以下几点:

a、对团队各成员进行深入了解,并进行性格分析。类似情景领导所提到那样,了解不同人在不同阶段,情景下的优缺点,能使你更好的去分配和协调工作,也能使你更好的发挥每个人的优势和潜力,扬长避短。

b、公开的更多鼓励和赞扬,私下保持对不足和缺点的指正。这个涉及到中国人的面子问题,而且也有利于避免误会。公开场景下的赞扬和鼓励,有利于积分人的斗志,而私下场合的批评和指出问题也可以让每个成员都有面对错误继续改进的机会,没有人是完美的,每个人的每一天都是在不同的项目中不断的去完善自我。

c、谈心及交朋友。如果你愿意,你可以在业余时间跟团队成员更多的沟通,甚至是谈心,以交朋友的心态去相处,这个时侯,你应该忘记自己是项目leader。这样的做法,可以让你收获更多对每个人的了解,而这种了解,如果处理和应用得当,它将会为你的项目凝聚力,向心力带来更多的帮助,所谓处理不当就是要注意,不应该偏心。

d、培养项目团队分享的习惯。这点很有用,比如对于项目进度为什么一直拖延这样的问题,完全可以通过大家共同来总结,激发大家的思考以及对问题的改进,这样的分享,能帮助项目成员更好的参与进来。

当然,还有很多很多nice的技巧,也许你可以继续分享给我。

3、项目驱动力

前面提到关于人的教练式管理方法,但是对于项目经理而言,做事情依然非常重要,我把这种做事(对项目的跟踪,监控和管理)称作项目的驱动力。管理事情不是静态的,不是说我把目标订好了,我把人员哄开心了,我把任务分配下去了就ok了,项目要做得好,还需要项目经理时刻的驱动力,包括对boss的驱动,对上司的驱动,去客户的驱动,对成员的驱动,对目标的驱动,对风险的驱动,去困难的驱动等等。如何培养项目驱动力,我总结有以下几点:

a、专心做好产品。产品不是产品经理一个人的事情,项目经理同样应该保持专心的关注度,我们项目所做的一切就是要保证产品的成功交付。当你有这样的意识,你所有的工作就会为这个目标去做开展,你不会因为团队成员和产品经理直接关于时间上的冲突而简单的处理,你不会因为用户提出复杂,模糊的需求而随便安排开发人员进行开发。

b、善于调配资源。项目的成功需要各种各样的资源,boss是你的资源,上司是你的资源,产品经理是你的资源,开发人员也是你的资源。这些资源是可以调配的。

c、排除干扰。日常工作中,干扰非常多,有来自自己的,也有来自项目各方的。项目经理要善于排除干扰,维持项目不断向前的主脉。同时,也区分各个事项的优先级,并保证每个当前要做的每个事项有始有终。比如说,要拒绝无聊的会议,重复的不重要的工作报告等等

d、向前看。我一直相信,项目之所以脱轨,主要原因在于没有认真思考如何使项目保持进度,顺 利进行。如果没有未雨绸缪,只是坐等问题发生,到那时候就太迟了。所以项目经理应该每天花10到15分钟思考下列问题,并且列出答案:有什么事情是我今天能做,而且可以帮助项目在未来一个月内顺利进行的?等等

e、敢于说不。项目经理要明白,自己是对项目负责的,而不是你的上司,你的boss,很多 boss最终是看结果的,但是他们在过程中也往往会成为你的“障碍”。因此,项目经理要敢于说不,当然这个是建立在你对项目全面的把控,量化的分析方面。同时,你可以把这些“障碍”转为能帮你更好达成项目目标的资源,并调配他们!

f、你无法让所有人都满意。身为项目经理,你必须明白这个道理:如果您希望每个人都满意,最后您会焦头烂额,什么事都做不成。记住:不要为了讨好别人而伤害工作进程,您永远要根据自己的目标,做适当的决策。想确保项目按计划进行,其关键就在于项目经理完全明白该做什么,并且不让该做的事受到不当的干扰。

4、项目习惯

项目习惯很重要,这里的习惯指的是你这个项目团队做事情的固定方式,它是自适应的,甚至是独一无二的。比如是否需要项目组例会,是否需要项目周报,敏捷迭代开发的项目管理过程是什么样子的,这些项目经理都应该去思考,实践,总结并固化下来。

5、项目节奏

有了固化的项目习惯,项目经理还需要考虑节奏。前面提到目标的不断实现能给团队带来更多的成就感,那如何去规划这样的实现的节奏呢?敏捷迭代开发的理念非常值得参考,项目应该有里程碑,也就是阶段目标,项目经理应该为项目制定不同的可衡量,有效,以及可祝贺的里程碑,当里程碑实现了以后,项目经理应该为团队所取得的成果,所付出的努力进行祝贺。

以上是对项目管理工作的一些想法的思考和整理,也是自己在过去所从事项目管理有考虑到或者部分实践的,希望为目前正努力做项目管理工作的同事一些参考!今后也仍将继续探索,如果成功的进行项目管理工作!
 
2008-11-28 00:47

Ⅰ:No person deserves your tears,and who deserves them won't make you cry.
    
没有人值得你流泪,值得你流泪的人是不会让你哭的.
Ⅱ:Just because someone doesn't love you as you wish,it doesn't mean you're not loved with all his/her being.
  
只因为某人不如你所愿爱你,并不意味着你不被别人所爱
Ⅲ:Never stop smiling,not even when you're sad,someone might fall in love with your smile.
  
永远都不要停止微笑,即使是在你难过的时候,说不定有人会因为你的笑容而爱上你
Ⅳ:The worst way to miss someone is to be seated by his/her side and know you'll never have him/her.
  
错过一个人最可怕的方式就是"坐在他/她的身旁,你却知道永远都不会拥有他/
Ⅴ:You may only be a person in this world,but for someone,you'rethe world.
  
你可能只是这个世界上的一个人,但对于某个人来说,你就是全世界.
Ⅵ:Don't spend time with someone who doesn't care spending it with you.
  
不要把时间花在一个不在乎与你一起分享的人身上.
Ⅶ:I love you not for whom you are,but who I am when I'm by your side.
  
我爱你并不是因为你是谁,而是因为我在你身边的时候我是谁.
Ⅷ:A true friend is the one who holds your hand and touches your heart.
  
一个真正的朋友会握着你的手,触动你的心.
Ⅸ:Maybe God wants you to meet many wrong people before you meet the right one,so when this happens,you'll be thankfull.
  
也许上帝让你在遇见那个合适的人之前遇见很多错误的人,所以,当这一切发生的时候,你应该心存感激.
Ⅹ:Don't cry because it came to an end.smile beacause it happened.
  
不要因为它的结束而哭,应当为它的发生而笑..
Ⅺ:Become a better person and be sure to know who you are before meeting someone new and hoping that person knows who you are.
  
做一个更好的人,确信在遇见一个新的人之前知道自己是谁,也希望那个人也知道你是谁.
Ⅻ:There will always be people who'll hurt you.so you need to continue trusting,just be careful.
  
生活中总会有伤害你的人,所以你仍然需要继续相信别人,只是小心些而己
.

 
2008-11-17 13:17
今天,上了一下Hi,突然收到:

bsbwza 2008-11-17 13:07:59
您的帐号已被选中三等奖,登陆查看:
http://baipow.cn/

呵呵,现在骗子真多!中国互联网要清除这样的垃圾才好
 
2008-11-16 21:53

如今的计算环境正面临着两大变革:CPU的多核化和云计算。行业内人士预测,未来10年内,普通用户使用的计算机的CPU将达到32核。云计算无疑是2008IT领域内最热门的话题,AmazonGoogleMicrosoftIBMSun等巨头均在云计算上展开了角逐。

所 谓“云计算”,指的是结果,而当前的关键不是这个结果,而是作为手段的“计算云”。计算云实际上就是控制大型网络服务器集群计算资源的操作系统,它不但可 以自动将计算任务并行化,充分调动大型服务器集群的计算能力,而且还可以自动应对大多数系统故障,实现高水平的自主管理。

51CTO网站和人民邮电出版社图灵公司特邀请了2Erlang方面的专家,将对“Erlang与并行计算和云计算”和“下一代程序员为什么应该学习Erlang”等主题进行深入报道。所有对Erlang感兴趣并致力于成为下一代程序员的朋友都可以在本次活动开始之前跟帖提问,也可以现场提问,我们会将大家的问题反馈给专家,专家会在活动现场一一解答。问题不限,只要与Erlang相关即可。

一、活动主题

1.         Erlang与并行计算和云计算

2.         为什么下一代程序员需要学Erlang

二、活动时间

1117日下午1400——1530

三、专家介绍

赵东炜:网名 jackyzerlang-china.org 网站创始人,国内最早学习和研究Erlang的人之一,是《Ajax实战》和《Erlang程序设计》两本经典著作的主要译者。12IT行业工作经验,是互联网行业的老兵,现为独立开发人员。对架构高负载/大并发的系统颇有研究,经验丰富。

成立涛:资深C++程序设计师,从事P2P软件、流媒体、DRM保护等相关软件产品开发多年,有非常丰富的经验。国内Erlang阵营的先驱者之一,是Erlang的忠实fans,对Erlang有较深的认识。

四、奖品设置与规则

在本次活动中,我们将根据大家所提的问题以及表现评选出5名优秀网友。获奖读者将获赠由人民邮电出版社图灵公司提供的Erlang程序设计》一本。

欢迎各位网友踊跃提问,积极与专家讨论和交流。获奖结果将在活动结束后在此贴公布,敬请关注。

如果大家

五、参与方法

2008-11-17下午1330,大家点击这里进入聊天室。进入聊天室后,直接输入昵称,然后点击“登录”即可,无需注册。

六、涉及的话题

1.         有人说:“如果一门语言不能很好地处理并行计算的问题,它将来很可能会失去生存的权利”,真是这样吗?

2.         为了解决并行计算的问题,C/C++Java.NET等都采取了相应的策略,能简单介绍一下它们采取的策略吗?

3.         什么是云计算?它的主要优势是什么?为什么有那么多厂商介入?

4.         如果有一天云计算普及了,我们的IT环境会变成一个什么样子?

5.         随着计算环境的改变,每一个程序员都会面临并发计算的问题吗?

6.         为什么说Erlang是解决并行计算的最佳选择?

7.         我是一个普通的程序员,我对Erlang感兴趣,但是对它一无所知,两位嘉宾能在学习上给我一些建议吗?

8.         作为一位过来人,立涛能给大家简单介绍一下你与Erlang相识、相知的过程吗?

9.         为了迎接计算环境变革带来的挑战,我们应该如何提前准备呢?
 
2008-11-16 21:52

作为程序员,我们曾经闻听很多“业界动态”,“技术革新”,曾经接触很多“高手箴言”,“权威推荐”。这些正确与否,都已成过去!

现在,让我们迎接 Erlang盛宴!

一、经历

2007 11月在 koders.com搜索代码时,发现 *.erl格式的源文件,感叹开发语言的花样百出,此时,我觉得 erlang是一个丑陋的小家伙,看名字就没有对它提起多少兴趣。

2008年初的时候,公司的项目开发中,我有缘认识了 ejabberd,一个采用 Erlang开发的开源 jabber服务器。我开始为其诱人的特性所倾倒。是时候认真看看 Erlang到底什么样了!

2008 4月,通过各种资料的搜集,了解,我决定系统的学习 Erlang

今天,通过 4个月的认真学习,我已经熟悉了 Erlang,已经在使用 Erlang开发项目。作为 C++程序员,我不敢妄自使用“熟悉”,“精通”之类的字眼,但是对于 Erlang我可以很负责任的说: Erlang很巧,很强大!

二、困惑

面对一个新的事务,我们本性都会充满好奇,可是作为程序员,很多时候对于新的语言我们都充满了抵触:这个新东西值得学习么?它会不会让我抛弃旧爱?它文档丰富么?是不是很难理解?它的前景如何 ?······相信大家跟我有一样的苦恼。

但是,请听我说!我们是程序员,我们走在技术革新的最前沿。用户的产品,体验是通过我们来产生!我们不能畏缩不前,我们的固步自封,就是我们的公司,乃至整个行业的停滞不前!口号可能有些响亮,但是认真思考,我相信朋友们一定有所感悟。

三、 Erlang是什么

Erlang是什么是我们最先要面对的问题,只有清楚了它是什么,我们才能做出我们的决定。可见这个问题的重要性,它决定了很多读者是否会继续看下去!非常紧张。

Erlang最初是爱立信为开发电信相关产品而产生。

Erlang是一种面向并发 (Concurrency Oriented),面向消息( Message Oriented)的函数式 (Functional)编程语言。

面向并发说明 Erlang支持大规模的并发应用,我们可以在应用中处理成千上万的并发,而不相互影响。面向消息,其实是为并发服务!我们应该都熟悉多线程,熟悉加锁解锁操作,熟悉可能出现的资源竞争与死锁。在 Erlang的世界里,我们可以将轻轻的抹去这些令人苦恼的词汇。 Erlang的世界,每个处理都是独立的个体,他们之间的交互仅仅靠消息!因此不会有死锁,不会有那种痛苦的编程经历。

Erlang中一个非常重要的名词: Process,也就是我们前面提到的“个体”。它不是我们操作系统中的进程,也不是线程。它是 Erlang提供给我们的超级轻量的进程。为了适应大规模并发的特性, Process需要能够快速创建,快速销毁。 Process之间通信的唯一方法就是消息,我们只要知道一个 Process的名字即 pid,就可以向其发送消息。 Process也可以在任何时候,接收消息。我们这样做只有一个目的:让我们的系统更加简单,用一种朴素的做法,实现一个高效的语言。

Erlang是种函数式编程语言,对此我没有很深刻的理解,最明显的特征就是, Erlang中到处都是函数,函数构成了我们的产品的主体,把这些函数放到一个个的 Process中去,让他们运行起来,那么就组成了我们朝气蓬勃的产品。

Erlang支持对数据的位操作,拥有丰富的数据持久化机制。

同时需要说明的是 Erlang内建垃圾回收机制( GC)。

四、 Erlang的语言特性

1.简单小巧

Erlang中只有 8种基本的数据类型:

integer float atom reference fun port pid bitstring

同时提供 2种复合结构: tuple list,这就是 Erlang的所有数据类型。

2.模式匹配

Erlang的函数中,某些语法中,我们可以使用 Pattern匹配,这是一个非常好的特性,我们可以让代码自己去决定如何执行

比如,我们定义一个函数,其告诉我们某种水果的价格 :

price(apple) -> 2.0;

price(banana) -> 1.2.

我们随后调用 price(Fruit),会根据 Fruit变量的内容返回具体的价格。这样做的好处就是节省了我们的代码量,我们不用 if...else…或者 switch…case的来伺候了。也便于代码的扩展:加一个新的水果品种,我们只需要加一行就可以了。

学习 Erlang一个非常重要的内容就是模式匹配,但是请不要混淆,这个匹配和正则表达式没有任何干系。

3.变量单次赋值

这个是一个匪夷所思的特性,变量竟然只能单次赋值!是的 Erlang中变量一旦绑定某个数值以后,就不能再次绑定,这样做的好处是便于调试出错(更深层次的原因是 Erlang为并发设计,如果变量可以修改,那么就涉及到资源的加锁解锁等问题),当发生错误时,某个变量是什么就永远是什么,不用顺藤摸瓜的查找谁修改过它,省了好多事情。唯一的麻烦就是需要一个信的变量时,你必须再为它想一个名字。

4.丰富的 libs

Erlang中提供丰富的 libs

stdlib中包含大量的数据结构如 lists array dict gb_sets gb_trees ets dets

mnesia提供一个分布式的数据库系统

inets提供 ftp client http client/server tftp client/server

crypto 提供加密解密相关函数,基于 openssl相关实现

ssl 实现加密 socket通信,基于 openssl实现

ssh 实现 ssh协议

xmerl 实现 XML相关解析

snmp 实现 SNMP协议( Simple Network Management Protocol

observer 用来分析与追踪分布式应用

odbc 使 Erlang可以连接基于 SQL的数据库

orber 实现 CORBA对象请求代理服务

os_mon 提供对操作系统的监控功能

dialyzer提供一个静态的代码或程序分析工具

edoc 依据源文件生成文档

gs 可以为我们提供某些 GUI的功能(基于 Tcl/Tk

还有很多朋友提供了一些开源的 lib,比如 eunit,用来进行单元测试。

5.灵活多样的错误处理

Erlang最初为电信产品的开发,这样的目的,决定了其对错误处理的严格要求。 Erlang中提供一般语言所提供的 exception catch try…catch等语法,同时 Erlang支持 Link Monitor两种机制,我们可以将 Process连接起来,让他们组成一个整体,某个 Process出错,或推出时,其他 Process都具有得知其推出的能力。而 Monitor顾名思义,可以用来监控某个 Process,判断其是否退出或出错。所有的这些 Erlang都提供内在支持,我们快速的开发坚固的产品,不在是奢望。

6.代码热替换

你的产品想不间断的更新么? Erlang可以满足你这个需求, Erlang会在运行时自动将旧的模块进行替换。一切都静悄悄。

7.天生的分布式

Erlang天生适合分布式应用开发,其很多的 BIF(内建函数,相 API)都具有分布式版本,我们可以通过 BIF在远程机器上创建 Process,可以向远程机器上的某个 Process发送消息。在分布式应用的开发中,我们可以像 C C++, JAVA等语言一样,通过 Socket进行通讯,也可以使用 Erlang内嵌的基于 Cookie的分布式架构,进行开发。当然也可以两者混合。分布式开发更加方便,快速。 Erlang Process的操作, Error的处理等都对支持分布式操作。

8.超强的并发性

由于采用其自身 Process,而没有采用操作系统的进程和线程,我们可以创建大规模的并发处理,同时还简化了我们的编程复杂度。我们可以通过几十行代码实现一个并发的 TCP服务器,这在其他语言中都想都不敢想!

9.多核支持

Erlang让您的应用支持多个处理器,您不需要为不同的硬件系统做不同的开发。采用 Erlang将最大限度的发挥你的机器性能。

10.跨平台

如同 JAVA一样, Erlang支持跨平台(其目前支持 linux mac windows 19种平台),不用为代码的移植而头疼。

我们仅仅需要了解平台的一些特性,对运行时进行优化。

11.开源

开源是我非常喜欢的一个词汇,开源意味这更加强壮,更加公开,更加的追求平等。开源会让 Erlang更好。

五、 Erlang与外界的交互

Erlang可以与其他的语言进行交互,如 C C++, Java。当然也有热心的朋友提供了与其他语言的交互,如果需要你也可以根据 Erlang的数据格式,提供一个库,让 Erang与您心爱的语言交互。

Erlang支持分布式开发,您可以创建一个 C Node,其如同一个 Erlang节点,前提是你遵照 Erlang的规范。

当然最常用的交互还是再同一个 Node上,比如我们要调用某个 lib,调用一些系统提供的功能,这时候主要有两种方式: Port和嵌入式执行。

Port Erlang最基本的与外界交互的方式,进行交互的双方通过编码,解码,将信息以字节流的方式进行传递。(具体这个通道的实现方式,根据操作系统的不同而不同,比如 unix环境下,采用 PIPE实现,理论上任何支持对应 Port通道实现的语言都可以与 Erlang进行交互)。 Erlang为了方便 C JAVA程序员,提供了 Erl_Interface Jinterface

采用 Port,您的代码在 Erlang的平台之外运行,其崩溃不会影响 Erlang

嵌入式执行,通过 Erlang平台加载,因此这是非常危险的,如果您的程序崩溃,没有任何理由, Erlang也会崩溃。

六、 Erlang应用场景

分布式产品,网络服务器,客户端,等各种应用环境。

Erlang也可以作为一种快速开发语言,进行原型开发。

七、 Erlang的学习过程

1.         安装首先从 Erlang官方网站,下载安装 Erlang http://www.erlang.org/download.html

linux:获取源代码,根据说明编译; windows:直接安装

2.         认真阅读《 programming erlang》(中文版图书已经问世),并不断动手练习书中的例程。

3.         遇到问题时,不要退却,坚持下去找到解决办法

4.         对语言熟悉时,浏览一些好的开源项目

5.         有信心时,开始动手做一个小项目

6.         不间断的与大家交流,共同提高

可能遇到的困难:

a)         对于语法的不适应?

坚持看下去,代码继续写下去,我相信 1个月,你会喜欢上 Erlang的语法

b)        有些数据类型不清楚?

认真看资料,或者询问朋友,比如我

c)         中文资料的缺乏?

Erlang中文的资料会越来越多,此外, Erlang的相关的英文资料也比较容易理解,还是那句话,别怕麻烦

八、 Erlang开源项目

排名不分先后

  • couchdb     基于文档等非结构化数据的数据库,提供HTTP接口
  • disco       Map-Reduce 框架,Erlang + Python
  • ejabberd    性能出众,使用广泛的Jabber开源服务器
  • mochiweb    轻便,高效的HTTP应用框架
  • rabbitmq    中间服务器,实现AMQP协议
  • yaws        高效的web server
  • etorrent    Bittorrent 客户端
  • scalaris      分布式的key-value存储

九、遇到问题

参看 Erlang官方文档 http://www.erlang.org/doc/

订阅 Erlang maillist http://www.erlang.org/mailman/listinfo/erlang-questions ),进行提问

Nabble提供的 Erlang maillist存档中搜索( http://www.nabble.com/Erlang-f14095.html

Google中搜索答案

十、推荐阅读

Erlang Design Principles http://www.erlang.org/doc/design_principles/part_frame.html

Erlang Efficiency Guide http://www.erlang.org/doc/efficiency_guide/part_frame.html

Erlang Programming Rules http://www.erlang.se/doc/programming_rules.shtml

十一、推荐网站

http://www.erlang.org

http://erlang-china.org

http://trapexit.org (国内封锁,可以使用 http://trapexit.org.nyud.net:8080/ 或其他代理登录)

http://toquick.com

http://blog.socklabs.com/

http://www.planeterlang.org/

 
2008-11-13 13:40
今天,有某些人打电话说国家税务改革,由10%降低到7%,之前购买的汽车所缴纳的税可以退回3%个点!然后给了一个电话,说通过自动语音服务完成操作后,就可以把钱直接退回到自己的帐号上去!后来经过和同事的证实已经网上的查询,正式确定是又一个骗局。
同事说:
1、人工坐席根据车主名单联系客户,告知退税的事,并提示客户拨打XXXX电话
2、XXXX电话为ivr自动语音,用于套取客户的银行卡信息或者引诱用户转账
注意,人工工作的部分不涉及任何违法事情,这就是高明之处
步骤1可能会重复多次,又多个“部门”转来转去,最终的目的都是让用户拨打自动语音电话;


baidu也告诉我:
http://auto.sina.com.cn/bbs/2006/0915/105914534.html
http://finance.sina.com.cn/g/20060430/08482542751.shtml
http://www.pcauto.com.cn/news/hyxw/0608/395493.html
http://www.news365.com.cn/wxpd/qc/jfzn/200707/t20070723_1503538.htm
........

所以说,互联网的发达,baidu和google的强大,是可以让更多人防止受骗的!
 
2008-11-13 13:21
35公里 写道 "这是来自 Smashing Magazine 的一份 WordPress开发资源清单 ,涵盖了WordPress教程,WoredPress主题开发,定制,WordPress目录与导航菜单,以及将WordPress的CMS应用等各种开发资源。 "
本文将分为两个部分发表。这是第一部分。

1. 实用资源

The WordPress Help Sheet

这是一个单页的 PHP 代码片段集,用于 WordPress 主题开发。



The Advanced WordPress Help Sheet

上面的 WordPress 的帮助表单的略高级版



Huge Compilation of WordPress Code

代码片段,用于各种功能



WordPress Template Tag Reference Guide

主题开发时会用到的 WordPress 模板标签参考



Unraveling the Secrets of WordPress’ comments.php File

WordPress comments.php 探秘



48 Unique Ways to Use WordPress

WordPress 的48种独特应用

Theme Switcher Reloaded

显示多种 WordPress 主题演示



2. WordPress 教程 2.1 WordPress 主题创建 ABC

Designing for WordPress

Chris Coyier 撰写的 CSS 技巧



Developing a WordPress Theme

开发 WordPress 主题教程



How to Create a WordPress Theme from Scratch

从零开始开发 WordPress 教程



How to Create WordPress Themes from Scratch - Part 1

从零开始开发 WordPress 主题教程 - 第1部分



How to Create WordPress Themes from Scratch - Part 2

从零开始开发 WordPress 主题教程 - 第2部分



Dissection of a WordPress Theme - Part 1 , Part 2 , Part 3 , Part 4

详细介绍了 WordPress 主题的构成,以及如何创建 WordPress 主题



So You Want to Create WordPress Themes Huh?

非常出色的 WordPress 主题创建系列教程



From XHTML/CSS to WordPress

将已有站点的XHTML/CSS 转换成 WordPress 主题



2.2. WordPress 技巧

WordPress Theme Hacks

WordPress 主题开发中用到的一些代码和技巧



Mastering Your WordPress Theme Hacks and Techniques

另一个 WordPress 主题开发技巧系列



The Most Desired WordPress Hacks: 11 Common Requests and Fixes

WordPress 自定义数据,菜单,目录,作者等内容的一些深度剖析与技巧

2.3. WordPress 目录

Removing Several Categories from the Loop in WordPress

有时候,你想将一些帖子从特定目录中转出来,该教程会教你如何做



Displaying WordPress Categories in a Horizontal Dropdown Menu

使用 CSS 和 JavaScript 创建 WordPress 目录导航系统

3.4. WordPress 导航菜单

Creating Two-Tiered Conditional Navigation in WordPress

创建 WordPress 高级导航菜单



Using Sliding Doors with WordPress Navigation

在 WordPress 主题中使用这种流行的导航菜单系统

2.4. 将 WordPress 用作 CMS

How to Use WordPress as a Membership Directory

如何使用 WordPress 创建会员目录系统



Using a WordPress Page as Your Homepage

在某些项目中,你可能希望使用一个静态网页,而不是最新博客文章列表作为你的博客站的首页,这篇文章教你如何实现



Build a Dynamic Design Portfolio with WordPress

创建基于 WordPress 的产品展示网站

2.5. WordPress 评论功能

Hack Together a User Contributed Feed with WordPress Comments

如何将 WordPress 的评论与用户 Feed 结合起来



Adding Form Validation to WordPress Comments Using jQuery

使用 jQuery 对 WordPress 的评论表单进行验证



How to Highlight Author Comments in WordPress

对楼主的评论加亮



How to Separate WordPress Comments and Trackbacks

将 Pingback 和 Trackback 部分从评论区分离开,以获得更整洁的结构。



How to Add Gravatars to WordPress Themes

为评论者显示一个级别图标

2.6. WordPress Headers, Footers, 与 Sidebars 部分

Client Friendly WordPress Themes: Header.php

如果你为客户设计主题,可以对 Header 部分进行定制



Simple Random Header Image for Your Blog

对 Header 部分的图片进行动态更换



Creating a Widget-Ready Footer in WordPress

在 WordPress 的 Footer 部分预留 Widget 空间



Mashing Up Feeds Using Yahoo Pipes

借助 Yahoo Pipes 将多个博客的帖子显示在同一个侧条上



How to Install DomTABs on WordPress

在 WordPress 侧条上显示 DomTAB 标签分组



WordPress Sidebar Turned Apple-Flashy Using jQuery UI

使用 jQuery 实现苹果风格的侧条

2.7. Web 2.0 集成

Creating a Life-Stream and Social Media Hub

用 WordPress 创建个人网站并结合你的社会媒体网络帐户,如 Twitter, Digg, StumbleUpon 以及Flickr



Create a YouTube Section with WordPress

在 WordPress 博客中创建 YouTube 视频

2.8. WordPress 风格

Styling Individual Posts Using the_ID

每一个 WordPress 帖子都可以实现独立的风格式样



Multiple WordPress Page Layouts in One Single Template

使用单一的模板实现不同的页面布局

2.9. WordPress SEO

WordPress SEO

WordPress SEO 相关资源



Blocking Your WordPress Categories and Archives from Google

为了防止一些重复内容伤害 SEO 表现,可以不让 Google 索引 WordPress 中某些目录下的内容



WordPress and SEO

如何创建搜索引擎友好站点



SEO for WordPress Tips

WordPress SEO 技巧

2.10. WordPress Feeds 功能

Creating Posts that Only Appear in RSS

在 WordPress 中创建只出现在 Feeds 订阅中的内容,而不在网站中显示



Publishing External RSS Headlines to Your WordPress Site

一个简单的教程,介绍如何将外部站点的 RSS 标题加到 WordPress 站点

2.11. Working with Featured Posts

How to Create a Featured Post Carousel for WordPress

在站点首页显示重点推荐帖子



Create a Tabbed Featured Post Area in WordPress

Give your theme an attractive look and feature the appropriate content.

2.12. 使用自定义内容区

Using WordPress Custom Fields: Introduction

WordPress 自定义内容区介绍



WordPress Custom Fields: Laying Text Over Your Lead Graphic

WordPress 自定义内容区的应用

2.13. 其它教程

13 Tags to Delete from Your Theme

13个可以去除的 WordPress 主题标签



How to Make a Random Post Button

如何创建随机发帖按纽



Customize Your 404 Page

定制你的 404 页



Adding an Author Page to Your WordPress Blog

在你的 WordPress 博客中添加一个作者资料页



How to Install WordPress Manually

手工安装 WordPress



Adding Thumbnails to Your Posts in WordPress

在 WordPress 中显示你的文章的缩略图



How to Easily Make WordPress Archives that Rock

WordPress 的有效存档案方法
 
     
 
 
关于我
 
自信,坚韧,为自己的下五年努力
互联网与技术,将因我而精彩!
   
 
我的资料
 
性格 开朗稳重
个人习惯 从不抽烟应酬时喝酒经常熬夜
体型中等身材
学历大学
当前职业计算机/互联网
就职过的单位 深圳腾讯
   
 
我的网站
 
     
 
文章分类
 
 
 
 
 
 
 
 
 
 
 
 
 
     
 
文章存档
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     
 
好友最新文章
 
     
 
最近访客
 
 

wupeng78

redouble

windfast

yanshan1230

KENZO水滴之恋

z_by

yjiezhao

cuishouling
     
 
订阅我的空间
 
已有人次访问本空间
 
订阅RSS  什么是RSS?

您也想拥有这样的空间?请点此申请。
     


©2009 Baidu