一切皆可抽象

大而无形 庖丁解牛 厚积薄发 涤虑玄览
   ::  ::  ::  ::  :: 管理

2005年10月12日

联系电话:02988787437 邮箱是  hr@johesoft.com
西安聚合软件有限公司
工作地点:南京 可以适应长期驻外地
现招聘3-5年以上需求设计人员
3年以上J2EE,.NET开发人员。


这不是公司的招聘,这是平台的招聘
这不是员工的雇佣,这是协作的纳才
我们不分上下或者职位 我们是合作关系
我们共同用技术为客户提供服务 来赚取我们赢得的利润
我们共同用汗水为未来做出努力 来提升我们自身的价值
我们一起协作 我们一起付出 从客户那里拿到我们的更多

你还在徘徊和迷茫吗 你是否寻求比较自由的工作
聚合软件给你提供平台
我们签的不是劳动关系合同 我们签订的是技术服务协作合同
在这里 你不是一个员工的身份 你是一个合作者的身份
我们共同创造的价值 是双方比例来分成
让自己的薪水自己来做主
有合适的人可以介绍给我哟。 

posted @ 2013-05-03 17:27 锋出磨砺 阅读(1550) | 评论 (0)编辑 收藏


新的一年祝福所有人合家欢乐,体康心舒,惬意畅快。

祝福聚合全体员工快乐工作,勇攀高峰

祝福聚合软件蒸蒸日上,再创佳绩

posted @ 2009-12-31 13:22 锋出磨砺 阅读(1565) | 评论 (0)编辑 收藏



聚合老李
 
www.johesoft.com

我来把事找
你来把事理
他来把事做
一起把事成

posted @ 2009-08-05 13:57 锋出磨砺 阅读(1597) | 评论 (0)编辑 收藏

 

成功,是世界上最让人向往的东西,因为它代表着自由、富裕、尊重。然而成功的过程决不“人道”:10000个也许是认为最聪明绝顶的人,历经资金、商业模式、管理、竞争的重重磨难,躲过命运的无情盘剥,也许最后才有几个人能偶尔活下来,接受更严峻的发展考验。所以,成功的创业者才显得逾足珍贵。

残酷吗,子非创业者,焉之创业之乐,就是有一些不安分的人把每一个困难的克服当作天下最幸福的事,沉浸在不断成长的乐趣中。在他们眼中,人生百年,转瞬即逝,留下一段经历,比平庸而终老更有意义。

然而,也有人说:子非创业者,怎知创业之不乐,也许创业根本就是一杯毒酒, “努力就会成功”这个最古老最罪恶的谎言,打乱了多少人原本自在的生活,让这些本应在各自岗位上做出丰功伟绩的人,就在这样错位的奋斗中崩溃。

一个故事为证:

他很聪明,在一家几百人的企业,他负责一个不大不小的部门。他的智慧和能力解决了很多业务中的难题,领导赏识他,同事佩服他,收入一直不错,他自己也获得骄傲而满足。

他有一个女友,漂亮俏皮而青春活泼,两人走在一起时,不时会引起路人羡慕的眼光。但是他总觉得差点什么,总觉得不满足,特别在女友看到橱窗里硕大的钻戒和偶尔路上晃过的开着宝马的富豪时,这种感觉格外明显。直到有一天,一个人无意中赞扬了他一句:你应该当老板,才让他终于恍然大悟自己在为什么难受,“创业”开始象毒蛇一样缠绕在他心间,挥之不去,原本开心的工作怎么也提不起兴趣。

又一个失眠的早上,他突然决定了,于是他对女友说:我要辞职,去创业。女友有点担心,但是想到他的能力还有成功,默默的点头了。和家里壮志豪言的说出了自己的理由,家人也表示默许。受到爱人和家人鼓舞的他,兴冲冲的向公司的递交了辞呈,在领导惋惜的目光和众人不解的神情下,头也不回的走出大门,仿佛正在走向亿万财富、鲜花和掌声。

费尽口舌,求朋友、告奶奶筹集了全部可以借到的资金,跑断腿的办理完工商营业执照和选址租办公场地,一间象模象样的公司就这样成立了。第一天在自己的公司上班,看着刚刚上岗的员工,他热泪盈眶,骄傲的仿佛世界之王。

后面的日子是忙碌而充实的,员工培训、熟悉业务,让他有点小小的着急,为什么员工就不能向他一样融会贯通这么简单的一个商业模式呢。不过转念想想自己的能力也许特别强,也就只能暂时安慰自己-----一切需要一个过程。

慢慢的也有几笔小单回来,虽然多数是自己参与其中指导,但是也足以让他更加信心百倍。庆功、喝酒,一切激励似乎作的尽善尽美,但是很发现,业务永远在这样一个层次,无法逾越。开会,每个部门都说到资源不够,他有点恼火,小公司永远都是资源不足的,如果这么大的投入,是个傻子也可以做出业绩来,还要他们做什么?这些事情如果是自己做,可以想出很多办法解决,但是一个公司能靠自己一个人做吗。所以怒火还是得忍着,毕竟依靠兄弟们,于是继续鼓励,并调整新的激励政策。

随着业务不温不火的开始有所转机,他突然发现现金流这个东西有点不足了,毕竟市场投入前期的回报率是极低的,眼看发完这个月的工资可能会有问题,而此时手下一个大单,一旦成交可以扭转整个公司的局面,让他必须做决定赌一把。带着几个人拼死拼活的研究方案,请客吃饭,不会喝酒的他经常喝得烂醉回家,让曾经向公主一样的女友,含着眼泪、捏着鼻子伺候着吐出的秽物。而此时,他们也很久没有像以前那样牵着手看夕阳了,每次当女友提出看电影或是旅游,他都哄着她说现在还很忙,等业务上了轨道就会去。于是女友虽然不高兴,还是撅嘴答应了。

在业务即将成交的头晚,最让人担心的事情还是出现了,竞争对手眼看无望,调整新的价格体系,让客户顿时犹豫了起来,于是周期顿时延长,心急如焚的他恨不得下跪也无法打动客户坚毅的神情,市场经济就是这么残酷无情。而资金也适时地终于见底了,员工开始有了点小波动。他周旋稳定员工和争取客户当中,同时又陷入了借钱的尴尬。而就在这时,更坏的消息传来,更大的竞争对手终于嗅到了肉香,参与进来,以雄厚的资金,超乎想象的价格拿走了这个单。

于是他绝望了,在部门的检讨会上,他声色俱厉的训斥几个失职人员,长久以来积累的情绪终于爆发。而那几个员工也同样委屈,毕竟为了这个项目,他们也付出了很多。终于,和谐的气氛打破了,在持续收到几份辞呈之后,公司陷入一种微妙的状态:留下来的都是安于现状的人,不推不动的消耗着他剩余不多的资金。这时候,家人的一句善意的责怪这个项目考虑不周,都让他暴跳如雷,女友嚷着要出游更是让他心烦意乱,有点责怪为什么此时她就不能多为他考虑。

麻烦的事情才刚刚开始,借款的朋友急需用钱,临时请他还钱;税务机关三番五次上门清查,因为本来就不是太干净的发票问题开始有点纠缠不清;员工的保险未办,遭到有关部门的警告,还有就是市场又出现了他们产品的仿制品····

一切开始混乱了,他每天在不同的事务间疲于奔命,而员工的积极性越来越低,他经常看到他们正在用公司的电脑打简历。市场无法投入更多的费用,老客户开始对后续延迟的服务不满。最严重的是几个员工要为拖欠的工资上告。他开始陷入恐慌,开始害怕到这个地方,整晚的失眠,在网络上漫无目的的找应对办法。他的情绪进一步引起投资人的恐慌,大家开始有意的提醒他还钱。

终于,公司还是毫无悬念的破产了,员工不欢而散,由于没有拿到全额的工资而恶言相对,税务的罚款、还贷耗尽了他本来不多的老婆本。把最后的手续办完,坐在零乱而空旷的办公室,他忽然想起很久没有联系的女友,掏出手机打个电话,却听到了女友不耐烦的回答和旁边另外一个男人的声音!

这天,他仿佛老了很多,深陷的、布满血丝的眼睛完全失去了以往的神采,让人不相信他就是那个曾经风光无限的明星员工。明天,他又要开始找新的工作,想象到碰上原来同事时,大家的眼光让他无地自容。家人是唯一的港湾,但偶尔也会流出惋惜的叹气,看着父母日渐佝偻的背影,他感到坐立不安。但是,看着欠下的帐单,即使明天更加无望,一切也只能这样继续。

有一天他突然明白了些什么,创业并非像人们所说的那样简单,里面包含了一些道理:商业模式、财务管理、人力资源管理、客户管理、品牌管理、生产管理等等知识短板,正是这些曾经不起眼的知识让他陷入困境。他笑了,不过是苦涩的笑,今天明白了,明天会继续选择这条路吗?

不要以为这是我编的故事,这是很多朋友都很熟悉的情节,只是随着主人公和剧情的不同,每天不断在各个城市上演,包括我自己本人。在成功者的光环后,谁又看到他们每天只睡3个多小时,身体健康极度恶化,最后猝死在自己的办工桌前。在创业的路上,从来没有“付出就有回报,努力就会成功”的这种说法,一场非典、一个政策,都会让你苦心经营的根基彻底摧毁。一个小疏忽,一时情绪的失控,就会让你走向灭亡,这就是我为什么在沙盘模拟中突然冒出一身冷汗的原因。

所以后来很多朋友问我创业怎么才能成功,我往往告诉他们,创业,首先不是考虑怎么成功,而是考虑如果失败了,你失去了一切,是否还能重新爬起来继续前行。所以,当你准备创业了,你就如同准备饮下一杯毒酒,你的身体将是你最大的赌注。

曼生,你明白了吗,现在的一切本来就是我们当初的决定所注定要面临到的问题,创业本不能承受生命之重,它只是一种生活方式,为了让我们在老了的时候有事情回忆,而不去后悔当初没有为那个冲动而尝试。和“他”相比,你已经很幸福,起码你还有深爱你的女友,和我们这些关心你的人,放下心结,重新上路吧。

而听完这一切,朋友,你还会选择创业吗?如果你的答案依然是肯定的,那么我很开心祝福在路上又多了你这样一个伙伴。只是当我们携手准备饮下这杯毒酒时,请你和我一样带着笑容。

posted @ 2009-06-16 09:00 锋出磨砺 阅读(1603) | 评论 (0)编辑 收藏

微软公司的三道面试题目看了会有意想不到的收获
1、手机厂家由于设计失误,有可能造成电池寿命比原来设计的寿命短一半(不是冲放电时间),解决方案就是免费更换电池或给50元购买该厂家新手机的折换券。请给所有已购买的用户写信告诉解决方案。

2、一高层领导在参观某博物馆时,向博物馆馆员小王要了一块明代的城砖作为纪念,按国家规定,任何人不得将博物馆收藏品变为私有。博物馆馆长需要如何写信给这位领导,将城砖取回。

3、营业员小姐由于工作失误,将2万元的笔记本电脑以1.2万元错卖给李先生,王小姐的经理怎么写信给李先生试图将钱要回来?

  微软中国公司总裁唐骏说:“真可惜,我在很多场合都出过这三题,但到目前为止,还没有一个人能完全答对,有人答对了一题,所以他当上了我的助理。”

第一题: 亲爱的用户:您好,为了回报广大用户,我公司最近对N型电池进行了技术升级,凡在*年*月*日前购买的N型电池用户,均可到我公司销售网点进行免费更换升 级。如果你更喜欢用原来的电池,我们将会送给你50元的新手机折换券。 再次感谢您对我们工作的支持! **手机股份有限公司 *年*月*日(注意,不要搞用户已知道此电池设计寿命的假想,现在我们需要把实际的使用寿命当设计寿命,只不过价格相对低一点。我查看了一下我的手机说明 书,它并没有说明电池使用寿命,只说怎样使用寿命会长一些。所以可以回避寿命一事不谈。在答此问题时,应注意两个方面,一是不能让用户对公司失去信心,影 响声誉;二是要对用户负责,应值多少钱的东西就卖多少钱,所以,我就想了如上的表述方式,实际上,相对于原来的电池,现在也的确是一种技术升级,不存在欺 骗顾客)。


第二题 尊敬的**领导:您好!首先感谢您到我馆检查指导工作!按照你的指示,把相关的工作进行了完善,使我们的工作有了很大提高。在您走后,一位同志急着告诉 我,您带走了一块明代的城砖,问我怎么办,因为国家规定博物馆的收藏品不能变为私有,否则收藏者是违法的。我笑着告诉他,这是领导在考验我们,看我们的工 作是否严谨。我们真诚地感谢您为了考验我们的工作的良苦用心,同时,为了报答您对我们工作的指导,我们将于**月**日专门送一块该砖的仿制品作为纪念, 同时,取回我们的原砖。再次感谢你对我们工作的指导与关怀。 致 礼 ***博物馆馆长: *年*月*日(此题的关键我以为应激发领导的崇高心理。不知道大家是否记得周恩来总理用玩魔术的方法从外宾怀中取出被盗夜光杯的故事。所以,这里我用了相 似的办法。这里要注意两点,一是保住领导的面子,二是必须把砖拿回来,三是不能让领导认为现在博物馆的管理工作不到位,中间有这样一句话“问我怎么办,因 为国家规定博物馆的收藏品不能变为私有,否则收藏者是违法的。”,我们不是怕东西被拿走了,潜台词我们信任领导,而是怕领导违法,因为是为领导担心,一句 平实的话,分量很重,到这个份儿上,没有哪个领导再敢不还了。同时,送他一个仿制品,无论他是真想要,还是假想要,都应能给他的心灵以舒缓)。


第三题 尊敬的李先生:您好!首先感谢您使用我们公司的产品。您的支持是我们发展的动力。同时,我们还有一事希望与你协商。昨天在下班盘点时,营业员发现她在收款 时,因为看错了价格标签,错把2万元的电脑报价报成了1.2万元。按照公司的规定,如果不把此笔差额收回,她是要全额赔付的,这对于作营业员的小王来说, 相当于近一年的工资。当时她很着急,不愿说是怎么回事,几经询问,她才道出实情。她说她昨天在出售电脑给你时,和你谈得很投机,从你那里学到不少东西。因 为是自己工作的失误,她宁原自己赔付,也不愿意给你添麻烦。当时我告诉她,买这种产品的人都是高级知识分子或者素质很高的人,如果把事情说清楚,一定能把 钱收回来,我们不妨去试试,别人怎么能忍心让你赔呢? 所以,我们给您写了这封信,希望得到你的支持,同时,也为我们工作的失误而给你带 来的不便深深致歉!再次感谢您对我们工作的支持,我们将静候回音。 致礼 **电脑营业部经理:** *年*月*日 (注意,在这封回信中,也充分地利用了激发他人崇高动机的手法,同时运用了同理心等。这封信中有一点假设,就是小王和他聊得很投机,以致不愿意要回电脑, 是否愿意自己赔这个细节可以省略,但聊得很投机,学到了知识,最好提到。因为这是极为可能的,电脑的价格高,属于理性消费品,它一般来说,讨价还价不同于 感性的日常消费品,消费者可能会经过比较久的选择时间,这样,会增加用户对小王的好感,增大还款的胜算。)
顺便插一个小案例,一次某子公司的出纳员也是把钱给一原料客户取多了,后来,也用类似的办法取回来,主要用了激发用户的崇高动机手法。后来用户给钱时说, 这钱不是我欠你的,因为没有任何证据可以证明我欠你的钱,这与本例有不同之处,本例有发票证明是少开了。找到用户时,我们也告诉他,你可以不还,如果不 还,这个出纳员需要全部赔偿,至少是她一年的工资。但我们相信你会同情这个出纳员,你作为一个大老板,一定非常讲商誉才能发展到今天,你帮助了很多的人致 富,相信你也会帮助她一把。后来,他说,好吧,此款我作为赠送,因为我们的合作愉快,我把它赠送给你们的出纳员(而不是还),就这样,把钱要了回来。)

posted @ 2009-05-08 09:51 锋出磨砺 阅读(1617) | 评论 (0)编辑 收藏

作为IT技术人员,相信没有一个人愿意永远在底层编写程序或做简单的系统维护。经过一段时间的技术和经验的积累,很多人都向往更高层的职位,但如何能成为一个专业的IT管理人才,并不是每一个人都清晰、明了。 

  "30岁程序员的人生"技术某种程度上是青春活,技术革新的速度永远以超乎人所理解的演变,对于上了年纪又有了社会责任的技术人员来说,转型是不二选择。 

  如果你真想成为一名成功、成熟的IT专家,你需要不断地扩展你的技能与知识——有些知识领域可能对你很陌生,本文阐述了可以帮助你提高职业素质的重要能力。作为一名IT专业人士,要想有一个成功的职业生涯并不是很容易的事情。你有可能每一种技术都懂一些,但又都不精通,也有可能是一名专才。无论如何,一旦你想成为IT专家,想在你的游戏地盘里成为楚翘,你需要不断扩展的、跨领域的素质。但是,大部分的素质能力存在于传统IT技能范畴之外,它们可能适用于其他的功能学科。我们与其他人的差异越来越小,这超出了我们的习惯思维,恐怕对很多想迅速成功的IT专业人士也是一个不小的打击。 

  IT领域无“专家”,所谓的IT专家是在特定时间的特定时点的概念,IT方面的学习能力往往比既有经验更加重要。信息化领域最紧缺的是“复合型人才”,懂管理、懂业务也懂技术。成功的IT人事都是跨领域的高手,《魔鬼投资学》里给我们阐述了“领域”外的素质和能力的重要性。 

  1、理解现有的和新兴的技术 

  所有IT专业人士需要的一个最基本的能力便是对他们的基本技术技能进行深度和广度的拓展。如果用马斯洛的需求层次来比喻,那么这种能力应该属于食物和水的层次,你必须有这些才能满足基本的生存。上课、阅读文章、研究产品,参加一个专业性质的组织,你需要掌握你正在使用的技术领域的所有信息,而且你还需要有实践机会去应用这些知识。 

  如果你参加一些技术资格或职称的考试,你应该经常提醒自己,你的目标并不单纯是为了在自己的名字后面加上许多的头衔,而是实现你所受教育的价值最大化。 

  西方有句谚语,赢得游戏胜利不仅仅需要你将眼睛盯在正在击打的球上,而且也要能预计到下一个球的方向。历史经验已经证明,任何系统的平均生命周期大约为16个月,因此为未来做好规划很有必要。当你充分了解你正在做的事情后,实施的效率会更高。 

  技术是IT人的立身之本对于ITER来说,基本的技术框架必须具备,更为重要的是对技术的敏感性和热情,从字里行间获取学习的线索,10倍速的学习掌握。IT学习需要有目标,有压力,参加有价值的论证是不二选择。此外,技术学习的方向性需要明确把握,有些时候占错队伍比学习技术本身更加重要。 

  2、设计技术性架构 

  任何自己修建的一个系统作为个体的功能都是自以为精妙和可执行的。但如果将它放进一个大一点的系统,它可能就会出现问题,也许你的技能还不是很高妙。无论你是负责全面的应用与网络设计,还是部分营建一个系统部件,支持一个企业架构,你都需要知道什么是良好的、扎实的架构设计法则。 

  一套有效率的技术性架构设计将零件拼接在一起,它应该就像一台容易操控、价格合理的机器一样。我已经发现,架构设计如果基于“奥卡姆剃刀原理”(OcCAM's Razor),那么它往往是最棒的,奥卡姆剃刀原理这个词语源于拉丁语,意为“如无必要,勿增实体”(Entities should not be multiplied unnecessarily),即简单就是最好的。当考虑设计之时,要记住每个组织都有一些独特的程序,大部分的组织性程序都相当的普通,它们能够用可配置的通用解决方案来解决问题。很多架构可以利用购买以及将一些很小数量的部件组合在一起的方式来完成,而不是要重新发明一种结构。通过这种方法,你能够在很短的时间内,利用更少的成本,为你的客户提供一种优质、容易操控的产品。同样理念还适用于个体应用与架构的设计与开发。 

  架构是万丈高楼的地基排列组合皆是学问,讲得是组件和组件的排列顺序都非常重要,在这方面,基于SOA的架构是很好的理念。 

  3、系统集成 

  技术为很多的目的服务,最重要的能力便是使程序的自动化。不是使用传统的供应商订单、库存管理以及产品市场推销手段,而是使用供应链程序,流程通过允许供应商和生产者来进行复杂地沟通控制,从而完成原材料进入生产流程到产品抵达消费者手中的整个过程。 

  Sarbanes-Oxley和其他监管法则都要求企业达到内部控制的标准,它们在系统设计领域相当常见。随着产品和平台继续地增生扩散,随着企业日渐将自己的系统和其他的系统相连,高质量的协同工作能力是必须的。 

  【集成化】整合出效益,对于流程管理来说,通过集成化,构建以客户为中心的流程,可以提高供应链的效率和效果。同时,集成化也是流程透明化的不二选择,通过集成,可以顺利实现IT管控、IT审计和监督。 

  4、了解企业 

  企业实体是复杂的组织,没有哪个企业是与别的企业完全相同的,就像雪花一样,没有两片雪花是完全相同。这种推动特定业务运转的灵活性不太容易被掌握。很多时候,尤其是在大型企业当中,多种文化是并存的——有一个文化是企业层面的,而别的存在于部门层面。当你认为是安全下水的时候,你对企业运行的细微直觉会因为合并或者管理性质的巨变失去灵光,一切都发生了改变。 

  当我们认为自己能够在企业文化的风浪当中驾轻就熟,而无需在乎浪潮或者风向之时,我们不可以自鸣得意。同样的,尽管企业灵活性的东西当中,很多是普通的,可以传授的知识,那种认为在一个企业环境当中取得成功的做法同样适用于另外一个企业的想法是愚蠢的。我们必须学习我们身处的每个新环境的特质。 

  企业经验是宝贵财富实践是检验真理的标准,企业实践和理论是有很大差距的,特别是在特定企业、特定发展阶段,成事的关键成功因素都会不一样。但是,企业经验是一种能力,掌握这种能力,就可以有效地用企业角度去思考和沟通。此外,经验也是有陷阱的,需要扬弃着用! 

  5、规划管理项目 

  Joe Torre被视为是一位非常优秀的经理。很难想像,如果他没有一套相当周全的比赛规划,这位纽约人能够在10次比赛中9次取得胜利,并且获得6个AL锦标赛以及4个世界性系列比赛的冠军。这种计划不是针对年度比赛的,而是每一场比赛。 

  无论你是一位经理或者是一位选手,一名超级明星或者是一位业余玩家,你都要为自己近期和远期的比赛制定规划。你如何为今天进行规划?为这周?为今年?你如何完成这些目标?你应该问自己很多“做什么”以及“如何做”的问题。如果你是一名开发人员或者是一名网络管理员,你现在就需要培养自己的规划能力。如果你无法管理自己,你当然就会在管理别人或者复杂项目之时捉襟见肘。 

  思路决定出路方向比效率更加重要,不扫一室,何以扫天下?规划是一种高度的展望能力,设定目标有些时候比完成过程更为重要。 

  6、注重沟通与倾听 

  任何东西都可以平庸,除了一种能力你不能不做到完美:沟通。这是两个最重要能力当中的一种,沟通对IT专业人士尤显重要。良好的沟通是双向性的事情,你来我往同等重要。IT行业是锻炼你雅量的完美地方,因为这一行业需要沟通的时刻太多了。 

  无论你怎样看待工作和生活,每个IT专业人士实际上都是一名顾问。作为顾问,你有责任去为你的客户提供最大的价值。这样做意味着你至少了解你客户的业务,客户业务运转的情况,这意味着你要去倾听。你的客户有资格知道他们付给你的钱获得了怎样的回报,这意味着你必须主动的、有规律的让他们知道你正在为他们的利益而奔忙。 

  这一点对传统的IT人员来讲很难。我们大部分进入这一行业的人认为自己接触代码和电线的机会大于与人的接触。我们以为最好的方法便是坐在我们的桌子面前,埋头苦干。 

  这些都是致命的错误,尽管沟通做起来很不容易,也或许会和我们的个性背道而驰,但你别无选择,只能培养这些能力。幸好人人都能够学习,经过一定时间的锻炼,沟通将会变得容易一些。 

  酒香也怕巷子深IT是通过业务发挥自己的价值,所以,通过他人成事能力对于IT来说尤为重要。作为ITER,沟通一定要主动,其次,要有换位思考和移情能力,再次是以业务语言翻译IT的能力。ITER也需要一定的谋略,会造势,进而完成咨询的角色,此外,推销能力是ITER沟通中的一项重点内容。 

  7、专注结果 

  另外一个绝对重要的能力便是执行的能力。计划再棒,也只是空谈而已。归根结底,你需要用东西来证明你的努力。 

  最好的方法是了解你客户的一些重要信息,比如他们是谁,他们想做什么?作为一名IT专业运营顾问,你有责任向你的客户提供建议,这种建议建立在你的知识与经验之上。 

  但别忘了,最终是你的老板或同事、团队领导、你工作的最终客户进行决策。有时候,这些决策并不是你推荐的。你需要认真思考其中的缘由,但不要让任何分析将你麻痹,也不要让自己陷入唐吉柯德式的盲动之中。80-20定律在这里起作用:80%的结果能够通过20%的努力来完成,超出这一范畴的多余价值经常不值得耗费成本。 

  老板思维结果导向是经典的老板思维,ITER需要有较强的“利益相关者”的分析和管理能力。 

  8、进行战略性的思考 

  这是一个竞争日渐激烈的世界,今天的IT专业人士必须每天去证明,他们能够增加战术与战略价值;他们要在自己组织的任何一次会议上,成为受欢迎的人。在过去十几年的时间里,企业已经开始意识到IT的战略重要性,企业认为IT不仅仅是会计账目上的死水一潭,而是能够给企业带来价值的部门。 

  大部分的IT部门是被动式的进行工作,他们等待自己的业务客户。高性能、高度成功的IT部门是积极的,在完成公司总体目标的过程当中,他们以咨询式的态度与自己的业务客户共事。 

  IT的价值IT的最大价值在于变革效益,而且,远远超出效率提升的层面,超出了对业务支撑的作用。 

  9、影响和说服 

  上个世纪50年代那种命令式、军队式的组织管理模式已经让位于更加平行的组织管理模式。直接管理和影响管理已经相辅相成。我们不再命令别人做事情。我们会用说服、协商、沟通等等方式去解决问题。这是你训练沟通能力的好机会。有了沟通能力,其他的能力问题才能迎刃而解,像战略性思维、业绩挂钩等等。能够影响他人的IT专业人士总是代表着高效、富有能力、受人尊敬的人士。不要错误地认为这只是经理们该具备的能力。影响和说服是推动协同性工作环境完成的重要技能。 

  影响力是需要强力构建的,需要通过一些“事件”来达成,ITER需要有自己的管理专家形象。 

  10、有适应能力 

  一名技术专业人士意味着具有某个特殊开发环境的专长或者有能力开发、支持一个网络,但是在现在,别以为你仍然能够靠这些东西过好日子,如果你和其他提供某一类IT服务的专家一样,你就是一个没有优势的普通职员。你应该成为一个真正的IT多面手,需要不断地进行技能扩展工作。这样才能在众多的技术人员当中显示出你的优秀。 

  有些能力,比如技术技能与知识,相对来说比较容易掌握。但类似业务知识一类的知识,则需要你花更多的时间掌握。个人和团队的管理、领导艺术以及和同事、用户共事的能力,这些能力需要你调整自己的个人态度以及个性才能获得。 

  如果你选择在IT行业就业,你也选择了让自己成为变化的适应者。我们的专业变化很快也很深刻,我们必须认真地对待这种变化。无论你喜欢与否,都要尽快适应业务变化。 

  竞争的压力、新手的进入、管理的变革、战略的调整、产品的开发,任何这些因素都会导致变化。现在,几乎没有一个行业没有被IT技术所影响,作为一个可以信赖的专业人士,我们必须让我们的企业适应这种变化。 

  《第五项修炼》中提到“未来属于哪些在思想上能够适应变化的人和企业”,ITER的适应能力需要匹配企业管理的变革节奏。 

来源: 计世网  作者: 佚名 

posted @ 2008-12-08 18:33 锋出磨砺 阅读(1936) | 评论 (0)编辑 收藏

1、说话要用脑子,敏事慎言,话多无益,嘴只是一件扬声器而已,平时一定要注意监督、控制好调频旋钮和音控开关,否则会给自己带来许多麻烦。讲话不要只顾一时 

痛快、信口开河,以为人家给你笑脸就是欣赏,没完没了的把掏心窝子的话都讲出来,结果让人家彻底摸清了家底,还偷着笑你。 

  2、遇事不要急于下结论,即便有了答案也要等等,也许有更好的解决方式,站在不同的角度就有不同答案,要学会换位思维,特别是在遇到麻烦的时候,千万要学会 
等一等、靠一靠,很多时候不但麻烦化解了,说不准好运也来了。 


  3、要学会大事化小、小事化了,把复杂的事情尽量简单处理,千万不要把简单的事复杂化。掌握办事效率是一门学问,要控制好节奏。 


  4、对小人一定要忍让,退一步海阔天空,实在不行把属于自己的空间也送给他们,让他们如莺歌燕舞般陶醉吧。俗话说大人大度量,不把俗事放在心里,小人鼠肚鸡肠,惹着小人就等与惹了麻烦,天底下顶数小人惹不起。直到现在我也没想出更好的办法战胜小人,不知道敬而远之是否可行。 


  5、这世道没有无缘无故的爱,也没有无缘无故的恨,不要参与评论任何人,做到心中有数就可以了。所谓盖棺论定的道理多简单,就是有人操之过急。谁也没有理论依据来介定好人与坏蛋,其实就是利益关系的问题。 


  6、只有花掉的那部分钱才是真正属于你的财富,你就是家缠万贯,生时舍不得吃、舍不得穿,俩眼一闭,剩下的钱你知道谁花了才怪,冤不冤。还有那些省吃俭用的贪官,好好的高官不做,结果因贪返贫,一分钱没花着还搭上个人财产全部没收,惨不惨。 


  7、做事情一定要事先设立道德底线,小偷也清楚有些东西是绝对不能偷的。所以说事情万万不可做绝,落井下石的事绝对不要干,给别人让出退路就等于自己前进了。 


  8、对于那些经常找你麻烦甚至欺负你的人,能忍则忍,没必要时刻与莽夫过不去,但一定要给他攒着,新仇旧怨积累起来,正义和真理就属于你了,那么瞅准机会一定要彻底教训他一次,在法律赋予的权限以内,往死里整,往死里揍,让小子永远记住:除了你爹,没人会惯你这些臭毛病。 


  9、有些人习惯了占你小便宜,小人小肚肠,大人大度量,有机会坑他一把大的,出一次大血,同样让他记住:天下根本就没什么免费的午餐,哪有白拣的便宜让你赚。 


  10、明枪易躲,暗箭难防,背后算计你的小人永远不会消失,这是中国特色,小人不可得罪,同样小人也不可饶恕,这是万世不变的真理,说到底小人也有心小的一面,对待这种人要稳准狠,你可以装做什么也没发生,天下太平,万事大吉,然后来个明修栈道,暗渡陈仓,以毒攻毒,让小子知道:小人也不是谁都可以做的,做好人要有水准,做小人同样有难度。 


  11、对待爱你的人一定要尊重,爱你是有原因的,不要问为什么,接受的同时要用加倍的关爱回报,但是千万不要欺骗人家的感情,哪怕你对人家没兴趣,哪怕人家长得丑一点,这是你用钱买不来的财富。记住:轻视人家付出的情感就等于蔑视自己,玩物丧志,玩人丧德,爱人是一种美德。 


  12、背后夸奖你的人,知道了,要珍藏在心里,这里面很少有水分。当面夸奖你那叫奉承,再难听些叫献媚,你可以一笑而过,就当什么也没发生,也许不久就有求于你。对于那种当众夸奖你的人,就疏忽不得了,也许你转过身去,就用指头戳你.掌握一条原则:逢人多贬自己,少夸别人,选先评优的时候除外。 


  13、小恩小惠攒多了就是一个大窟窿,只要接受就一定要找机会回报,行下春风望夏雨,付出就是为了收获,其实就是一个简单的种子与果实的关系。千万别让天真给害了,记住:人生如戏,都在寻找利益的平衡,只有平衡的游戏才有可能玩下去。 


  14、患有心理疾病的人是不负法律责任的,可以没有理由的咬你一口,所以对待疯狗级的人物要敬而远之,保持不来往,不交流,退一步,海阔天空,相信疯狂也是一种人格,虽不值得尊重,但自有其存在的道理,生物链少不了这一环。 


  15、做一个人生的观光客吧,说到底只要与人为善,以德服人,离是非远点,靠家人近点,便有了心安,有了惬意。 


  16、乐观的心态来自宽容,来自大度,来自善解人意,来自与世无争。 


  17、坏心情是失眠时折磨出来的,其实现实并没有你想的那样糟糕,生命有高峰也有低谷,根本没有一帆风顺的人生。 


  18、所谓的缘分无非只有善恶两种,珍惜善的,也不要绝对排斥恶的,相信擦肩而过也是缘吧,全世界近60亿人口,碰上谁也不容易,所以遇到恶缘,也要试着宽容,给对方一次机会,不可以上来就全盘否定。 


  19、不要让事业上的不顺影响家人,更不要让家庭的纠纷影响事业。那样做很不划算,家人和事业都受影响,甚至损失.男人要善于扛事,要把眼泪咽下去。 


  20、待人接物要摆正自己的位置,不可以老把自己当人物,老拿自己当领导,老把自己当富翁,老以为自己是情圣,老是自我感觉良好,即便真是小有作为,业绩斐然,也要谨慎,要虚怀若谷,要大智若愚,其实人的最终结局都是一样的,只是你把自己看复杂了。说句俗话:千万别把自己当回事。 


  21、骗你一次的人绝不会放弃第二次骗你的机会,对骗子不要抱任何幻想。 


  22、靠贬低别人提高自己的身份,其结果就是暴露自己的无知与贫乏。

posted @ 2008-10-10 12:30 锋出磨砺 阅读(1603) | 评论 (0)编辑 收藏

(一)成长的寓言:做一棵永远成长的苹果树 

一棵苹果树,终于结果了。 
第一年,它结了10个苹果,9个被拿走,自己得到1个。对此,苹果树愤愤不平,于是自断经脉,拒绝成长。第二年,它结了5个苹果,4个被拿走,自己得到1个。“哈哈,去年我得到了10%,今年得到20%!翻了一番。”这棵苹果树心理平衡了。 
但是,它还可以这样:继续成长。譬如,第二年,它结了100个果子,被拿走90个,自己得到10个。 
很可能,它被拿走99个,自己得到1个。但没关系,它还可以继续成长,第三年结1000个果子…… 
其实,得到多少果子不是最重要的。最重要的是,苹果树在成长!等苹果树长成参天大树的时候,那些曾阻碍它成长的力量都会微弱到可以忽略。真的,不要太在乎果子,成长是最重要的。 

【心理点评】你是不是一个已自断经脉的打工族? 
刚开始工作的时候,你才华横溢,意气风发,相信“天生我才必有用”。但现实很快敲了你几个闷棍,或许,你为单位做了大贡献没人重视;或许,只得到口头重视但却得不到实惠;或许……总之,你觉得就像那棵苹果树,结出的果子自己只享受到了很小一部分,与你的期望相差甚远。 
于是,你愤怒、你懊恼、你牢骚满腹……最终,你决定不再那么努力,让自己的所做去匹配自己的所得。几年过去后,你一反省,发现现在的你,已经没有刚工作时的激情和才华了。 
“老了,成熟了。”我们习惯这样自嘲。但实质是,你已停止成长了。 
这样的故事,在我们身边比比皆是。 
之所以犯这种错误,是因为我们忘记生命是一个历程,是一个整体,我们觉得自己已经成长过了,现在是到该结果子的时候了。我们太过于在乎一时的得失,而忘记了成长才是最重要的。 
好在,这不是金庸小说里的自断经脉。我们随时可以放弃这样做,继续走向成长之路。 
切记:如果你是一个打工族,遇到了不懂管理、野蛮管理或错误管理的上司或企业文化,那么,提醒自己一下,千万不要因为激愤和满腹牢骚而自断经脉。不论遇到什么事情,都要做一棵永远成长的苹果树,因为你的成长永远比每个月拿多少钱重要。 

(二)动机的寓言:孩子在为谁而玩 

一群孩子在一位老人家门前嬉闹,叫声连天。几天过去,老人难以忍受。 
于是,他出来给了每个孩子25美分,对他们说:“你们让这儿变得很热闹,我觉得自己年轻了不少,这点钱表示谢意。” 
孩子们很高兴,第二天仍然来了,一如既往地嬉闹。老人再出来,给了每个孩子15美分。他解释说,自己没有收入,只能少给一些。15美分也还可以吧,孩子仍然兴高采烈地走了。 
第三天,老人只给了每个孩子5美分。 
孩子们勃然大怒,“一天才5美分,知不知道我们多辛苦!”他们向老人发誓,他们再也不会为他玩了! 

【心理点评】你在为谁而“玩” 
这个寓言是苹果树寓言的更深一层的答案:苹果树为什么会自断经脉,因为它不是为自己而“玩”。 
人的动机分两种:内部动机和外部动机。如果按照内部动机去行动,我们就是自己的主人。如果驱使我们的是外部动机,我们就会被外部因素所左右,成为它的奴隶。 
在这个寓言中,老人的算计很简单,他将孩子们的内部动机“为自己快乐而玩”变成了外部动机“为得到美分而玩”,而他操纵着美分这个外部因素,所以也操纵了孩子们的行为。寓言中的老人,像不像是你的老板、上司?而美分,像不像是你的工资、奖金等各种各样的外部奖励? 
如将外部评价当作参考坐标,我们的情绪就很容易出现波动。因为,外部因素我们控制不了,它很容易偏离我们的内部期望,让我们不满,让我们牢骚满腹。不满和牢骚等负性情绪让我们痛苦,为了减少痛苦,我们就只好降低内部期望,最常见的方法就是减少工作的努力程度。 
一个人之所以会形成外部评价体系,最主要的原因是父母喜欢控制他。父母太喜欢使用口头奖惩、物质奖惩等控制孩子,而不去理会孩子自己的动机。久而久之,孩子就忘记了自己的原初动机,做什么都很在乎外部的评价。上学时,他忘记了学习的原初动机———好奇心和学习的快乐;工作后,他又忘记了工作的原初动机———成长的快乐,上司的评价和收入的起伏成了他工作的最大快乐和痛苦的源头。 
切记:外部评价系统经常是一种家族遗传,但你完全可以打破它,从现在开始培育自己的内部评价体系,让学习和工作变成“为自己而玩”。 

(三)规划的寓言:把一张纸折叠51次 

想象一下,你手里有一张足够大的白纸。现在,你的任务是,把它折叠51次。那么,它有多高? 
一个冰箱?一层楼?或者一栋摩天大厦那么高?不是,差太多了,这个厚度超过了地球和太阳之间的距离。 

【心理点评】 
到现在,我拿这个寓言问过十几个人了,只有两个人说,这可能是一个想象不到的高度,而其他人想到的最高的高度也就是一栋摩天大厦那么高。
折叠51次的高度如此恐怖,但如果仅仅是将51张白纸叠在一起呢? 
这个对比让不少人感到震撼。因为没有方向、缺乏规划的人生,就像是将51张白纸简单叠在一起。今天做做这个,明天做做那个,每次努力之间并没有一个联系。这样一来,哪怕每个工作都做得非常出色,它们对你的整个人生来说也不过是简单的叠加而已。 
当然,人生比这个寓言更复杂一些。有些人,一生认定一个简单的方向而坚定地做下去,他们的人生最后达到了别人不可企及的高度。譬如,我一个朋友的人生方向是英语,他花了十数年努力,仅单词的记忆量就达到了十几万之多,在这一点上达到了一般人无法企及的高度。 
也有些人,他们的人生方向也很明确,譬如开公司做老板,这样,他们就需要很多技能———专业技能、管理技能、沟通技能、决策技能等等。他们可能会在一开始尝试做做这个,又尝试做做那个,没有一样是特别精通的,但最后,开公司做老板的这个方向将以前的这些看似零散的努力统合到一起,这也是一种复杂的人生折叠,而不是简单的叠加。 
切记:看得见的力量比看不见的力量更有用。 
现在,流行从看不见的地方寻找答案,譬如潜能开发,譬如成功学,以为我们的人生要靠一些奇迹才能得救。但是,在我看来,东莞恒缘心理咨询中心的咨询师毛正强说得更正确,“通过规划利用好现有的能力远比挖掘所谓的潜能更重要。” 

(四)逃避的寓言:小猫逃开影子的招数 

“影子真讨厌!”小猫汤姆和托比都这样想,“我们一定要摆脱它。” 
然而,无论走到哪里,汤姆和托比发现,只要一出现阳光,它们就会看到令它们抓狂的自己的影子。 
不过,汤姆和托比最后终于都找到了各自的解决办法。汤姆的方法是,永远闭着眼睛。托比的办法则是,永远待在其他东西的阴影里。 

【心理点评】 
这个寓言说明,一个小的心理问题是如何变成更大的心理问题的。 
可以说,一切心理问题都源自对事实的扭曲。什么事实呢?主要就是那些令我们痛苦的负性事件。 
因为痛苦的体验,我们不愿意去面对这个负性事件。但是,一旦发生过,这样的负性事件就注定要伴随我们一生,我们能做的,最多不过是将它们压抑到潜意识中去,这就是所谓的忘记。 
但是,它们在潜意识中仍然会一如既往地发挥作用。并且,哪怕我们对事实遗忘得再厉害,这些事实所伴随的痛苦仍然会袭击我们,让我们莫名其妙地伤心难过,而且无法抑制。这种疼痛让我们进一步努力去逃避。 
发展到最后,通常的解决办法就是这两个:要么,我们像小猫汤姆一样,彻底扭曲自己的体验,对生命中所有重要的负性事实都视而不见;要么,我们像小猫托比一样,干脆投靠痛苦,把自己的所有事情都搞得非常糟糕,既然一切都那么糟糕,那个让自己最伤心的原初事件就不是那么疼了。
白云心理医院的咨询师李凌说,99%的吸毒者有过痛苦的遭遇。他们之所以吸毒,是为了让自己逃避这些痛苦。这就像是躲进阴影里,痛苦的事实是一个魔鬼,为了躲避这个魔鬼,干脆把自己卖给更大的魔鬼。 
还有很多酗酒的成人,他们有过一个酗酒而暴虐的老爸,挨过老爸的不少折磨。为了忘记这个痛苦,他们学会了同样的方法。 
除了这些看得见的错误方法外,我们人类还发明了无数种形形色色的方法去逃避痛苦,弗洛伊德将这些方式称为心理防御机制。太痛苦的时候,这些防御机制是必要的,但糟糕的是,如果心理防御机制对事实扭曲得太厉害,它会带出更多的心理问题,譬如强迫症、社交焦虑症、多重人格,甚至精神分裂症等。 
真正抵达健康的方法只有一个———直面痛苦。直面痛苦的人会从痛苦中得到许多意想不到的收获,它们最终会变成当事人的生命财富。 
切记:阴影和光明一样,都是人生的财富。 
一个最重要的心理规律是,无论多么痛苦的事情,你都是逃不掉的。你只能去勇敢地面对它,化解它,超越它,最后和它达成和解。如果你自己暂时缺乏力量,你可以寻找帮助,寻找亲友的帮助,或寻找专业的帮助,让你信任的人陪着你一起去面对这些痛苦的事情。 
美国心理学家罗杰斯曾是最孤独的人,但当他面对这个事实并化解后,他成了真正的人际关系大师;美国心理学家弗兰克有一个暴虐而酗酒的继父和一个糟糕的母亲,但当他挑战这个事实并最终从心中原谅了父母后,他成了治疗这方面问题的专家;日本心理学家森田正马曾是严重的神经症患者,但他通过挑战这个事实并最终发明出了森田疗法……他们生命中最痛苦的事实最后都变成了他们最重要的财富。你,一样也可以做到。 

(五)行动的寓言———螃蟹、猫头鹰和蝙蝠 

螃蟹、猫头鹰和蝙蝠去上恶习补习班。数年过后,它们都顺利毕业并获得博士学位。不过,螃蟹仍横行,猫头鹰仍白天睡觉晚上活动,蝙蝠仍倒悬。 

【心理点评】 
这是黄永玉大师的一个寓言故事,它的寓意很简单:行动比知识重要。 
用到心理健康中,这个寓言也发人深省。 
心理学的知识堪称博大精深。但是,再多再好的心理学知识也不能自动帮助一个人变得更健康。其实,我知道的一些学过多年心理学的人士,他们学心理学的目的之一就是要治自己,但学了这么多年以后,他们的问题依旧。 
之所以出现这种情况,一个很重要的原因是,他们没有身体力行,那样知识就只是遥远的知识,知识并没有化成他们自己的生命体验。 
我的一个喜欢心理学的朋友,曾被多名心理学人士认为不敏感,不适合学心理学。但事实证明,这种揣测并不正确。他是不够敏感,但他有一个非常大的优点:知道一个好知识,就立即在自己的生命中去执行。这样一来,那些遥远的知识就变成了真切的生命体验,他不必“懂”太多,就可以帮助自己,并帮助很多人。 
如果说,高敏感度是一种天才素质,那么高行动力是更重要的天才素质。 
这个寓言还可以引申出另一种含义:不要太指望神秘的心理治疗的魔力。最重要的力量永远在你自己的身上,奥秘的知识、玄妙的潜能开发、炫目的成功学等等,都远不如你自己身上已有的力量重要。我们习惯去外面寻找答案,去别人那里寻找力量,结果忘记了力量就在自己身上。 
切记:别人的知识不能自动地拯救你。 
如果一些连珠的妙语打动了你,如果一些文字或新信条启发了你。那么,这些别人的文字和经验都只是一个开始,更重要的是,你把你以为好的知识真正运用到你自己的生命中去。 
犹太哲学家马丁·布伯的这句话,我一直认为是最重要的: 
你必须自己开始。假如你自己不以积极的爱去深入生存,假如你不以自己的方式去为自己揭示生存的意义,那么对你来说,生存就将依然是没有意义的。 

(六)放弃的寓言:蜜蜂与鲜花 

玫瑰花枯萎了,蜜蜂仍拼命吮吸,因为它以前从这朵花上吮吸过甜蜜。但是,现在在这朵花上,蜜蜂吮吸的是毒汁。 
蜜蜂知道这一点,因为毒汁苦涩,与以前的味道是天壤之别。于是,蜜蜂愤不过,它吸一口就抬起头来向整个世界抱怨,为什么味道变了?! 
终于有一天,不知道是什么原因,蜜蜂振动翅膀,飞高了一点。这时,它发现,枯萎的玫瑰花周围,处处是鲜花。 

【心理点评】 
这是关于爱情的寓言,是一位年轻的语文老师的真实感悟。 
有一段时间,她失恋了,很痛苦,一直想约我聊聊,希望我的心理学知识能给她一些帮助。我们一直约时间,但快两个月过去了,两人的时间总不能碰巧凑在一起。 
最后一次约她,她说:“谢谢!不用了,我想明白了。” 
原来,她刚从九寨沟回来。失恋的痛苦仍在纠缠她,让她神情恍惚,不能享受九寨沟的美丽。不经意的时候,她留意到一只小蜜蜂正在一朵鲜花上采蜜。那一刹那间,她脑子里电闪雷鸣般地出现了一句话:“枯萎的鲜花上,蜜蜂只能吮吸到毒汁。” 
当然,大自然中的小蜜蜂不会这么做,只有人类才这么傻,她这句话里的蜜蜂当然指她自己。这一刹那,她顿悟出了放弃的道理。以前,她想让我帮她走出来,但翅膀其实就长在她自己身上,她想飞就能飞。 
放弃并不容易,爱情中的放弃尤其令人痛苦。因为,爱情是对我们幼小时候的亲子关系的复制。幼小的孩子,无论从哪个方面看,都离不开爸爸妈妈。如果爸爸妈妈完全否定他,那对他来说就意味着死亡,这是终极的伤害和恐惧。我们多多少少都曾体验过被爸爸妈妈否定的痛苦和恐惧,所以,当爱情———这个亲子关系的复制品再一次让我们体验这种痛苦和恐惧时,我们的情绪很容易变得非常糟糕。 
不过,爱情和亲子关系相比,有一个巨大的差别:小时候,我们无能为力,一切都是父母说了算;但现在,我们长大了,我们有力量自己去选择自己的命运。可以说,童年时,我们是没有翅膀的小蜜蜂,但现在,我们有了一双强有力的翅膀了。 
但是,当深深地陷入爱情时,我们会回归童年,我们会忘记自己有一双可以飞翔的翅膀。等我们自己悟出这一点后,爱情就不再会是对亲子关系的自动复制,我们的爱情就获得了自由,就有了放弃的力量。 
切记:爱情是两个人的事情,两个完全平等的、有独立人格的人的事情。你可以努力,但不是说,你努力了就一定会有效果,因为另一个人,你并不能左右。 
所以,无论你多么在乎一次爱情,如果另一个人坚决要离开你,请尊重他的选择。 
并且,还要记得,你不再是童年,只能听凭痛苦的折磨。你已成人,你有一双强有力的翅膀,你完全可以飞出一个已经变成毒药的关系。 

(七)亲密的寓言:独一无二的玫瑰 

小王子有一个小小的星球,星球上忽然绽放了一朵娇艳的玫瑰花。以前,这个星球上只有一些无名的小花,小王子从来没有见过这么美丽的花,他爱上这朵玫瑰,细心地呵护她。 
那一段日子,他以为,这是一朵人世间唯一的花,只有他的星球上才有,其他的地方都不存在。 
然而,等他来到地球上,发现仅仅一个花园里就有5000朵完全一样的这种花朵。这时,他才知道,他有的只是一朵普通的花。 
一开始,这个发现,让小王子非常伤心。但最后,小王子明白,尽管世界上有无数朵玫瑰花,但他的星球上那朵,仍然是独一无二的,因为那朵玫瑰花,他浇灌过,给她罩过花罩,用屏风保护过,除过她身上的毛虫,还倾听过她的怨艾和自诩,聆听过她的沉默……一句话,他驯服了她,她也驯服了他,她是他独一无二的玫瑰。 
“正因为你为你的玫瑰花费了时间,这才使你的玫瑰变得如此重要。”一只被小王子驯服的狐狸对他说。 

【心理点评】 
这是法国名著《小王子》中一个有名的寓言故事,我曾读过十数遍,但仍然是直到2005年才明白这一点。 
面对着5000朵玫瑰花,小王子说:“你们很美,但你们是空虚的,没有人能为你们去死。” 
只有倾注了爱,亲密关系才有意义。但是,现在我们越来越流行空虚的“亲密关系”,最典型的就是因网络而泛滥的一夜情。 
我们急着去拥有。仿佛是,每多拥有过一朵玫瑰,自己的生命价值就多了一分。网络时代,拥有过数十名情人,已不再是太罕见的事情。但我所了解的这些滥情者,没有一个是不空虚的。他们并不享受关系,他们只享受征服。 
“征服欲望越强的人,对于关系的亲密度越没有兴趣。”广州白云心理医院的咨询师荣玮龄说,“没有拥有前,他们会想尽一切办法拉近关系的距离。但一旦拥有后,他们会迅速丧失对这个亲密关系的兴趣。征服欲望越强,丧失的速度越快。” 
对于这样的人,一个玫瑰园比起一朵独一无二的玫瑰花来,更有吸引力。 
然而,关系的美,正在乎两人的投入程度和被驯服程度。当两个人都自然而然地去投入,自然而然地被驯服后,关系就会变成人生养料,让一个人的生命变得更充盈、更美好。 
但是,无论多么亲密。小王子仍是小王子,玫瑰仍是玫瑰,他们仍然是两个个体。如果玫瑰不让小王子旅行,或者小王子旅行时非将玫瑰花带在身上,两者一定要黏在一起,关系就不再是享受,而会变成一个累赘。 
切记:一个既亲密而又相互独立的关系,胜于一千个一般的关系。这样的关系,会把我们从不可救药的孤独感中拯救出来,是我们生命中最重要的一种救赎。 
如果不曾体验过,你就无法知道这种关系的美。

posted @ 2008-10-10 12:28 锋出磨砺 阅读(1610) | 评论 (0)编辑 收藏

作者 Urs Peter译者 郑柯 发布于 2008年9月4日 下午8时54分

社区
 
Agile
 
主题
 
领导能力,
 
团队协作
 
标签
 
管理,
 
教练和指导

上周我参加了一门有关教练的研讨会,其中有荷兰女子曲棍球队主教练Marc Lammers的主题演讲。在世界杯的历史上,这个团队是最成功的,曾获六次冠军。在听演讲的过程中,我意识到为什么这个团队可以取得如此卓绝的成就。她们的成功,在很大程度上,要归功于教练 Marc的执教方式。Marc Lammers发现了可以令团队释放全部能量的秘诀,大家不仅像一个整体一样齐心协力,每个人作为团队的一份子也各尽所能;而这一切都以意想不到的方式发生。我的的确确得到很多启示。本文总结了他发现的原则,并描述了这些原则如何应用到软件开发之中。

相关厂商内容

敏捷技巧:用户故事估算技巧

视频:C++项目的敏捷实践

SOY Framework:Java富客户端快速开发框架

世界顶尖运动队教练的成功秘诀

免费迷你书下载:硝烟中的Scrum和XP

相关赞助商

InfoQ中文站敏捷社区,关注敏捷软件开发和项目管理,通过新闻、深度文章、视频访谈和演讲以及迷你书等为中国技术社区提供一流资讯。

我本人作为一个Scrum Master,发现他揭示的原则可以在我自己的Scrum团队中使用。原因在于,这些原则从本质上适用于任何团队,无论这些团队是装配汽车、打曲棍球或是开发软件。本文中,我希望分享一些Marc Lammers在研讨会中提供的执教秘诀和经验,并说明如何在每日的Scrum和项目实践中使用这些知识。也许,即使有了它们你也无法获得世界杯,可如果不注意使用,团队的所作所为也许会令你和客户大跌眼镜。

原则1:
利用有效沟通的威力

Marc Lammers提到:

在执教生涯的早期,我花了很多时间和精力,来让大家明白我的所作所为。所以,我会在冗长的演讲中,向团队阐述我那聪明透顶的执教理念。为了确保大家都能收到传递的信息,我会问:‘大家都明白了吗?’人人点头,我也心满意足。然而,大家比赛时的表现证明:她们根本没有理解。

她们好像根本没听我说。所以,我开始施以更激烈的方式——大声训斥。很不幸,这根本不起作用。我跟我自己的教练说,跟这帮无能的聋子们一起,不会取得任何成就。他却说这全是我的错。他把沟通研究的结果给我看,研究发现:一个人所能记住的东西:
  • 对于听到的能记住10%
  • 对于看到的能记住35%
  • 对于同时听到和看到的能记住55%
  • 对于自己重新表述的能记住70%
  • 对于自己重新表述并且动手做的能记住90%
这使我恍然大悟。我开始使用开放式的问题,让她们可以重新复述我的策略,并创造彼此之间可以对话和互动的空间。这样一来,她们不只可以更深入地理解我的想法,我也开始了解她们的考虑,并从中受益良多。从那时起,我在赛前的叮咛嘱咐终于可以在比赛中得到充分的贯彻。

至于Scrum,我可以在各种交换领域或信息的场合中使用这个原则。设计讨论、向开发人员或业务人员沟通需求、向业务人员或新的团队成员解释开发流程,或者你想到的其他场合,都是适用的。这些时候,使用开放式问题、对话风格的沟通、重新描述等沟通方式,可以极其显著地提升彼此的共识;因为这些方式强迫所有的参与者去发现他们真正理解或思考的东西。由此而构建起来的互信和互敬的关系,在我看来,是最重要的生产力提升因素。

其实我早已在每天的Scrum实践中发现了这些法则。不过,能够知道高效沟通带来的诸多好处,这已弥足珍贵。

原则2:
只有做事方式不同,才能产生不同结果。

上述的沟通故事中还包含了另一个重要原则。Marc Lammers知道自己一开始的沟通方式失效之后,他先采用了更严厉的方式,却没有反思自己的所作所为。我想这是人的本性使然。如果得不到期望的结果,我们就会以为是因为力度不够。因此,我们会工作更长时间,以更严厉的方式谈话,投入更多精力,在周末也努力工作,等等等等。大多数情况下,正像Marc的经验所证实的,我们都无法取得进展。当他换了一种完全不同的方式来看待问题之后,才取得了原本想要得到的结果。

这个原则有许多适用场合。想想Scrum是如何推进估算的。以前用功能点估算,与特定团队的交付能力无关;而Scrum会根据有经验的团队的开发速度和故事的发展程度进行点数估算,实践证明,这样做的准确性出人意表。所以,Scrum不会去修正功能点数使其日臻完美,而是采取了完全不同的方式,在简单性和准确性上收效显著。

该原则常被误用。有一个典型的例子,当截止日期来临之际,人们经常被要求去加班工作,即使以当前这些人力已经明显无法在最后期限之前完成。顺便说一句,这样做也许是必要的,可实际上,这样做已经证实只是对症状的治疗,长期来看,毫无意义。不仅会对团队的精神和团队成员的健康造成严重伤害,同时会影响软件的质量。bug率会提升,而且还会耗费更多人力在修复引入的bug上。通过加班解决问题,只能让事情变得更糟糕。

为了解决这个问题,Scrum提供了一种更好的方式——使用紧急处理流程。其本质上是利用前述原则的一种具体应用方式。如果最后期限无法达成,而且事态很明显,Scrum的紧急处理流程会建议考虑下列行动:首先,举行一次回顾会议,为了激发生产力,看看可以移除哪个主要障碍。其次,如果通过实施步骤一,没有带来明显的生产力提升,考虑哪些具体的任务可以外包给专家完成。这个专家不会成为团队一员,他所解决的问题应该是相对孤立的,而且团队不具备解决这些问题的专业技能。第三,如果没有这样的任务,试试重新划定范围吧。最后,如果客户不同意重新划定范围,当前的sprint就必须中止了。

总的来说,有勇气去从根本上考虑改变当前的做事方式,是在组织长期运转中唯一的结构化解决方案。真要这样做,即使前路上充满艰难险阻,达到预期目标的机会也会大大提高,因为团队不再会被送到死亡征途之上。

原则3:
创新是得到更好结果的绝佳方式,却不是目的;
而且,要小心副作用。

Marc Lammers说:

我总是在找创新的方法。在奥运会的比赛中,我很想指导她们如何发小角球,却发现在场外很难看到比赛的关键环节。我们以前是通过赛后分析录像片段的方式,可这对我来说太迟了。我希望可以实时进行。

我在视频课程上得到启发,用一个电视摄像机接上长长的线,再连到笔记本上,可尝试了几次都不成功。在笔记本的屏幕上能够看到几个小窗口,从中可以看到摄像机实时捕捉的镜头。后来我试着联系了一些工程师,几个月之后就可以测试第一个原型系统了。从那时起,我就可以向队员们给出更细致的指导了。

想创新,我有三个要点想告诉你们:
  1. 创新必须是为目的服务的。有很多次,我都想为了创新而创新,这不会带来任何改善。创新必须要能解决一个实际问题。
  2. 每次创新都伴随着成长的烦恼。别指望它初战就能告捷。要不断进行调试和优化,直到它能带给你想要的竞争优势。
  3. 创新会导致抵触。总有人对新事物有畏惧情绪。这个事实有两个含义:首先,当你遇到抵触时,你也许已经找到了真正的创新方法,所以为自己感到骄傲吧。其次,找到应对抵触的方法。不要指望别人喜欢你的新奇想法,要给他们接受和习惯你的想法的时间。

我坚信:如果我们在开发软件时认真考虑这些简单的智慧,很多项目都可以成功。它教导我:

  • 关注目标:以我的经验来看在工具的使用上,有一种很明显的状况:很多用法都没有考虑是出于什么意图。我见过很多项目都是以工具为中心,而不是以结果为导向。人们总在考虑如何有效地使用工具,而不是如何交付更好的软件。这就是为什么“开始时不适用任何复杂的工具”在实践中如此成功的原因。使用白板和即时贴,经常要比使用一系列复杂的工具要来得更为有效,因为这会强制团队进行互动,而且把精力都放在面前的问题之上。
  • 关注阵痛:项目环境的改变很容易带来阵痛。新成员的加入、新技术的使用、新流程的启动等等都是如此,而一开始人们总是会过于乐观。知道“阵痛”是变革的必然后果,这可以让我们对未来有更为实际的期待,而不是过于乐观。
  • 关注抵触:举例来说,向组织中引入诸如Scrum这样的敏捷开发实践,通常都会引起抵触情绪。Marc的故事让我认识到此类反应的存在,并帮我找到应对的方式,而不是匆忙下结论再与之斗争。介绍新鲜事物时,给予有抵触的人以耐心和关注,这比无情的“说服”和强力推动要来得更为有效。

原则4:
不断挑战工作方式

Marc Lammers说:

我们的训练包含很多30米冲刺。团队总是要反复做这个练习,因为多年来30米冲刺练习已经是众人皆知。后来,我想分析下在比赛中的奔跑模式。要想做到这一点,在一些培训课程中,我们为每个球员配备了GPS。再分析其中的数据,平均来看,一名球员15米冲刺的次数要超过30米冲刺的次数。有鉴于此,我们可以让培训计划更符合实际需要。又一个小的改进诞生了。

这个故事教给我两件事:

  1. 不断问自己为什么要做正在做的事。要完成某项活动,是因为以前“总是”这么做么?还是因为这项活动真的可以为整体增加价值?它具体能带来什么价值呢?它跟必须要做的工作有什么关系呢?
  2. 如果不能对上面的问题给出一个满意的答案,开始收集数据、衡量效果吧。只有衡量了才能知道是怎么回事。衡量可以让我们评估对策和调整的效果,看看是否有所收效。衡量可以很简单,比如“停止某项活动,看看会发生什么”。

以我的经验,每天都有很多时间被浪费掉了,因为我们把眼前的工作方式视为理所当然,而且不去质疑它的好坏。反复重复某项任务,可以让它看起来很合理,即使没有添加任何价值。从提升效率的角度考虑,通过衡量变化来质疑现有的工作方式,这是很有效的。

原则5:
关注人的长处而不是弱点

Marc Lammers说:

我们曾有个球员,她总是很难得分,因为她的反手球技很差。我想尽办法训练她的反手,但是毫无进展。尽管我们投入很多心血,但她就是无法进步。由于大家都关注她的反手,所以其他球员总传到她的反手,这也就难怪她总是处理不好了。

当我濒临绝望之时,我问她想怎么打球?她答道:‘实际上,我喜欢用正手’。知道了她的喜好之后,我们开始训练她的正手。可我几乎不敢相信我的眼睛:几乎所有的来球,她都可以处理得完美无缺,又快又好。经过一些有针对性的训练之后,她的正手得分率达到了以前的三倍。

我一开始的方式,显示出整齐划一的训练方式是多么愚蠢。以10分的范围计,我想然让她的反手技术从4分提升到6分,可是她的正手天生就能达到8分,由于没有训练,也蜕变成6分了。经过正手训练后,她的正手从8分上升到了9分,这让她卓尔不群。以前试图关注她的弱点而不是长处,这是多么大的浪费啊。

如果一个团队成员不能按照他/她应有的方式表现(比如不守纪律、没有经验、思维混乱、毫不友好等等),通常关注点都放在了这个人的负面表现上。这个故事告诉我:通过有意识地发现一个人的技能而不是短处,不管是对于这个个人还是团队,都能得到更好的结果。如何找到方式容忍这个人的缺点,并发挥他的长处,这才是关键。

原则6:
为团队指出明确的努力方向

Marc Lammers说:

我过去认为:在比赛之前要激励团队,可以用类似这样的话:‘我们必须要赢,否则就要被淘汰了。’而效果却适得其反,这不能让她们表现得更好。一开始我总是不知道原因何在,现在我知道了。问题在于,一个队员无法仅靠一人之力影响比赛的结果。即使她已经拼尽全力,还是有很多她无法控制的因素在决定着比赛胜负。这种无力感让队员们感到紧张和焦虑,并因此无法将能力发挥到极致。 

我认识到:胜负只是我们比赛方式的结果。好消息是:每个人都可以通过自己的方式来影响比赛。所以我们不在比赛前讨论胜负,而是小心重复我们的策略,还有每位球员必须要注意的自己的事情。这就更加具体,而且也易于控制。通过这种方式,队员们比以前更放松了,而且可以发挥最高水平。有比赛结果为证。

作为ScrumMaster,从上面的事实中我发现:提前一年告诉团队“我们必须交付某些特定功能”,这毫无意义。大家对此无能为力,并因此而士气低落。即使是在一个sprint中,提醒团队交付他们事先答应要完成的功能,这也没有任何价值,只能给团队增加压力。如果大家缺少压力的话,这样做可能会有效果,但是绝大多数情况下下,压力不是问题的根源。

Marc的收获告诉我们,要把注意力放在能使团队或成员生产效率有所提升的小改进上。是不是有什么障碍让团队无法取得进展?对于团队不熟悉的技术,我们是不是可以雇佣一个相关领域的专家?要是有人陷入困境却不愿意让人帮忙,是不是可以采取结对编程呢?时间有没有被消耗在毫无价值的文档之上?类似的具体问题是可以控制的,解决它们会自然而然提升生产率,同时增加了项目按时交付的机会。

原则7:
眼光向内,只见局限;眼光向外,可能无限。

Marc Lammers说:

在曲棍球里面,有38种发小角球的方法。进行比赛时,我会发出指令告诉队伍应该如何发小角球。为此,我制订了一套复杂的身体语言,所有的队员都要认真学习。可是对手把这些记录了下来,而且做了分析,最后发现了我们的秘密。后来,他们就知道了我的战术意图,我们的优势也将会因此而消失。

一个偶然的机会,我受邀加入了参加环法的荷兰自行车队。我意外发现,他们一直用无线电与车手保持联系。我想:“天哪,要是我们能这样做,那优势不就又回来了?”回来之后,我偷偷地研究了规则,发现没有提到任何关于无线电的内容。因此,我就假定这一定是允许的。后来我跟一家制作无线电的公司取得联系,要他们制作耳塞大小的设备,因为自行车手用的太大了。经过一些调整后,第一个原型可以运作了。

最有意思的是:我们一直把这个创新当成头等机密,而且继续用身体语言来迷惑对手。在一年半的时间里,都没有人发现我们的秘密,而且将对手玩弄于股掌之间。

在敏捷和Scrum中,有部分实践属于另外一种工作方式,即丰田的精益原则,我们将其运用到软件行业。显然,有人已经有过类似的主意了……

从Scrum的角度看上面的故事,我发现如果Scrum从其他相关方法论中借鉴一些实践,它就可以变得更加强大、适用范围更加广泛。可以举几个例子,统一过程的以架构为中心(architectural-centric)、以风险和用例驱动的方式,XP的可持续开发速度思想、测试驱动开发,以及适合我们自己情况的结对编程等等,这些我都用过,而且从中获得很多宝贵经验。借鉴其他方法论,可以创建出适合个人需要的流程。

教给我,要用不同的眼光去看待其他与软件开发无关的领域,并取其菁华。世界上有很多有价值的东西,如何发现并将这些东西集成到我们的日常工作中,这是一门艺术。

原则8:
目标越重要,积极性越高

Marc Lammers说:

从金钱的角度来看,谁想成为一名曲棍球运动员,这个人一定是疯了。她们只能收到一点可怜的奖金,这点钱连生存都难以维系。尽管收入匮乏,申请者依然甚众。获胜并成为胜利团队的一份子,这会被全世界媒体报道,这样的感觉要比金钱或其他什么来得更强烈。

从理论角度分析,开发人员写一个类,不管出于什么意图,都无关紧要。实际上,这是有区别的。写这个类,是为了一个技术类库,还是为了内部的工具项目,甚或是为了新的NASA站点而写、以供实时跟踪去火星的探险活动,其产生的结果会完全不同。

Marc的体会提醒我:激励团队的最好方式,就是让他们觉得自己目前的工作非常重要,而且可以改变世界。有些项目本身就可以产生这样的感觉。交付之后,媒体会来报道这些项目,作为广告大战的一部分,或是对社会产生影响。这些案例不需要费太多力气去激发团队的士气。

不过,大多数项目都不会有很多人了解,即使它们可能非常难以实现。只要提升项目对外的能见度和重要性,不需要花太多激励措施,大家的积极性就可以激发出来了。举例来说:

  • 庆祝一次成功发布。邀请“重要”人士到场,请他们发言表示感谢,并说明项目对他们的重要性。
  • 让用户知道新版本的发布或是项目进展,也可以发布到公司的新闻里面,通过这些措施,让公司知道你在做什么。
  • 邀请部门老大或是CEO来访问项目,并将他介绍给团队。

认识到激励的重要性,这可能是提升项目生产力的关键因素。

结语

上述诸多原则听起来都像是常识。不过,要知道,是这些常识的应用让荷兰女子曲棍球队成为了世界上最好的球队。虽然有了这些理论和原则,如何在实践中做到合理运用、收放自如,这才是艺术。当我听到Marc Lammers演讲的时候,我意识到了他是如何做到的:快乐的激情、不断的自我反思、以及发现和实验全新工作方式的渴望。

这让我得到了最后一条原则:

将竞争精神、乐趣和有益的自我反思结合在一起,上述种种原则会自然实现。

就是这么简单。

尾注

Marc Lammers已经完成了一本关于他的执教收获的著作,请移步至www.marclammers.nl查看。

posted @ 2008-09-18 15:30 锋出磨砺 阅读(1554) | 评论 (0)编辑 收藏


   怀着遗憾的心情进行着第二次的创业,在经历了辛苦和劳累之后,重新开始,需要付出更多,也需要很快的历练自己。培养公司的第二梯队尽快成长,09年底达到 高3   中5   低10的团队规模。

posted @ 2008-09-09 08:14 锋出磨砺 阅读(1960) | 评论 (3)编辑 收藏

作者 Randy Shoup译者 郭晓刚 发布于 2008年6月12日 下午7时5分

社区
Architecture
主题
设计,
性能和可伸缩性
标签
eBay

在eBay,可伸缩性是我们每天奋力抵抗的一大架构压力。我们所做的每一项架构及设计决策,身前身后都能看到它的踪影。当我们面对的是全世界数以亿计的用户,每天的页面浏览量超过10亿,系统中的数据量要用皮字节(1015或250)来计算——可伸缩性是生死交关的问题。

相关厂商内容

SOY Framework:Java富客户端快速开发框架

视频演讲:开放平台技术架构剖析

活动:体验基于OpenSolaris的Web/企业应用(8.30 杭州)

可伸缩性最佳实践:来自eBay的经验

免费迷你书下载:领域驱动设计精简版

相关赞助商

[[InfoQ中文站架构社区|http://www.infoq.com/cn/architecture/],关注设计、技术趋势以及架构师所感兴趣的话题,通过新闻、文章、视频访谈和演讲以及迷你书等为中国架构社区提供一流资讯。

在一个可伸缩的架构中,资源的消耗应该随负载线性(或更佳)上升,负载可由用户流量、数据量等测量。如果说性能衡量的是每一工作单元所需的资源消 耗,可伸缩性则是衡量当工作单元的数量或尺寸增加时,资源消耗的变化情况。换句话说,可伸缩性是整个价格-性能曲线的形状,而不是曲线上某一点的取值。

可伸缩性有很多侧面——事务的方面、运营的方面、还有开发的方面。我们在改善一个Web系统的事务吞吐量的过程中学到了很多经验,本文总结了其中若 干关键的最佳实践。可能很多最佳实践你会觉得似曾相识,也可能有素未谋面的。这些都是开发和运营eBay网站的众人的集体经验结晶。

最佳实践 #1:按功能分割

相关的功能部分应该合在一起,不相关的功能部分应该分割开来——不管你把它叫做SOA、功能分解还是工程秘诀。而且,不相关的功能之间耦合程度越松散,就越能灵活地独立伸缩其中的一部分。

在编码层次,我们无时不刻都在运用这条原则。JAR文件、包、Bundle等等,都是用来隔离和抽象功能的机制。

在应用层次,eBay将不同的功能划分成几个应用程序池。销售功能由一组应用服务器运行,投标功能由另一组负责,搜索又是另外一组服务器。我们把总 共约16,000台应用服务器分成220个池。这样就可以根据某项功能的资源消耗,单独地伸缩其中一个池。我们也因此得以进一步隔离及合理化资源依赖关系 ——比如销售池只需要访问后台资源的一个相对较小的子集。

在数据库层次,我们也采取同样的做法。eBay没有无所不包的单一数据库,相反我们有一组数据库主机存放用户数据、一组存放商品数据、一组存放购买数据……总共1000个逻辑数据库分布在400台物理主机上。同样,这种做法让我们得以单独为某一类数据伸缩其数据库设施。

最佳实践 #2:水平切分

按功能分割对我们的帮助很大,但单凭它还不足以得到完全可伸缩的架构。即使将功能一一解耦,单项功能的资源需求随着时间增长,仍然有可能超出单一系 统的能力。我们常常提醒自己,“没有分割就没有伸缩”。在单项功能内部,我们需要能把工作负载分解成许多我们有能力驾驭的小单元,让每个单元都能维持良好 的性能价格比。这就是水平分割出场的时候了。

在应用层次,由于eBay将各种交互都设计成无状态的,所以水平分割是轻而易举之事。用标准的负载均衡服务器来路由进入的流量。所有应用服务器都是 均等的,而且任何服务器都不会维持事务性的状态,因此负载均衡可以任意选择应用服务器。如果需要更多处理能力,只需要简单地增加新的应用服务器。

数据库层次的问题比较有挑战性,原因是数据天生就是有状态的。我们会按照主要的访问路径对数据作水平分割(或称为“sharding”)。例如用户 数据目前被分割到20台主机上,每台主机存放1/20的用户。随着用户数量的增长,以及每个用户的数据量增长,我们会增加更多的主机,将用户分散到更多的 机器上去。商品数据、购买数据、帐户数据等等也都用同样的方式处理。用例不同,我们分割数据的方案也不同:有些是对主键简单取模(ID尾数为1的放到第一 台主机,尾数为二的放到下一台,以此类推),有些是按照ID的区间分割(1-1M、1-2M等等),有些用一个查找表,还有些是综合以上的策略。不过具体 的分割方案如何,总的思想是支持数据分割及重分割的基础设施在可伸缩性上远比不支持的优越。

最佳实践 #3:避免分布式事务

看到这里,你可能在疑惑按功能划分数据和水平划分数据的实践如何满足事务要求。毕竟,几乎任何有意义的操作都要更新一个以上的实体——立即就可以举 出用户和商品的例子。正统的广为人知的答案是:建立跨资源的分布式事务,用两段式提交来保证要么所有资源全都更新,要么全都不更新。很不幸,这种悲观方案 的成本很可观。伸缩、性能和响应延迟都受到协调成本的反面影响,随着依赖的资源数量和客户数量的上升,这些指标都会以几何级数恶化。可用性亦受到限制,因 为所有依赖的资源都必须就位。实用主义的答案是,对于不相关的系统,放宽对它们的跨系统事务的保证。

左右逢源是办不到的。保证跨多个系统或分区之间的即时的一致性,通常既无必要,也不现实。Inktomi的Eric Brewer十年前提出的CAP公理是这样说的:分布式系统的三项重要指标——一致性(Consistency)、可用性(Availability)和 分区耐受性(Partition-tolerance)——在任意时刻,只有两项能同时成立。对于高流量的网站来说,我们必须选择分区耐受性,因为它是实 现可伸缩的根本。对于24x7运行的网站,选择可用性也是理所当然的。于是只好放弃即时一致性(immediate consistency)。

在eBay,我们绝对不允许任何形式的客户端或者分布式事务——因此绝不需要两段式提交。在某些经过仔细定义的情形下,我们会将作用于同一个数据库 的若干语句捆绑成单个事务性的操作。而对于绝大部分操作,单条语句是自动提交的。虽然我们故意放宽正统的ACID属性,以致不能在所有地方保证即时一致 性,但现实的结果是大部分系统在绝大部分时间都是可用的。当然我们也采用了一些技术来帮助系统达到最终的一致性(eventual consistency):周密调整数据库操作的次序、异步恢复事件,以及数据核对(reconciliation)或者集中决算(settlement batches)。具体选择哪种技术要根据特定用例对一致性的需求来决定。

对于架构师和系统的设计者来说,关键是要明白一致性并非“有”和“没有”的单选题。现实中大多数的用例都不要求即时一致性。正如我们经常根据成本和其他压力因素来权衡可用性的高低,一致性也同样可以量体裁衣,根据特定操作的需要而保证适当程度的一致性。 

最佳实践 #4:用异步策略解耦程序

提高可伸缩性的另一项关键措施是积极地采取异步策略。如果组件A同步调用组件B,那么A和B就是紧密耦合的,而紧耦合的系统其可伸缩性特征是各部分 必须共同进退——要伸缩A必须同时伸缩B。同步调用的组件在可用性方面也面临着同样的问题。我们回到最基本的逻辑:如果A推出B,那么非B推出非A。也就 是说,若B不可用,则A也不可用。如果反过来A和B的联系是异步的,不管是通过队列、多播消息、批处理还是什么其他手段,它们就可以分别地伸缩。而且,此 时A和B的可用性特征是相互独立的——即使B受困或者死掉,A仍然能够继续前进。

整个基础设施从上到下都应该贯彻这项原则。即使在单个组件内部也可通过SEDA(分阶段的事件驱动架构,Staged Event-Driven Architecture)等技术实现异步性,同时保持一个易于理解的编程模型。组件之间也遵守同样的原则——尽可能避免同步带来的耦合。在多数情况下, 两个组件在任何事件中都不会有直接的业务联系。在所有的层次,把过程分解为阶段(stages or phases),然后将它们异步地连接起来,这是伸缩的关键。

最佳实践 #5:将过程转变为异步的流

用异步的原则解耦程序,尽可能将过程变为异步的。对于要求快速响应的系统,这样做可以从根本上减少请求者所经历的响应延迟。对于网站或者交易系统, 牺牲数据或执行的延迟时间(完成全部工作的实践)来换取用户的延迟时间(用户得到响应的时间)是值得的。活动跟踪、单据开付、决算和报表等处理过程显然都 应该属于后台活动。主要用例过程中常常有很多步骤可以进一部分解成异步运行。任何可以晚点再做的事情都应该晚点再做。

还有一个同等重要的方面认识到的人不多:异步性可以从根本上降低基础设施的成本。同步地执行操作迫使你必须按照负载的峰值来配备基础设施——即使在 任务最重的那一天里任务最重的那一秒,设施也必须有能力立即完成处理。而将昂贵的处理过程转变为异步的流,基础设施就不需要按照峰值来配备,只需要满足平 均负载。而且也不需要立即处理所有的请求,异步队列可以将处理任务分摊到较长的时间里,因而起到削峰的作用。系统的负载变化越大,曲线越多尖峰,就越能从 异步处理中得益。

最佳实践 #6:虚拟化所有层次

虚拟化和抽象化无所不在,计算机科学里有一句老话:所有问题都可以通过增加一个间接层次来解决。操作系统是对硬件的抽象,而许多现代语言所用的虚拟 机又是对操作系统的抽象。对象-关系映射层抽象了数据库。负载均衡器和虚拟IP抽象了网络终端。当我们通过分割数据和程序来提高基础设施的可伸缩性,为各 种分割增加额外的虚拟层次就成为重中之重。

在eBay,我们虚拟化了数据库。应用与逻辑数据库交互,逻辑数据库再按照配置映射到某个特定的物理机器和数据库实例。应用也抽象于执行数据分割的 路由逻辑,路由逻辑会把特定的记录(如用户XYZ)分配到指定的分区。这两类抽象都是在我们自己开发的O/R层上实现的。这样虚拟化之后,我们的运营团队 可以按需要在物理主机群上重新分配逻辑主机——分离、合并、移动——而完全不需要接触应用程序代码。

搜索引擎同样是虚拟化的。为了得到搜索结果,一个聚合器组件会在多个分区上执行并行的查询,但这个高度分割的搜索网格在客户看来只是单一的逻辑索引。

以上种种措施并不只是为了程序员的方便,运营上的灵活性也是一大动机。硬件和软件系统都会故障,请求需要重新路由。组件、机器、分区都会不时增减、 移动。明智地运用虚拟化,可使高层的设施对以上变化难得糊涂,你也就有了腾挪的余地。虚拟化使基础设施的伸缩成为可能,因为它使伸缩变成可管理的。

最佳实践 #7:适当地使用缓存

最后要适当地使用缓存。这里给出的建议不一定普遍适用,因为缓存是否高效极大地依赖于用例的细节。说到底,要在存储约束、对可用性的需求、对陈旧数 据的容忍程度等条件下最大化缓存的命中率,这才是一个高效的缓存系统的最终目标。经验证明,要平衡众多因素是极其困难的,即使暂时达到目标,情况也极可能 随着时间而改变。

最适合缓存的是很少改变、以读为主的数据——比如元数据、配置信息和静态数据。在eBay,我们积极地缓存这种类型的数据,并且结合使用“推”和“ 拉”两种方法保持系统在一定程度上的更新同步。减少对相同数据的重复请求能达到非常显著的效果。频繁变更、读写兼有的数据很难有效地缓存。在eBay,我 们大多有意识地回避这样的难题。我们一直不对请求间短暂存在的会话数据作任何缓存。也不在应用层缓存共享的业务对象,比如商品和用户数据。我们有意地牺牲 缓存这些数据的潜在利益,换取可用性和正确性。在此必须指出,其他网站采取了不同的途径,作了不同的取舍,也同样取得了成功。

好东西也会过犹不及。为缓存分配的内存越多,能用来服务单个请求的内存就越少。应用层常常有内存不足的压力,因此这是非常现实的权衡。更重要的一 点,当你开始依赖于缓存,那么主要系统就只需要满足缓存未命中时的处理要求,自然而然你就会想到可以削减主要系统。但当你这样做之后,系统就完全离不开缓 存了。现在主要系统没办法直接应付全部流量,也就是说网站的可用性取决于缓存能否100%正常运行——潜在的危局。哪怕是例行的操作,比如重新配置缓存资 源、把缓存移动到别的机器、冷启动缓存服务器,都有可能引发严重的问题。

做得好,缓存系统能让可伸缩性的曲线向下弯曲,也就是比线性增长还要好——后续请求从缓存中取数据比从主存储取数据成本低廉。反过来,缓存做得不好 会引入相当多额外的经常耗费,也会妨碍到可用性。我还没见过哪个系统没机会让缓存大展拳脚的,关键是要根据具体情况找到适当缓存策略。

总结

可伸缩性有时候被叫做“非功能性需求”,言下之意是它与功能无关,也就比较不重要。这么说简直错到了极点。我的观点是,可伸缩性是功能的先决条件——优先级为0的需求,比一切需求的优先级都高。

希望以上最佳实践能对你有用,希望能帮助你从新的角度审视你的系统,无论其规模如何。

posted @ 2008-08-22 16:54 锋出磨砺 阅读(213) | 评论 (0)编辑 收藏

软件开发的过程

作者 Kurt Christensen译者 郑柯 发布于 2008年8月20日 上午9时38分

社区
Agile
主题
敏捷实施,
变更

“射箭高手的秘密诅咒”一文中,纽约时报专栏作家Katie Thomas描述了一种奇怪的痛苦情绪,它广为人知,人们称之为“目标恐慌”。当世界顶尖的射箭高手向目标发出一箭时,这种情绪会导致他们失去控制能力,如此现象让人费解。人们通常认为这是一种心理问题,新的研究表明:“目标恐慌”实际上是神经失调的表现。

为了理解这些以前无法解释的痛苦,神经病学家开始探究大脑深处存在的处理方式。比如最近《纽约客》发表了一篇文章,其中Atul Gawandem博士描述了对于“四肢疼痛幻觉”的全新治疗方法。“四肢疼痛幻觉”是指,接受截肢手术的人会感受剧烈疼痛,不过这些疼痛出现在已被截去的手臂或腿部之上。医生将接受截肢的人放在多面镜子之前,这会让患者产生四肢健全的幻觉。接下来医生会让患者完成多种任务,比如指挥不存在的交响乐团。来自Walter Reed医院的全新研究显示,这种“镜箱治疗法”可以有效去除“四肢疼痛幻觉”症状。令人惊讶的是,为大脑提供一系列全新的、出其意表的感官输入,这会让大脑改变内部的处理流程。

当然,在人工智能领域之内,使用数据改变处理这些数据的算法,这并无特别之处。此种“学习算法”的应用非常广泛,涵盖了从语音识别到信用卡欺诈检测等很多领域。实际上,随着处理海量数据能力的增强,似乎学习算法接受的数据要比算法本身还重要。在2008创业学校上的演讲中,Peter Norvig比较了五种可以自我调整的算法在表现上的差异,这些算法是用来处理自然语言的。结果表明:选择更好的算法所带来的表现提升,远不如让它们处理更多数据带来的提升更明显。

可是这种方式能够用来跟软件开发的过程做类比么?在《人类赖以生存的隐喻》一书中,George Lakoff和Mark Johnson讲述了隐喻塑造我们理解世界的方式,以及隐喻揭示与混淆我们身边世界的方式。对于大脑、软件,以及软件开发,唯一的隐喻就是:机器——也就是硬件。可是在这两个例子中,如果能将处理过程看做软件——也就是可编程的,也许能取得更好的进展;虽然易于出错,但是也易于修复。如果软件是软件开发的隐喻,那么软件开发的流程创建和提炼的方式,应该与软件创建和提炼的方式相同;小窥一下,处理软件开发流程,只需构建需要的部分,而且总是通过迭代和测试驱动的方式。

大家都已经习惯于事先明确定义最佳流程,要想抛弃这种观念,也许有点让人胆战心惊,可是现实告诉我们:要想为一组特定的人制订软件开发的流程,不应事先进行流程的明确定义,而应将精力放在流程的演进上;这也是与人类大脑和软件本身最一致的方式。

posted @ 2008-08-22 16:27 锋出磨砺 阅读(173) | 评论 (0)编辑 收藏

      
      一条边界线把A镇分为两半,一边属墨西哥而另一边则是美国。尽管如此,小镇上的居民还是不受国别束缚自由往来。快乐的青年佛朗西斯科住在A镇的墨西哥一侧,他的唯一嗜好是喜爱杯中物,却经常囊中空空。为了一杯啤酒,佛朗西斯科整天在墨西哥和美国之间来回穿插寻找机会。终于,他发现了在墨西哥和美国之间存在着一种特殊的货币情况:在墨西哥,1美元只值墨西哥货币的90分;而在美国,1比索(1墨西哥比索=100分)只值90美分。

  一天,佛朗西斯科决定把他的发现付诸实践。他先走进一家墨西哥小酒吧,要了一杯价格为

  10个墨西哥分的啤酒。喝完之后,他用1个墨西哥比索付帐而要求找补美元。接着,他怀装找回的1美元(在墨西哥只值90个墨西哥分)越过边境又进了一家美国酒吧。这次,他仍旧要了一杯价格为10美分的啤酒喝起来,然后,他用刚才在墨西哥小酒吧找回的1美元付帐,根据他的要求又找回了1个墨西哥比索(在美国只值90美分)。

  现在,佛朗西斯科发现,当他喝完两杯啤酒之后,钱袋里的钱却1分也没有少,仍然有一个比索。于是,他继续不断地重复这一方法,整天在墨西哥和美国之间愉快地喝啤酒。

  问题是:谁在真正支付佛朗西斯科的啤酒帐?

posted @ 2007-08-30 17:40 锋出磨砺 阅读(223) | 评论 (1)编辑 收藏

 

 

 

一天,一只兔子在山洞前写文章,一只狼走了过来,问:“兔子啊,你在干什么?”答曰:“写文章。”问:“什么题目?”答曰:“《浅谈兔子是怎样吃掉狼的》。”狼哈哈大笑,表示不信,于是兔子把狼领进山洞。

  

  过了一会,兔子独自走出山洞,继续写文章。一只野猪走了过来,问:“兔子你在写什么?”答:“文章。”问:“题目是什么?”答:“《浅谈兔子是如何把野猪吃掉的》。”野猪不信,于是同样的事情发生。

      最后,在山洞里,一只狮子在一堆白骨之间,满意的剔着牙读着兔子交给它的文章,题目:“《一只动物,能力大小关键要看你的老板是谁》。”   

  这只兔子有次不小心告诉了他的一个兔子朋友,这消息逐渐在森林中传播;狮子知道后非常生气,他告诉兔子:“如果这个星期没有食物进洞,我就吃你。”于是兔子继续在洞口写文章.

        一只小鹿走过来,“兔子,你在干什么啊?”“写文章”“什么题目”““《浅谈兔子是怎样吃掉狼的》”“哈哈,这个事情全森林都知道啊,你别胡弄我了,我是不会进洞的”“我马上要退休了,狮子说要找个人顶替我,难道你不想这篇文章的兔子变成小鹿么”

  小鹿想了想,终于忍不住诱惑,跟随兔子走进洞里。过了一会,兔子独自走出山洞,继续写文章,一只小马走过来,同样是事情发生了。最后,在山洞里,一只狮子在一堆白骨之间,满意的剔着牙读着兔子交给它的文章题目是:《如何发展下线动物为老板提供食物

 

随着时间的推移,狮子越长越大,兔子的食物已远远不能填饱肚子。一日,他告诉兔子:“我的食物量要加倍,例如:原来4天一只小鹿,现在要2天一只,如果一周之内改变不了局面我就吃你。

  

  于是,兔子离开洞口,跑进森林深处,他见到一只狼“你相信兔子能轻松吃掉狼吗”狼哈哈大笑,表示不信,于是兔子把狼领进山洞。过了一会,兔子独自走出山洞,继续进入森林深处这回他碰到一只野猪----“你相信兔子能轻松吃掉野猪吗”野猪不信,于是同样的事情发生了。

  

  原来森林深处的动物并不知道兔子和狮子的故事最后,在山洞里,一只狮子在一堆白骨之间,满意的剔着牙读着兔子交给它的文章题目是:《如何实现由坐商到行商的转型为老板提供更多的食物》

  

  时间飞快,转眼之间,兔子在森林里的名气越来越大,因为大家都知道它有一个很历害的老板,这只小兔开始横行霸道,欺上欺下,没有动物敢惹它.时时想起和乌龟赛跑的羞辱,它找到乌龟说:“三天之内,见我老板!”扬长而去.

 

  乌龟难过的哭了这时却碰到了一位猎人.乌龟把这事告诉了他,猎人哈哈大笑.于是森林里发生了一件重大事情--猎人披着狮子皮和乌龟一起在吃兔子火锅,地下丢了半张纸片歪歪扭扭的写着:山外青山楼外楼,强中还有强中手啊!!

  在很长一段时间里森林里恢复了往日的宁静,兔子吃狼的故事似乎快要被大家忘记了,不过一只年轻的老虎在听说了这个故事后,被激发了灵感于是他抓住了一只羚羊,对羚羊说,如果你可以象以前的兔子那样为我带来食物那我就不吃你。

  

  于是,羚羊无奈的答应了老虎,而老虎也悠然自得的进了山洞。可是三天过去了,也没有见羚羊领一只动物进洞。他实在憋不住了,想出来看看情况。羚羊早已不在了,他异常愤怒。正在他暴跳如雷的时候突然发现了羚羊写的一篇文章题目是:《想要做好老板先要懂得怎样留住员工》

 

posted @ 2007-08-20 12:25 锋出磨砺 阅读(203) | 评论 (0)编辑 收藏

 

在软件开发中资源使用

 

老李(libaojian@infoer.com.cn)

 

在一个软件系统的开发中,每个团队成员都面临着资源不足的问题,如何权衡资源,让资源动态的适应情景,推进工作的进展,当显示出资源分配和控制者的能力。当拳头都合力打出,体现了资源的最大效用。

从一个项目酝酿的时候,到后期维护,一般不可能有很多的资源交给你支配。从多年的经验,分析出资源包括了4大类资源

Ø         时间资源(进度 周期 时间)

Ø         人力资源(角色 一个萝卜一个坑 或者一个萝卜多个坑)

Ø         能力资源(个人)

Ø         支持资源(特定问题的支持)

只有将这些资源 合理的搭配和使用 才会使的问题解决起来更加的容易一些,才会使一切在掌控之中。否则将会出现失控的局面。

下面将围绕这4个资源来展开问题的分析。

时间资源:

在国内软件系统开发的大环境下,基本没有让人满意的资源支持,一般的系统,在不规范的的环境下开发都面临时间不足的情况。作为项目责任人,只能是努力的去调配,使工作顺利开展,尽大可能推进进度。

我总结处理的方式步骤如下。

1,仔细分析系统的架构说明书(高层用例)和技术研究成果,尽可能的争取合理的时间资源。

2,当不能争取到合理的时间资源的时候,分析并缩减工作量,根据客户和市场的具体情况,进行合理的功能实现和产品的包装。

3,当2的解决方法不能争取到的时候,就要在资源分配上想办法了。一般的方式就是利用现成的工具,设计成果,快速开发工具等方法。总之,能节优时间的方式都采用。

从多年的经验 我总结出下面的方法,不一定合适,具体情况具体分析罗

 a, 充实人力(有相关经验的人) 缩短开发时间 同时提高能力资源

 b, 寻求各种方式进行培养 提高团队战斗力 同时提高能力资源

 c, 寻求已经有的好的设计 代码 拿来直接用 ;开发代码生成工具 节约时间 ;修改设计文档格式,达到crc目的即可,并且可以作为正式文档的元素和储备。

     在时间资源方面,总结就是省。寻求各种方式,省时间,依赖于其他资源进行时间的节约。

如何让所有的涉众目标快速达到一致

1,文档:

因为一个工程,所有的涉众不是同时介入的。这就导致了

对于工程的认识就不同。而要帮助后加入的成员很快的进入角色,

就必须有提纲性的文档作为引导。并且所有的描述语言都是所能够

领会的,比如uml就是一个很好的选择。

2,授课:

严肃的说不是授课,而是交流经验。广开言论,而后达成共识。

3,明确的核心骨架和规范

高层业务用例,高层测试用例,核心类构成,主要流程。这些都决定了

系统的主脉络。

  

人力资源:

以人为本是好多公司人性化的借口,当公司压榨团队成员的时候,如何将这个最难玩的资源掌控好学问很大。虽说用制度来衡量和管理是最科学的,但是人这种高级动物,想法太多。曾经总结了若干调动团队积极性的条条。只是人力资源管理的一个方面。

   

如何让团队成员保持激情

1,阶段性的成果

   让每个员工感受到阶段性的成果,是大家心血的结晶,而且是大家

   辛苦努力的结果。不是停留于语言上,而是让每个人真切的感受到

   确实是这样。并且对结果都是有十足的信心。

2,挑战性的工作

   在单调的工作中,寻找挑战性,寻找亮点。让每个人在团队中体现出

   个性,让每个人感受到她是不可获缺的。

3,时刻的进步

   对每个成员进行合理的规划,在工作的同时,提高每个人在自己领域的进步

   尽可能的和她的职业规划一致。时刻感受到她在进步。

4,实时的支持和鼓励

   风险和困难到处都是,此时,要有强有力的支持和鼓励以及帮助。要尽可能的

   寻找资源来帮助她,而不是将压力全部推给她。

5,成果的喜悦和物质的关怀

   我们成果了,职业生涯画了很好的一笔,精神享受的同时,将大家的打车费,加班费

   ,奖金等立刻兑现。走 high 哥们。

 如何让团队有凝聚力和自由的交流空间

1,成果分享

   在体现个人价值的同时,成果是大家分享的。当然 给予分享的人,她的个人魅力的提升就是一种收获。

   将这种价值观贯穿整个团队。鼓励大家分享。

2,有个安静的交流环境和小黑板

   如果有coffee更好不过。这里是灵感的来源地,解决问题的天堂。

3,有价值的培训和交流

   不说为项目做准备,就是提高个人能力和交流彼此思想。此时我们抛开目前的项目。

   我总结的原则是

1, 岗位不能缺失,不管是通过招聘,培养的方式,每个坑必须都有萝卜,可能会有一个萝卜多个坑的情况

2, 寻找各种方式,使每个萝卜达到最大的饱和战斗力。

3, 寻求各种方式,增强团队战斗力和凝聚力

能力资源:

1, 挖取个人潜在能力并快速培养

2, 增强个人自信心

支持资源:

1, 知识库 搜集各种知识资源,包括行业知识,分析设计知识,代码片断

2, 内部培训交流 挖取每个成员的优势 知识分享

3, 寻找外培机会 免费和付费的

4, 书本材料

5, 办公用品

6, 员工的家事和健康

 资源的分类

    可重用资源(模式,代码,方法) 不可重用资源(时间)

可重用资源的累计

当我们拥有第一桶金的时候,我们就开始了资源的累计。所有的成员都是资源的累计者和创造者,当给每个成员进行创造资源的任务的同时,将足够的支持资源尽力的给他,并且以合适的方式和合适的内容。创造的资源经过整理成为我们资源库的资源。

系统负责人就是控制资源,整理资源,分配资源,累计资源。使雪球越来越大。进而形成自己的模式,自己的风格,自己的资源库。一切形成习惯的时候,就向良性的发展走去。

办法总比问题多。

不可重用资源的节约

   提高效率 增强战斗力

 

posted @ 2007-08-20 12:24 锋出磨砺 阅读(619) | 评论 (0)编辑 收藏

作者:芒种 http://www.flash8.net/flash/16836.shtml

posted @ 2007-08-15 19:33 锋出磨砺 阅读(158) | 评论 (0)编辑 收藏

鸿鹄先生http://www.flash8.net/flash/35507.shtml
邮箱: fmxt@sina.com

posted @ 2007-08-15 19:20 锋出磨砺 阅读(151) | 评论 (0)编辑 收藏

posted @ 2007-08-14 12:49 锋出磨砺 阅读(245) | 评论 (0)编辑 收藏

发现了1975年《红旗》杂志的惊人预言 

1975年《红旗》杂志的惊人预言


下面这篇文章原载30多年前的《红旗》杂志一九七五年十一期,是关于教育问题的。 



  近年来,在苏修社会里,出现了一种新的行业。这种新行业,虽然没有被苏修叛徒集团列入他们“巨大成就”的栏目内,但倒真的搞得不坏,正在以很快的速度“发达”起来。这里,且举这种行业的几个小例子,使读者开开眼界。 

  先看“私人授课”业。此业现在盛行苏联全国,据说是专门为中学生进入大学而设立的。私人授课每小时可得五至十个卢布,相当于普通工人一天半以上的工资。在莫斯科街头,“圆柱上”、“墙壁上”,“大门道里”,到处是这种花花绿绿的广告,简直让人眼花缭乱。 

  再看“代人考试”业。据《莫斯科晚报》载,有一种“代人考试组织”,专门代人投考大专学校。这种组织业务繁忙,应接不暇。有一个成员上午到食品工业专门学校代人考试,下午又到纺织工业大学代考,第二天又到莫斯科大学代人投考经济系。考取后,每位收取代考费五百卢布。 

  其次看“论文出售”业。《共青团真理报》载,罗斯托夫铁路运输工程学院里有一种“联合组织”,专门“帮人做毕业设计、学习论文、测验作业、实验室作业”。一份设计,售价九十卢布,有的一百五十卢布。 

  再其次看“毕业证书制造”业。《消息报》介绍的一个“毕业证书制造所”,一张毕业证书售价一千卢布,两年中他们就销售了五十六张这样的毕业证书。 

  若问这种行业为什么如此兴隆,那就要看看苏修的教育制度了。随着资本主义的全面复辟,苏修的教育,特别是高等教育,早已成为进入特权阶级的阶梯。苏修总头目勃列日涅夫说:“国家主要是从经过高等学校培养的专家中吸收从事经济工作、党的工作、国家工作、外交工作、军事工作和从事一切社会活动的干部。”许多材料证明,大学文凭是选拔干部的决定性标准。有此文凭,即使是个**,也能捞个一官半职;无此文凭,即使你是“共产主义劳动突击手”,“从战争年代起”就做某项工作,并且“有这方面的专业知识”,但最后是“被裁掉”!勃列日涅夫的话以及无数事实告诉人们:只要一进了高等学校,或者干脆只要设法捞到一张大学文凭,那就能够得到高官厚禄,就有飞黄腾达的时机。要是进不去呢,那就对不起,只能“永远”当一个被人看不起的“执行者”。许多人为了达到“高升”的目的,当然就只有八仙过海,各显神通。于是各种稀奇古怪的行业都应运而生了。 

  可不能小看这种新行业。特权阶级要把自己的爵位和俸禄传给他们的子女,一个重要的办法就是通过教育一途。而这样做,没有上述行业的帮助,就有点儿难处。你说考试吧,“中学课程”并不完全包括大学“考试中应考的所有材料”,一般中学毕业生怎么去考?有了上述行业,苏联的资产阶级新贵们就不怕。他们有的是钱,可以雇请“家庭教师”,或使子女进各种学费昂贵的私人“补习班”之类。这样把子女塞进高等学府以后,总算放心了吧?可是还不行,有些公子小姐们一向吃喝玩乐,谁愿去死啃书本?不能毕业怎么办?还得依靠上述行业。 

  在“教育市场”上,只要不惜重金,什么毕业论文、毕业文凭,甚至“副博士”之类的头衔都可以买到。有了这些玩艺儿,就可以骑在劳动人民头上作威作福了。不难看出,苏修教育领域的新行业,完全是适应特权阶级对劳动人民实行资产阶级文化专制的需要而产生的。 

  “有钱,就可以进入高等学校”,这是苏修一家不大不小的官方报纸吐出来的一句很难得的真话。当然,苏修统治者“标准的提法”可不是这样。因为这么说,他们那个冒牌的“社会主义”不就露了底?你听,苏修《国民教育立法原则》说得多么堂皇:苏联全体公民不分财产和社会地位,“在受教育方面一律平等”。但事实呢?在苏修叛徒集团的统治下,劳动人民既没有那么多的钱去雇请“私人教师”,又没有那么高的地位来得到同僚们的“照顾”。他们的子女,无论在分数面前,还是在其他什么面前,怎么能同那些公子小姐们“一律平等”呢? 

  且以他们自己对新西伯利亚所作的调查为例,那里有近百分之九十的农民子女被排斥在大学门外,而城市知识分子(不要忘记,其中也包括官僚)的子女却有近百分之九十都钻进了高等学校。按照苏修的“立法原则”,或者可以这样说吧,百分之九十和百分之九十还不是“一律平等”么?其实,什么抽象的“自由”、“平等”,从来就是资产阶级的谎言。列宁曾说过:“只要阶级还没有消灭,任何关于一般自由和平等的谈论都是欺骗自己,或者是欺骗工人,欺骗全体劳动者和受资本剥削的人,无论如何,也是维护资产阶级的利益。”列宁的话,这样无情地揭露了一切关于一般自由、平等言论的虚伪性。可是,以“列宁主义者”自命的勃列日涅夫们,在明明不平等的事实面前,还在那儿高谈着“一律平等”之类的神话,这难道不正是为了欺骗苏联劳动人民吗! 

  学校商业化,知识商品化,这完全是苏修全面复辟资本主义给教育带来的必然结果。苏修统治者通过校内教育和校外宣传,公然要青年人树立“合理的利己主义”世界观,并且毫不隐讳地对他们说,“学习、掌握知识”是一本万利的买卖,“这是一个将能产生高额利钱的贮钱匣”。既然“知识”、“文凭”、“学衔”都可以用金钱买来,那么,这些东西一旦到手,当然就要立即投入“周转”,以谋取更大的利润。亏本的生意谁会去做?这种腐朽透顶的“教育”,是一个黑色染缸,别说特权阶级的子女,就是少数劳动人民的子女进校后,也必然要受到腐蚀和毒害。它只能培养那种以赚钱赢利为人生哲学的新资产阶级分子,即培养特权阶级的接班人。 

  苏修教育领域这种新行业,闹得乌烟瘴气,引起了劳动人民的愤怒,于是苏修报纸也不得不说上几句对此表示不满的话。这当然只是装装样子、骗骗群众而已。他们心里明白,擦掉主人身上一点儿浮油,根本不可能触伤老爷们那肥胖的躯体。那些真正敢于揭露这种丑恶现象的社会根源的,不仅文章登不出,恐怕连作者都早已被关进了“疯人院”。而经过精心筛选后登出的那些不疼不痒、避而不谈问题实质的文章,简直无异于莫斯科街头的广告,对这种行业只能起到提倡、鼓励以至“介绍经验”的作用。很显然,要彻底解决这些问题,那就意味着推翻苏修现存的社会制度,这是苏修统治者连想都不敢想的。然而,统治者不敢想的,苏联人民却要想,并且终究有一天还要行动起来,再一次扫除这些秽物。

posted @ 2007-07-18 21:29 锋出磨砺 阅读(584) | 评论 (0)编辑 收藏

 一碗牛肉面的思考 转帖
            推荐人:kitty 2007-1-30 10:11:40


               
              我跟朋友在路边一个不起眼的小店里吃面,由于客人不多,我们就顺便和小老板聊了会儿。谈及如今的生意,老板感慨颇多,他曾经辉煌过,于兰州拉面最红的时候在闹市口开了家拉面馆,日进斗金啊!后来却不做了。朋友心存疑虑地问他为什么。

              
                 “现在的人贼呢!”老板说,“我当时雇了个会做拉面的师傅,但在工资上总也谈不拢”。
              
              
              “开始的时候为了调动他的积极性我们是按销售量分成的,一碗面给他5毛的提成,经过一段时间,他发现客人越多他的收入也越多,这样一来他就在每碗里放超量的牛肉来吸引回头客”,“一碗面才四块,本来就靠个薄利多销,他每碗多放几片牛肉我还赚哪门子啊!”

              
              
              “后来看看这样不行,钱全被他赚去了!就换了种分配方式,给他每月发固定工资,工资给高点也无所谓,这样他不至于多加牛肉了吧?因为客多客少和他的收入没关系。”

              
              
              “但你猜怎么着?”老板有点激动了,“他在每碗里都少放许多牛肉,把客人都赶走了!”“这是为什么?”现在开始轮到我们激动了。“牛肉的分量少,顾客就不满意,回头客就少,生意肯定就清淡,他(大师傅)才不管你赚不赚钱呢,他拿固定的工钱巴不得你天天没客人才清闲呢!”

              
                 啊!结果一个很好的项目因为管理不善而黯然退出市场,尽管被管理者只有一个。
              
                 当我们把这个案例告诉给其他的朋友并讨论的时候,他们先是拍案叫绝,继而沉思,时而悲愤,时而慷慨陈辞。
              
               
              
                 下面是一个博士,一个研究生,和一个MBA对这个问题的激辩,请大家先谈自己的想法,这可是第一手的实战啊!
              
              
              1.首先我们考虑将小老板所用两种方案进行折中,即:底薪加提成的方法,提成根据每碗的利润分配。这样既可以防止他少放牛肉,又能防止他疯狂地多放牛肉。

              
              
              2.后来又想到这一条是有条件的。问题是每碗的利润界定后怎么个分配法?一碗面能挣多少是瞒不过大师傅的,如果不能让双方的利益在某个点达到平衡,一切又会回复原样。而要达到所说的那种平衡涉及到一个复杂的相关函数问题,说不定还要用到博弈论。

              
                 3.把面馆承包给大师傅,老板拿了提成后回家养花弄鸟去。当然,提出这个方案后大家都有过短暂的脸红,再否定!
              
              
              4.然后我们谈到了企业文化、正义、道德、人性,并一致认为:管理学博大精深,成为一个优秀的管理者非得经过百般磨练方能修得正果,再先进的管理理论也有不适用的时候。

              
               
              
                 是啊,就这个小小牛肉面的故事,却反映出了一个小企业管理中的种种问题。
               
              
              首先就是一个关于大师傅激励的问题。可以设计一个激励机制,就是在定额约束下的销量或利润累积奖励。首先根据每碗面的顾客可接受效用制订一个材料定额,大师傅的工资还是按照销售量提成,但是前题是月度的材料消耗不得偏离定额太多,例如允许波动幅度为20%,否则只有基本工资。或者说每碗面规定需要添加的牛肉克数,一批牛肉的总量是固定的,拉面的卖出量是可以计算的,多少碗面放多少斤牛肉限定住了,哪个加牛肉的要敢给我多加或者少加,工资就对不起了。还是底薪加提成工资,老板自己心里得算清楚一碗面的成本是多少?利润是多少?如果牛肉放多了,客户多了,以牛肉最大量为定量,以面条量为变量,控制一下放面条的多少使自己还有利润可赚,这个就得有一个取值的过程了!虽然现在都讲公司效益与员工利益进行挂钩,股权分配是个好法子,但对于一个小店,搞什么股权激励,有点不切实际了。

              
              
              其次,我想饭店也是制造,必须有工作程序、定额消耗以及制度规范,可以没有书面东西,但老板必须心中有数才行。对这个小老板的拉面店来说,其实就是师傅以技术入股的方式和老板利润分配,大家都双赢。两个人合伙做,费用两个人摊,进行规划化管理。在工作程序上:比如制订sop,包括面条的量,水的量,肉的量等bom明确规定,制造方法、工艺也请大师傅标准化;在定额消耗上,也与上述的激励密切相联;薪水报酬上:参考社会上的平均工资和本店的盈利水平,结合师傅的劳动量、劳动结果(营业额的增加降低、顾客的反馈等)进行综合评定。

              
              
              此外,将复杂的事情简单化:老板娘放牛肉不就得了?关键的资源一定要掌握在关键的人手里!关键资源才是最重要的。老板掌握了店面的所有权,才可能有大师傅为他打工;老板娘掌握了牛肉的分发权,才有可能防止材料的浪费和滥用。不过,老板还应该再掌握大师傅这一核心的人力资源,怎么掌握还是一个难题……唉,人力资源……而且,作为小规模店铺,老板要熟悉每一个环节,才能做好管理。如果牛肉拉面老板很熟悉牛肉面的制作,师傅也不敢乱来。有效的经营监督就是这样。

              
              
              另外,任何工作除了要有监督、控制,其余的事情都可以通过沟通来解决。我们认为本例中没有一种好的办法能一劳永逸地解决分配问题,在这种作坊式的小企业里,老板与员工每天有大量时间接触,关系是否和谐非常重要。惟有靠小老板良好的个人魅力并善待下属,才会让大师傅内心产生归属感及满足感,积极工作努力为老板创造利润,到那时候牛肉的多少就不成麻烦了。
              
                 通过以上的分析,我认为管理应该是这样的:
              
               1.底薪加提成,提高积极性;
              
               2.不能把全线流程的权利都下放给大师傅,比如加牛肉;
              
                3.建立有效的制度,包括奖赏和惩罚,制度根据顾客的满意程度和利润来 建立;
              
               4.大师傅的工资提成不能只和销量挂钩,应该和老板的利润挂钩,比如一碗面中老板利润的30%是大师傅的利润;
              
               5.有效的沟通、激励,平时给大师傅精神的奖励,让大师傅认为自己也是面馆的主人。
             

posted @ 2007-06-16 17:51 锋出磨砺 阅读(203) | 评论 (0)编辑 收藏

请看看你的孩子具有下列的哪些特长:

  1.他在背诗和有韵律的词句时很出色;

  2.他能注意到你愁闷和高兴的情绪变化;

  3.他常常问诸如“时间从什么时候开始”的问题:

  4.他很少迷路;

  5.他的动作很优美;

  6.他唱歌时音阶很准;

  7.他经常会问打雷、闪电和下雨是怎样形成的等问题;

  8.经常说过的一个词你用错了,他就会纠正;

  9.他很早就会系鞋带,出人意料地早会骑车;

  10.他特别喜欢扮演什么角色并编出剧情;

  11.出外旅行时,他能记住沿途标记,说:“我们曾到过这个地方……”

  12.他喜欢听各种乐器,并能通过辨音认出它们;

  13.他地图画得很好,对物体描绘清晰;

  14.他善于模仿各种身体动作以及面部表情;

  15.就像喜欢根据大小和颜色把玩具分类一样,他善于划分种类;

  16.他长于把动作与情感联系起来,譬如他说:“我发昏了才做出这事……”

  17.他能够相当精彩地讲故事;

  18.他能够对不同的声响发表议论;

  19.某人被引荐,他有时会说:“她使我想起了谁。”

  20.对别人能完成与不能完成的事他能做出准确的评论。

  这其中,1、8、17表现出的是语言才能;6、12、18表现出的是音乐才能;3、7、15是逻辑数学上的才能;4、11、13是空间上的才能;5、9、14是身体动觉才能;10、16、20是自我认识才能;2、10、19是他人认识才能。

  倘若你对上面的某项才能有关的三个问题上都答“是”,那么,你的孩子就可能具有那一才能。

  苏茜能把钢琴弹得如梦一般,保尔能把破收音机整旧如新……但一纸书面的智商测查值并没有反映出他们的能力,反倒往往使这样的孩子遭了殃。实际上,孩子具有许多专家门测查不出来的能力,波士顿大学医学院神经学教授霍毕德·加德纳作了创造性的研究,认为孩子有六种基本能力,他们在受到鼓励以后,至少会在其中一个方面得到发展。读一读他关于这六种能力的描述,可以帮助我们找出并培养孩子的潜在特长。

  语言方面他很早就是个兴致勃勃的交谈者,他能用自己加工过的词名,很擅长学会一些新词汇或长句子,喜欢写诗或讲故事。很早就学着独立读书。

  怎样使他得以发展呢?每天晚上上床时读书给他听。适当给他提供足够的书籍。要求他背诗,大人也背一些。玩文字游戏……对他写的或背的每项东西都应有所反应。

  音乐方面他可能会倾听取暖散热器、汽车喇叭、打字机按键……所发出的音响。很小时他就喜欢摸琴键,并站住谛听。即使没有歌词,或是换了乐器,他也能知道是熟悉的曲子。他学新歌快而准。

  促进他音乐才能的方法是,给他唱歌,租一部钢琴,买一支长笛,请一位适合的辅导老师,进入一个有音乐附加课程的学校,等等。

  逻辑数学方面他擅长下跳棋和象棋,喜欢抽象思考,能很快地搞通一些等量关系。(2天=48小时)。

  给他一个透亮的塑料玩具盒,他会分门别类地装些小玩具。时常伴着他玩玩棋、牌,那怕他屡屡得胜。如果能就近为他寻找几个有数学才能的伙伴,那他们就可以组成个“数学俱乐部”了。

  空间方面他有丰富的想象力。比如基娣,她4岁时就想用立体画法画奶油箱子,今年15岁的她艺术上成绩不凡,正筹划做一名摄影家。

  应该给这样的孩子从小提供画画的场所,还应用粘土、塑料造型等。带着他到陌生的地方去远足,并请他把走过的地方画下来。让他学学肖像的绘制和其他绘画课程。

  身体动觉方面有很大成绩的运动员和舞蹈家都有这方面的天赋。这种天赋是两种基本技巧构成的:使自己动作优美和熟练驾驶东西。许多工程师也有这一才能。如果你的孩子对翻跟头、游泳、骑车一学就会,在穿针、使用多种工具、拆装钟表和收音机等方面都挺顺手,那他就有这方面的天赋了。

  把孩子推荐到舞蹈或体操、体育的小俱乐部去,尽力而为地为他提供些装修机械或电子玩艺。学校的体育运动或木工活对他很适合,在运用肌肉、神经、技巧的天地里,他会十分超众的,这些天地含有工艺和文体表演。

  对己对人的认识方面一般我们长留心孩子认识自己的缺点,但那些懂得如何计划和使用自己才能的孩子,我们往往是在他们长大后才发现的。认识别人的能力不难发现,他常会注意到别人的变化,看侦探书或惊险影剧,并能很快指出坏蛋。

  如果孩子能认识自己,那对其见解一定要加以赞扬。如果他能认识别人,那对他参加“侦察小组”的游戏是挺有益的。对于这两方面的才能兼有的孩子,参加表演短剧是很好的形式,表演之后可同他一道讨论人物的个性,并让他对每一个家人做大致的描述。

posted @ 2007-06-09 13:48 锋出磨砺 阅读(164) | 评论 (0)编辑 收藏

《三国演义》里诸葛亮杀魏延只因他不会来事儿(1)
2007-05-17 10:33:28 谈歌 人民网 查看评论
    翻翻《三国演义》这本书,举凡蜀国的重大军事活动,魏延总有份,总是冲在前边。也真是不容易。谈歌看老魏,也算是个老实人,也没争过什么待遇(反正书里没写),你说亏不亏吧?干了这么多工作,倒了,诸葛亮也没看上他。
    
    读罢《三国演义》,总觉得魏延挺冤的。怎么稀里糊涂就让诸葛亮给杀了呢?老魏到底怎么了?细想想,老魏也没犯什么事儿啊。说他反叛,也没有证据啊!说到底,他一开始就不应该来刘备这个单位来工作。
    
    十多年前,谈歌读过一个剧本,川剧,名字忘记了。就是写魏延这点冤枉事儿的。谈歌总感觉剧本写得不透彻,更不准确。剧本说诸葛亮动了杀心是因为忌妒魏延,这样的说法有点儿牵强。
    
    诸葛亮未必这样小心眼儿,魏延的能力和智力都赶不上诸葛亮,诸葛亮没必要忌妒他啊。这个川剧里的诸葛亮有点像小肚鸡肠的周瑜了。有点儿贬低诸葛亮的意思。
    
    诸葛亮为什么非要杀了魏延呢?咱们得分析。
    
    最早,老魏是在刘表手下工作的,身份么,也就是一个基层小干部。刘表死了,家里财产分配不均,闹事儿。为什么闹事儿,因为刘表娶过两个老婆,两个老婆都有儿子,肯定不是一条心么。于是刘表前窝儿后窝儿的两个儿子闹着继承遗产。打起来了,还打成了一锅粥(这种事儿,当今社会也有。不新鲜)。
    
    刘备作为刘表的远房同宗兄弟,大概也是穷疯了,也想进来掺和掺和分点什么遗产。可难度太大,你想想啊,这一家子都盯着刘表那点遗产呢,跟乌眼鸡似的,外人能捞着什么油水啊?刘备不死心啊,管他呢,有枣没枣三杆子。走过路过,不能错过。他还真掺和进来了。
    
    刘备假借奔丧,想进襄阳城,可人家的城门关着呢。魏延也没有请示领导,就私自跑出来欢迎(这叫没眼力架,领导没说话呢,你急着欢迎个什么劲啊?),这应该是魏延第一次露面。
    
    城里的人可都明白刘备那点儿心思,乱箭射下来,刘备眼看着人家不欢迎自己,也没大脸进城了,掉头走了。魏延也进不了城了,也落荒跑了。他投奔长沙太守韩玄了(人有本事,到哪也成,魏延不是白给的)。我们猜测,魏延这第一次露脸的原因,大概就是想到刘备的企业里来上班儿。
    
    魏延第二次露面的时候,就赶上关老爷攻打长沙,黄忠也是长沙市的老干部了,他跟关羽在战场上相遇,本来应该刺刀见红,可是黄忠出卖企业利益,做人情交换。原因是关羽放了黄忠一马,黄忠就饶了关羽一箭。这算什么啊。这跟现在的足球场上互相放水有什么区别呢?有些书评家还跟着喊好,说黄忠是有情有义之人。这不是瞎起哄吗?
    
    两军阵前都杀红了眼了,黄忠玩这套把戏,真是跟踢假球没有区别了。那韩玄在城头上看得清清楚楚,他能不急眼吗?好啊,姓黄的,你吃里扒外啊,我白给你开工资了,我白给你年终发奖金了。来人啊,把黄忠绑到刑场上去。给我杀喽!形势危急之下,魏延又面了。
    
    他是个能干的人,也是个聪明人,他大概在韩玄的企业里干得不如意,一直也没有提拔起来,也就是一个一般干部,他早就想跳槽,到刘备的公司里去干活了。这下算是有了机会了。于是,老魏拎着大刀片儿,闯了法场,救了黄忠,杀了韩玄,开了城门,把刘备放了进来。至此,韩玄这家公司算是破产了。

这一通紧忙活,魏延先生肯定得累出一身臭汗,也算是有功了吧。没有魏延,您刘老板想攻下长沙,得增加成本,追加投资啊。刘备诸葛亮至少得跟我老魏说声谢谢吧。至少也得摆一桌请我老魏一顿儿吧。
    
    可是满拧,天底下有时候就没有道理可讲。诸葛亮不干。他硬说魏延脑袋上长着反骨。非要杀了他。读书读到这里,真有点让人替魏延寒心。旧话说,女怕上错床,男怕入错行。魏延可是也没上错床,也没入错行,他就是帮错忙了。
    
    人家刘备打长沙,这里边其实没你魏延什么事儿。你急着插什么手啊?你这叫破裤子乱伸腿么。想立功受奖?你得看看人家待见你不,喜欢你不,现实生活中,像魏延这样急于跳槽的事例并不乏见。
    
    中国人常常讲一个俗话儿:树挪死,人挪活。是不是这样?可得具体分析。你得挪好了,你要是挪不好,也得死。比如说,你真看中某一个单位或者企业了,左思右想,前后核计,总觉得这个单位十分合你的心意。你真的看中了这个单位的办公条件,工资待遇,而且这个单位也同意你调入。
    
    但是,你可别天真地傻想,这下儿我可如愿了,到了那里如何如何大干一场,建功立业,最大限度地实现个人价值。你一定得先了解一下这个单位的人事关系如何,是不是真的适合你。
    
    如果你调进去了,很可能你就是“掉”进去了,如果跟新单位的人事关系搞不到一起,你就算是栽了。如果再跟顶头上司搞不到一起,你就更栽了。你就得跟魏延似的,忠心耿耿,一腔热血,豪情壮志地来到了刘备的企业上班儿,可是人家的主要领导诸葛亮先生一见面就不喜欢他啊。还一定要杀了他。这可太别扭了。
    
    说到“战长沙”这一段,其实挺没劲的。如果我们不相信相书上的话,那么诸葛亮刚刚跟魏延见面,就要杀魏延,就是有些找碴儿了。或者说,这两人天生就不对眼。读者别误会,谈歌这绝不是讲迷信,现实生活的经验中,这种事儿真是不少。无论你如何积极要求进步,领导就是看不上你,你也真没有办法。
    
    举个例子,谈歌有个朋友,是一个单位的领导,姓周。老周就对谈歌讲过,单位有几个人,他就是死活看不上。其实人家也没有什么错,可是他就是看着人家别扭。用老百姓的话说,这叫犯相。
    
    跟他犯相的这几个人当中,谈歌还熟悉其中一个,姓李。老李也很头疼地向谈歌诉苦,说周领导不赏识他,无论他怎么卖力气干活儿,怎么为企业出谋划策,周领导也不喜欢他。
    
    谈歌劝老李:别着急,慢慢的,时间长了就好了,周领导还不大了解你么。老李苦恼地说:关键是周领导不愿意了解我。还怎么了解我啊?最后,老李得出了结论:我跟周领导犯相。
    
    这实在是人性的弱点啊。生活中,人们常常被这种弱点伤害着。而这种事情常常说不清楚,讲不明白,更摆不到桌面上。再往深里想想,人们在生活中不是常常被这种“犯相”的现象困惑着么,如果你跟某个领导犯了相,你说得对也是不对,你说得不对更是不对。总而言之,你怎么着也不对。
    
    魏延算是跟诸葛亮犯了相了。经验告诉我们,跟领导犯相的人绝对不会有好果子吃。这可是自古以来,存在于人事关系中的一件特别尴尬的事儿啊,真是不容易解决。中国还有句话,叫做日久见人心。可是现在这话不大实用了。用不了“日久”,如果领导跟你犯相,过不了一个礼拜就得把你炒了鱿鱼,还见什么人心啊。你见“伤心”吧。
    
    如果你去应聘,你遇到一个跟你犯相的考官,你肯定连面试这一关都过不了。就算你是怀揣着绝技,就算你揣着外国留学回来的学历证明,就算你是MBA推荐来的,就算你揣着一叠子钞票,想面试过后请人家撮一顿儿,可人家就是不用你。就是看着你别扭,看着你不顺眼。你还真没辙。
        你还想请客么?你就是请人家喝茅台,喝XO,吃燕窝鱼翅,人家也不稀罕去。古时候那位揣着和氏玉到处献宝的先生,肯定遇到了一些犯相的人,不仅不认和氏玉这块宝贝,还让人家把手脚都跺了。更惨。这岂不是抱着猪头,进不了庙门么!你就叫撞天屈吧。
    
    刘备还算是顾全面子,第一把手嘛,总要顾全大局。他劝住了诸葛亮,这才算是留下了魏延。是啊,真要这时候杀了魏先生,传扬出去多不好听啊。损害企业形象啊。人家谁还敢来投奔啊。咱这刘氏公司刚刚成立,正是招工的时候,可别弄出乱子来啊。行了行了,孔明先生啊,看在我老刘的面子上,先让魏先生留下吧。先试用一个月嘛。
    
    魏延总算是别别扭扭、委委屈屈地在刘备的公司上班了,可魏延从此算是不走运了。他在蜀国流血流汗干了几十年。从长沙一战开始,出生入死,大小战事,几乎都少不了他。都五六十岁了,还扛着大刀片儿,跟着诸葛亮到处打仗呢,还当过不少回先锋官呢,遇山铺路,见水搭桥的苦差事也干了不少回。
    
    翻翻《三国演义》这本书,举凡蜀国的重大军事活动,魏延总有份,总是冲在前边。也真是不容易。谈歌看老魏,也算是个老实人,也没争过什么待遇(反正书里没写),你说亏不亏吧?干了这么多工作,倒了,诸葛亮也没看上他。看不上就看不上吧,诸葛亮临死,还给人家下了一个死套儿。魏延同志怎么了?你们当领导的还讲不讲理了?
    
    这件事无论怎么讲,也是诸葛亮的不对,你诸葛亮临死前倒是抽出点时间找魏延同志谈谈啊。你诸葛亮可是当领导的啊,怎么也得有点当领导的风度啊,用现在的话说,连个政治思想工作都没有,就安排杨仪马岱这些人往死里收拾魏延。
    
    这里边就有了说法:第一:你诸葛亮为什么不亲自杀,把杀人的任务交给了杨仪和马岱?是不是诸葛亮也觉得杀魏延心虚,下不了手啊?
    
    第二,如果魏真的想叛变,他至于还跟杨仪叫劲吗?说句明白话。魏延也就是觉得自己多少年跟着诸葛亮出生入死,功劳苦劳都有了,可什么待遇也没有,至少也没有封个什么(随之的住房条件也没有什么改善,薪水奖金也没有什么优厚)。他如果心中怨恨诸葛亮,倒也是在情理之中。魏延先生也不是泥儿捏的。就算是泥捏的,也得有个泥性儿吧。
    
    三,魏延就算是反对诸葛亮,可也不是叛国啊。这顶多算上下级闹矛盾。魏延对撤兵的事说得很清楚:不能因为丞相死了,就把国事废了。该伐魏还得继续伐啊。这里边没有一点叛逃的意思啊。顶多是魏延不同意诸葛亮的遗嘱罢了。也犯不上给杀了啊?
    
    可是,上级领导看不上你了,你还能怎么样呢?这是砧板跟鱼肉的关系。魏延高低还是钻进了诸葛亮布下的套儿。在汉中城门口,让马岱给杀了。诸葛亮和魏延这两人的上下级矛盾(或者叫:犯相的矛盾)才算画上了句号。
    
    也别说人家刘禅窝囊废,往往窝囊人办事更厚道。在处理魏延的后事上,他还真办了一件厚道事。不仅没有追究魏延家里人的罪,还把老魏给厚葬了。其实,本来就没有魏延什么错么。刘禅再笨,这里边的事情也看得清楚。
    
    如果我们猜着说,刘禅也是惹不起诸葛亮,丞相看不上的人,我刘禅敢看上吗?我就是看上了魏延,我敢重用他吗?如果我们再猜着说,如果魏延能够躲过诸葛亮的黑手,侥幸大难不死,诸葛亮之后,刘禅肯定能够用他。
    
    老魏有功劳,也有苦劳;有资历,也有资本啊。可是老魏能躲过去吗?肯定躲不过,诸葛亮已经决定整死他了。他肯定活不下来。
    
    老魏啊,你真是有点冤了。
其实,如果反过来想想,魏延也不冤。谁让你不会来事儿呢?诸葛亮看不上你,又不是一天半天了,都几十年了,这决不是诸葛亮审美疲劳,人家跟你老魏一开始就不对眼么,你老魏心里能不明白吗?你这在这种环境里工作,天天上班不抑郁吗?

    
    你怎么就不想着改善一下上下级关系呢?想办法联络一下上下级感情呢?比如,逢年过节,串个门子。诸葛领导闹个小病儿,你买点东西,上门去看一看。热乎话多说点儿,少提意见,多干活。诸葛亮说东,你就说东;诸葛亮说西,你就说西。诸葛亮说公鸡会下松花蛋,你就说你亲眼见。不就齐了么。你没事提什么意见啊。
    
    你建议诸葛亮进攻什么子午谷啊?你这叫卖弄。你比领导还明白?领导当面夸你聪明,你可别当真。这就恨上你了。指不定什么时候收拾你呢。领导也有自尊心。你别伤了人家。
    
    其实与老魏同时代的还有一个杨修。也就是太爱在领导面前卖弄。把脑袋混丢了。往宽处说,你魏延还有一步路可走,你辞职跳槽啊。此处不留爷,自有留爷处。你有技术,有本事,再另找个薪水高的企业也不算是难事么。你干吗非在蜀国这棵树上吊死啊?老魏死心眼儿么。
    
    如果说魏延冒犯过诸葛亮,大概就是上边说的献计出兵子午谷的事儿。别的,魏延还有什么错儿呢?书上没写。其实这人啊,如何处理与领导的关系,真是一件大事情。你别指望你的工作如何如何干得不错,领导就信任你了。你也别指望你如何带病坚持工作了,领导就喜欢你了。
    
    从魏延身上,我们后人应该汲取点教训。也就是说,如果你遇到了一个不待见你的领导,你先试着跟他改善关系,如果你真是应该改善的都改善了,还是实在改善不了,谈歌劝你还是赶紧着卷起铺盖走人。
    
    再举一个现实生活中的例子:河北某报社有一个记者,是谈歌的老朋友,也算是河北一个小有名气的记者了,写过不少好文章,可他早几年辞职去了深圳,也是当记者。
    
    谈歌问他,你跑到深圳去干什么啊?深圳的工作速度快,你多累啊,你缺钱啊?还是想干什么?
    
    他告诉谈歌:我也不缺钱,我也不想怎么着,就是我在原单位跟领导闹不来。他挺悲伤地说:不管我怎么卖力气干,可是领导就是看着我不顺眼。我还是出来吧。
    
    谈歌说,你就没有想办法改善一下关系么?
    
    他说:算了,太费劲,你想跟领导改善关系,近乎一点吧,他认为你想巴结他。你敬而远之吧,躲着点吧,他说你看不起领导。近了远了都不是。怎么呆着都别扭。我干脆出来算了。这也算是一个犯相的例子吧。
    
    爱思考的读书人,对杀魏延这一段还有另一种猜测,说诸葛亮根本就没有布置杀魏延这回事,是杨仪假传诸葛亮的话,让马岱杀了魏延。因为他们两个在工作中一直矛盾很深。杨仪乘机报了私仇。有这种可能吗?也算一说吧。
    
    放下《三国演义》,讲几句正史。历史上的魏延之死,跟诸葛亮没有关系。魏延最终死在了官场争斗上。是因为蜀国内部争权夺利,魏延陷进去了。魏延在汉中做过十余年的太守。也就是相当于现在的市长。他这十年的市长当得很好,民间的口碑不错。现在汉中市的虎头桥还存有魏延的碑。
    
    近年兴起了旅游,谈歌也去汉中游览过,汉中市内还有一条街,是为了纪念魏延起的名字(中国的老百姓有良心啊,谁给老百姓做了点儿好事,后人总记挂着啊)。叫什么路?谈歌一时忘记了。
    
    大概历史上的魏延还真算是一个好官。


posted @ 2007-05-18 09:08 锋出磨砺 阅读(394) | 评论 (2)编辑 收藏

其实人何须虔诚沐浴去登山朝圣拜佛,自己的母亲根本就是活观音。
母亲和父亲从乡下来到城市帮我们带孩子,刚开始的时候,不是很习惯。
现在两个人搭班,每天快乐的和小孙子在一起,我内心很快慰。
谢谢妈妈和父亲。

posted @ 2007-05-13 11:21 锋出磨砺 阅读(121) | 评论 (0)编辑 收藏

透视迭代开发2007-04-23 来自:java060515


引子:我们为什么需要迭代开发?

  我们都知道,人对于世界的认识是一项主观活动,它受到各种因素的影响,使得我们不能够一下子对所要认知的事物有一个清晰的了解。具体到软件开发中来,我们会发现,你很难在开发之前弄清楚客户所有的需求。一方面,客户对自己想要什么可能并没有一个明确的想法,这就好比在买衣服的时候,我们在专卖店里看到一个衣服,会觉得自己穿起来很帅,但是你仍然需要把它真实的穿在身上才能看到实际效果,而在你看到这件衣服之前,你能够仅仅凭着想象在脑海里刻画出这件衣服的样子么?

  其次,软件工业中我们讲究的是投入和产出比,软件业的成本主要是人力资源的成本。这也是软件项目对时间特别敏感的原因。时间比计划延长一个月,对于一个数十人的团队来说就意味着几十万的成本增加。但是又有谁能够保证自己所做的软件是完美无缺的呢?于是很多时候我们必须对已经开发的部分进行修正,而修正就需要时间。 传统的开发方式下,很多软件项目都是在匆忙交付后发现用户不满意,于是继续修正,再次引发用户的不满意,再次修正,在这样反复地拖延中,客户和软件开发商都筋疲力尽。

  我们需要迭代开发,是因为我们深知对事物的认知就是一个探索的过程,软件开发也是一样。在温博格《探索需求---设计前的质量》一书中提到:

  美国第34任总统艾森豪威尔上将曾经说过,"计划本身什么都不是,而编制计划的过程就是一切"。我们认同这样的说法,并把它推广到需求过程:产品什么都不是,而开发的过程就是一切。

  或用另一种方式表达:发现什么都不是,而发现过程(探索过程)就是一切。

  软件项目本身的意义就在于和用户一起探索他们真正需要的东西并且帮助他们实现。而这种探索,如同在第一段中我们阐述的那样,需要不断的反复,如果我们没有做好迭代和反复的准备,而是希望一次性的把所有工作都做完并且还做得非常好,结果可能恰恰相反。

  我们需要迭代开发,是因为我们追求软件质量的最大化。没有人可以制造出完美无缺的东西,但是我们可以通过不断的检查和反馈,使得那些不适合的东西在早期被暴露出来,迭代给予了我们这样一种检查合反馈的机制,让我们不必在事情结束的时候才惊奇的发现我们所一直努力在做的东西其实是一堆废物。

  实践:正确实施迭代开发

  事实上在业界,迭代开发的观念早已经深入人心,然而有多少团队在正确地实施着迭代方法呢?有多少团队通过迭代得到了他们想要的东西呢?很多人简单的把迭代理解为开发的分阶段进行。我们常常看到有项目经理们这样说:我们打算通过4次迭代完成软件的开发,第一次迭代,完成需求分析和软件设计,第二次迭代,完成多少多少模块的开发,第三次,完成其他多少模块的开发,第四次,配置,部署,上线,测试,修正软件bug。虽然我们言必称“迭代”,但是这样的迭代和过去传统的瀑布型开发有多少区别?我们又能够从这样的伪迭代中得到什么好处呢?

  在本文以下部分将对迭代开发实践中几个关键方面进行阐述,这几个方面我们概括为以下关键词:变化,周期,目标,反馈,合作。

  变化
  迭代思想带给我们最重要的一个启示,就是要适应变化,要积极、主动地拥抱变化而不是拒绝变化。

  在过去的开发中,我们常常会拒绝变化,以需求分析工作为例,有些项目组在需求分析完成后会要求用户签字,等到交付时,如果客户有什么意见,他们就会拿出那份客户已经签字画押的文件来理直气壮地说:这是你们签字过的东西,我们做的难道不是和这里所说的一样么?

  是的,开发出来的可能是和需求定义文件的内容一样的,但问题是:这份需求定义文件上描述的内容是不是真正能够帮客户实现自己的价值呢?难道我们进行软件开发的目的就是让客户在一份他们根本不清楚有什么意义的文件上签字,然后用这个来反驳用户的真正需求么?我们在软件立项之前总是会告诉用户,这个即将开发的软件会帮助他们如何如何。我们有什么理由为我们做不到这一点而理直气壮地责备客户呢?客户亲笔签名的需求文档难道不是我们整理出来并且讲解给他们听的么?

  如果一个软件项目的目标是帮助客户实现某一方面的增值,但是这种增值的目的并没有达到,我们就可以认为这个软件项目是失败的。即使软件厂商通过这个项目达到了盈利的目的,满腹牢骚的客户也会把自己的意见传播出去。而如果软件厂商认为这种事情是天经地义的话,那么它在以后的软件项目中也很难帮助自己的客户实现他们想要的价值。

  我们必须让自己具有适应变化的能力。因为这种变化是客户需要的,因为这种变化能够让软件更能体现出自己的价值。我并不是说应该无条件地接受这种变化,但是我们可以在事前就这些问题和客户进行充分的讨论和沟通,让他们明白,世界总是变化的,需求本身可能会变化,而这种变化需要人力和物力的支持。让客户也能够适应自身的变化,这是非常重要的。

  将剩余的工作列入下一次迭代计划中去,
  将本次迭代的结束时间向后延迟,等待任务的完成
  前一种办法适合于有很大工作量没有完成的情况,这可能也同时说明计划的制定有问题,在制定下次迭代计划时应该考虑对任务完成时间进行调整。后一种办法适合剩余工作量不是很大的情况。

  通常来说,一次迭代完成以后应该有一个产品的新版本可用。这也就意味着:将集成和发布分散到每次迭代中去。借助于一些自动化工具(比如ant),我们甚至可以做到每日构建。

  一个迭代周期应该有多长呢?这并没有一个统一的说法,而是应该视目标和可用的资源而定。但是,迭代周期不宜过长,也不宜过短。迭代周期过长的话,会延缓反馈的时间,可能将许多问题隐藏或是堆积了起来。迭代周期过短,会让人身心疲劳,事情难有大的成效。一般来说,迭代周期应该在2-6周之间。如果安排的迭代周期超过了两个月,你可能就必须审视一下迭代计划的合理性了。

  不要认为下一次迭代应该和上次迭代的时间差不多,刻板地把所有迭代规定一个统一的时间是一个很坏的做法。但是你可以把以前迭代周期中的工作效率作为估算下次迭代时间的一个依据。

  目标
  一次迭代必须有明确的目标:我们希望通过这次迭代达到什么目的。在制定目标时,应该同时考虑另外一个问题:如何检查该目标是否已经达成。这就是所谓的“里程碑”。

  迭代计划必须有明确而可行的目标。明确的意思是它应该是可度量的,不能太模糊,因为你很难检查一个模糊的目标是否达成。比如,我们可以说,这次迭代的目标是对xxx方面的需求作进一步细化和评审,完成xxx模块的开发以加入到软件的下一版本中去。这样的目标是明确而且可行的。反过来,如果我们这样说:我们要通过和用户的讨论明确绝大部分愿景,同时要有一个初步的开发。“绝大部分”和“初步”这样的词让人感到困惑:多少是绝大部分呢,在总量尚未明确的前提下,怎么能够知道完成的确是“绝大部分”而不是“一小部分”?“初步的开发”似乎告诉我们这次开发量比较小,但是具体开发哪个部分,或者开发到什么程度,并没有指出一个明确的概念。

  由此产生了一个困惑,软件项目是一个不断探索的过程,我们怎么能够明确地对未来的事情作安排呢?譬如在项目初始调查用户愿景时,为了实现“明确”的目标,是否这样定义任务:完成20%的用户愿景调查?

  很显然,用户愿景总量到底有多少我们并不知道,所以在这次迭代完成以后如果我们问:是否真的完成了20%而不是15%?很难得到答案。

  为了避免出现这种情况,你必须换个角度来看问题,比如我们可以说:对xxx部门和yyy部门的用户做愿景调查。在迭代完成后,可以检查是否这两个部门所有用户的访谈,调查都已经完成,是否这些部门每个人都认为自己表达了全部的意思。

  所以,如果你发现很难对制定的目标进行度量,那么换一个角度来看事情吧,你可能就会找到一个合适的表达方式。如果你从所有的角度都看不到事情是可以度量的,那么这可能意味着这件事情可能还没有到应该去实施的地步,这时你应该把它从迭代计划中去掉。对于这种情况,有人可能会说:那我们这次迭代可做的事情就很少了,如果真是这样,那就进行一次小的迭代吧,可能把这次迭代的工作做完了以后就会有更多的工作可以安排了。

  有些项目经理在日程表上,很详细地写着:第一次迭代,某月某日到某月某日,第二次迭代:某月某日到某月某日,第三次迭代。。。这样的做法是不恰当的。因为它假设了后面几次迭代的任务量,但是实际上,在前面的工作完成之前,你很难对以后的工作得到一个明确地概念。而且在这样的计划上,可能并没有用于测量迭代成果的里程碑,这样的迭代最后很可能会演变成为瀑布式的开发。所以,在一次迭代完成之前,不要对急着去计划下次迭代,特别是不要试图精确定义下次迭代的时间,因为你连下次迭代要做什么都还不清楚。

  为什么目标的可度量性这么重要呢?在团队开发中,很多信息因为人与人的交流不畅而无法得到正确地反馈,这让我们没有办法实时地掌握项目的进展情况,退而求其次,我们必须阶段性地了解这些信息。如果目标难以度量,迭代结束后我们很难明确到底有哪些工作没有完成,也就无法看到事情的问题所在。

 有些团队中会要求每个成员每天对自己的工作进度以百分比的形式做汇报,他们以为通过这样的方式可以确实的掌握事情的进展,但实际上并不行,因为软件开发中存在很多不确定因素,有时候我们认为事情已经完成了一大半,但是可能因为技术或者其他的原因发现这一大半工作方向是错的,这时候就要推倒重来,而且人们在汇报工作量的时候总是会有一些感情的因素在里面,这就使那些看似精确的百分比打了个折扣。

  所以,我们需要更加实际和细致地划分工作,对目标的完成情况进行度量。这也是迭代周期不能太长的一个原因:如果你把大量有前后关联的工作划分入一个迭代周期,在设定的结束到来时,突然发现只完成了一小部分,这时候虽然亡羊补牢仍然可以,但是中间浪费了大量的人力和物力。

  反馈
  一个男人在大街上走着,他并没有发现裤子上的拉链已经松开了,虽然看到这个情况的人有很多,但他们有各种各样的担心,比如不想多管闲事,怕让那个男人难堪,或者干脆就是想看笑话。结果就是这个人继续穿着一条敞开拉链的裤子在大街上行走。

  这件事情至少带给我们两个启示:1,得到反馈是重要的;2,要想得到正确的,有价值的反馈,你需要其他人的配合。

  对于用户需求来说,没有用户及时地反馈,我们就可能把那些不符合需求的开发继续下去,由于软件中各种功能和模块的依赖性,这种不符合最后可能被放大到数倍。越迟得到反馈,问题可能就越大。

  软件开发中一个很重要的概念是“可行性”和“合理性”,无论我们做需求,设计还是开发,集成,测试,都会遇到这两个问题。有些事情的可行性和合理性是我们可以通过事前的分析进行判断的,但是有些问题就必须有一定的实践作为基础。这也是一个反馈的问题。譬如说在某项目中技术架构师决定采取一个技术架构,但是经过一些阶段的开发发现它有一些技术上问题不能实现用户的关键需求,这时候就必须放弃它。

  “反馈”意味着两个意思,对一件事情的调查和根据调查做出决策。

  在意识到反馈的重要性之后,你会要求所有的人都对迭代的成果做出反馈。可能存在的问题是,是不是所有的人都意识到了反馈的重要性并且认真地去做了呢?如果客户认为他们只需要对迭代出来的产品“看看而已”,那么你就很难了解他们一些深层次的想法。再比如一次迭代中某些模块开发的进度比较慢,开发人员可能会抱怨技术方案不能满足要求,而实际的原因可能是设计不合理或者根本就是有人没有认真工作。

  中国国家队前主教练米卢曾经说过“态度决定一切”,反馈作为迭代开发中至关重要的一个方面,必须得到足够的重视。

  获得反馈的方式和对于反馈信息的分析是另外一个重要的方面。一般来讲,根据软件开发角色的不同,我们非常关注的是两类人的反馈:项目组之外的客户和项目组之内的各种实施人员。

  软件项目一般都会要求客户方安排专门的业务人员进行配合,在迭代开发中,这种配合不只是进行需求的整理和发掘,还包括对已经完成软件版本的评测。在这个过程中应该有需求分析师的配合。

  在每次迭代完成之后,软件项目组应该有一些总结和分析活动。通过这些总结和分析,找到做得好和做得不好的方面。

  在非迭代式的开发中,也有反馈的环节。比如通常在软件交付阶段会有一个试用期让用户提出意见。而软件团队在各种开发中都会有一些总结活动。迭代式开发的独特之处在于尽量早地引入反馈机制;使得反馈机制更加制度化;并且,更加快速和灵活地分析这些反馈,把得到的结论应用到下一阶段的开发中去。

  对于一些机制引起的问题,比如组织结构不合理,角色分配不明确之类。最好有一个明确的问题记录表。在每次迭代完成以后将这些问题记录下来,同时在下次迭代中努力改善它。如果相同的问题连续出现在几次迭代中,可能就说明项目管理出了问题。

  合作
  软件团队中的合作是人们一直都在提倡的。我们在这里提到“合作”的意思并不只包含团队内部的协作,还包括和客户的合作。

迭代开发需要快速反应,这需要各种不通角色人员的配合。如果人们做事情总是拖拖拉拉,就会延缓软件项目的进度。而且每个人对自己在迭代中应该做什么事情必须很清楚,这需要事前的准备和角色的合理分配。

  迭代需要用户的配合,实际上最好能够有客户方真正的系统使用者参加到迭代过程中来,因为他们是最有发言权的。很多项目中会让项目经理或是系统分析师担当客户代表的角色,这样做有很多弊病。有时出于各种原因客户确实不能到现场配合的,我们也可以通过其他的途径获得客户反馈。比如一个阶段迭代完成以后,可以把相关操作用截屏加文字说明的方式发给客户,让他们对产品有一个直观的印象。

  为了让团队能够有效快速地配合,应该尽可能使用各种自动化工具。比如自动化测试管理工具,以及配置管理,集成以及发布之类的工具。通过对这些工具的有效应用,使得各个成员能够快速获得信息。

  迭代开发要拥抱变化,主动适应变化。要让每个参与者都认识到这一点:不能够固步自封,或者满足于现有的成就,不去思考可改进的地方。从管理者的角度上,必须重视每一个反馈信息。

  迭代开发追求对任务的度量。很多组织会把这种度量和员工的绩效考评联系起来。这种做法可能是合适的,但是如果只是简单衡量工作量或者工作完成速度和质量,有可能会比较片面。毕竟软件开发是一个环环相扣的过程,表面上来看这个环节处理不好,实际上可能是准备工作做得不好,或者其他人的配合不好。

  所以如果在迭代过程中出现了问题,一定要客观地分析,特别是应该挖掘导致这些问题出现的深层次原因。譬如在一次迭代中测试人员发现了一些bug,但是两次迭代过去了,这些bug仍然存在,这就说明对bug的处理不够迅速(当然如果因为某些原因这些事情被故意推迟了的情况不算)。这时就必须分析一下到底是什么原因造成了信息的不通畅。而不能简单地批评相关责任人。

  总结
  本文对迭代开发的五个关键(变化,周期,目标,反馈,合作)方面进行了讨论。作为一种方法论,迭代开发的好处在于它使软件团队变得更加灵活。在实施迭代开发的过程中,应注意不能流于形式化,切实做好每个环节的工作,这样才能获得满意的结果。

posted @ 2007-05-12 19:21 锋出磨砺 阅读(152) | 评论 (0)编辑 收藏

软件开发公司技术管理办法的一个设想
2007-04-23 来自:java060515  [收藏到我的网摘]

1.目的

  为了规范公司软件技术的研发、使用及升级维护流程,加强公司对公共软件技术的管理,对公司公用软件技术生命周期进行有效的控制,提高公司软件产品的开发效率和质量。

  2.范围

  1. 公司级公共软件技术的研发和升级维护过程。

  2. 公司级公共软件技术应用过程。

  3. 公共软件技术包括:Delphi、.Net、Java、嵌入式开发4条技术线的软件应用框架、外购控件包、公共基类、通用技术解决方案、通用工具软件。

  3. 职责

  技术委员会:

  1) 发布公共软件技术的某个版本。

  2) 甄选和招募技术委员会成员。

  3) 收集技术提议,做出技术规划。

  4) 组织软件技术人员进行公司公共软件技术的研发。

  公共软件技术研发项目组:

  1) 负责公共软件技术的技术论证、开发。

  2) 对应用人员进行培训。

  3) 跟踪技术的发展,解决技术应用中的问题。

  应用系统软件项目组:

  负责实施和应用公共软件技术,对应用情况进行反馈。

  4. 控制流程

  1. 技术规划

  1) 技术委员会平时负责收集整理公司范围内的软件技术的自主研发、技术升级扩展或技术外购的提议。

  2) 每年定期(经理会期间),技术委员会组织人员对收集整理的提议进行评估筛选,确定下阶段软件技术研发的重点,并制定研发任务。

  3) 对于急需技术的提议,技术委员会随时组织人员进行评估筛选,安排研发任务。

  2. 技术论证

  1) 确立研发任务后,技术委员会甄选合适人员作为某项技术的技术研究员,对确定的研发任务进行技术论证和试验。

  2) 技术研究员收集和验证某项技术的技术资料,撰写技术可行性研究报告,明确技术自主研发或采购要求,人力和时间投入估算,预期收益等内容。

  3) 技术委员会组织人员对技术可行性研究报告进行评审,确定技术研发的策略,策略包括取消、继续论证、暂时挂起、进行开发。

  4) 对继续论证的技术重复1)-3),直到次技术的研发策略变化。

  5) 如果是由于目前公司资源不足或是目前形势尚不足以做出判断,可以让技术研发进入暂时挂起状态,等待重新提议和评审。

  3. 技术开发

  1) 对于技术可研报告评审评定为进行开发的技术,技术委员会组织人员进行下一步开发工作。

 2) 技术委员会甄选人员组成公共软件技术研发项目组,确定研发项目任务目标和工期要求,确定项目组负责人。技术研发项目组可以并入应用系统项目组进行管理。

  3) 研发项目的负责人指定详细的开发计划,并按计划进行开发工作,开发工作包括设计、编码、测试和撰写开发文档。

  4) 开发完成后,项目负责人组织相关人员对开发成果进行评审,一般情况下,技术总监、技术委员会主席以及技术应用的相关人员要参与评审。

  5) 评审不通过时,需要根据评审意见进行修改,然后重新评审。

  4. 技术应用

  1) 评审通过后,研发项目组负责撰写培训材料,对应用此项技术的开发人员进行技术应用培训。

  2) 如果需要,研发项目组成员进入应用系统项目组进行有关开发工作。

  3) 项目组指定一个此项技术的负责人,项目组解散。

  5. 技术维护

  1) 技术负责人跟踪此项技术发展,收集此技术的应用反馈意见,处理Bug。

  2) 技术应用的项目组把技术的改进要求和建议统一提交到技术负责人,技术负责人根据收集的反馈和对此项技术的跟踪情况,不定期向技术委员会提交技术升级提议。

  3) 技术委员会进行合并提议进行下一轮技术规划。

posted @ 2007-05-12 17:55 锋出磨砺 阅读(194) | 评论 (0)编辑 收藏

      国人对国人有句评语:一个人是条龙,三个人就是一群虫。其涵义是
      国人不够团结,团体战斗力不强,个体的战斗力比较强。
      而观目前社会的几个状态,想分析分析。
   
    1,年轻一代充斥了一种个性张扬,惟我独尊,不可一世的作风。包括
       了各种垃圾似的各种什么唱响,什么型什么塑,什么超女超男。唯
       不见好一点的团队竞赛。不知道我们的广电局以及文化部门吃便的
       脑子到底要干什么,却经常把一些好的反思的电影封杀。
    2,诺大的中国,没有自己的品牌企业,惟利是图,不择手段,短期眼光
       无视环境的恶劣。
    3,中庸复古,孔孟再现,这是一个好现象,但是太商业化,并且只有
       成型的成年人在关注这些。我们的下一代还在一个大大的染缸里接受
       着垃圾文化的洗礼。
    4,造就了我们一代(80后的占绝大部分)眼高手底,只会享受,经受不
       了压力,没有责任感,只有索取。当然也不乏优秀的人才,这些人才
       中缺乏了团队意识。往往这些人才在进入企业后,才培养到这种精神,
       但是这有些迟,同时也增加了企业的人才成本,这是一种社会成本到
       企业成本的转嫁。
      
    上面只是浅薄的分析了一下企业以后的人才的来源和这些人才的初始状态。
    当这些人才进入企业后,企业将面临着一个再培养的过程,如何将这些人
    才打造成一个能战斗的团队,将是我们面临的一个很大的课题。
   
    接下来我们举一个狭隘的拼图游戏的例子。
    有两个团队,a团队全部是正方形的,b团队是各种不规则图形。将这两个团队
    拼起来,不言而喻,a团队的拼起来的成本(时间,资源)是比b团队低很多。
    因为a团队只需要搬运和拼接。b团队需要搬运,寻找合适的接口,打磨改造,
    拼接。
    当我说到这里的时候,大家就有疑问了,那人才都是有个性的,不可能都是一个
    造型。问题恰恰就在这里,我们将来的人才必然都是b团队,a团队只是理想化的。
    那我们要做的就是减少成本,而不是不切实际的去寻找a团队这样的人才。
    我对我国中庸之道的理解是不支持个性,但求厚积。厚积的同时要踏实,而不是
    暴发户似的泡沫,唯有厚实才能长久。
    不管是个人的发展,还是家族的发展,企业的发展,国家的发展。都要有长期
    的扎实的积累并夯实了再积累,螺旋成长,前提是在正确的发展道路上。
   
    以上的分析给我的启发就是
    1,对于每个人才,提供他发展的高度空间,而用一系列的约束制度和激励手段转化
       他的膨胀能力到高度。也就是让这个个体拼图变的厚起来,而不是大起来,当
       他要大的时候,这叫自大,我们要想办法约束并压缩其变高,这种压缩的高,
       只是厚了,而并不实在,所以,我们同时要用激励手段(或者另外一种补偿)让
       个体自己自我冷却,自我实在。
      
    2,企业和团队文化的感染,这样的方法也很多了,例如:企业的员工都必须从底层做
       起来;从事多个部门的工作;企业领导者以身作则;组织团队间的竞赛;在西方的
       学校里面对这个的培养是值的我们学习的。
      
    3,在这样一个社会背景下,没有永远的成功,只有永远的努力,做企业也一样,但
       求无愧,国家这个机器如果运转不好,企业不可能做大。所以,同仁们,努力做
       吧,能够感染部分人,部分企业,让我们大中华有些盼头就算我们成功了。
      
      

posted @ 2007-05-07 09:42 锋出磨砺 阅读(164) | 评论 (0)编辑 收藏

个人评论:最难做的事是打破传统体制 进行改革;最难管的是人。做人做事,先做人再做事。

主题:人性的高估现象

转自:http://blog.sina.com.cn/luansir

 

 

几年前,我从北京乘火车去南方出差,在我同一软卧车箱中遇到一位已经退休的司长A,听说我从事管理研究,A就与我谈起他原先在机关工作的一段经历,让我分析:

 

 

A原来是南方一家大型国有企业的总经理,后调到国家机关一个司做司长,没有提升,平级调动,也许是照顾他的身体,这管几万人的总经理,现在来管三十多人的一单位,照理是小菜一碟。开始确实如此,他这个司是个政策研究部门,事不多,大家也很和气,很好。调来二个多月,就到春节了,这一过节,他感觉就不同了,这在原单位,一到过节,吃的,喝的总是有人送些,单位再发些,另外单位怎么也要给每人再发些奖金,大家欢欢喜喜过大年。可这机关,不但他没人送了,手下这三十几号人,也是清汤清水的,既没人送,司里也没什么发,一问才知道,以前一直就这样,他这个司,没有什么具体的权力,人家不用巴结,这个年过得不自在,他不是气自己一调动就没人送了,而是觉得自己这个司长没当好,让手下人跟着他委曲了。

 

 

第二年,他早早准备,凭他国有大型企业十多年总经理的经历,不费劲就化缘到一笔钱,春节前,他让办公室按照每人1000元的标准发给大家,作为节日奖金,这在当年,1000元可是一个不小的数字了,他这个春节过得高兴,心想手下应该更高兴,也应该更感谢他了,这个司从来没有过的事,他给办到了,不应该感谢吗?节后一上班,他以为大家都会到他办公室道个谢,没有想到,这样的场景没有发生,倒是办公室主任告诉他,大家有些意见,同事之间的关系也复杂了些,他仔细一了解,原来大家不是对发奖金有意见,而是觉得这奖金发得不合理,多数人觉得自己忙了一年拿1000元,有人一年也没做什么,也拿1000元,这不合理,他想也对,这奖金总得对工作好的多些,工作差的少些。第三年,他让办公室改进,奖金分为二档,一档是1050元,一档950元,这几个看来比较忙的人拿1050元,其他人拿950元,他想这下大家应该都满足了吧!没想到节后大家的意见更大了,有几个人都直接找到他这儿了,拿950元的人找来说,为什么他就拿950元,怎么就认为他的工作没干好?他还真没办法说,更令他生气的是,拿1050元的人居然也来找他,言明:这辛辛苦苦一年白干了,这比其他人多忙了这么多,到头来就值了100元,太不公平了。他这是气不过,这想着法子给你们大家发点奖金你们还不领情,还搞意见。得,第四年,他不化缘了,奖金不发了,他原想这发了二年的奖金了,这一不发,大家节后该找他了,没想到,节后很清闲,没有一个人找他,大家也没什么意见了。

 

posted @ 2007-04-27 17:56 锋出磨砺 阅读(176) | 评论 (0)编辑 收藏

——2007年2月4日品牌中国年会上的主题演讲

   为了盘点2006中国品牌年度盛事,推动“品牌中国”计划的全面实施,由品牌中国产业联盟、新浪网、《中国企业家》、《财经时报》、《第一财经日报》、分众传媒、航美传媒等机构联合发起举办的“第三届品牌中国高峰论坛暨2006品牌中国年度人物颁奖典礼”于2007年2月3日至4日在 北京隆重举行,“品牌中国总评榜(2006-2007)”正式启。新浪财经独家图文直播。以下为:首钢发展研究院企业所所长王育琨在“主题演讲:品牌价值与文化传承”上演讲。

  谢谢主持人,谢谢大家!

    今天的品牌中国盛会是一次誓师大会,是一次浩大的进军。中国需要品牌中国这样的品牌文化普及大会。

    一个懂得尊重品牌的民族,才会诞生伟大的品牌。一个拥有伟大品牌的国家,才能拥有不断前行的力量。

    但是,我们在这样说的时候,一定要非常警醒。因为过多的民族情感可能使我们永远与世界级品牌绝缘。在今天品牌中国的论坛上,提出了一些很煽情的口号。尤其是向文波总经理,反复强调“民族品牌”、“保护民族品牌”,我就有点紧张。

    为什么紧张呢?因为所有世界级品牌传达的不是民族自豪感。我们国家的很多品牌注入了过多的国家使命,注入了过多的民情感,而你看看世界级的品牌,它是不是宣传这个东西在里面,我们发现没有。而我们的品牌建设,往往自觉注入国家使命和民族情感。在全球一体化的市场中,没有人为你的民族自豪感埋单。美国人、西班牙人、摩洛哥人不会为你的民族情感埋单。人们只为自己的生活品质和生活方式埋单。沃尔玛抓住了“最便宜的折扣店”这一条,十年如一日塑造了今天的商业帝国。我们只要抓住了改变人类生活方式和生活品质这一条,就抓住了世界级品牌的关键。

    今天听到了不少品牌概念。我理解的世界级品牌本质的内涵就是:“改变人类的生活品质,改变人类的生活方式”。 世界级品牌传达的是一种改变人类生活方式的力量与自信。树立世界级品牌的理想,就是要树立改变人类生活方式和生活品质的理想。但是一说到这里,可能有人说说了,你要站在月球上看中国,我倒认为不是这样的。世界级的品牌并不是说你非要站的多高,而是像分众传媒的江南春一样,从人的生活习惯里面创办品牌。像沃尔玛那样,从邻里关系中提炼出“最便宜的折扣店”这个最强大的武器。

   论坛交给我的主题是中国为什么缺乏世界级的品牌。这是个人人都可以发表意见的题目。简单地说,

1、  中国市场太大了,一锤子买卖就能赚个没完,没有必要创立品牌;

2、  中国消费者太有爱心了,父爱主义泛滥,让中国企业长不大

3、  中国的环境太宽厚了,中国商业环境太宽厚了,做坏事、恶事的收到的惩罚很小,还有一大堆保护你的体制和人物。严师出高徒,没有严师,没有惩罚,人类懒惰的本性就削弱了品牌。

4、  企业家太弱了,弱者思维统摄了中国企业家。

我不太习惯宏大的主题。我喜欢跟3、2知己的寒窗夜话。我理解的建立世界级品牌,不简单是誓师大会,不能只是铿锵战鼓响彻云霄,也不能仅仅是磅礴气势震撼登场。应该有小桥流水和秉烛夜话。上个星期与深圳市一个负责同志的秉烛夜话,正好切入今天的主题。

上星期有位深圳的负责同志跟我探讨一个问题。他说你是研究企业和企业家的,你来分析一下怎么两个知名企业对同一件事有完全不同的态度和做法?他说1995年深圳梅观高速建成通车,华为和富士康在高速路的两侧,当时有个协议,高速路给这两个公司开两个出口,有这两个公司把开出口的钱在建成通车后拨给梅观高速公司。华为很痛快,按时拨付。而富士康现在还没有给。这是不是跟任正非和郭台铭的个性有关?这个问题太好了,把这个问题拿到今天的论坛上,提出了中国为什么缺乏世界级品牌的第一个要素:

创建世界级品牌的要素:企业家文化。

这位朋友说了两家公司的一个行为。从企业家文化的角度来解读有这样三个层次:

这个行为的背后,这个现实反映了贴牌生产与自主品牌的两重天的一个冷现实。富士康属于世界500强,而华为不是;富士康营业收入超过1000亿元人民币,而所纳税额为1000、2000万元;华为去年营业收入为528亿元,而所纳税额为40、50亿元;富士康收入大于华为2倍,而纳税仅为华为的400-500分之一。华为的纳税额接近营业收入的10%,而富士康却是营业收入的万分之一;税率1000倍的差异,税额400、500倍的差异。富士康的利润率可能只有1%,而华为的利润率为营业收入的50%左右。华为的最低工资,是富士康平均工资的10倍。华为人能够享受公司增长的红利。

在两重天的现实背后,是不同的观念。跨入宽门的郭台铭:起步容易,发展快,不用投入很多,开张就能赚钱进来,订单有了,劳工原料后续给,打败竞争对手,赚钱就是抠出来的;跨入窄门的任正非:起步难,创自己的品牌,走上了一条艰苦卓绝的创业之路,也走上了一条广结战略同盟的间接路线战略之路。靠20多年的积累,跻身世界建设巨子。

观念的背后是企业思维:郭台铭:苍狼文化,吃光了草地就换地方,围歼黄羊不惜牺牲草地,让黄羊吃得走不动、麻痹然后出击。一个地方吃完,就到另一个地方;任正非:以技术为本的价值创新。不是现在才搞,而是在2万元收入时,在一家挤在简易房中吃死鱼和拣烂菜时就拿出一半来稿研发!

思维后面是精神:郭台铭:做大了,我就是救世主,不论我是怎么起家的;任正非:警醒事物昙花一现的本质,警惕两次不能踏入同一条河流,华为还没有一项原创技术,保持一种刻骨铭心的自觉。品牌后面的精神,任正非达到了一个令人肃然起敬的高。这也是建立世界级品牌的第一个要素:企业家文化!

企业家文化的另一个重要体现:跟上公司这个生物的进化,掌握前端的理念和技术。

记得维克多·雨果曾经说,“你可以抵抗敌人军队的入侵,但你没有办法抗拒顺应时代需求而产生的观念。”当然,这个观念要向有力量,必须凝了很高的精神质素,同时还必须向波士登那样已经物化为“登峰造极”的现实,才会有雨果硕的力量。

今天联想集团的李岚来宣讲联想品牌的新进境,“一起奥运,一起联想。”我对联想全球化品牌的塑造,还是有一些忧虑的。

联想并购IBMPC以后,主要有三个里程碑的事件,一是改组经营团队,二是决定提前两年停止使用IBM品牌树立联想品牌;三是决定在全球复制联想中国的双业务模式。所谓双模式就是对大客户的关系型模式与对小客户的交易型模式。

在联想的2006年年终总结中和杨元庆的一系列答记者问和演讲中,都把双业务模式尤其是交易型业务模式说成是联想的核心竞争力。对此我有点担心。当然担心的不只是我,还有联想的高管。如,首席财务官马雪征,看上去就忧心忡忡。她直言不讳:“美国的形势最令人担心。供应链问题使联想很被动:我们创造了需求,但却未准备好去满足这种需求。” 马雪征抓住了关键问题:冷落消费者,会使消费者很快离你而去。主管供应链的刘军也是特别难熬:戴尔的制造基地周围是一大堆核心供应商,戴尔因此可以做到零库存,而联想却要全球分散去采购,加大成本还降不下库存。断货市场发生,因此让联想的主管们纷纷抢元件囤积,这就更增加了供应链的危机。

PC市场走过了产品性能、产品加服务、整体解决方案这样三个阶段,现在到达了敏捷供应链阶段。PC同所有制造业一样,已经不是产品、服务与价格的竞争,而是敏捷供应链之间的竞争。敏捷供应链就是一个虚拟大企业,由一个盟主和众多联盟员一起满足特定市场和客户的需要。现在不再是单体企业的一体化供应链决定乾坤,而必须是把上下游资源纳入一系列相关的联盟体系之中。戴尔的敏捷供应链,支持了戴尔的敏捷制造、敏捷物流、敏捷设计等等,是戴尔模式的重点所在。单体企业的一体化供应链已经不够,上下游资源纳入一系列相关的联盟体的敏捷供应链正取得势头。而且,敏捷供应链不是一个简单的观念变化,而是要从观念之上要到思维、精神,观念之下还要到现实运营。现实运营不是一天两天就能成就的,还必须有个积累。戴尔的敏捷供应链是戴尔20多年的积累。联想凭空而起,难上加难。

不从这样的高度,而仅仅区分两种业务模式,怕是联想乏力的根本所在。

联想面临的选择很现实:是寻进化的契机还是固守曾经的荣耀?

创建世界级品牌第二个重大转化:从私企到共器。

这个演化,联想没有抓住,许多中国公司都没有抓住。柳传志并不理解全球化的公司,其股东、客户、流程、供应链已经具备了公器性质。在2006年底中国企业家论坛上,学者王志乐说现代跨国公司是种社会公器,我们中国企业家还没有意识到这个转变。跟王志乐在同一个论坛上当嘉宾的柳传志则在一边评论说,“关于企业是公企还是私企的问题,现在企业我没有认为是公企。是否可以这样理解,中国国有企业是中国的公企?民企还是私企。私企还是要强调利润是第一位的”。把“公企”与“公器”混淆,说明虽然联想已经是国际资本主导下的联想了,但是当家人的观念还没有转过来。柳传志不会把联想作为公器来对待。那是他的命根子。

我们熟悉的三星案例。一般的认识,都是在亚洲金融危机的深重时刻,李健熙认识到自主创新的重要性,认识到OEM没有前途,于是洗心革面奋发搞研发。其实,李健熙更深一层的反思是,他看到他那100名董事会成员,100名高管,这100个生死弟兄,帮助他创造不了世界级的品牌,他必须改造董事会,在全球范围内引进独立董事,才可以保证三星走上正路。

品牌的内涵是宽越国界和民族的。品牌的建设也是跨越国界和民族的。跟不上这个形势,还是一切从现有企业的派系争斗和平衡出发,调配全球资源来建设世界级品牌,中国就不可能拥有世界级品牌。

对今天演讲的简单总结:创建世界级品牌,不仅仅要靠誓师大会,不仅仅要发起浩大的进军,更要有于无声处听惊雷的震撼,还要有一大批从事地下开掘工作的企业家。企业家本质上就是工作在地下的人,一个挖掘开采和探索地下世界的人,他谨慎、不动声色、不可思议、不为人知和不可动摇地向前推进,几乎看不到什么苦恼的迹象。而当他一旦走上地面,要么就是已经成功,要么就是个在四招摇的骗子。

因此,我要向誓师大会的发起人、参与者致敬,更要向在地下工作的企业家致敬!

主持人:

  让我们再次用掌声向王育琨先生致敬!其实王育琨先生就像他自己用到的词语叫震撼登场。

  刚才我跟波司登的高德康在一起交流的,高德康先生对王育琨先生的价是:敏锐、独到。

posted @ 2007-04-25 12:48 锋出磨砺 阅读(236) | 评论 (0)编辑 收藏

http://blog.csdn.net/g9yuayon/archive/2007/04/22/1574518.aspx
推荐,不管对与错,作者能够敢于思考就令人敬佩。思考,思考,再思考。


有时无知是福。俺看到一点新鲜的科普也能觉得造化神奇。刚才读Gerald Jay Sussman(SICP作者)的文章,Building Robust Systems – an essay,竟然心如小鹿乱撞,手心湿润,仿佛第一次握住初恋情人温柔的手。

这篇文章主旨明了:构造复杂的健壮系统非常困难。我们的软件能够有效完成某件具体任务,却不能适应业务领域的变化。一点细微的需求或部署的改动都能让我们的系统变得脆弱。反观生物进化的历史,无数生物在频繁变更的严酷大自然里繁衍生息。也许我们能从中学到让系统随环境变更而自动演化的秘密。当然,不是所有的软件都身段僵硬。35年前问世的Emacs至今是最高效的编辑器之一(不怕惹众怒地说一句,流行的EditPlus和UltraEdit除了学习曲线,还是不能和Emacs比),实属居家旅行杀人越货之必备利器。20年前问世的TeX ,1989年就停止更新代码,但这并不能阻挡它横扫科技出版业,变成科技出版物排版的事实标准,基本上干掉了科技出版业里的排版员这项本来很有前途的工作。不过,这些都是特例。我们需要了解的是构造复杂系统的通用方法。不然skynet和matrix怎么能够问世嗫?

Sussman在文章里讨论了生物在残酷进化里得来的五坨特性。这些特性对谙熟生物的老大们也许不是新鲜事,却能让我这个靠三思科普生物的半文盲肾上腺素急剧释放:

  •  冗余(redundancy)和简并(degenerate,不知道这个翻译对不对)
    强健的生物系统都有大量冗余。比如肾和肝。割掉一个肾,我们仍然能活蹦乱跳。把肝的三分之一供奉给乙肝病毒,我们被歧视乙肝携带者的公司气死的几率也大多得肝癌挂掉的几率。

    生物系统也高度简并:同一功能可以由不同的部分来完成。比如我们的能量既能从糖获得,也能从脂肪获得,还能从蛋白质里获得(这个造成我们为节食和消耗热量绞尽脑汁,实属进化跟不上变化的特例,另当别论)。而这三者的代谢过程都不一样。甚至我们的遗传代码也是简并的。我们有20来种氨基酸,但核苷酸构成的密码子组合却有64种。这样才能让点突变不至于影响某个密码区的蛋白质,使得突变能积累起来,同时不会导致明显的表现型后果。不然领导某天生出一特聪明的小孩儿(变异了),但就是长得像头羊,我们非得抓狂不可。简并成于进化,也成就进化。环境改变了,大不了某个部分废掉,但生命继续(系统依然满足规格)。而废掉的功能为变异(或修补)腾出空间。整个系统没有被惊扰。

    现在的软件系统往往包含冗余,但很少刻意加入简并。作者顺便对Python拍砖:Python的口号是TIOWWTDI(There is only one way to do it),明显是零简并系统。
  • 探索行为
    探索行为也是生物系统健壮的基石。生物需要的合适功能通过“生成-测试”的机制获得。系统某部分生成功能,而另外相对独立的部分测试功能,决定接受还是拒绝测试结果。比如说支持细胞上的微管阵列决定细胞的形状。微管们总是不断被生成和摧毁。那些有幸碰到细胞膜里稳定子的微管们得以存活。最终结果就是细胞的形状又稳定子的位置决定。所以细胞形状的生成和维护机制同确定细胞最终形状的机制分开(操作系统设计里policy和mechanism分开有点类似)。

    探索过程中测试者不必知道行为提供者。行为提供者也不必知道测试机制。这样的结果是变异和适应非常灵活,因为测试者和行为提供者可以自由发展。反正合者生,不合者死。负面作用就是这种选择代价高昂。自然选择的每一秒都伴随着无数生命的消亡。
  • 隔离和定位
    我们身体的每一坨细胞都源于单一的受精卵。所有细胞的遗传信息(才1GM内存!)都一样。但是,我们有各种专门细胞,比如皮肤细胞,神经细胞,肌肉细胞等。这些细胞再进一步组织成组织,器官,和器官系统。这一切之所以可能,是因为细胞们能根据环境特异化。也就是说,细胞的行为并没有被编入细胞间的信号传递,而是由基因组决定。不同的信号组合可以激活或关闭细胞的某项功能。不同的细胞组合起来,进一步实现更为复杂的功能。

    优秀的软件系统有类似的特点。它们高度模块化。不同的模块在不同的环境里执行对应的功能,进行不同的组合。

  • 防御,修补,和再生
    生物大都能防御异物的攻击,修补缺损的部分,再生死亡的肌体。现在的软件开始包括防御功能,比如安全特性。不过,很少有强大的修补和再生功能,虽然号称自己能自我调控的系统不少。前两年IBM闹腾得欢的autonomous computing最近好像也让位给牛皮轰轰的SOA。Erlang的容错系统倒非常诱人:它的基础设施让系统比较轻松地侦测出问题的进程,然后在不影响系统运行的前提下重启该进程。

  • 组合
    复杂系统都是又小模块组合而成。这点我们并不陌生。我们构建的系统模块依赖事先写好的规范。比如接口的规范,比如接口调用的顺序。这种规范现行的办法随着系统复杂程度的增高变得越来越难。相反,人类的基因组信息不过区区1G,还不够容纳一个普通操作系统的规范,却足以决定我们的构造和行为。我们的“系统接口”必须能够自我配置,适应环境。代价是系统的初始化时间太长,9月怀胎不过是刚开始。

文章也讨论了具备这些通用特性的健壮系统需要哪些基础功能:

  • 通用的部件
    健壮的系统总是由一系列通用部件构成。每类部件都有广泛的应用范围。每个部件能接受范围宽广的输入,但能输出范围狭窄的结果。这好比久经考验的电子原件。他们能在充斥了噪音信号的环境里正确工作,输出可以预测的信号。
  • 可以扩展的泛型操作符。比如同样是加号,+, 既可以处理整数相加,也能处理实数相加,也能处理矩阵相见。更重要的是,还能让用户扩展该操作符的语义,引入新的功能。这样不仅能让新程序容易编写,而且能旧的程序自然增加功能,应对新的环境。这点其实很多语言都有所支持,尤其是现下流行的动态语言。比如说在Lisp环境下开发,我们可以开发一个简单的版本,让程序运行起来。然后我们就在这个运行的程序里不断调试,修改,和加入新的功能,直到这个系统健全。这里有演示录像
  • 生成和测试
    我们的系统应该让我们能够写出返回多项选择的函数,然后同步测试这些结果,挑选出合适的结果。如果结果不好,系统自动回溯。这样做的危险是回溯可能导致指数级的运行时间。不过这也是进化不可避免的代价。其实生成-测试的理念早已用到编程当中。比如Prolog的自动回溯。和众多动态语言支持的模式匹配--比如Erlang, 比如Scala,比如Ocaml。
  • 通过约束得到的普适过程
    这个大概是说通过一系列的约束条件,我们可以构建出对应的约束网络。通过这个网络,我们能生成适应这些约束条件的过程或函数。这样生成的函数能满足广泛的应用环境。
  • 工程中的简并
    作者提出了两种方法。一是利用AI中常用的技巧:目标导向(goal-directed)的方法。这个本质上是说我们不规定系统怎么做一件事,而是告诉系统要达到什么目标。Prolog简直是解决这类问题的天生杀手。当然,现代的函数编程语言也是解决这类问题的利器。二是对同一问题实现多种独立解法,然后让系统挑选合适的方法。

文章还讨论了支持系统健壮和进化的方法:

  • 组合子
    简单说,我们应该通过搭配组合相对独立的部件来构建系统。函数语言对这种编程方式尤其擅长。特别是支持transparent referential integrity和lazy evaluation的函数语言,比如Haskell:我们搭建出基本的模块。Haskell系统提供一大堆强大的黏合工具,让我们把这些模块轻松地组装起来。不过文章也强调,关键还是模块的质量。函数编程只是有效的手段。
  • Continuation
    这个特性在Ruby, Python,Scheme, Smalltak等现代动态语言里都有。Continuation是非常强大的编程手段。一个Continuation对象被创建时能保留当时系统的有关状态,并在其他任意时间被调用。这让程序员获得对时间的直接控制。我们可以暂停某段计算,并在一段时间后继续那段暂停的计算。牛人Avi就利用Smalltak对Continuation的完善支持写出了绝对让人惊叹的Seaside Web编程框架。不信邪的老大们可以去体验以下用Seaside搭建的应用,dabbledb
  • 回溯和并发
    没有回溯,我们就不能自动检验多项选择,排除不合适的结果。没有并发,我们不能同时检验多个结果,计算的代价太高。这些好像不新鲜。
  • 任意联系
    标注元数据便是一个例子。我们不能也不可能预测系统运行时数据间的所有关联。所以构建可以任意扩展的数据关联系统就非常重要了。这好像也不新鲜。比如说至少20年前人们就认识到Metaobject Protocol的重要性,有兴趣的老大可以去读这本经典的书。现在Java支持的Annotation也可以算一个例子。
  • 动态配置的接口
    这个比较新鲜,属于正在研究的难题。现在的方法是让一个群体内的计算实体(agent)通过不断地交流信息来建立大家理解的规则。俺没有看明白。

总之,这篇文章属于高来高去的主题演讲性质的文章,但它对生物系统以及生物系统与计算系统的联系的描述着实让我大开眼界。也许文章结尾是最好的总结:正经的工程不过几千年历史。我们构造健壮系统的手段还远未成熟。我们还没有从漫漫几十亿年生物进化中吸取经验….

posted @ 2007-04-24 19:51 锋出磨砺 阅读(251) | 评论 (0)编辑 收藏

这是一个发生在美国通用汽车的客户与该公司客服部间的真实故事。
  有一天美国通用汽车公司的庞帝雅克(Pontiac)部门收到一封客户抱怨
信,上面是这样写的:“这是我为了同一件事第二次写信给你,我不会怪你们为
什么没有回信给我,因为我也觉得这样别人会认为我疯了,但这的确是一个事
实。”
  我们家有一个传统的习惯,就是我们每天在吃完晚餐后,都会以冰淇淋来
当我们的饭后甜点。由于冰淇淋的口味很多,所以我们家每天在饭后才投票决
定要吃哪一种口味,等大家决定后我就开车去买。
  但自从最近我买了一部新的庞帝雅克后,在我去买冰淇淋的这段路程问题
就发生了。
  “你知道吗?每当我买的冰淇淋是香草口味时,我从店里出来车子就发不
动。但如果我买的是其他的口味,车子发动就顺得很。我要让你知道,我对这
件事情是非常认真的,尽管这个问题听起来很猪头。
  “为什么这部庞帝雅克当我买了香草冰淇淋它就秀逗,而我不管什么时候买
其它口味的冰淇淋,它就一尾活龙?为什么?为什么?”
  事实上庞帝雅克的总经理对这封信还真的心存怀疑,但他还是派了一位工
程师去查看究竟。当工程师去找这位仁兄时,很惊讶的发现这封信是出之于一
位事业成功、乐观、且受了高等教育人。
  工程师安排与这位仁兄的见面时间刚好是在用完晚餐的时间,两人于是一
个箭步跃上车,往冰淇淋店开去。那个晚上投票结果是香草口味,当买好香草
冰淇淋回到车上后,车子又秀逗了。
  这位工程师之后又依约来了三个晚上。
  第一晚,巧克力冰淇淋,车子没事。
  第二晚,草莓冰淇淋,车子也没事。
  第三晚,香草冰淇淋,车子“秀逗”。
  这位思考有逻辑的工程师,到目前还是死不相信这位仁兄的车子对香草过
敏。因此,他仍然不放弃继续安排相同的行程,希望能够将这个问题解决。
  工程师开始记下从头到现在所发生的种种详细资料,如时间、车子使用油
的种类、车子开出及开回的时间……,根据资料显示他有了一个结论,这位仁兄
买香草冰淇淋所花的时间比其它口味的要少。
  为什么呢?原因是出在这家冰淇淋店的内部设置的问题。
  因为,香草冰淇淋是所有冰淇淋口味中最畅销的口味,店家为了让顾客每
次都能很快的取拿,将香草口味特别分开陈列在单独的冰柜,并将冰柜放置在
店的前端;至于其它口味则放置在距离收银台较远的后端。
  现在,工程师所要知道的疑问是,为什么这部车会因为从熄火到重新激活
的时间较短时就会秀逗?原因很清楚,绝对不是因为香草冰淇淋的关系,工程
师很快地由心中浮现出,答案应该是 “ 蒸气锁 ”。
  因为当这位仁兄买其它口味时,由于时间较久,引擎有足够的时间散热,
重新发动时就没有太大的问题。但是买香草口味时,由于花的时间较短,引擎
太热以至于还无法让“ 蒸气琐 ”有足够的散热时间。
读后感想:
  即使有些问题看起来真的是疯狂,而且有时候它还是真的存在;但是如果
我们每次在看待任何问题并秉持着冷静的思考去找寻解决的方法,这些问题将
看起来会比较简单不那么复杂。
  所以碰到问题时不要直接就反应说那是不可能的(IMPOSSIBLE),而没有
投入一些真诚的努力。仔细观察 “ 不可能 ”这个字【IMPOSSIBLE】,你也许可
以看到“我可能”【I’M POSSIBLE】

posted @ 2007-04-14 10:43 锋出磨砺 阅读(240) | 评论 (0)编辑 收藏

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址:http://blog.csdn.net/jobchanceleo/archive/2007/04/13/1563866.aspx

不可否认,作为打工者,我们都从某种程度上被老板认为是种工具,类似扳手之类的、可以被随时换掉又俯拾皆是的工具。初入职场的我们听到这种理论可能很不以为然—老子学习这么多年,步入社会被人当成工具,简直笑话,公司是把我当人才看的。

很多让我们不舒服的东西,反倒可能是正确的。在职场打拼时间久了,我们会发现:自己确实被当作工具这个事实。人才也不过是把高级扳子而已,职业经理人就是镶金、合金扳子。

被当成工具也无所谓,君视臣为草芥,臣视君为寇仇,你把我当扳子,我把你当一堆X,公平又合理。要不是最近身边哥们儿、姐们儿发生了一些状况,我的认识可能也止步于此。

 太多事发生之后,我重新总结和整理了自己的理论。公司是把我们当工具不错,但不是低层次的劳动必用工具,而是理财(生财)工具,最贴切的比喻就是:公司把我们看成股票。

 
定义
潜力股—初入职场的我们,虽然实际价值不大,但意气风发、有无限的可能性;
蓝筹股—基本上是入行五年之后的我们,有能力、有阅历、有经验,总之是实力雄厚;
垃圾股—没有成长潜力、因种种现实打击失去了进心。

买家(公司)的态度
适当购进潜力股—既然是潜力股,那么就只代表一种可能,是有风险的,公司培养很久可能成不了蓝筹或者成了蓝筹被别人抢了;

大力购进蓝筹股—大不了高开高走,能给公司实现赢利就行。这种方案的风险在于有股票是伪蓝筹,最后不得不割肉(裁员)跑掉;

小心购买垃圾股—有时,垃圾股不过是时运不济、没找到自己适合的位置才沦落至此的。如果公司能独具慧眼看出其中潜蓝筹,加以投资,回报相当可关。别小看这种股票,市场里有专门炒这个发财的。

我们的态度

潜力股对策—让自己增值、增值、再增值,尽早走入蓝筹行列。不要永远是潜力股,不然很容易成为垃圾股;

蓝筹股对策—全方位提高自己、保持职业水准、延长职业黄金期;

垃圾股—受打击之后,是个人都可能会有消沉。不同的是失败都永远消沉了,被停牌永远退出市场;成功者从失败中站起来吸取教训、看清骗子、提高自己,再次让自己成为蓝筹。

行走职场,每个人都有可能成为三种股票中的一种,甚至可能如我几次变为垃圾股。没关系,当成为垃圾股时只要始终记得我们是潜力蓝筹、不断提升自己的价值、笑对下一个买家,成为真正的蓝筹是早晚的事。

 到时候我们要对公司说:“要对我这支蓝筹好些啊!我和股票不同的是一般股票你不卖,这支股票不会减少或者消失,我可是会自己跑路的啊!哈哈!”

posted @ 2007-04-14 09:36 锋出磨砺 阅读(174) | 评论 (0)编辑 收藏

很多JSF专家表示,JSF(JavaServer Faces)可以在不需要编写JavaScript代码的情况下开发异步的JavaScript 和 XML应用程序。

   在服务器端Java(ServerSide Java)研讨会3月22日的一次会议上,SUN公司的高级工程师Ed Burns说:开发人员可以使用JSF开发出企业级的AJAX应用程序,这些应用经过了充分的行业证明,具有良好的健壮性,可靠性,易用性和伸缩性。

   Ed Burn还表示:“可以通过不同的方式来使用JSF和AJAX。 其中一种方式是同时使用JSF和Project Dynamic Faces 或DynaFaces。 通过这种方式,使用者不需要JavaScript的知识,如果使用者喜欢使用JavaScript还可以构建功能更加强大的应用程序。另一种方法是使用AJAX支持的JSF组件,这种方法只需要有对AJAX很少的知识就可以。另外开发人员还可以只使用AJAX或使用一种AJAX框架。”   B    urns说:“除了Project Dynamic Faces,还有其他的方式来同时使用JSF和AJAX,其中包括使用ICEsoft公司的 ICEfaces, Ajax2JSF, AjaxAnywhere 和Backbase。”Google公司的Adam Bosworth可以告诉你为什么AJAX在经历失败后又会成功。(点击此连接到相应页面)。

   Burns还说:“早在AJAX还不是如此强大之前,JSF的面向对象设计已经为JSF可以在AJAX中使用做了准备。JSF的如下主要特性使得它对于AJAX来说是友好的,其中包括灵活的可扩展组件模型,明确的请求处理生命周期(Request Processing Lifecycle)和一个灵活的可扩展渲染模型。

   Burns 说,AJAX的成功在于其具有的如下理念:JavaScript对页面的开发人员来说透明,但却可以被组件开发者看到;通过状态管理使客户端和服务器端轻松保持同步等。使用JSF和AJAX还可以解决跨浏览器的问题。同时,Project Dynamic Faces将AJAX强大的功能引入到已有的和未来的利用JSF开发的应用。

    在2007年于纽约召开的AJAX World大会上,位于康涅狄格州斯坦福德的Virtua公司首席咨询师Kito Mann做了一个名为“看啊,不用JavaScript也可以(Look Ma, No JavaScript)”的讲演,表达了和Burns一样的观点。Mann讲演的主旨是:“使用JSF,可以在不编写任何JavaScript代码的情况下构建应用程序。” Mann说,JSF是针对于JAVA的一种标准的web用户界面框架,其规范包括服务器端用户界面组件,事件模型,一组基本的用户界面组件和基本的应用结构。Mann还是JSFCentral.com的创建者之一。JSFCentral.com是一个由使用JSF技术的开发人员,架构师和经理组成的社区。另外,他还是Java 社区Process' JSF专家组的成员之一。

     曼恩说,JSF还提供广泛的工具支持和用RAD(快速应用开发)模式的方法去开发Java Web。此外, JSF是建立在Servlet API之上的,并且促进了第三方用户界面组件市场的发展,他说。

    总体来说,“JSF提供透明的AJAX支持,”曼恩说。"我们的想法就是JSF编程模型能与AJAX一起工作。"
有多种支持JSF的IDES(集成开发环境),包括Sun的Java Studio Creator,BEA 的Workshop Studio,Oracle的 JDeveloper 和 Exadel Studio Pro (现在在JBoss umbrella旗下),曼恩说。
而且,JSF架构加上AJAX支持很容易,他说。

    事实上,曼恩说JSF有三个主要的AJAX集成策略。

    一是把AJAX支持加到现有组件中,二是把AJAX支持直接集成到JSF组件中,三是对现有AJAX控件封装成一个JSF组件,曼恩说。

    用在第一种方法中的技术包括Exadel的Ajax4JSF,Ideo技术的开源AjaxAnywhere offering和Sun的DynaFaces,,曼恩说。

支持AJAX直接集成到JSF组件的产品或技术包括Simplica的ECruiser,Infragistics的NetAdvantage,Sun的Project Woodstock,和来自ICEsoft, Backbase and Exadel的技术,曼恩说。

    封装现有的AJAX控件到JSF中,两个主要的选择是Sun’s jMaki和Dojo Foundation’s Dojo Faces,他说。

posted @ 2007-04-14 09:00 锋出磨砺 阅读(123) | 评论 (0)编辑 收藏

          有一天苏东坡和佛印(和尚)去参观一座庙宇。他们进入前殿,看到两座凶猛的大神像,是镇邪的门神。

  “这两个菩萨,哪一个重要?”苏东坡问他。

  “当然是拳头大的人重要。”佛印说。他们走入内殿,看到观音菩萨手持念珠。

  “观音也是菩萨,她数念珠干什么?”苏东坡问道。

  “喔,”佛印说,“她也学别人拜佛呀。”

  “拜哪一个菩萨呢?”苏东坡说。

  “咦,拜观音菩萨呀。”

  “这是怎么回事?她是观音菩萨,为什么要拜自己呢?”

  “咦,”佛印说“你知道求人不如求已嘛。”

posted @ 2007-04-13 20:04 锋出磨砺 阅读(221) | 评论 (0)编辑 收藏

作者起了这么个够噱头的名字,更具有讽刺意味并令我辈国人羞耻。

1。该国百姓收入是欧美的几十分之一,房价却要赶超欧美;
2。该国房子可以是自己的,但土地永远是国家的!——物权法最近又补充了一下:“房子是土地的一部分”!
3。该国的国际长途,从国内打到国外的价格是国外打到国内价格的10倍以上!此谓支持民族工业———尊敬的“中国电信”!
4。该国成天叫嚣“中华民族的伟大复兴”,“教育兴国”,“教育是根本”……,但教育经费投入之少与非洲穷国乌干达看齐,百姓自掏教育经费之多全球之冠!此谓社会主义优越性!
5。该国公务员的薪水不拿全国的平均水平,而是平均水平的3倍以上,此谓“高薪养廉”;
6。该国全国公务员不交一分钱“养老金”,而退休后的养老金是全国其他人民的3倍以上。邻国小犬蠢一狼3个月没缴“养老金”,全国中央电视台作为丑闻天天放!此谓“三步笑百步”。
1。出租私房要向派出所每月交费!——(类似黑社会的保护费?)
2。禁止收看外国的电视节目!—(比塔利班的禁止收看电视可能要仁慈一点)
3。在国内旅游也需要“签证”—(去香港需要过境签证,去深圳需要边防检查证)
4。反对执政党就要坐牢——(我看谁敢在大街上喊一句:打倒…)
6。上市公司搞诈骗,股民受损失,但国家法院不受理此类赔偿!——(因为无法可依)
7。禁止用自己买下的房子来作公司办公室——(上海市已经文规定,也就是说,你没有真正支配自己财产的权利)
8。去网吧上网要出示身份证。
9。黄色刊物属于非法,但性用品商店到处都是。
10。摩托车的行驶证(牌照)价格比摩托车本身高上好几倍。
11。在国外能够浏览的互联网内容在该国可能就无法浏览——(不是你的电脑故障)
12。电话打得越多越贵,没打电话也要你付钱——(托中国移动的福手机双向收费)
13。医疗事故其实是由医院来裁决的——(法院参照医院所属的上级部门的鉴定报告来判决)
14。赌博是非法的,但彩票满天飞,是合法的。
15。该国法官说的最多的一句话就是:“因还没有这方面的相关法律”
16。军队是属于某个政党的,不是国家的。
17。人民是不能直接参与投票选举领袖的。
18。一个国家可以有2种制度——(当然,也是被迫的,很不情愿的)
19。每个公司中都有一个叫作党支部书记的职位——(当然,它是不负责公司业务的)
20。该国中有个叫作“离休干部”的阶层,可以享受高于普通公民的待遇。
21。该国的领导人喜欢在公共场合卖弄蹩脚的英文。
22。新闻媒体是由某个政党投资的,但用的却是纳税人的钱——(新闻是我们党的喉舌——名言)
23。人民是不能随意改变居住地的——(户口制度)
24。该国的货币是不能在世界上流通的。
25。每对夫妇只允许生一个孩子。
26。该国的公民习惯于谎言,不愿意接受真相。
27。该国每100个官员中就有100个贪污犯——(当然,贪污数目大小有所不同啦)
28。党内行政警告处分可以用来代替刑事处分。
29。该国的兵役制度是强制性的
30。“失业”在该国被称之为“下岗”。
31。该国资源丰富,但却很多不能用——(因为都被污染了)
32。该国没有商业电视台,但电视广告却比国外台多好几倍。
33。让老百姓知道的越少越好,这是该国的“既定国策”。
34。该国人口中有30以上的文盲或准文盲。
35。该国的法制中有“坦白从宽,抗拒从严”的政策——(不过最近几年好象没脸提了)
36。在该国,开一个小酒吧需要100道审批,开一个公司需要1000道审批。
37。该国是目前世界上唯一的社会主义国家,它的最终目标是实现共产主义——(是不是很伟大呀…哈)
38。该国家家都有大彩电,是不是很羡慕?不过那是用来接收党的指示的。
39。当地人会把非本地人称作为“外来盲流”。
40。该国的执政党垄断很多产业,他们称之为“民族产业”——(电信,交通,媒体,水电煤,…)
41。在该国,你能很便宜地买到世界各地的名牌货——(不过都是假货…哈)
42。该国历史上曾经是鸦片的最大消费国,现在更是进化成为世界上最大的香烟消费国——(吸烟人口占总人口的比例世界第一)
43。很多外国公司把次品卖给该国,因为该国的产品比次品还次。
44。该国的公民好象个个都想消灭JP(Japan),但他们却经常拿自己的大半积蓄去买JP(Japan)货哎。(这样何时才能消灭JP(Japan)哟……哈)
45。该国的公民(大多数)认为爱国就是要爱执政党。
46。该国的公民(大多数)看了这封信只能无奈的笑笑。

posted @ 2007-03-27 21:03 锋出磨砺 阅读(297) | 评论 (0)编辑 收藏

     摘要: 原来地址http://blog.csdn.net/jaminwm/archive/2007/03/26/1541767.aspx调优背景 HBCZT信息中心使用 IBM X366 服务器 ...  阅读全文

posted @ 2007-03-27 11:17 锋出磨砺 阅读(278) | 评论 (0)编辑 收藏

儿子,老爸一直在外面出差,原谅老爸。

你拍一,我拍一,小松松要坐飞机
你拍二,我拍二,你是妈妈的乖宝宝
你拍三,我拍三,奶奶喂你吃饼干
你拍四,我拍四,爷爷教你写大字
你拍五,我拍五,小松松跳个妞妞舞
你拍六,我拍六,爸爸给你剥石榴
你拍七,我拍七,你和妈妈做游戏
你拍八,我拍八,八头小牛吹喇叭
你拍九,我拍九,你和壮壮交朋友
你拍十,我拍十,松松是个好孩子

posted @ 2007-03-24 17:02 锋出磨砺 阅读(169) | 评论 (0)编辑 收藏

歌谣里传唱的爱情纯厚、率直、火热、忠贞,烧酒一般叫人一“吟”即醉。可以毫不夸张地说,歌谣真正是空前绝后的艺术哩!歌谣里的爱情健康得很,只是它的勇敢、大胆叫世人心惊脸热、不好意思罢了。不信,吼一段酣畅淋漓的陕北“酸曲儿”,准会有人大喊一声:“真棒!”

  “哥是天上一条龙,妹是地上花一丛。龙不翻身不下雨,雨不洒花花不红。”

  这首流传于大江南北的民歌,巧借比喻,将自然现象与情爱愉悦“水乳交融”,有声有色地唱出了男女之“大礼”,又不伤大雅,这是很优美的歌谣!

  特别是陕北民歌,爆烈烈的令人咋舌,火辣辣的惹人心跳。

  “只要和妹妹搭对对,铡刀剁头也不后悔!”听听,爱得有多真;“眼睛仁仁想你哩,看见人家当成你!”看看,恋得有多深;“阳世上跟你交朋友,阴曹地府咱俩配夫妻;一碗凉水一张纸,谁坏良心谁先死!”一腔痴心何等忠烈。这就是生生不息的歌谣、彻头彻尾的爱情。崖畔上一位不识字的妹子盼着走西口的哥哥,心怀爱情,口吐莲花:“夜夜听见马蹄子响,扫炕铺毡换衣裳。听见哥哥唱着来,热身子扑在冰窗台。听见哥哥脚步响,一舌头舔烂两块窗……”

  滚烫的语言,不加任何修饰,这就是爱的华章!

  正如王国维先生在《人间词话》中所言:“粗服不掩国色。”歌谣中的爱情天长地久,足以让满腹经纶的爱情诗人汗颜不已。在歌谣面前,纯美艳亮的名诗都将变得苍白。

  “骑上毛驴狗咬腿,半夜里来了你这个勾命鬼。搂住亲人亲上个嘴,肚子里的疙瘩化成了水……”

  尽管当代诗人使出浑身解数,极尽缠绵悱恻之能事,终归不及民歌来得轻巧、大方:“一碗谷子两碗米,面对面睡觉还想你!”语言纯美到了炉火纯青的地步,对爱情的吟唱达到了极致。

  的确,歌谣中的爱情火辣辣的,叫你我羞于启齿,却永远也不会忘记。□

posted @ 2007-03-20 17:13 锋出磨砺 阅读(215) | 评论 (0)编辑 收藏

5zmwr

posted @ 2007-03-17 16:01 锋出磨砺| 编辑 收藏

抽象思维和分析:架构师必须能够理解表述模糊的概念并将其变成相关各方能够理解的项目构件。开发人员经常具有很强的数学能力,而好的架构师则倾向于表现出更强的口头表达能力。架构师可以偏爱任何经典的、经过时间考验的软件系统开发方法。
很多架构师都是从好的开发人员逐步过渡而来的,但并非每个好的开发人员都希望成为架构师,而且他们并不是都适合做架构师。无论您是打算进行职业转型的开发人员,还是寻找能承担体系结构设计责任的合适人选的经理,都务必对此转型过程有个清楚的了解。本文将讨论从实现专家到架构师的过渡过程。

  在寻找优秀的指挥的时候,您首先要找的是一名优秀的音乐演奏家。但并非每个音乐演奏家都能成为优秀的指挥。架构师的专业发展方面也与此类似。越来越多的 IT 组织开始认识到良好软件体系结构的重要性,架构师职业正迅速发展为 IT 内一个独立的门类。由于要从相当小的候选范围内招募架构师,因此这就给管理带来了一些新挑战。即使人力资源部门找到了候选者,针对经验进行的筛选也比其他门类更为严格。跨越这些障碍的最快方式是要认识到,大部分好的架构师同时也是好的开发人员,因此寻找架构师人才时可能首先应该从普通开发人员中找起。招聘人员在对候选者(内部或外部)进行详细审查时,应该考虑这个观点。不过,对此资源进行挑选可能比较麻烦,因为只有极少的优秀开发人员具有成为架构师的特征或愿望。

  本文列出了开发人员成为架构师要进行的工作。我将从可能考虑进行此转型的开发人员和评估进行此转型的开发人员的经理这两个方面来探讨这一问题。我还将提供一系列在做出这些决策时要考虑的因素。

  个人特征

  软件开发团队和管理层之间的联系始终是 IT 中的一个关键所在。二者都倾向于以完全不同的方式考虑给定的问题。大部分相关技术都是讨论项目经理应如何跟踪和解释开发人员的进度和问题。但沟通不足的情况仍然非常普遍,而且这是项目失败的首要原因。好的架构师是解决这个问题的最有效办法。架构师的主要责任是提供开发人员和项目经理之间的共用沟通媒体。他们负责让业务规则及需求与工程实践及限制相适应,以确保成功。以下是成功架构师的一些主要特征。

  愿意并有能力进行沟通:在开发人员中发现架构师的最有价值标准是有效的沟通。您需要技术娴熟、经验丰富的开发人员,这样的人员需要有就项目中的业务相关问题进行沟通的经历。架构师经常必须对理解方面的差距进行预计,然后才能有所贡献。他们必须愿意克服困难来确保技术和业务观点的融合。他们并不必对意见交换工作进行计划和协调;这仍然主要是项目经理的工作。他们的任务是确定表述系统设计时的最佳工具和构件,以促进有效的意见交换。他们必须能够判断当前方法显得不足而需要采用新方法的情况。写作技能也非常重要,还需要具有制作草图的技能或使用制图软件的能力。

  具有处理谈判细节方面的经验:架构师经常需要负责讨论系统开发的技术折衷方案。优先级的冲突可能会带来实践限制、风险规避或可能导致在各个不同业务组之间需求不同。优秀的架构师能够有效地评估技术可能性,并能在不损失项目的主要价值的前提下制订开发计划来处理各种利害关系和限制。这与前面讨论的沟通技能紧密相关,但同时也要体现架构师的技术能力。好的架构师候选者应该是经常帮助对有争议的讨论进行引导的人,能够使讨论得出新的想法,而不会使其在一个位置停滞不前。

  自觉主动;积极解决设计问题:架构师的日常工作目标经常并不明确。很多开发人员直接参考功能规范来列出任务清单。架构师通常则是向这些开发人员提供所需结构的人员,以便尽可能提高工作效率。好的候选者不仅进行沟通方面的工作,而且也会预计各种设计问题并加以解决——通常在没有任何具体指示的情况下自觉进行。无论所分配的职责如何,积极参与项目的开发人员都有机会从一起工作的人员中脱颖而出。

  抽象思维和分析:架构师必须能够理解表述模糊的概念并将其变成相关各方能够理解的项目构件。他们必须能够理解抽象概念,并以具体的语言对其进行沟通。开发人员中好的候选者经常要求或自己主动解释开发生命周期中容易混淆的问题。他们能迅速评估各种想法并将其纳入后续工作的操作建议中。

  开发人员经常具有很强的数学能力,而好的架构师则倾向于表现出更强的口头表达能力。管理人员经常说开发人员具有“工程意识”,而这是一个用于评估架构师的非常有意义的方面。架构师应该具有很强的解决技术问题的能力,但还必须能够准确获知更为全面的人员如何与技术交互的信息。这要求具有某种形式的抽象思维(而不再是代码的细节),这种思维能力可能较难形成。

  有些人认为,某种级别的正式教育是成为优秀开发人员的必备条件之一,我并不同意这种精英论。我遇到了很多高中就辍学的优秀开发人员。不过,对于体系结构设计工作,我的个人经验以及我对所需能力的认识都让我相信,好的架构师通常至少获得了一个有挑战性的学士学位。

  跟踪生命周期

  好的架构师通常有在具备定义良好的软件开发生命周期(Software Development Life Cycle,SDLC)的组织工作的经验。架构师必须理解在其所属专业内最重要的操作过程。这并不意味着需要有其他前提,例如,并不需要高能力成熟度模型(Capability Maturity Model,CMM)级别的工作经验。好的架构师可能来自使用 SDLC 的多个小型迭代的极限编程(Extreme Programming,XP)方法的组织。务必注意各种传统软件开发操作,如 Michael A. Jackson 的方法:Jackson 结构编程(Jackson Structured Programming,JSP)和 Jackson 系统开发(Jackson System Development,JSD)。Jackson 的研究对架构师职业发展的意义就像 Donald Knuth 的研究对程序员一样重要。架构师可以偏爱任何经典的、经过时间考验的软件系统开发方法。

  SDLC 也可以成为评估架构师合适人选的有用机制。每个 SDLC 阶段都具有能提供相关线索的特征。SDLC 包含很多小的变体,但在此部分,我将使用几乎所有方法的公共基础部分。下面的列表详细说明了 SDLC 的各个阶段,并列出了好的架构师候选者在每个阶段表现出来的特征。

  •   分析:在分析期间,好的架构师会考虑非技术影响,以便了解需求和将在其中进行开发的环境。架构师可为风险评估任务带来广泛的软件经验供参考。寻找具有丰富经验的开发人员,以帮助业务部门理解技术人员正确解释需求所需的信息。寻找在开发的早期阶段能够预计可能遇到的问题的开发人员。
  •   设计:在高级设计期间,好的架构师会收集问题空间的各个抽象元素,并就其进行沟通,以便开发团队草拟将要开发的系统的相关图表。架构师负责将需求谨慎地映射到所得到的系统体系结构的功能。在详细设计期间,他们所扮演的角色并不是核心角色,但为了根据整个系统的规则对特定模块的元素进行审查,仍然需要他们。寻找善于让团队能够预计设计决策对最终系统的影响的开发人员。寻找善于确定一些最佳构件来促进与技术和非技术受众沟通设计问题的开发人员。
  •   实现:在实现期间,架构师对项目进行引导,以确保其符合系统体系结构。他们在一线评估技术更改请求,并确定如何对设计进行调整,以最好地处理此类请求。架构师还要密切了解开发人员的进度,特别要跟踪系统中模块间的集成点的状态。寻找经常对讨论进行引导来连接多个子系统的开发人员。寻找项目经理可以依赖其快速地进行与更改和出现的问题相关的风险评估的开发人员。
  •   测试:架构师对系统集成和用户接受度测试进行指导,并负责评估进度的正确沟通的持续测试结果。寻找理解错误模式且善于将测试复查结果转换为行动计划的开发人员。
  •   维护:在维护期间,架构师将发起关于系统集成的讨论。无论处理 IT 基础设施问题,还是确保部门之间的技术合作,架构师都必须完全理解应用程序,必须快速学习姊妹应用程序的体系结构,而且必须就集成点和风险进行有效沟通。寻找具有系统集成经验且表现出快速掌握全貌的能力的开发人员。系统集成是一项独特的任务。

  架构师培养建议

  有些组织能比其他组织更有效地进行架构师培养。如果充分考虑到招聘此类新专业人才的困难,努力促成能鼓励开发人员发展为架构师的环境是非常明智的策略。但务必避免对不愿意或不适合走这条路的开发人员进行处罚。组织应该为开发人员制订多条发展路线,包括那些愿意继续担任开发人员的人。对架构师而言,资深开发人员不可或缺。他们可以实现系统中最关键的模块。通过对其他开发人员进行代码检查和测试支持,他们可帮助确保总体软件质量,而如果质量不能保证,即使最好的体系结构也毫无用处。

  组织应制订个人评估程序,以鼓励开发人员考虑其职业目标,其中要包含体系结构设计的选项。应该鼓励经理在其下属中寻找体系结构设计人才。应该实现指导计划,让架构师与希望成为架构师的开发人员协作工作。应该鼓励开发人员通过参加各种协会、撰写文章和参加会议,从而参与到专业领域中来。通过这样参与进来,可帮助开发人员从新的角度理解系统,并帮助他们更好地就其认识进行沟通。这样还能培养可提高效率的重要创新想法。

  结束语

  开发人员一旦迈出了通向体系结构设计专业方向的第一步,就可以利用很多资源来获得帮助,其中包括很多来自 IBM 的资源。有时候,此过程的最困难的部分就是第一步,而本文提供了一些线索和提示,经理和开发人员可以利用其来评估应该鼓励哪些人努力成为架构师。

 

posted @ 2007-03-16 13:54 锋出磨砺 阅读(173) | 评论 (0)编辑 收藏

EJB用自己的悲剧人生警告Sun,不可对新技术的推广掉以轻心,但Sun还是再次犯下同样的错误。与Microsoft和Intel成功的商业推广策略截然不同的是,Sun 完全没有估量到,JSP作为一项成功技术的价值和影响力,在JSF的推广上,出现了令人痛心的失误。如果JSF以JSP3.0的名义推出,那么JSF的日子恐怕要比现在好过得多。

    1. JSF没有站在JSP巨人的肩膀上

    前文说过,EJB是Sun的伤心往事,它用自己的悲剧人生,警告Sun,不论技术也好,商务也好,凡事应该有一个全盘的规划,再也不能想到什么是什么了。一项好的技术,如果不加以适当的推广,最后可能逃脱不了被束之高阁的命运,大把的资金投入,自然也难免竹篮打水一场空。

    当然,如何进行商业运作,Sun比我高明得多了,似乎轮不到我在这里说三道四,不过,Java已经不单单属于Sun了,Java已经成为全世界的Java,所以,所有的Java程序员,都有发表自己意见的权利。未必都是真知灼见,但Java世界就是因为有这些不同声音的存在,才显得无比的精彩。

   其他的技术我不敢妄加评论,就JSF这项技术而言,Sun的商业策略实在是不敢恭维。在JSP已经深入人心的时候,为什么不继续沿用JavaServer Pages的这个如雷贯耳的名称,而要标新立异地推出一个JavaServer Faces的怪物呢?你看人家Microsoft,在ASP流行开来之后,推出ASP.NET,是多么的顺理成章。 

    暂且不论这两项技术的区别有多大,就冲着似曾相识的名称,Microsoft就让大批的ASP用户,自觉自愿地加入ASP.NET的阵营。没有任何抵抗,Microsoft兵不血刃,不费一枪一弹就完成了从ASP向ASP.NET的过渡。

    同样的策略Intel也曾使用过。第一代“奔腾”芯片推出后,获得了巨大的成功,“奔腾”一词,一时间名噪天下。Intel看到了这一点,并且立刻明白了该怎么做,所以,当下一代芯片制造出来时,Intel完全没有在命名上费什么脑筋,直接冠以“奔腾II”的名字,马上令一大批“奔腾”的爱好者趋之若骛。此后,“奔腾III”“奔腾IV”,Intel将“奔腾”一词的所有油水都榨干了,才心满意足地构思下一个名字。

    相比之下,Sun则完全没有估量到一项成功技术的价值和影响力。令多少对手眼红的JSP背后庞大的用户群,Sun却视若无物,不知道Sun是没有看到这一点呢,还是不屑利用这一优势。

    不管怎样,当JSP如日中天时,不知借JSP之势点燃JSF的大火,反而暴殓天物,另起炉灶,Sun简直就是在自毁JSF的前程。也许Sun主观上并不存在这样的故意性,但客观上造成了这样一种局面,也是不可原谅的失误。

    2. JSF唯有一切从头再来

    如果JSF没有叫做JSF,而是叫做JSP 3.0,情形会是如何呢?

    可以想见,首先,大批的JSP爱好者会蜂拥而至,庆贺JSP的新版本;然后,一批“牛人”们很快发现,JSP的新版本,引入了他们期待已久的组件模型和事件驱动模式,JSP终于有了和ASP.NET抗衡的资本;接下来,“牛人”们必定奋笔疾书,以超凡的热情四处撒播JSP 3.0的种子。

    于是,网络上、论坛里,到处充斥着为JSP 3.0唱赞歌的文章,JSP 3.0成为炙手可热的名词,而Sun专家们借JSP 3.0的名义推销的JSF组件模型和事件驱动模式,说不定现在已经成为Java Web编程的新贵。

    将JSF以JSP3.0的名义发布,绝非戏言,是完全可行的。从技术上来看,JSF是建立在Servlet/JSP基础之上的,和JSP有着天然的联系,将JSF作为JSP3.0的一个崭新的扩充部分,随JSP3.0一起发布,即符合从JSP到JSF的平滑过渡的要求,同时也能满足程序员对于JSP3.0新特征的期待。

    实际上,JSF和JSP融合的趋势越来越明显,例如在JSF1.2版本之前,JSP和JSF各有一套独立的表达式语言(EL,Expression Language),而从JSF1.2开始,这两套不同的表达式语言已经统一为Unified EL,并且从JSF和JSP规范中分离出来,自成一体。所以,让JSF搭上JSP的快车,一起前进,其实是很自然的事。

    可惜,这些只能发生在Sun的梦里了。JSP与JSF,一字之差,Sun将一项颇具潜力的Java Web框架技术,亲手打回到娘胎中,让其以一个初生婴儿的身份,光着身子降临到Java Web世界。这个本来可以衣着光鲜地与ASP.NET一起独步江湖的汉子,现在唯有恨恨地抛下一句“君子报仇,十年不晚”,然后黯然离去了。

posted @ 2007-03-16 13:51 锋出磨砺 阅读(329) | 评论 (2)编辑 收藏

     摘要: 一个人事经理眼中的中国人劣根性 ( 绝对值得一看的文章)    最初看到这个标题,我承认有点排斥,但是当我看完以后,发现很多的问题真的值得我们去思考和反思。转这个帖子的目的,没有攻击任何人的意思,既是网络,大家各取所需,不必望文...  阅读全文

posted @ 2007-03-14 13:52 锋出磨砺 阅读(222) | 评论 (0)编辑 收藏

其实麻花做起来是很简单的,不过就是和面\发酵\整形\油炸四步.
方子是:
牛奶一袋(小袋半斤装的),
两个鸡蛋,
一小勺盐,
糖100克(喜欢甜食可以随自己的口味增加一些),
油30克(色拉油花生油都可以的),
酵母5克
面粉若干
做法:
1、混合除了面粉的所有材料
2、在混合液中逐渐加入面粉,用筷子搅拌,直至能够揉成比较软的面团
3、温暖处发酵,直至面团体积增加2倍以上
4、整形
5、开炸:)
注意炸的时候,宁可先用最小火视情况逐渐调整到合适的温度,切不可用大火

posted @ 2007-03-14 13:51 锋出磨砺 阅读(240) | 评论 (0)编辑 收藏

老美介绍金庸作品(节选)                      作者:不详
金庸先生的小说一向以丰厚的历史文化底蕴而著称。现将美国畅销小说评论家阿尔 * 蒂尔对英文版《金庸选集》的评论节选转译如下。译者水平有限,译得生硬,倒也原汁原味。
  
  金庸先生是一位学者,确切地说,应称为查教授,但在中国等地一直以其十几部畅销小说闻名。他的小说,专门反映中国举世闻名的格斗术的历史。同西方一样,中国的格斗家使用各种各样的兵器,虽然与西方人所使用的兵器不尽相同。然而,从查教授的小说中可以看出一个重要的不同:当不使用兵器的时候,中国的格斗家主要是用手掌,而不是用拳头。不要以为这只是细节上的不同,事实上这是一个深刻的差别,理解这一点,是我们欣赏这些畅销小说的前提。
  按照现代西方人的理解,越是坚硬和尖锐的东西,越能给人以伤害,因此在格斗当中,拳头比手掌更为优越。采用兵器,也是质地越坚硬、表面越尖锐越好。而查教授所描写的格斗家,不仅在徒手时多采用手掌,并且似乎越是高级的格斗家,越不重视所使用的兵器是否锋利结实,甚至干脆放弃使用兵器。以前从没读过这一类小说的西方读者对此难以理解。事实上,中国的格斗家并不看重通过我们通常意义上的物理损伤来伤害对手。这涉及到一个中国独有的贯穿于此类小说中的概念:内力。仅从字面上翻译这个词,对于西方读者的理解并没有多大帮助。如果一定要找一个是西方人觉得容易理解的类比,具有同样的神奇效果,并且具有类似的悠久历史,那就是魔法。但他们其实是完全不同的。内力有如下一些特征:
  1.内力的练习通常对练习者的生理状况有一定的要求。这并不是说体弱的人不能够练习,而是一般而言,他们不容易取得比较大的成功。这比较容易理解,因为这毕竟是格斗。
  但另一方面,较高的智商对于练习内力往往是有帮助的,却并非总是如此。有时智商较低反而更好,比如《射雕英雄传》和《侠客行》中的男主角。对生理状况的要求有时很极端,例如需要进行阉割手术,或者大脑两半球联系障碍(双手互搏)。
  2.通过自修掌握内力的方法是非常困难的,如果不是不可能的话。通常要有一位老师传授,但是我们经常会发现,通过学习远古流传下来的经书的效果要比请教当代的老师更好。遗憾的事,这样的经书很难得到,而且通常不会流传很久。一本在一个时代非常著名的经书,到了另外一个时代便无人提起,显然是失传了。然而也有例外,例如出现于宋代的“独孤九剑”到了明代被人重新提起,然而似乎与宋代的大不相同,疑是托名伪作。
  3.要使内力达到较高的水平,还必须有一些特殊的辅助手段。通常是通过服用特殊的食物(这样的例子实在太多了),或者是采用一些辅助器械(比如功能类似电冰箱的床,但绝不耗电)。采用这些手段一般认为是要冒很大风险的,但从实际效果看,极少有失败的例子。
  4.内力像物质或热量那样可以传递,有时甚至可以进行非接触性的传递。这种传递大致可以分为三类,第一是攻击性的,即通过释放内力伤害对手。这就解释了为什么格斗家们喜欢用手掌而不是拳头:因为似乎手掌比拳头更能有效率地释放内力。第二种是赠与性的,通常用于传授、合作性的攻击行为、或者是治疗。因此我们可以理解在这些小说中看到的一个奇怪现象,杀人与救人都是用手掌。第三类是偷窃或夺取性的,将别人的内力据为己有。鉴于内力对格斗家们的重要性,这样的做法比吸血鬼更为严重,因此经常是反面人物的行为,如果正面人物偶尔做了,一定要强调不是故意的,虽然有时心中暗自得意。
  因此我们在小说中看到的关于格斗家们的历史,其实是关于内力的发展的历史。正像中国的一句俗语所说:士兵向水一样流动,兵营却是铁做的(疑是“铁打的营盘流水的兵”的误用——译者),对内力的描述贯穿查教授小说的始终。下面我们可以对这一历史做一个简要地回顾。
  查教授的最早的小说(原文如此,其实是反映历史年代最早的小说——译者),反映的是距今两千多年前的时代,被孔夫子命名为“春秋”。这时的中国已经有了高度发达的文明,但查教授仍然在书中刻意描绘了一只白猿,用以暗示内力自从人类的进化过程中一直存在。然而从小说中看来,内力发展的高峰是在宋代,结合了来自印度、波斯、东南亚等地的练习方法,成为错综复杂的系统。但到了明代和清代,渐渐地没落了。看来的确如此,因为现在毕竟不知道还有谁以内力著称于世。宋代早期的一个不十分著名的格斗家(游坦之,与大仲马的铁面人类似)便能够掌握少林寺的《易筋经》,而明代的少林寺僧侣领袖却将其视为珍宝,因为起初不愿意用这本经书救人而被认为小气。在清代,可能是历史上最后一个以内力著称的人(归心树)被一群远为平庸的格斗家杀死,暗示着内力的衰落。
  这一趋势是从明代格斗家对内力作用的怀疑开始的。这时,有一部分格斗家认为内力并不像人们一直认为的那样重要,他们所练习的格斗技术不要求一定要有内力。如同历史上所有的学术问题一样,争论本是好事,然而不幸的是,强调内力的一方被认为品质低下,最终被杀身亡。斗争的结果似乎证实了内力并非如此重要,但事实上却是因为这一时期没有人将内力练习到较高的水平。但这一成见既然形成,以后的情况便越来越糟。到了清代,虽然有人仍想练习内力,并达到了一定水平,但已经完全无法与宋代比较了。
  在清代,一个完全没有内力,只是智商较高,并善于逃脱术的男孩,居然成为全国瞩目的英雄人物,在中国与俄国的对抗中立下大功,并娶了很多妻子。这似乎是那些在历史上拥有许多高深内力的人做梦也想不到的成就。毕竟,世界已经进入火器时代和智力时代,中国虽然发展较慢,也不可避免。上古和中世纪的浪漫传奇和英雄主义不见了,成了过时的古董。然而这一趋势却与当代的潮流更为接近。所以无怪乎大多数中国读者喜欢《鹿鼎记》,连查教授也认为这是他最好的作品。
  然而,除了格斗本身和格斗家们的事迹之外,这些小说还包含了有关中国历史文化的更多的内容,例如关于宗教。从这些小说中我们可以看出,在相当长的一段时期内,关于内力和格斗的技巧基本上掌握在一些僧侣手中,包括佛教、道教、伊斯兰教、拜火教等等,许多格斗典籍常常与宗教经书混在一起。但这种情形也有变化,到了明代,五个主要的击剑流派之中,倒是有三个与僧侣无关,佛教和道教的僧侣领袖,虽然很有名气,但很少出面,却很乐意在幕后策划,拜火教的领袖也是深居简出,但这时的拜火教已经退化成一个普通团体了,因为没有任何与宗教有关的仪式。
  我下面就将几部主要著作的内容作一简要介绍,以方便读者选择。
  《天龙八部》:探讨了对男女之情的几种看法。本书似乎有三个男主人公,他们后来成为朋友。其中的萧看起来是一个禁欲主义者,而段则与他相反,是个好色之徒(但尊重女性),另外一个(虚竹)介于二者之间,心里一直想禁欲,但当美女来到眼前时,又惊又喜,最终成了一个国王的女婿,而且是一个女性社团的领袖。他们最终都成了英雄,反映了作者对这一问题所抱有的宽容态度。另外还有许多次要角色,可以看作是他们的变种,例如段的父亲,是一个彻底的好色之徒,最终吃了一些苦头;慕容为了事业完全不在乎男女之情,甚至加以利用,遭到可耻的失败;游坦之由于先天因素和后天的刺激,成了一个受虐狂;少林素的僧侣领袖后来被人发现有私生子,……诸如此类。
  《射雕英雄传》:对人类的智力的作用提出了质疑。书中有五个拥有最强内力的人,骄傲地将他们自己封为五个方向的虚拟君主(原文如此)。但在小说结尾,他们惊奇地发现自己并不比一个略有弱智的青年更强。书中一个似乎是拥有罕见美貌和聪明的女子,最终也被这个青年拥有了。更为微妙的是,这五个虚拟君主中的那个西方君主,后来似乎拥有最强大的内力,但他的智力情况却更糟——成了一个严重的失忆症患者。
  《神雕侠侣》:从一个侧面反映了蒙古兴起之初的畜牧业壮况。书中有一个孤独的少女,是一位养蜂专家,但看来这个行业在当时实在不受重视,她的唯一的一个学生——后来成了她的丈夫——并没有学会这门技艺,而是成了一个养雕专家,并因此一举成名。最后这门技艺只好传给了一个无所事事且极富孩子气的百岁老人。当然,他们都是很高级的格斗家,特别是其中的养雕专家后来可以通过吼声指挥许多动物,但其中唯独没有蜜蜂。他的妻子曾经想通过蜜蜂向他传递消息,但他视若无睹。
  《笑傲江湖》:反映了中国古代同性恋者的悲惨遭遇。第一个同性恋者为了保护她的同性恋对象而被杀死。另外两个更加可怜,因为还没有找到同性恋的对象,但作者强烈暗示,他们最终将发展成为与第一位同性恋者一样的人,也就是说,他们最终将成为同性恋这是毫无疑问的。这三个人有一个共同特征,即都是自愿通过外科手术放弃男性特征的,但是其中的东方在完成之后几乎放弃了他的事业,而岳和林则认为这才是他们事业的开端。他们在这部小说中并不是唯一进行了这种外科手术的人,还有一个刀手田,后来改名为不可,但他的情况有所不同,他的手术是被人强迫完成的,因此得到了大家的宽容,没遭到另外那三个人的厄运,但他日后是否会成为同性恋者则不得而知。另外值得注意的是,书中强烈主张内力的岳,后来成了伪君子的代名词。但在书中,他除了暗杀了两位女性佛教僧侣领袖之外,对别人的危害并不严重;而且这次暗杀并不符合他的目标,因为在后来五派合并的时候,如果一定要选出一位领袖,这两位女性一定会选择他而不是另外一个人。
  《碧血剑》:书中的主人公是内力没落之前的最后代表人物。内力的没落首先表现为精神上的没落,袁本来是一个英雄的儿子,但这一点在他身上看不到一点痕迹,他从小在一个与世隔绝的环境中长大,对现实一无所知。在离开了他学习的山区之后,显得有些无所适从。一个明显的证据是,他娶了下山之后认识的第一个女子为妻。一开始,他像一个孩子一样模仿周围的人,比如将自己打扮成一个青年学生,虽然他从未正式上过学。他的行为受到从小接受的道德教育的约束,但内心中却被一个已经过世的狂放男子的事迹所吸引,后来知道这个人刚好是他的岳父,这或许平衡了他由于仓卒订婚所产生的失落心情。然而这种情绪的摇摆使他一事无成,最终流亡海外,直至清代,他的同学归心树被杀死的时候也没有一点消息。

posted @ 2007-03-14 13:51 锋出磨砺 阅读(182) | 评论 (0)编辑 收藏

看不懂之一:    一方面搞开发的已经不是太好找工作,每次招聘会都会有大量的求职者;另一方面软件人才的培养规模却越来越大,国家支持的大量新软件学院,各种与软件开发相关的民办大学,各种以就业为目标的软件开发培训班(如新东方的JSP程序员培训16500三个月〕;
看不懂之二:    搞开发的程序员认为税后4000已是低薪,税后6000也就一般;同时大家又都哀叹中国软件市场不成熟,盗版多,用户接收程度低,价格低,利润少;不知道程序员希望获得的薪水都是从哪里来的?

看不懂之三:    新技术,新工具层出不穷,一个比一个复杂,一个比一个玄妙;而会用的人,或自认为自称为“熟练掌握”的人也是层出不穷;

看不懂之四:    整个软件产业的发展一再证明:软件成为产业必须有规模化的经营和团队式开发,个人式小作坊式的开发没有生路(这也是软件工程的产生原因),同时国外的软件公司团队规模越来越庞大,内部分工越来越精密;而在国内,个体的、小团体的软件开发方式却越来越流行,许多软件开发人员的开发工作完全以个人方式完成,并且许多人在极力宣扬“个人比公司好”的思想;

看不懂之五:    许多程序员对自己的待遇不满意;却有越来越多只会(我强调的是只会)VB简单编程的人员(许多都从其他行业转行而来)加入程序员的队伍,使得程序员队伍的水平和素质越来越差,企业不愿给这样“混饭吃”的程序员以更好的待遇;

看不懂之六:    国外做产品的公司往往是大公司,才能保证产品的质量和研发的长久性,而做服务,做二次开发和应用开发的往往是小公司,才能贴近用户的需求,并且充分满足它;在国内正好相反,做产品的往往是小公司,做集成和服务,做二次开发的往往是大公司(包括用友、金蝶,也热衷于按框架进行项目承接);

看不懂之七:    国外企业是先有规范管理的制度和思想,才上ERP软件;国内是没有科学的管理就先上ERP软件,结果是软件没人用,管理仍落后;

看不懂之八:    国外做ERP,CRM产品的都是相当有实力的大企业;国内却有无数个人(单个的开发人员)开发出了全套的ERP,CRM软件;

看不懂之九:    几乎所有软件开发公司和个人都强烈反对盗版--因为这意味着自己的软件挣不着钱;但几乎所有开发软件的公司和个人的开发工具和环境都是用盗版安装的;

看不懂之十:    ERP,CRM这样的东西本来是未来规范管理,科学决策的;但在国内的企业上ERP,CRM往往都是由一个领导来拍板,而拍板的领导往往不懂ERP和CRM,只懂得攀比,还有拿回扣;

看不懂之十一:    推销软件时大多数客户都会告诉你:你的软件不符合我们的需求;而符合他们需求的软件他们也并不去买;

看不懂之十二:    大家都在羡慕印度的软件产业发展迅猛,并暗自较劲要如何赶超;但对于印度软件产业的基石--开发工作程式化,大量采用软件工人,又满心鄙夷,谁也不愿去当工人;

看不懂之十三:    大家都认为软件工程可以提高软件开发的生产率,可又都不按照软件工程的基本要求去完成软件开发;就好比觉得文档应该齐备,可谁也不愿意写文档;

看不懂之十四:    很多人都反对微软的霸权,可又没有人真正去做和微软竞争的核心的东西;

看不懂之十五:    大家都认为软件这行有前景,可现在没有几个软件公司是赚钱的。

posted @ 2007-03-14 13:50 锋出磨砺 阅读(187) | 评论 (0)编辑 收藏

清晨的公车、地铁处,是一个让人心情压抑的地方,这里没有对话,没有微笑,甚至连埋怨也没有。

许多人静静地站着,极其耐心地站着。年轻的姑娘该有微笑吧?没有的,她们双手环抱,低着头,看着公车开来的方向。孩子该有微笑吧?也没有 ,他们背着沉重的书包,脸色疲倦而焦躁。

有一位澳洲媒体的编辑,他在上海、杭州考察了一圈,他说:“这里的人,心事为什么那么重?”编辑说,清晨,空气是那么清鲜,扫过水的街道湿漉漉的,没有灰尘扬起。太阳已经升上来了,金色的光辉从高楼大厦间斜射过来,这是多么美好的事情。人们经过了一夜的酣睡,该精神抖擞才对,可是,如此美妙的清晨,人们的表情为什么像地球末日即将来临。

没有人能回答澳洲编辑的问题。

在澳洲,人们的工作节奏是缓慢的,他们的生活是散淡的。每个周末,当中国城市灯火辉煌时,澳洲城市里的商家,却打烊回家了。

是的,我们现在无法回到的澳洲人那样的生活,我们越来越趋同于新加坡、东京、纽约人的生活节奏。

但是,我们又有什么理由,让我们在这个美妙的清晨,丧失自己最醉人的笑容,我们为什么不能对昨晚一场美美的睡眠,对清晨的风和日丽而感恩,露出欢颜呢?

我们已被工作压弯了腰,我们已没有心境体会清晨的美妙。那么,让我们来听一首《圣经》的唱诗:

迎着晨曦,迎接新的一天,哦,主啊,我要感谢你!感谢你将新的一天赐给我们,感谢你赐阳光、雨露和空气,感谢你赐下生命活水,感谢你赐下永生盼望,感谢你在尘土中将我抬举,感谢你的大爱,我要感谢直到永远!

朋友啊,感恩才会快乐,快乐才是生命的意义所在。让我们从感谢清晨开始,露出你醉人的微笑吧。

posted @ 2007-03-14 13:50 锋出磨砺 阅读(146) | 评论 (0)编辑 收藏

1993年5月,IEEE计算机协会的管理委员会设立了一个指导委员会,其目的是为确立软件工程作为一个职业而进行评估、计划和协调各种活动。同年,ACM理事会也同意设立一个关于软件工程的委员会。到1994年1月,两个协会成立了一个联合指导委员会,负责为软件工程职业实践制定一组适当标准,以此作为工业决策、职业认证和教学课程的基础。为完成这项工作,他们提出了如下建议:
  *采用标准定义;
  *定义所需的知识主体和推荐的实践活动;
  *定义道德标准;
  *定义本科生、研究生(硕士)和继续教育(再培训和转岗)的教学课程
  指导委员会决定通过设立一系列的专题组实现这些目标。最初的几个专题组包括:软件工程知识主体和推荐的实践活动;软件工程道德和职业实践以及软件工程课程体系。
  软件工程道德和职业实践小组的目标是为软件工程师在道德上和职业上的责任和义务制定一份文件。本道德规范(草案)由IEEE计算机协会和ACM联合指导委员会的软件工程道德和职业实践专题组开发,并且已经过该委员会的审查。
  任何规范,如果认真制定并正确推行,都会成为推动职业化和建立社会安全保障的有力工具。它们不应该也不会只开花不结果,但这常常是人们对规范的错觉。本规范草案是在对多个计算学科和工程学科规范进行广泛研究的基础上做出的,意在教育和激励采用规范的职业群体和成员。规范也告诉公众,一种职业的职责及其重要性。规范向实践者指明社会期望他们达到的标准,以及他们同行的追求和相互的期望。规范并不意味着鼓励讼争,并且它们也不代表立法;但它们的确就影响专业人员及其客户的一些问题给出了实际的建议,同时也给政策的制订者提供借鉴。
序言  
  现在,计算机越来越成为商业、工业、政府、医疗、教育、娱乐、社会事务以及人们日常生活的中心角色。那些直接或通过教学从事设计和开发软件系统的人员,有着极大的机会既可从事善举也可从事恶行,同时还能影响或使得他人做同样的事情。为尽可能保证这种力量用于有益的目的,软件工程师必须要求他们自己所进行的软件设计和开发是有益的,所从事的是受人尊敬的职业。为此,软件工程师应该坚持下面的道德规范。
  本规范含有8组由关键词命名的准则,这些准则均与专业软件工程师的行为和他们所作出的决定有关,也适用于本行业的从业者、教育者、管理者和督办人、下午制定者以及职业受训者和学生。这些准则对参与其中的个人、群体和组织相互之间的各种关系给出了区别,并指出了在这些关系当中各自的主要义务。
  规范中的每一组准则均以三个层次的道德义务阐述,这些道德义务都是专业软件工程师在所述的各种关系中所应承担的。第一个层次给出的是一组道德价值,这也是专业软件工程师和所有其他人就人性而言所共有的。第二个层次则是对软件工程专业人员提出的比第一个层次更具挑战性的一些义务。之所以要求第二个层次的义务,是因为专业人员应对那些会受到他们工作影响的人们负有特别的责任。第三层次也是更深的层次,包括了只与软件工程的专业实践有关的因素所直接引出的几项义务。每组准则中的条款是对相应的关系中各层次的义务的详细阐述。
  每组准则中的条款由对应于三个层次的三种不同类型的陈述组成。
  第一层次:渴望(对于真正的人)。渴望的陈述给出了方向和目标,并用于指导职业行为。这些指导性的要求对道德判断是非常重要的。
  第二层次:期望(对于专业人员)。期望的陈述表达了所有专业人员的义务和职业态度。虽然它们没有描述具体行为细节,但是它们清楚地指明了在计算科学领域中的职业责任。
  第三层次:要求(对于良好的从业者)。要求的陈述提出了在软件工程中更具体的行为责任,这些责任与当前的技术状况密切相关。本层陈述的范围从一般的渴望陈述到具体的可度量的要求。
  虽然所有层次的职业义务都已列举,但本规范并不打算包罗万象,也不希望它的各个部分被孤立地用来判定失职或违规。所列的准则和条款并不是很详尽的,不希望读者对于所有实际情形中的职业行为,简单地以此来区分哪些是可接受的哪些是不可接受的。本规范也不是一个简单地给出道德判定的道德算法。在某些情况下,本规范的各个标准有可能相互冲突或与其他的标准冲突。此时,就要求软件工程师结合当时的环境,以与本道德规范的精神最一致的方式来进行道德判断和采取行动。
  对于道德问题最好是给出经过深思熟虑的基本准则,而不是仅仅列出许多详细的规定。这些准则应该影响你去更广泛地考虑谁将受到你的工作影响;去检查你和你的同事是否以应有的尊重对待他人;去推测如果公众被恰当地告知,那么他们将怎样审视你所做的决定;去分析你的决定的最低影响力是多少;去考虑是否你的作为够得上软件工程师的理想的职业行为。因为本规范代表那些从事该职业的人的共同意见,所以我们应该重视由那些有见识的、受人尊重的和有经验的同行在掌握全部事实的情况下,他们认为的什么是特定环境中最道德的行为方式,并且只在具有深刻的原因同时又经过认真仔细地判别之后才违反这种常规。
  软件工程的动态性和需求的前后关系,要求一个规范能对出现的新情形有较强的适应性和适用性。但是即使在这种一般性原则下,本规范也只对那些以文档记录职业道德态度并采取积极行动的软件工程师提供支持;即提供相应开发组中的个人以及整个开发组都可以求助的道德基础。本规范也帮助定义哪些是对软件工程师提出的道德上不适当的要求。
  本规范还具有教育的作用,它指出了对任何想加入的继续从事软件工程职业的人的要求。因为它表达了该有关道德问题的一致意见,所以可以用作决策制定的指导,它也可以作为公众和渴望从事该职业的人了解有关软件工程师的职业义务的教育工具。
准则1:产品  
  软件工程师应尽可以确保他们开发的软件对于公众、雇主、客户以及用户是有用的,在质量上是可接受的,在时间上要按期完成并且费用合理,同时无错。特别地,软件工程师应尽可能发地做到:
  1.01 保证他们所做的软件的规格说明很好地制作了文档,能满足用户的需求,并得到客户的认可。
  1.02 努力去完全理解他们从事的软件的规格说明。
  1.03 通过适当的教育和经验的结合,保证对于从事的和将要从事的任何项目他们是合格的。
  1.04 对于他们从事的和将要从事的任何项目,保证正确的和可以实现的方向和目标。
  1.05 对于他们从事的和将要从事的任何项目,保证有一种恰当的方法学。
  1.06 对于他们从事的任何项目,保证有良好的管理,包括为提高质量和降低风险而采取的有效规程。
  1.07 对于他们从事的和将要从事的任何项目的费用、时间表、人员和支出,保证给出一个切合实际的预算,并且对这些预算作出风险评估。
  1.08 对于他们从事的任何项目要保证给出充分的文档,包括发现问题的日志和采取的解决方案。
  1.09 地他们从事的软件和有关文档,保证充分的测试、排错和复审。
  1.10 开发软件和相关的文档要努力做到尊重使用该软件的人的隐私权。
  1.11 注意只使用合法来源的准确数据,并且只以适当授权的方式使用。
  1.12 只在适当的时候,删去过时的或有问题的数据。
  1.13 努力辨别、定义和阐明与任何工作的项目相关的道德、经济、文化、法律和环境问题。
  1.14 为雇主、客户、用户和公众最大限度地提高质量和降低费用。为有关的各方之间作出折衷。
  1.15 努力遵循最适合于当前工作的工业标准,只有当技术上证明应该背离这些标准时才可以不遵守。
准则2:公众  
  从职业角色来说,软件工程只应该按照与公众的安全、健康和福利相一致的方式发挥作用。为此,软件工程师应该:
  2.01 就其负责或了解的软件或相关文档,如其中存在任何有可能对用户、第三方开发商或环境构成实际或潜在危害的危险,应向有关人士或权威机构报告。
  2.02 仅当有充足理由相信某个软件是安全的、满足规格说明要求、已经通过了适当的测试,并且没有降低生活质量或危害环境时,才赞成或批准它。
  2.03 只在那些在他们的监督之下准备好的文档上签字,或者这些文档属其能力范围内并为他们首肯。
  2.04 对由软件或相关文档引起的公众关心的重大问题应努力合作予以解决。
  2.05 尽力开发尊重多样性的软件。与语言、不同的能力、不同的访问形式(身体的、智力的)、经济优势以及资源分配等有关的问题都应予以考虑。
  2.06 与软件或相关文档有关的所有陈述都要公正的诚实,尤其对于公众关心的部分。
  2.07 不要将自身利益、雇主的利益、客户的利益或者用户的利益置于公众的利益之上。
  2.08 当机会出现时把职业技能献给美好的事业,并对与该学科相关的公共教育事业贡献力量。
  2.09 对他们自己的工作承担全部责任。
准则3:判断  
  在与准则2保持一致的情况下,软件工程师应该尽可能地维护他们职业判断的独立性并保护判断的声誉。特别地,软件工程师应做到:
  3.01 对于要求他们评价的任何软件或相关文档,应保持职业的客观性。
  3.02 只在那些在他们的监督下准备好的并且在其能力范围内的文档上签字。
  3.03 拒绝贿赂。
  3.04 除了合同的所有各方都知道的和都同意的之外,不接受第三方就该合同所付的回报、佣金或其他的酬金。
  3.05 对任何特定的项目或者特定于该项目的服务,除了当环境已经完全暴露给有关的各方并且他们都已表示同意外,否则只从一方接受报酬。
  3.06 对于那些不能合理地避免或避开并且又急切期望解决的利益冲突,要向有关的所有各方公开。
  3.07 凡与他们自身、他们的雇主、他们的客户的经济利益有关的软件或相关文档,应拒绝作为成员或顾问参与政府或专业团体对该软件或文档做任何决定。
  3.08 以支持和维护人的价值来调和所有的技术判断。
准则4:客户和雇主  
  软件工程师的工作应该始终与公众的健康、安全和福利保持一致,他们应该总是以职业的方式担当他们的客户或雇主的忠实代理人和委托人。特别地,软件工程师应该:
  4.01 只在他们的能力范围内提供服务。
  4.02 保证他们依据的任何文档都获得授权人的批准。
  4.03 只以适当授权的方式使用客户或雇主的财物,并且要让客户和雇主知道并获得他们的同意。
  4.04 不要在知道的情况下使用非法获得的或持有的软件。
  4.05 对于在职业活动中获得不属于公共范围的信息予以保密,当然,这种保密不应影响公众关心的问题。
  4.06 在他们工作的或知道的软件或相关文档中,对于任何与社会有关的问题应认真辨别、记录并向雇主或客户报告。
  4.07 如果他们认为某个项目可能失败,或证明费用太高,或违反了知识产权法,特别是版权法、专利法或商标法,或存在任何其他问题,应立即通知客户或雇主。
  4.08 不接受对其主要雇主的工作不利的其他工作。
  4.09 在未获得雇主特别同意的情况下,不去代表与他们雇主的利益相反的任何一方,除非需要服从一个更高的道德准则,此时他们应使雇主或另一个适当授权人或机构知道他们的道德情形。
准则5:管理  
  具有管理和领导职能的软件工程师应该公平行事,应使得并鼓励他们所领导的人履行自己的和集体的义务,包括本规范中要求的义务。特别地,扮演领导角色的软件工程师应尽可能适当地做到:
  5.01 在要求雇员遵守各种标准之前,保证使他们都已了解这些标准。
  5.02 保证雇员知道雇主为保护口令、文件和其他的保密信息而采取的策略和规程。
  5.03 只有在适当考虑了具有一定的教育和经验同时确认对这种教育和经验有进一步的渴望和要求之后,再分派工作。
  5.04 在听取对违反雇主的政策或本规范的指控之后给出必要的处理。
  5.05 对于雇员做出贡献的任何软件、处理技术、研究、文章或其他的知识产品,对其所有权制定出一份公平合理的协议。
  5.06 只通过对工作情况的全面和准确的描述来吸收雇员。
  5.07 只提供公平合理的酬报。
  5.08 对于有资格从事某项工作的下属,不能不公平地阻止他(或她)取得该项工作。
  5.09 不要求一个雇员去做任何与本规范不一致的事情。
准则6:职业  
  软件工程师应该在职业的各个方面提高他们职业的正直性和声誉,并与公众的健康、安全和福利要求保持一致。特别地,软件工程师应在尽可能的程度上做到:
  6.01 只与声誉好的公司和组织建立联系。
  6.02 保证客户、雇主和主管知道在本道德规范中软件工程师所应承担的义务和责任。
  6.03 支持按照本规范要求去做的那些人。
  6.04 帮助发展一种有利于道德行为的组织环境。
  6.05 对任何有理由相信违反了本规范的事情均应向相应授权(者)机构报告。
  6.06 对他们工作的软件和相关文档应履行检测、纠正和报告错误等职责。
  6.07 只接受与职业资格或经验相称的酬报。
  6.08 准确地陈述他们工作的软件的特性,不但要避免错误的断言,而且要避免有理由被认为是欺骗的、误导的或令人怀疑的断言。
  6.09 不要以职业上的代价来发展自己的兴趣。
  6.10 服从所有管理他们工作的法规,使他们的工作与公众的健康、安全和福利要求相一致。
  6.11 以对民众事务具有建设性的服务来履行对社会的职业责任。
  6.12 促进公众对软件工程的了解。
  6.13 共享该职业中有用的与软件有关的知识、发明或发现。例如,可以通过在专业会议上提交论文、在技术报刊上发表文章以及服务于制订职业标准的团体来达到共享。
准则7:同事  
  软件工程师应该公平地对待所有与他们一起工作的人,并应该采取积极的步骤支持社团的活动。特别地,软件工程师应尽可能做到:
  7.01 协助同事的职业发展。
  7.02 评审其他软件工程师的工作,这种评审不在公开范围内进行,只以他们事先的了解进行,并且假定这种评审与安全性要求相一致。
  7.03 充分信任其他人的工作。
  7.04 以客观、公正和建立正规文档的方式评审其他人的工作。
  7.05 公平地听取同事的意见、所关争的事情或任保抱怨。
  7.06 协助同事全面了解当前的标准工作惯例,包括保护口令和文件、常规的安全措施以及其他有关隐私信息的政策和规程。
  7.07 不要干涉任何同事的职业进步和发展。
  7.08 不要为寻求个人的利益而暗中破坏其他软件工程师的工作。
  7.09 对处于自己能力领域之外的情形,应征询相应领域的其他专业人员的意见。
准则8:本人  
  软件工程师应该在他们的整个职业生涯中,努力增加他们从事自己的职业所应该具有的能力。特别地,软件工程师应该始终努力做到:
  8.01 进一步提高在软件和相关文档的设计、开发和测试方面的知识水平,以及开发过程管理方面的知识。
  8.02 提高在合理的时间内以合理的费用创建安全、可靠和高质量软件的能力。
  8.03 提高编写准确的、信息丰富的和语言流畅的文档的能力,以支持所使用的软件。
  8.04 提高对所使用的软件和相关文档的理解,以及对这些软件和文档将要应用的环境的理解。
  8.05 提高对管理所使用的软件和相关文档的法律知识的了解。
  8.06 提高对本规范、有关它的解释以及应用于自身工作的了解。
  8.07 不要要求或影响其他人去从事任何违反本规范的活动。
  8.08 视违反本规范为与软件工程师职业不符的行为。

posted @ 2007-03-14 13:49 锋出磨砺 阅读(174) | 评论 (0)编辑 收藏

http://www.allapplabs.com/interview_questions/java_interview_questions.htm

posted @ 2007-03-14 13:49 锋出磨砺 阅读(135) | 评论 (0)编辑 收藏

IT方面的论坛太多了,有综合,有专业,有行业,在各个论坛里混了几年,体会颇深,以前是论坛哪里人多,往哪里去,新浪论坛,网易是经常去的,人多啊,好几十万,去了以后才发现没有意思,没有共同的语言,于是逛专业论坛,行业论坛,终于找到了共同语言,总结一下论坛的经验:人不在多,有仙则灵,贴不在多,有精则行,逛了大半辈子,一个IT人发展方向一定要除了技术外,业务,理论,思想一个都不能少,于是我推荐如下这些论坛,或许真能帮助您,做论坛,都是赔本的买卖,不收费还帮助你学习,得向斑竹们致敬啊。
  
  以下论坛排名不分先后,还有许多业界知名的论坛,主要有点偏门,这个不做概述,呵呵。
  
  IT技术开发综合类
  http://community.csdn.net/
  适合人群:只适合软件开发者
  技术开发最全面的论坛,里面可以遇到很多牛人,版面也很全,什么J2EE,.NET啊,该有的全上,在这里基本上可以提出任何问题,人气也是最旺的,不过一般提出的意见都有正方两面的,所以最终解决问题,还是靠自己。
  评价:专业,很牛逼,就是速度慢。
  
  http://www.52rd.com/bbs
  适合人群:研发人员
  我爱研发网,顾名思义,是针对R&D研发人员的,目前在射频,通信,手机研发是国内第一的,牛人不少,问题讨论的很彻底。论坛制度很人性化,设有资料交换区,有超大量有价值的资料。
  评价:强,速度还可以;
  
  http://bbs.chinaunix.net/forum/
  适合人员:系统工程师
  这里的特色就是操作系统方面在业界是最著名的,牛人不少,目前,在数据库,网络方面也颇有建树,当然灌水方面也不赖,呵呵,属于温柔性
  评价:强,速度还可以
  
  http://bbs.chinajavaworld.com/
  适合人员:JAVA开发
  JAVA方面非常综合的论坛了,牛人也很多,是一个难得的JAVA论坛,涉及你想象的关于JAVA目前任何技术。
  评论:强,速度还可以。

  电子工程师类
  http://21icbbs.com/
  适合人员:电子工程师
  人气不错,覆盖面比较广,老牌了,就是有点和时代脱节了,无论是设计上还是内容上
  评论:强,速度还可以

  http://www.eetchina.com/DG/eec_dg_home.htm
  适合人员:电子工程师
  环球资源的子站,页面设计很大气,技术文章也比较及时和权威,是个难得的好网
  评论:强,速度还可以
  
  网络工程类
  www.1000bbs.com
  适合人员:布线/网络工程师
  人气很旺,特色是版面比较紧凑,综合布线这一块很权威,很窄很专,时间非常久了,颜色比较明快,就是太低端了,
  评价:不错,速度一般
  
  http://www.sharecenter.net/
  适合人员:网络工程师
  之所以我喜欢是这个网站很多做CISCO工程都知道,也是别人介绍我去的,时间非常久了,颜色比较暗谈,属于忧郁型。
  评价:不错,速度也还可以
  
  IT营销管理类
  http://www.topren.net/forum/index.php
  适合人员:企业策划,CIO
  业界知名的知识站点“唐人社区”,信息化管理顾问可以去看看,人也很多,可惜,都是下载,实质性内容需要改观,我记得是非常专业的网站。
  评价:不错,速度也还可以。
  
  IT管理综合类
  http://club.amteam.org/
  适合人群:大多数,
  评论类比较多,基本上在其他媒体上看到的评论,这里都会有,要想了解IT发展的情况,就来这里看看。
  评价:很好,休闲工作都可以看。

posted @ 2007-03-14 13:48 锋出磨砺 阅读(657) | 评论 (0)编辑 收藏

public static String replaceStr(String source,String toBeReplaced,String replaceWith)
    {     
     StringBuffer buffer = new StringBuffer();
     
     StringTokenizer st = new StringTokenizer(source,toBeReplaced);
     if(st.countTokens()>0)
     {
      while(st.hasMoreTokens())
      {
       String token = st.nextToken();
       buffer.append(token);
       buffer.append(replaceWith);
      }
     }
     else
     {
      //nothing to replace
      buffer.append(source);
     }
          
     return buffer.toString();
    }

posted @ 2007-03-13 17:36 锋出磨砺 阅读(334) | 评论 (0)编辑 收藏

public static byte[] getBytes(InputStream is)
    throws Exception
    {
        byte[] data = null;
       
        Collection chunks = new ArrayList();
        byte[] buffer = new byte[1024*1000];
        int read = -1;
        int size = 0;
       
        while((read=is.read(buffer))!=-1)
        {
            if(read>0)
            {
                byte[] chunk = new byte[read];
                System.arraycopy(buffer,0,chunk,0,read);
                chunks.add(chunk);
                size += chunk.length;
            }
        }      
       
        if(size>0)
        {
            ByteArrayOutputStream bos = null;
            try
            {
                bos = new ByteArrayOutputStream(size);
                for(Iterator itr=chunks.iterator();itr.hasNext();)
                {
                    byte[] chunk = (byte[])itr.next();
                    bos.write(chunk);
                }
                data = bos.toByteArray();
            }
            finally
            {
                if(bos!=null)
                {
                    bos.close();
                }
            }
        }
        return data;
    }

posted @ 2007-03-13 17:35 锋出磨砺 阅读(6449) | 评论 (5)编辑 收藏

int read = -1;
        int size = 0;
while((read=inputstream.read(buffer))!=-1)
        {
            if(read>0)
            {
                byte[] chunk = new byte[read];
                System.arraycopy(buffer,0,chunk,0,read);
                chunks.add(chunk);
                size += chunk.length;
            }
        } 

posted @ 2007-03-13 17:34 锋出磨砺 阅读(1699) | 评论 (0)编辑 收藏

嘴唇干裂可用石膏蜂蜜糊剂治疗,效果极佳。用法:取熟石膏50克,过80目筛,加蜂蜜50克,冰块3克,搅匀装瓶备用。每日涂患处2~3次。一般3~4天即可治愈

posted @ 2006-12-23 13:27 锋出磨砺 阅读(240) | 评论 (0)编辑 收藏

1)用unicode码判断

 对于gb2312来讲,首字节码位从0×81至0×FE,尾字节码位分别是0×40至0×FE  
 
public  boolean  isGB2312(String  str){  
                           char[]  chars=str.toCharArray();  
                           boolean  isGB2312=false;  
                           for(int  i=0;i<chars.length;i++){  
                                       byte[]  bytes=(""+chars[i]).getBytes();  
                                       if(bytes.length==2){  
                                                   int[]  ints=new  int[2];  
                                                   ints[0]=bytes[0]&  0xff;  
                                                   ints[1]=bytes[1]&  0xff;  
                                                   if(ints[0]>=0x81  &&  ints[0]<=0xFE  &&  ints[1]>=0x40  &&  ints[1]<=0xFE){  
                                                               isGB2312=true;  
                                                               break;  
                                                   }  
                                       }  
                           }  
                           return  isGB2312;  

 

2)用正则表达式

  1. String  aa = "中国China人";
  2. for  (int i = 0; i < aa.length(); i++) {
  3.    String bb = aa.substring(i, i+1);
  4.    //生成一个Pattern,同时编译一个正则表达式 
  5.    boolean cc = java.util.regex.Pattern.matches("[\u4E00-\u9FA5]", bb);
  6.    System.out.println(bb+" is chinese?-> "+cc);
  7. }

第2中方法更简单些

如果是判断是否为全角字符可以用

boolean cc = java.util.regex.Pattern.matches("[\uFF00-\uFFFF]", bb);

posted @ 2006-12-21 18:51 锋出磨砺 阅读(239) | 评论 (0)编辑 收藏


道是悟的 而非学的 悟即思考
吾当生命不息 思考不止

思考的源泉来源于实践和理论
理论在于多读书 叫厚积 玄览
实践在于模拟 行动
思考在于从实践和理论中 薄发 涤虑 抽取

行动当有目标指导约束监控 而不至偏离
快速行动当有成熟的模式资源培训组织管理以及强大的支持力
吾辈注定做了实作者 就踏踏实实的实实在在做些事情

posted @ 2006-05-10 13:07 锋出磨砺 阅读(215) | 评论 (2)编辑 收藏

软件设计通过软件统设计模型来表示(参见《再议模型》),软件设计评价是对软件系统设计模型的评价。在这里,我们使用源系统表示软件要实现自动化的系统,它处于实体空间;目标系统表示要实现的软件本身,它处于形式空间。软件表示模型(即系统分析模型和系统设计模型,参见《再议模型》)是沟通源系统和目标系统的桥梁。表示模型的形成需要一个过程,我们称其为过程空间。下面我们使用图形方式来描述:


               这样,软件设计评价应该具有三类标准,分别是实体空间标准、过程空间标准和形式空间标准。

              
            实体空间标准以源系统做为标准来度量系统设计模型。这依赖于我们对于源系统的认识程度,我们知道应该具有这样一个标准,但实行起来非常困难。设计的合理性就是实体空间标准,它没有一个具体的内容和形式。

              
            过程空间标准在设计评价中经常被使用。它可以看作实体空间的间接标准,基于分析模型和设计模型是出于同一实体,其中具有自然的关联。我们说,设计是否附合需求,就是检验设计模型和分析模型的一致性。

               
            形式空间标准以目标系统的角度检验系统设计。从上述两种标准,可以保证目标系统的功能满足源系统,但不能保证目标系统在运行状态下的质量属性。所以形式空间标准是从目标系统的质量出发来考察系统设计的。考虑到质量,我们使用McCall/GE质量模型,它围绕产品改进、产品运行、产品移交三种使用情况来组织质量属性,可以看出是基于目标系统的。国际上有很多现行的基于质量评价系统设计的方法,我们后面会参考其中的部分。
            虽然从理论上我们可以知道软件设计评价具有三类标准,但却没有办法真正按照这些标准去检验一个软件的设计。

              
            实体空间标准应该是一个软件设计最终应该附合的标准。但是,这个标准很难直接应用于软件设计模型上,因为软件设计是思维的产物,在实体上检验这个产物是否正确,恐怕只能说“实践是检验真理的唯一标准”了。只有在错误非常明显的情况下,这个标准才会起作用。

               
            过程空间标准相对好一些。通过和软件生产过程前期阶段产物进行对比,可以找到其中不一致的地方,这可能就是设计上的问题了。同时,现代软件开发一般采用迭代的方式进行,设计活动可能分多次进行。这种迭代也要求我们检查设计对需求的覆盖情况。

               
            通过形式空间标准对软件设计进行检验时,往往并不存在一个唯一的检验标准。这是因为实际软件的质量要求不是唯一的,不同的软件有不同的质量属性要求。而特定软件的质量要求,是在需求分析、设计的过程中逐步形成的。这些质量要求,最终成为我们检验软件设计的标准之一。

                根据这些标准,我们现在设计一个软件设计评价表模版:

                  软件设计评价表
                  软件名称 迭代周期
                  设计人员
                  评审人员
                  设计合理性
                  
                  
                  
                  
                  需求附合度
                  功能点覆盖率(FPC)?%重点功能点覆盖率(IFPC)?%
                  优先功能覆盖率(PFPC)?%需求一致度(Should be 100%)?%
                  质量属性
                  模块性权重在过程中确定权重分数,100分制,下同
                  可修改性权重权重之和应为100%
                  可扩展性权重下同
                  性能权重 
                  可靠性权重 
                  可用性权重 
                  可移植性权重 
                  可维护性权重 
                  灵活性权重 
                  可重用性权重 
                  可理解性权重 
                  弹性权重 
                  安全性权重 
                  容错性权重 
                  评审结论
                  
                  
                  
                  

                在设计合理性方面,主要考虑以下内容:

              类的职责单一、明确
              模块结构清晰、完整
              活动、行为描述清晰
              实体关联清楚,状态合理

                对需求附合度的要求要在评价之间确定。

               
            质量属性的评价权重一般在设计开始之前确定,这个工作多数在架构设计时刻完成。最后,
根据质量属性的权重,可以计算设计的总体质量分数。这些都是最终评审结论的素材。

               
            一般来说,对于设计的评价通过建立场景的方法来实现。比如评价可修改性,一般先建立一个修改的场景,
对设计进行模拟修改,观察其是否易于修改。有些质量属性无法通过这种方法检验,只能通过对设计模型进行观察得出
结论。
            

posted @ 2006-05-08 16:47 锋出磨砺 阅读(1305) | 评论 (0)编辑 收藏

岩前倚杖看云起;
松下操琴待鹤归。

阅透人情知纸厚
踏穿世路知山平

多言即少味,
无欲斯有为。

宠辱不惊,看庭前花开花落;
去留无意,望天上云卷云舒。

长空有月明两岸;
秋水不波行一舟。

香分花上露;
水吸石中泉。

月下共对一壶酒,
花前相看知心人。

posted @ 2006-04-14 15:43 锋出磨砺 阅读(362) | 评论 (1)编辑 收藏

繁忙   繁杂的忙 让你劳累却不解决实质问题
忙碌 忙的碌碌无为
忙乱  忙的都乱了 不如不忙
慌忙 呵呵 别慌 慢慢来

所以我发明了个  忙果 忙的结了大结果(果实的果哟 不是恶果)

posted @ 2006-04-12 17:19 锋出磨砺 阅读(267) | 评论 (3)编辑 收藏

重购的基本思想:
第一,提取,包括类(子类,超类等),函数。也就是把表达一个单独的逻辑含义的包装在一起,更好的表现他独立的意义。
这个里面就有一系列的Extract方法,Extract Method,Extract Class,把长的逻辑表达式也表示为由意义的单元。
第二,为变量函数等选择合适的地方,可能他们更多的与其他的类或者函数交互因而更应该那个类的方法或者变量。有一系列的
Move方法。move from,to,up,down。
第三,替换,用类型和Override来替代Switch,用Stratey,State模式来特换函数,以提供可变的行为。改变函数名,类的名
字,让他们更有意义。
第四,所谓的臭味,如同我们维护别人的代码,看着看着我们就忘了他在做什么了。这个里面有两个最突出的臭味,大和长
(男人会认为有什么不对吗?个人感觉挺好的,特别是如果你身边有个马SS的话)。大的函数,大的类,长长的参数,长长的
数据成员等等。这时就要把他们break into pieces.
第五,重构的方法学,小步前进,重视单元测试,持续重构。

 

项目管理:
1,合理的计划制订和风险应对措施以及团队构建结构
2,深入了解团队成员并结合1的成果进行合理的分工或者人员招聘
3,建立完善的资源获取渠道和高效的沟通渠道
4,建立高效的培训指导机制和目标注入方式
5,和上层,客户,市场部门,质量部门等协同部门间平等且直通的渠道


架构设计:
1,优秀的架构和简洁的接口(简洁如艺术的优雅)
2,明晰的层次和良好的扩展
3,可检测的性能指标设计

概要设计:
1,合理的功能划分和类骨架设计
2,主要流程的时序设计
3,核心实体以及配置文件的数据结构
4,技术难点的攻克和核心算法的设计

详细设计:
1,类属性和方法的设计和核心程序的实现
2,内部流程的时序

 

代码实现:
1,标准的注释 简赅的语言
2,良好的程序结构和异常处理

质量保证:
1,每日的简短跟踪和每日的实现部署
2,严格的质量指标制订
3,严格的版本控制和资源控制

posted @ 2006-04-12 17:12 锋出磨砺 阅读(219) | 评论 (1)编辑 收藏

业务用例对角色(什么样的个体和接口访问到我们识别出来的各种业务任务)
业务对象对业务对象(各个业务对象之间是如何彼此交互的,和他们共享信息的种类)
用例对用例(任务彼此之间的依赖,和被一定的过程共享的公用任务

用例设计误区
用例被创建的太大或者太小 -- 粒度问题
用例在跨越团队的情况下不一致  -- 用例一致性(形式 含义)
没有对用例分组的包进行良好的计划  -- 模块划分不合理
不合理的对模型的访问进行控制,导致在团队分析协作的过程中发生冲突  -- 开放式团队管理
过于细致的定义用例,在用例进入原型、设计和开发任务之前就定义每一件事情  -- 粒度太小 需求确定的可以这么做 不稳定的当抽象为主 对应变更
定义用例时过于简单,使需求被工程团队可以有众多的解释  -- 言语还是不确定 无法用语言表达的借助图形 图形无法描述的 定义术语集合 语言支持

角色模型
模块模型

在从用例向设计类转化的过程中,我们希望能够实现:

将分析小组的知识传授给工程团队。   -- 文档传承 结构合理易于理解的文档(加以详细注释)不失为最好的选择
识别能够满足所有需求的技术方案 — 或者,什么地方不是可能的,识别与技术方案冲突的需求,并确定是否他们是重要的或者被改变或者被删除。
 -- 需求阶段应该加入这样的分析和模型了
识别能够帮助确定团队结构、架构层次和对于购买软件的候选的接口。
 -- 整合好的方案 不能整合的以清晰的头脑单做
指定技术方案的细节并开始计划如何在团队之中分配工作。
 --
基于设计模型的细化时间进行计划和预算的预估。
 -- 经验 改进
分配类到平台、产品和私有代码。
 -- 拿手完
为了反馈和同步的目的,生成软件架构文档,软件架构文档能够被分发到内部和外部的团队成员。
 -- 传承沟通

我们如何组织通用的服务?
回答:公用服务被单独的放在一个子包中(日志服务;数据同步和备份服务;访问控制服务和登陆服务)。
我们应该在 shipping 和 part management 之间画线吗?
回答: 我们不需要连接他们两个。
我们根据领域还是架构来定义子系统?
回答:架构在大多数地方都能与领域结合。
我们允许包之间的双向依赖吗?
回答:不。这是违背我们内部设计指导方针的不好的设计实践。
MDA 的观点下有四个原则:

以一种定义良好的符号表示的模型是理解企业级方案系统的基础。
系统的构建能够围绕着一系列模型通过使用在模型之间的一系列转换被组织的,并且能被组织到一个分层的和转换的体系架构框架中。
以一系列元模型来描述模型的一种正式的支持能力能够使在模型中有意义的集成和转换变得容易,并且是通过工具实现自动化的基础。
接受和广泛采纳基于模型的方法需要工业的标准提供开放性给客户,并鼓励供应商之间的竞争。

OMG已经定义了一系列的层次和转换,他们为MDA提供了概念性的框架和词汇表。
特别的,OMG 确定了四种模型类型:
计算无关的模型(CIM),
平台无关的模型(PIM),
被一个平台模型(PM)描述的平台相关的模型(PSM)和
一个实现相关的模型(ISM)。

问题领域模型和方案领域模型
业务建模 数据建模 安全建模 性能建模
狭义上讲,它是关于一个系统的不同抽象模型,和在模型之间定义良好的模型转换的。
广义上讲,它是关于抽象的各种级别上的模型,这些抽象作为基础为软件架构服务,这些架构最终将通过各种实现技术被实现。

posted @ 2006-04-12 17:10 锋出磨砺 阅读(247) | 评论 (1)编辑 收藏

痴人痴梦斥耻泪
缘散缘尽怨鸳恨

立绝壁顶望三千尺深沟
握金刚钻凿五万里长卷

倾半生力写七仞行酸诗
给一张脸抽九百团红印


春时青草绿欲滴
冬秋枯黄灶底柴
青春人生过有时
惜时打拼遍尝味

 

住田园种梯田年年穿戴田产棉
听泉声饮冽泉天天侍弄泉浇园
剩余的粮食和棉卖成钱
换来闲钱买来了纸和盐
写下了酸文撞倒了醋坛
可怜不可怜 唉 梦醒了

posted @ 2006-04-12 17:07 锋出磨砺 阅读(141) | 评论 (0)编辑 收藏


在浮躁的年代里,我们进取心太切,患得患失;虚荣心太强,战战兢兢。一心争强好胜,惟恐榜上无名。
     说起来夸夸其谈、头头是道,做起事来心中无数、手足无措。
在浮躁的年代里,我们哗众取宠,急功近利,惟名是图。于是我们盲目追赶朝流、投机取巧,不做实事、也做不出实事。
在浮躁的年代里,我们为达目的,不择手段。于是我们盗版,随意践踏别人的劳动成果,侵犯别人的知识产权。
在浮躁的年代里,我们随波逐流,没有主见,没有定力,人云亦云。于是我们只能整天围着Microsoft、IBM、SUN转圈。

因为我们浮躁,所以我们没有目标。
因为我们浮躁,所以我们没有发明C/C++、Java、Ruby,甚至面对Spring、Hibernate,我们也只有膜拜。
因为我们浮躁,所以我们做学问只得天天面对无趣的English,并美其名曰:“师夷长技以自夷”。
做官因为浮躁,所以成为庸官;做学问因为浮躁,所以一事无成;做人因为浮躁,所以为人浅薄。
在浮躁的年代里做学问难,做好学问更是难上加难!

                -----以上引自某强人贴    

当浮躁成为流行的时候  给你打招呼的时候 我会说:这两天你浮躁了吗
你会说 当然浮躁了 不浮躁别人不给发工资呀

为了不浮躁,先用好别人的东西,再创新出自己的产品!!
8月18 Infoer-BDF(bussiness data flow)-EAI For Soa 第一版一定出品。

posted @ 2006-04-12 17:01 锋出磨砺 阅读(358) | 评论 (1)编辑 收藏

这里将不对具体的模式进行大量的描述,只是总结自己的经验,谈谈自己的浅论。
1,项目管理模式
    项目管理模式使得常规的管理问题处理起来变的简单,如果这个团队是新组建的团队,
将会使开头的事情有条理的进行,管理者将只是关注异常的发生,应对那些比较难处理
的困难,不为其他事务所劳累,以使得偏离方向,使一切陷入泥潭。
    我的总结是 牢牢的抓住主线,旁支末节套用模式去处理,不必去创新,好的模式已经潜
    在的包含了处理风险的方法,要做的就是发现并使用它。当然,用了和用的好差别是很大
    的,常规的判断和经验的积累是提高的最快方式。
2,业务模式
    领域模型的概念提出很久了,虽然做了很多的领域,自己仍然没有对此进行深入的研究和
    探索。业务模式更多的体现于用户权限控制,日志处理等通用模式和一些行业特有模式(
    如:电信计费模式,网管报警模式,电力设备运行模式等等)。对于业务模式我的意见还是
    知识库的方式,没有银弹。尽可能的收集和提取业务模式(以易懂的描述手段进行编写),以专业
    的模式名以大家熟知的方式进行索引归类。方便大家查询,业务模式是帮助大家理解新的业务需求,
    并不是套用和借用。
3,构架模式
    用成熟的,如mvc.借助一些成熟的framework,中间件等。
    因为产品的特殊性,没有成熟的模式匹配,建议大量采用层模式,使得问题处理起来简单一些。
4,设计模式
    设计模式是为了设计师之间的讨论。我严格的批判以代码分析模式的学习方法,因为我们大家都是
    从代码时期慢慢的转入专业的设计队伍的,所以难免看到模式的时候想到的是如何用某种代码实现
    这个模式,引入大家进入了一个误区。可以尝试,不看任何模式代码的实现,先看模式,想想以前的
    系统,那些场景适合某些模式的使用或者扩展。懂模式,而后用模式,然后进行设计,再去实现它。
5,代码模式(通用组件)
    封装好用的组件是很困难的,将代码模式转化为组件更是难上加难。像我们这些二把刀子,可能做出
    的组件还不如不做组件。所以,对于代码模式,为了便于操作和使用,我建议:
    第一步:封装一些常用的工具类,如:字符串比较,日期比较等等。使得最常规的一些实现通用稳定适用。
    第二步:根据具体产品功能需求,进行针对性的组件封装,功能最好单一简单。
    第三步:组件群的设计,为了实现复杂功能,将简单的组件进行群化。

posted @ 2006-04-10 10:33 锋出磨砺 阅读(227) | 评论 (1)编辑 收藏

醉倒山巅品山泉
弹指琴鸾赏琴弦
泼墨卷上才卷帘
琴韵对诗人对颜


醉倒山间饮山泉
弹指琴鸾拨琴弦
泼墨卷上方卷帘
琴韵对诗人对颜

posted @ 2006-04-06 15:03 锋出磨砺 阅读(341) | 评论 (4)编辑 收藏

对于一个软件产品,我对于其成功的理解是用合适的资源创造了合适能用的产品,使得最终的目标达到了大家的要求。
举个例子:削铅笔。当我们开始酝酿的时候,合适的资源是一个铅笔刀和能够使用铅笔刀的人,当铅笔刀不够锋利的时候,
此时就需要进行磨刀的工作,此时,就要求有新的资源--磨刀石。此时,对于管理决策者来说,是采购一个磨刀石呢还是
采购一个铅笔刀呢,这个问题在不同的场景下有不同的决策结果。而往往管理决策者一开始规划的很大,已经不存在铅笔刀


概念,而是采用了斧子,又因为时间和进度的关系,斧子大多都是钝的,当进行工作准备的时候,大家都在忙着磨斧子,大

概用
手摸了摸,觉的可以开始了,就开始削了。因为斧子的锋利度不一样,各人的进度和质量就不一样。此时,产生的状态有
1,斧子锋利的(分析 设计做的好的,编码功夫扎实的),很快的工作着
2,斧子较为锋利的(分析 设计做的不太好的),也就凑合着削,难免有时候,削断了铅笔,浪费着资源,影响着进度和质


3,斧子不锋利的(分析 设计做的不好的),有些决定重新磨,有些用斧子砸掉铅笔 走人不干了。
4,斧子不能用的   聪明的 自己买了铅笔刀 不聪明的在苦苦的挣扎.
这就是各人磨自己的坏处。软件开发是一个团队的工作。
所以,我们组件了团队,就要用科学的分工。在前期准备工作的时候,将分工磨刀,端水的端水(项目经理干这个最合适)
,主要设计人员磨,项目经理配合测试人员验证磨出刀子的质量。还有开发人员在学习刀子的用法。这样我们将风险降到最
低了。

posted @ 2006-03-27 11:32 锋出磨砺 阅读(152) | 评论 (0)编辑 收藏

望---
       站在系统外边望,纵观全局,建立架构观。高层用例就建立了。此为常说的构架设计。
闻---
       构架完成后,听取涉众的广泛意见,初探需求。为高层用例细化,为构架填充肌肉。此为常说的概要设计。
问---
       对于细节的沟通交流,你来我往,原型时刻,也就是形成详细设计的时候。
切---
       出手了,切准了,我们开始编码了。

posted @ 2006-03-23 14:34 锋出磨砺 阅读(151) | 评论 (0)编辑 收藏

2006年3月17日农历2月18,我们家宝宝顺利分娩。是个男娃娃,体重6斤3两,虽然不是特别重,但是小家伙硬朗的很,皮肤也好,头发也好。娃他妈也很好,3月19日中午,宝宝就吃上了初乳,娃他妈太棒了。

posted @ 2006-03-19 22:24 锋出磨砺 阅读(305) | 评论 (4)编辑 收藏

   2006年3月16日。
   
   www.infoer.cn 
   www.infoer.com.cn
   正式注册。
   这是西安云帆软件有限公司的站点。
 
   我们的愿意结交天下的信息从业者为朋友,
   我们将脚踏实地的做一些事情。

   

posted @ 2006-03-16 14:41 锋出磨砺 阅读(230) | 评论 (1)编辑 收藏

我要从徐家汇赶去机场,于是匆匆结束了一个会议,在美罗大厦前搜索出租车。一辆大众发现了我,非常专业的、径直的停在我的面前。这一停,于是有了后面的这个让我深感震撼的故事,象上了一堂生动的MBA案例课。为了忠实于这名出租车司机的原意,我凭记忆尽量重复他原来的话。

“去哪里……好的,机场。我在徐家汇就喜欢做美罗大厦的生意。这里我只做两个地方。美罗大厦,均瑶大厦。你知道吗?接到你之前,我在美罗大厦门口兜了两圈,终于被我看到你了!从写字楼里出来的,肯定去的不近~~~”

“哦?你很有方法嘛!”我附和了一下。

“做出租车司机,也要用科学的方法。”他说。我一愣,顿时很有些兴趣“什么科学的方法?”

“要懂得统计。我做过精确的计算。我说给你听啊。我每天开17个小时的车,每小时成本34.5元……”

“怎么算出来的?”我追问。

“你算啊,我每天要交380元,油费大概210元左右。一天17小时,平均每小时固定成本22元,交给公司,平均每小时12.5元油费。这是不是就是34.5元?”,我有些惊讶。我打了10年的车,第一次听到有出租车司机这么计算成本。以前的司机都和我说,每公里成本0.3元,另外每天交多少钱之类的。

“成本是不能按公里算的,只能按时间算。你看,计价器有一个“检查”功能。你可以看到一天的详细记录。我做过数据分析,每次载客之间的空驶时间平均为7分钟。如果上来一个起步价,10元,大概要开10分钟。也就是每一个10元的客人要花17分钟的成本,就是9.8元。不赚钱啊!如果说做浦东、杭州、青浦的客人是吃饭,做10元的客人连吃菜都算不上,只能算是撒了些味精。”

强!这位师傅听上去真不象出租车司机,到象是一位成本核算师。“那你怎么办呢?”我更感兴趣了,继续问。看来去机场的路上还能学到新东西。

“千万不能被客户拉了满街跑。而是通过选择停车的地点,时间,和客户,主动地决定你要去的地方。”我非常惊讶,这听上去很有意思。“有人说做出租车司机是靠运气吃饭的职业。我以为不是。你要站在客户的位置上,从客户的角度去思考。”这句话听上去很专业,有点象很多商业管理培训老师说的“put yourself into others' shoes.”

“给你举个例子,医院门口,一个拿着药的,一个拿着脸盆的,你带哪一个。”我想了想,说不知道。

“你要带那个拿脸盆的。一般人病小痛的到医院看一看,拿点药,不一定会去很远的医院。拿着脸盆打车的,那是出院的。住院哪有不死人的?今天二楼的谁死了,明天三楼又死了一个。从医院出来的人通常会有一种重获新生的感觉,重新认识生命的意义,健康才最重要。那天这个说:走,去青浦。眼睛都不眨一下。你说他会打车到人民广场,再去做青浦线吗?绝对不会!”

我不由得开始佩服。

“再给你举个例子。那天人民广场,三个人在前面招手。一个年轻女子,拿着小包,刚买完东西。还有一对青年男女,一看就是逛街的。第三个是个里面穿绒衬衫的,外面羽绒服的男子,拿着笔记本包。我看一个人只要3秒钟。我毫不犹豫地停在这个男子面前。这个男的上车后说:延安高架、南北高架~~~还没说后面就忍不住问,为什么你毫不犹豫地开到我面前?前面还有两个人,他们要是想上车,我也不好意思和他们抢。我回答说,中午的时候,还有十几分钟就1点了。那个女孩子是中午溜出来买东西的,估计公司很近;那对男女是游客,没拿什么东西,不会去很远;你是出去办事的,拿着笔记本包,一看就是公务。而且这个时候出去,估计应该不会近。那个男的就说,你说对了,去宝山。”

“那些在超市门口,地铁口打车,穿着睡衣的人可能去很远吗?可能去机场吗?机场也不会让她进啊。”

有道理!我越听越有意思。

“很多司机都抱怨,生意不好做啊,油价又涨了啊,都从别人身上找原因。我说,你永远从别人身上找原因,你永远不能提高。从自己身上找找看,问题出在哪里。”这话听起来好熟,好像是“如果你不能改变世界,就改变你自己”,或者Steven Corvey的“影响圈和关注圈”的翻版。“有一次,在南丹路一个人拦车,去田林。后来又有一次,一个人在南丹路拦车,还是去田林。我就问了,怎么你们从南丹路出来的人,很多都是去田林呢?人家说,在南丹路有一个公共汽车总站,我们都是坐公共汽车从浦东到这里,然后搭车去田林的。我恍然大悟。比如你看我们开过的这条路,没有写字楼,没有酒店,什么都没有,只有公共汽车站,站在这里拦车的多半都是刚下公共汽车的,再选择一条最短路经打车。在这里拦车的客户通常不会高于15元。”

“所以我说,态度决定一切!”我听十几个总裁讲过这句话,第一次听出租车司机这么说。

“要用科学的方法,统计学来做生意。天天等在地铁站口排队,怎么能赚到钱?每个月就赚500块钱怎么养活老婆孩子?这就是在谋杀啊!慢性谋杀你的全家。要用知识武装自己。学习知识可以把一个人变成聪明的人,一个聪明的人学习知识可以变成很聪明的人。一个很聪明的人学习知识,可以变成天才。”

“有一次一个人打车去火车站,问怎么走。他说这么这么走。我说慢,上高架,再这么这么走。他说,这就绕远了。我说,没关系,你经常走你有经验,你那么走50块,你按我的走法,等里程表50块了,我就翻表。你只给50快就好了,多的算我的。按你说的那么走要50分钟,我带你这么走只要25分钟。最后,按我的路走,多走了4公里,快了25分钟,我只收了50块。乘客很高兴,省了10元钱左右。这4公里对我来说就是1块多钱的油钱。我相当于用1元多钱买了25分钟。我刚才说了,我一小时的成本34.5块,我多合算啊!”

“在大众公司,一般一个司机3、4千,拿回家。做的好的大概5千左右。顶级的司机大概每月能有7000。全大众2万个司机,大概只有2-3个司机,万里挑一,每月能拿到8000以上。我就是这2-3个人中间的一个。而且很稳定,基本不会大的波动。”

太强了!到此为止,我越来越佩服这个出租车司机。

“我常常说我是一个快乐的车夫。有人说,你是因为赚的钱多,所以当然快乐。我对他们说,你们正好错了。是因为我有快乐、积极的心态,所以赚的钱多。”

说的多好啊!

“要懂得体味工作带给你的美。堵在人民广场的时候,很多司机抱怨,又堵车了!真是倒霉。千万不要这样,用心体会一下这个城市的美,外面有很多漂亮的女孩子经过,非常现代的高楼大厦,虽然买不起,但是却可以用欣赏的眼光去享受。开车去机场,看着两边的绿色,冬天是白色的,多美啊。再看看里程表,100多了,就更美了!每一样工作都有她美丽的地方,我们要懂得从工作中体会这种美丽。”

“我10年前是强生公司的总教练。8年前在公司作过三个不同部门的部门经理。后来我不干了,一个月就3、5千块,没意思。就主动来做司机。我愿意做一个快乐的车夫。哈哈哈哈。”

到了机场,我给他留了一张名片,说:“你有没有兴趣这个星期五,到我办公室,给微软的员工讲一讲你怎么开出租车的?你就当打着表,60公里一小时,你讲多久,我就付你多少钱。给我电话。”

我迫不及待的在飞机上记录下他这堂生动的MBA课。

posted @ 2006-03-16 08:53 锋出磨砺 阅读(160) | 评论 (0)编辑 收藏

我们不怕编码难 
千行万列都是钱 
辛苦干了几十年 
生活还是这么难
上班从不谝闲传
就为争人几个钱
流血流泪咱不嫌
只要月底工资还

posted @ 2006-03-08 13:44 锋出磨砺 阅读(168) | 评论 (0)编辑 收藏

作为一个成熟的EAI,成功的一些准则如下,那么我们的共享平台是否达到了呢?如果没有达到,那就是失败。
其实,这些准则就是下一步工作的重点。
?       可靠性:提供一个坚固的系统运行环境,具有强大的故障恢复能力、系统重新启动和恢复能力、数据可靠传输能力等。
主要是集中在前置机和总线中心的数据交换。凡是对外提供服务的服务器都应该可靠。
?       可扩展性:提供动态部署能力,涉及交易方式、应用程序配置、对象服务嵌入等。
提供的开发工具可以开发新的可动态部署的组件。
?       可管理性:系统要实现有效的管理,管理内容包括应用服务器、操作系统进程和线程、数据库连接,以及网络会话等。
监控管理中心的重点。
?       数据一致性:交易完整性保障。
同样集中在前置机和总线中心的数据交换。同时在应用和前置机间同样要验证是否达到目标。
?       应用安全性:包括最终用户身份认证、节点连接的安全认证、应用程序的安全认证、管理界面的访问权限控制、数据加密/解密功能、
安全事件报警等
各分产品依赖于安全中心提供的功能的验证。

posted @ 2006-03-01 11:07 锋出磨砺 阅读(217) | 评论 (0)编辑 收藏

1、彼得原理
    每个组织都是由各种不同的职位、等级或阶层的排列所组成,每个人都隶属于其中的某个等级。彼得原理是美国学者劳伦斯·彼得在对组织中人员
晋升的相关现象研究后,得出一个结论:在各种组织中,雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为向上爬的原理。 这种现象在现实生
活中无处不在:一名称职的教授被提升为大学校长后,却无法胜任;一个优秀的运动员被提升为主管体育的官员,而无所作为。对一个组织而言,一旦相当
部分人员被推到其不称职的级别,就会造成组织的人浮于事,效率低下,导致平庸者出人头地,发展停滞。因此,这就要求改变单纯的根据贡献决定晋升的
企业员工晋升机制,不能因某人在某个岗位上干得很出色,就推断此人一定能够胜任更高一级的职务。将一名职工晋升到一个无法很好发挥才能的岗位,不
仅不是对本人的奖励,反而使其无法很好发挥才能,也给企业带来损失。

    2、酒与污水定律
    酒与污水定律是指把一匙酒倒进一桶污水,得到的是一桶污水;如果把一匙污水倒进一桶酒,得到的还是一桶污水。在任何组织里,几乎都存在几
个难弄的人物,他们存在的目的似乎就是为了把事情搞糟。最糟糕的是,他们像果箱里的烂苹果,如果不及时处理,它会迅速传染,把果箱里其他苹果也
弄烂。 烂苹果的可怕之处,在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没,而一个无德无才者能很快将一个高效的部门变
成一盘散沙。组织系统往往是脆弱的,是建立在相互理解、妥协和容忍的基础上的,很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于,破
坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器,一头驴子一秒钟就能毁坏掉。如果一个组织里有这样的一头驴子,即使拥有再多的能工巧匠
,也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子,你应该马上把它清除掉,如果你无力这样做,就应该把它拴起来。

    3、木桶定律
    水桶定律是讲一只水桶能装多少水,这完全取决于它最短的那块木板。这就是说任何一个组织,可能面临的一个共同问题,即构成组织的各个部
分往往是优劣不齐的,而劣势部分往往决定整个组织的水平。水桶定律与酒与污水定律不同,后者讨论的是组织中的破坏力量,最短的木板却是组织中有
用的一个部分,只不过比其他部分差一些,你不能把它们当成烂苹果扔掉。强弱只是相对而言的,无法消除,问题在于你容忍这种弱点到什么程度,如果
严重到成为阻碍工作的瓶颈,你就不得不有所动作。

    4、马太效应
  
    《新约·马太福音》中有这样一个故事:一个国王远行前,交给3个仆人每人一锭银子,吩咐道:你们去做生意,等我回来时,再来见我。国王
回来时,第一个仆人说:主人,你交给我的一锭银子,我已赚了10锭。于是,国王奖励他10座城邑。第二个仆人报告:主人,你给我的一锭银子,我已
赚了5锭。于是,国王奖励他5座城邑。第三仆人报告说:主人,你给我的1锭银子,我一直包在手帕里,怕丢失,一直没有拿出来。于是,国王命令将第
三个仆人的1锭银子赏给第一个仆人,说:凡是少的,就连他所有的,也要夺过来。凡是多的,还要给他,叫他多多益善,这就是马太效应,反应当今社
会中存在的一个普遍现象,即赢家通吃。对企业经营发展而言,马太效应告诉我们,要想在某一个领域保持优势,就必须在此领域迅速做大。当你成为
某个领域的领头羊时,即便投资回报率相同,你也能更轻易地获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大,就要不停地寻找新的
发展领域,才能保证获得较好的回报。

    5、零和游戏原理
    零和游戏是指一项游戏中,游戏者有输有赢,一方所赢正是另一方所输,游戏的总成绩永远为零,零和游戏原理之所以广受关注,主要是因为人
们在社会的方方面面都能发现与零和游戏类似的局面,胜利者的光荣后面往往隐藏着失败者的辛酸和苦涩。 20世纪,人类经历两次世界大战、经济高速
增长,科技进步、全球一体化以及日益严重的环境污染,零和游戏观念正逐渐被双赢观念所取代。人们开始认识到利已不一定要建立在损人的基础上。通
过有效合作皆大欢喜的结局是可能出现的。但从零和游戏走向双赢,要求各方面要有真诚合作的精神和勇气,在合作中不要小聪明,不要总想占别人的小
便宜,要遵守游戏规则,否则双赢的局面就不可能出现,最终吃亏的还是合作者自己。
       
    6、华盛顿合作规律
    华盛顿合作规律说的是一个人敷衍了事,两个人互相推诿,三个人则永无成事之日。多少有点类似于我们三个和尚的故事。人与人的合作,不是
人力的简单相加,而是要复杂和微妙得多。在这种合作中,假定每个人的能力都为1,那么,10个人的合作结果有时比10大得多,有时,甚至比1还要小。
因为人不是静止物,而更像方向各异的能量,相互推动时,自然事半功倍,相互抵触时,则一事无成。 我们传统的管理理论中,对合作研究得并不多,
最直观的反映就是,目前的大多数管理制度和行为都是致力于减少人力的无谓消耗,而非利用组织提高人的效能。换言之,不妨说管理的主要目的不是
让每个人做得更好,而是避免内耗过多。
  
    7、手表定理
    手表定理是指一个人有一只表时,可以知道现在是几点钟,当他同时拥有两只表时,却无法确定。两只手表并不能告诉一个人更准确的时间,
反而会让看表的人失去对准确时间的信心。手表定理在企业经营管理方面,给我们一种非常直观的启发,就是对同一个人或同一个组织的管理,不能同
时采用两种不同的方法,不能同时设置两个不同的目标,甚至每一个人不能由两个人同时指挥,否则将使这个企业或这个人无所适从。手表定理所指的
另一层含义在于,每个人都不能同时选择两种不同的价值观,否则,你的行为将陷于混乱。
  
    8、不值得定律
    不值得定律最直观的表述是:不值得做的的事情,就不值得做好。这个定律再简单不过了,重要性却时时被人们忽视遗忘。不值得定律反映人们
的一种心理,一个人如果从事的是一份自认为不值得做的事情,往往会保持冷嘲热讽,敷衍了事的态度,不仅成功率低,而且即使成功,也不觉得有多大
的成就感。 因此,对个人来说,应在多种可供选择的奋斗目标及价值观中挑选一种,然后为之奋斗。选择你所爱的,爱你所选择的,才可能激发我们的
斗志,也可以心安理得。而对一个企业或组织来说,则要很好地分析员工的性格特性,合理分配工作,如让成就欲较强的职工单独或牵头完成具有一定风
险和难度的工作,并在其完成时,给予及时的肯定和赞扬;让依附欲较强的职工,更多地参加到某个团体*同工作;让权力欲较强的职工,担任一个与之
能力相适应的主管。同时要加强员工对企业目标的认同感,让员工感觉到自己所做的工作是值得的,这样才能激发职工的热情。
  
    9、蘑菇管理
    蘑菇管理是许多组织对待初出茅庐者的一种管理方法,初学者被置于阴暗的角落(不受重视的部门,或打杂跑腿的工作),浇上一头大粪(无端
的批评、指责、代人受过),任其自生自灭(得不到必要的指导和提携)。相信很多人都有过这样一段蘑菇的经历,这不一定是什么坏事,尤其是当一切
刚刚开始的时候,当几天蘑菇,能够消除我们很多不切实际的幻想,让我们更加接近现实,看问题也更加实际。一个组织,一般对新进的人员都是一视同
仁,从起薪到工作都不会有大的差别。无论你是多么优秀的人才,在刚开始的时候,都只能从最简单的事情做起,蘑菇的经历,对于成长中的年轻人来说,
就象蚕茧,是羽化前必须经历的一步。所以,如何高效率地走过生命的这一段,从中尽可能汲取经验,成熟起来,并树立良好的值得信赖的个人形象,是
每个刚入社会的年轻人必须面对的课题。
  
    10、奥卡姆剃刀定律
    12世纪,英国奥卡姆的威廉主张唯名论,只承认确实存在的东西,认为那些空洞无物的普遍性概念都是无用的累赘,应当被无情地剃除。他主张
如无必要,勿增实体。这就是常说的奥卡姆剃刀。这把剃刀曾使很多人感到威胁,被认为是异端邪说,威廉本人也因此受到迫害。然而,并未损害这把刀
的锋利,相反,经过数百年的岁月,奥卡姆剃刀已被历史磨得越来越快,并早已超载原来狭窄的领域,而具有广泛、丰富、深刻的意义。  奥卡姆剃刀
定律在企业管理中可进一步演化为简单与复杂定律:把事情变复杂很简单,把事情变简单很复杂。这个定律要求,我们在处理事情时,要把握事情的主要
实质,把握主流,解决最根本的问题,尤其要顺应自然,不要把事情人为地复杂化,这样才能把事情处理好。

 

posted @ 2006-03-01 10:24 锋出磨砺 阅读(234) | 评论 (0)编辑 收藏

歪说软件工程18 - 小精灵的意见 - [原创]
话说《指环王》里的弗罗多说:“不要征求小精灵的意见,因为它们将会既说Yes又说No”。
商业软件产品的许多用户有时也是既说Yes又说No,或者说既要那个又要这个。
先换个领域,倘若一个生产猪饲料的,猪显然不知道自己想吃什么该吃什么,即使是养猪的也未必都知道或能科学地知道,所以厂商有责任研制有
效的饲料产品,即告诉养猪的你的猪吃这些饲料就可以了。
软件产品用户虽然作为人是有积极主动性的,但大多数时候确实是不知道自己要的是什么的,所以作为厂商,应该是特定商业领域的专家,有责任并
有义务研发有效的软件产品。因为有长期的积累,所以不信口开河,因为有大量用户的验证,所以确实有效果。
不征求小精灵的意见,是因为有能力告诉它们可以这样,而它们大多数认为这样确实可以。

歪说软件工程17 - 横过深渊的一根绳子 - [原创]
话说尼采认为“人之所以伟大乃是他是一个桥梁,而不是一个目标”。尽管这座“桥梁”如“横过深渊的一根绳子”,“渡过是危险的,在路上是危险的,
回顾是危险的,在中途战栗和踌躇是危险的”,但人却必须越过它。
软件产品即使把周期拉长,也很难断定它是一个桥梁还是一个目标,但确实不管前进、还是后退、还是踌躇也都是危险的。
比如CRT显示器,几年前还几乎都是弧面的,没有平面的,而现在几乎没有人买弧面显示器甚至有人都知道什么是弧面显示器了。两种显示器,从基本
需求的角度来说,都能满足显示的需求,但竞争总是使更先进的功能变成常态,竞争导致优胜劣汰。
软件产品如果前进而没走对,可能危及即得的地位,而如果不前进或者后退就容易被竞争对手找茬,所以不管速度如何还是要前进,为了避免前进的
风险,我们求助于软件工程的一些过程管理方法。

歪说软件工程16 - 现场直剥 - [原创]
话说老Y住处楼下就是一个自由市场,好几次听到一个卖柚子的在吆喝:“梁平柚子,一元一个,现场直剥……”。“现场直剥”的意思是买了之后现场直接给
你剥开。
语言可以这样用吗,妙哉!随意摘录一句古文:“夫玄黄色杂,方圆体分,日月叠璧,以垂丽天之象;山川焕绮,以铺理地之形……”(刘勰,《文心雕龙》)。
真不知道这些辞藻是怎么被堆砌起来的,奇哉!
发明汉字的仓颉看到这些,估计也会问道:“汉字可以这么用吗?”。软件产品用户多了,有时收到用户的反馈,说怎么怎么操作后出了什么问题,程序员
心里想:“这个软件居然可以这么用?”
如果用户说了怎么操作,那要解决问题比较好办,如果用户没说,只说出的问题,就麻烦了。软件中有很多隐藏的假设,比如假设用户会这样操作、假设
用户这个地方会输什么内容,一旦这些隐藏的假设被“不守规矩”的用户触碰到,就可能导致问题。
但软件总不可能把什么都考虑到,就如仓颉不能限制卖柚子的也玩汉字谐音,程序员在软件没加约束时也不能限制用户不能那么操作,所以为了避免出问
题,解决方法之一就加尽可能多需要的功能约束,之二就是遵循“契约编程”的道理,在每个方法、每个函数做约束,以便出问题时能知道问题所在。
简单的方法是可以这样:由于每个方法、每个函数对传入的参数都会有一些假定,可以把已知的假定直接写成代码约束,比如用Assert来要求某某参数
不能为空,同时给出违反约束时的提示。

歪说软件工程15 - 超人鲁班 - [原创]

话说一个工地上,许多人在忙着修一座拱桥,其中一个老头,每天不紧不忙地凿着一块石头,凿得方不方、圆不圆、长不长、扁不扁,大家都以为别人认识他
,都没理他,他凿好后就扬长而去。桥快要竣工时,桥面中间出现了一个空隙,怎么努力也弄不来一个合适的石头,有人想起那个陌生老头凿的石头,把它
搬来,结果严丝合缝。那个老头就是鲁班。
古代的拱桥都不太长,鲁班不画工程图也能把它修好,但如果请他来修旧金山金门大桥,估计他也得先学好几何学和力学。软件工程也有很多学问,下文摘
抄Martin Fowler在《企业应用架构模式》中的一段话:
“即使你对极限编程[Beck XP]不感兴趣,你还是应该认真地思考三个方面的技术实践:持续集成[Flower CI]、测试驱动的开发[Back TDD]和重构
[Fowler Refactoring]。这些技术虽然不是万能的灵丹妙药,但它们能够帮助你在需要的时候更容易地改变你的系统。除非你比迄今为止我见过的人
更能干或更走运。”

歪说软件工程14 - 李宇春 - [原创]
话说李宇春成名后代言的广告不少,可以被轻轻地总结一下。
老Y所知的大概有三种:食品、手机、电脑,第一种显然是消耗品,手机基本上也已经成为消耗品,商业社会的魔力就是能把技术转化为商品并以时尚
的名义销售,消费者既消费实用又消费时尚,但产品会在购买后一年后价值降低到原来的一半或更低,电脑也是这样,所以也可以说是消耗品。
老Y一朋友,家里做批发生意,98年开始用管家婆软件,用到现在没做升级,当然店面和店员也没什么变化。许多商品软件都是耐用品,当然消耗品的
也多,比如售价<1000元的各种游戏,许多人买了用不久就会去买新的,而购买售价>1000元的商业软件大多数消费者还是很慎重的,因为使用后如需
更换还要付出额外的成本。
作为耐用品的商业软件,其广告代言人,从各种广告可以看出,大都选择老成持重的。

歪说软件工程13 - 树 - [原创]
    摘要:话说山上的树长得高低不齐,高大的树都有高大的主干,如果是千年老树,则主干更尤庞大;许多低矮的灌木则到处都是枝桠,看
    不出哪儿是主干。 软件的生长理应如能长高的树,而不是低矮灌木。树木从地底下长出来,先只有一片叶,一小枝,而后成两片叶,枝
    叶自己生长的同时,主干也不断生长。 而许多软件都生长成低矮灌木,因为主干没有生长,即生长的过程中没有不断积累并形成自己的技术基础。    (全文共205字)——点击此处阅读全文

歪说软件工程12 - 浪漫的事 - [原创]
话说IBM向开放源码社区贡献了一个Java集成开发环境“Eclipse”,这个原来没没什么名气的IDE,现在已经成为一统Java开发工具江山的开放平台,
IBM收购的Rational商业开发工具体系已经全部迁移到Eclipse中,Borland的Java开发工具体系也在逐渐迁移,做Java的Sun原来也做有自己的IDE,
现在基本上放弃自己做了。
“Eclipse”是日蚀的意思,不过这个项目现在确实有遮住“太阳”(Sun)光辉的趋势。中国人想象“月蚀”是天狗把月亮吃了,这是一件很浪漫的事情,
开放源码也是一件很浪漫的事情,“天下为公,各尽所能,各取所需”,不过,开发的东西要能确实可用、实用,而不只是一种玩具,却一点也不浪漫,
同样要一行行代码地编写,一行行代码地测试。
Eclipse的所有源代码都可以在其网站上下载到,下面是3.1版本一些不完全统计数据:
   开发目录 708M;
  目录个数 1.4万;
  文件个数 5.2万;
   Java源程序文件个数 3.5万,共199M,代码行数592万;
  其中JUnit测试代码文件个数 1.3万,共40M,代码行数119万;
   文档 *.htm 个数 0.36万,共45.9M;
  文档*.ppt; *.doc; *.swf 个数 33个,共17.4M。

歪说软件工程11 - 池鱼 - [原创]
话说小池塘里只养了一种鱼,冬去春来,春来冬去,鱼儿不停地生殖繁衍,看着一群群小鱼儿长大,然后又会有新的一群,但尽管没有人捕捞,
鱼儿从来没有把小池塘填满过。
鱼妈妈会一边生小鱼,一边把自己的小孩吃掉。简单的自然生态自己维护着自己的平衡。
软件市场也是一个自然生态系统,微软再大,它也不会吃掉所有市场,自己长满整个池塘。

歪说软件工程10 - 红绿灯 - [原创]
话说比较早的时候街上的红绿灯很简单,一个方向红的时候一个方向绿,每隔60秒交替变化。这时用简单的定时模拟电路控制就可以了,而且
通过电阻电容的调整也能调整变化间隔。
后来觉得这样很不人性化,用户界面不好,让行人干等不好,应该加一个数字计时器,显示还剩下的需要等待秒数。这时用模拟电路的架构就不行了,
必须用数字电路,需求变化第一次导致架构变化。
许多路口,由于两个方向的流量不一样,导致需要两个方向的灯亮的时间不一样,比如一个90秒,一个30秒,这时要求红绿灯能进行设置。对数字电
路架构添加这种功能不是很难。
再后来,由于许多路口的流量变化很大,要求红绿灯能智能控制,于是安装了摄像头监控流量,与红绿灯一起跟监控中心联网……,就是所谓的智能交通。
需求总是变化的,其中许多是由竞争对手而不是用户驱动的;许多需求导致产品架构变化,代价通常是很大的。

歪说软件工程9 - 比基尼 - [原创]
    摘要:话说老Y从乡下来到迷人的夏威夷海滩,看到满眼的比基尼泳装,甚是不习惯,心里想到:“比基尼展示了令人感兴趣的部分,但却隐藏了关
    键的部分”。 许多竞争对手的产品在它们的技术白皮书中展示了许多技术特性,许多业界领先的观念得到了怎么样的贯彻与实现,甚是诱人,具体
    研究,有些果然如此,但不知道它是怎么做的,当然,这些就是被隐藏的关键,只有努力深入研究才能搞清楚。   

歪说软件工程8 - 鲨鱼与天蚕 - [原创]
话说海里的鲨鱼可以闻到1公里之外的血腥;陆上的雄天蚕能够感知到4公里外正在求偶的天蚕雄蛾的存在。
离圣诞还有很多天,街上已经布满圣诞的味道,到处可见圣诞小屋和圣诞树。几十天后的圣诞商机是固定,似乎不需要去预测,但软件行业变化多端,
1年以后的商机已经很难预测,更不用说多年以后。
听闻大公司为了保持竞争力,而投入研发力量现在做未来的预测产品,许多东西做出来时可能没有意义,但等有意义时,哪怕只有1%的产品是成功的,
它也能因为遥遥领先对手而占尽先机。

歪说软件工程7 - 安静的迪吧 - [原创]
    摘要:话说老Y在震耳欲聋的迪吧中与群魔乱舞,他突然停止下来,在声音震动的浪涛之中,突然感受到一种宁静,于是在旁边坐下来,开始静
    静底地享受,好像自己与整个世界都已沉寂下来。 人都是因冷才知热,因热才知冷。老Y喜欢技术,时常把自己置身技术的不同领域,感受到
    许许多多的嘈杂,同时也在宁静中明白。 不论过程整体的RUP、XP、UML,还是架构和编码的OO、SOA、AOP、IOC,都是为了解决一个问题,
    即分工合作的问题,即不同的部门、不同的人、不同的代码,都能尽可能把自己擅长的事情做好,而不需要太多地管别人是怎么做的,但又能
    低成本地实现有效的沟通与合作,自己已经做好的事情别人不需要重新做。   

歪说软件工程6 - 思想生产力 - [原创]
话说丫丫生物公司发明了一种稻谷种子,既适合在水田播种、又适合在旱地播种,而且不怕任何病虫害、产量远高于已有产品,所以一段时间后全球都种
这种稻谷了,但缺德的是,这种稻谷种子是做了技术处理断子绝孙的,收割后的稻谷不能用于做种子,所以都只能不断地从这个公司购买种子,所以它已
富可敌球。
当然,这是没有发生的可能。但,垄断“种子”销售的商业模式早已成熟,具体到信息产业就是有各种卖“标准”的公司,这些公司在商业价值链的顶端,对
标准有独占的权力,其它人要用都要获得授权。
“标准”通常伴随着某种概念,概念是思想的产物,在软硬件行业,一个有价值的概念通常都能迅速地转化为商品,不管是芯片还是软件还是书籍。比如我
们耳熟能详的“B2B”、“UML”、“中间件”、“极限编程”等等,都已经是某种产业链的基础。
基本上没有中国人原创的能成为生产力的概念,许多东西等中国人明白过来,别人已经赚了很大一把了,不过也有努力跟进也很赚钱的,比如金蝶的中间
件、阿里巴巴的B2B。
可能中国人太忙了,没有时间思想。在思想能够迅即转化为生产力的社会,谁占据先机谁就将处于商业生态圈食物链的顶端。

歪说软件工程5 - “小燕子”性感写真 - [原创]
    摘要:话说昨晚当地八卦电视台八卦节目播出一则消息,瞪着两只白痴空洞的牛眼到处晃荡曾经看似清纯可爱的“小燕子现在长大了,也拍起了写真集,
    穿着性感内衣,把白花花的皮肤展示给大众。不管她展示的是内衣还是自己,给大众展示性感的目的是达到了。 这不能说是进步或者随大流,只是
    自然的成长,作为一个演艺公共人物,取悦大众是她要做的工作,毕竟大众的审美取向是多样的,朴素可爱可以取悦一部分人,性感迷人也许可以取
    悦更多的人。 作为软件工程产品的软件其所有功能最终通过软件界面为用户所用,如果一个软件刚开始一直坚持朴素的界面风格,后来也开始表现
    得或性感或妖艳,这也不能说是错误或者退步,只是自然的成长,毕竟软件是给用户用的,尤其是用户多的大众软件,用户对软件的认可许多时候也
    依赖于用户对软件界面的直观感受和审美取向。   

歪说软件工程4 - 光彩守护员 - [原创]
话说老Y每天上班都路过一座大桥,注意到桥上总有工作人员值班,起初都以为是守桥的,但想想也不对,如果是守桥的应该是荷枪实弹的武警才对,
后来有一天看到工作人员穿了一个马甲,背后有几个字“光彩守护员”。
这年头可能不怕阶级敌人炸桥,就怕小偷小摸偷装扮桥的许多价值不菲的灯具,小偷拆不走桥,拆灯具则容易。不管是怎样,修一座大桥,能创造一些
职业甚至行业是事实。
软件工程经过多年发展也创造了许多职业甚至行业。比如专业软件工程咨询师,以及咨询公司,专业测试员,以及专业搞测试外包的公司,都有活得
上好的。这个世界变化快,如果总以己之见度人,容易范坐井观天的错。

歪说软件工程3 - 成人纸尿布 - [原创]
    摘要:话说杨利伟乘神州5号上天时不能用马桶,是用的类似成人纸尿布的设备。 小孩带尿布是因为撒尿是不自觉的,但大人用尿布,对于没有
    经过特殊训练的普通人来说,不知道会是什么样的感觉,估计会很不爽快。 软件工程中也经常有“使用纸尿布”的行为。有时因为软件发布期限
    所限,只能采用一个临时的解决方案把需要解决的问题解决,由不得程序员用更多时间去实施更爽快的解决方案;程序员有时会因为暂时想不出
    更好的方法而采用临时的解决方案;或者确实因为水平所限,只能采用别人会觉得很不痛快的解决方案。 这些都没什么,都很正常。最不爽的
    是,当更痛快的解决方案可以用时,仍然由于种种原因——比如懒得用、或不敢用、或习惯了用老方法等等——而继续保持“使用纸尿布”。   

歪说软件工程2 - “SoSo”主义 - [原创]
话说小两口A婚后财务由老婆打理,老婆每天给老公10元零花钱,并且经常询问老公花钱的情况。这种叫“精细管理”;
小两口B,老婆每个月给老公300元零花钱,并告诉老公可以随便花,但规定花完就没有了。这种叫“粗放管理”;
小两口C,老婆把自己和老公的工资一起全部放到一个抽屉里,大家都可以随便取、随便花,当然花完就没有了,没花完的做为积蓄。这种叫“信任管理”;
软件工程中的管理模式也大抵超不出以上三种或其组合。
英文中有个词叫“SoSo”,福建方言中有个词发音类似“Shǎo Shào”的词,意思都是“马马虎虎”,即“tiger-tiger-horse-horse”。中国人有四种:
新加坡人、香港人、台湾人、大陆人,大陆人大都喜欢“马马虎虎”,或者说许多时候都只能马马虎虎、难得糊涂,或者说大都是“SoSo”主义者。
软件工程却希望做到像上文所述第一种的“精细管理”,这时就会与大陆人的“SoSo”主义冲突,故大陆软件公司搞软件工程成功很困难。
但是,其实“SoSo”主义是“和谐社会”的基础。

歪说软件工程1 - 科学沦为艺术 - [原创]
    摘要:话说某大学生美眉在妓院找了一个操作电脑的工作,以后她要不沦为妓女,要不总被认为是妓女。
     当软件工程作为科学遭遇实践,它要不沦为艺术,要不总被认为是艺术。 科学与艺术的相同在于都是人生产的;
     科学与艺术的区别在于,科学操纵人,而人操纵艺术。 当软件工程不是去操纵人,而是由人来操纵,结果就是软件工程还是管理的艺术。
     当科学沦为艺术或被认为是艺术,要不该怎么样就怎么样,要不原来怎么样以后还怎么样。  

posted @ 2006-02-27 09:50 锋出磨砺 阅读(164) | 评论 (0)编辑 收藏

真的程序员,敢于面对狭小的开发空间,敢于正视公司倒闭的可能。这是怎样的
哀痛者和幸福者?然而一切都是庸人的设计,以时间的流逝和青春的年代,来洗涤
行业的旧迹,仅使留下坚强的真正的程序员。在这冷酷的工作环境下,又给人暂且
偷生的寂静,维持着日常的生活,我不知道这样的日子何时是个尽头。
  我们仍然在这样的环境下挣扎着。
                         -- 《纪念程序员》

posted @ 2006-02-24 13:50 锋出磨砺 阅读(220) | 评论 (0)编辑 收藏

当不确定的东西或者不清楚的东西阻挡了我们前进的脚步,我们往往很惰性的逃避这些因素。因为这些因素在
      正常的简单的情况下不会影响事务的顺利进行,大多数人都默认了,认为可以不考虑。当复杂的不稳定的情况
      出现的时候,这些因素所造成的后果就爆发了,此时,一般的解决的过程如下:
      1,加补丁,拆东补西,发现还是不能解决问题,或者解决了暂时的问题。过了一段时间,问题又暴露了
      2,告诉客户,我们的系统已经不能满足你们的需求了,我们要升级。
      3,开发新系统的时候,已经物事人非了,新人们很自负的进行了新的设计(因为自负,当然也会找出n多的理由,逃避
         打击他自负的东西),仍然要逃避一些因素
      4,又过了一段时间,我们会继续1。
      一个可怕的死循环。此时会有一个重大的决定,客户不打算使用这个产品了,因为太失望了。会寻找一个新的公司来开发。
      结果
      还是可怕的死循环。
      社会依然在进步,生活很平静的过着,该拿的钱都拿了,该缴的税都交了。

posted @ 2006-02-24 11:11 锋出磨砺 阅读(172) | 评论 (0)编辑 收藏

软件设计时往往最多考虑的是最基本的实现需求。后来,随着设计工具和思想的发展,
  我们考虑到了可扩展,可伸缩,可维护,可管理,可靠,可使用,安全等等。这些因素
  是设计过程中的非功能性的设计,因为每个产品的背景不一样,所以,我们往往只是借助
  于成熟的架构(如mvc),产品提供的性能(容器的事务,安全等能力)等,简单的实现
  了一些解决非功能性需求。从来没有很仔细的考虑过自己的产品中如何来进行这些需求的
  设计。
      根据经验,下面简单讨论一下。
      一个软件产品所运行的环境有二,一是硬件环境,二是软件环境(操作系统,数据库系统,中间件)。
      那么我们就从这两个方面入手,进行一下非功能需求设计的讨论。
      1,硬件产品的资料统计,和运行平台的界定。对潜在用户的运行平台进行大范围的统计。并
         最终确定出共性。
      2,从性能角度,考虑硬件的横向(和软件的集群有关)和纵向升级。来解决产品的性能(扩展和伸缩)问题。
      3,硬件产品的安全来解决部分产品的安全问题
      4,操作系统的支持和兼容
      5,中间件(消息,安全,事务)的支持和兼容,同时考虑集群问题。
      6,数据库系统的兼容以及利用数据库的性能解决部分问题

posted @ 2006-02-24 11:08 锋出磨砺 阅读(1544) | 评论 (0)编辑 收藏

贪官,具有妓女与窃贼的双重人格,即具有妓女的厚颜无耻,又具有窃贼的侥幸。
现如今,轻便快速的致富门路有四条:当小姐,做贼,贪污受贿,长途贩运。
九十年代中期,我们这个小县城突然开起了许多卡厅,夜夜灯火辉煌,歌舞升平,“小姐”(实则妓女)如羊群一般一拨一拨的从大街走过,浓妆艳抹,花枝招展,胭脂香一时盖过了夜市上烤羊肉串的味道。听领导说这是振兴地方第三产业、拉动地方经济增长,刺激消费,增加我们这个小县城的经济收入。谁知,到头来,普通百姓的腰包没有鼓起来,领导和有钱的老板们的性欲倒被刺激得不断增长起来了,除了玩个痛快外,“小姐”们的腰包也迅速膨胀。于是,民间不时有某某家的女子靠做“小姐”给家里盖起了洋楼,惹得四邻眼馋。老百姓真真正正的体会到了什么叫做“笑贫不笑娼”。有个夸张的笑话,说当时卡厅兴盛之时,有两口子正锄地,结果“客户”来了,村长用大喇叭通知“某某某快到卡厅来报到,有客人要接待。”结果丈夫让妻子扔下锄头,赶紧去接客。可见当“小姐”已不是什么不要脸的事。
从电视里经常看到有人抢银行,抢出租车,盗割电线,好家伙,一次就是上百万,几十万,挣这么多的钱,这得像我这样的人干好几辈子。至于那些鸡鸣狗盗之徒,虽然做的是“小生意”,乘着夜深人静,月黑风高,翻墙入户,撬门扭锁,甚至挖地道,偷个鸡摸个狗,一次也能净落个百二八十,晚上忙乎,白天睡觉,日子也过的挺自在。虽然有被逮住的可能,重则掉脑袋,轻则蹲几年监狱,但发财的几率总比摸彩票中奖的几率高。我们附近就有这么一户人家,夫妻两个都干这一行,日子过的逍遥自在,平时衣着整齐,在人前看起来也人间摸样,谁能说那是小偷。
现在有些官员,非常爱钱,但怕付出,做梦都想走捷径,摸“福彩”一次中500万的几率实在太小,当“小姐”,可惜裤裆没有“小姐”那玩意儿。当贼,既瞧不起那身份,觉得下贱,又天生那种“贵人”骨头,经不起飞檐走壁的折腾。搞长途贩运,既怕商海凶险,又怕风吹日晒,旅途劳顿。于是,将计就计,靠贪污,靠受贿。既保住了上流社会的高贵身份,又便捷而快当的发了家致了富。这几十年早就不讲什么“阶级”了,钱又没有阶级性,一但装进自己的腰包,谁还管上面有“小姐”身上的臊味,小偷身上的猪羊油味?更何况装在我“某某长”的口袋里不就脱胎换骨、化贱为贵了吗?
“小姐”虽然有了钱,毕竟靠的是人尽可夫的灵肉,窃贼虽然有了钱,毕竟是在晚上见不得人的时候偷人家的,二者还不至于在人前夸富。而贪官则不一样,不管钱的来路如何,敲诈的也罢,勒索的也罢,丝毫没有羞耻之心。吃香的,喝辣的,买高档电脑,玩800万像素的数码相机,坐高档车,泡野女人,等等。花天酒地,恣意挥霍,红光满面,何来的羞耻?虽也有东窗事发,身陷囹圄的可能,但被逮住的毕竟是少数。
某君未做科长之前,和我一样狼狈,囊中羞涩到盖房之后还不起工钱,人家下苦的民工登门讨帐时,一是抵赖,二是推托,迫不得已之下用旧手机给人抵债,球皮之态可见一斑。当年身上装的手机,也要向人借手机打电话,节约到如此地步,实在难能可贵。打麻将时大场子不敢上,小场子也经常爱挂帐,以至于缺乏信誉而遭人厌恶。不想时来运转,吉星高照,当上科长三年,扬眉吐气,有了来路不明的大把钞票,不仅添置了许多高档消费产品,打牌黑红不避,而且时常还“翻身农奴把歌唱”,人前满脸堆富,说欺头话,如大庭广众之下脱下裤子露出赤红的阳具展览一样,一副气昂昂,雄赳赳,恬不知耻的样子。
一位老实人说:“钱虽然不是万能的,但我时常感觉不够”,何况如今,钱早已经有一千九百九十九能了,要不,一分钱何以难倒英雄汉,秦琼何以流落到卖马,杨志何以落魄到卖刀的地步?在“笑贫不笑娼”已被越来越多的人所接受所麻木的现实当中,我明白贪官其所以要死贪的原由了。成都那么多的警察居然屈尊不计较身份贵贱看上和小偷“公私合营”,沆瀣一气,那么多的县长省长部长冒杀头的危险贪污受贿捞取几辈子都用不完的钱,尊严和廉耻化为乌有。只要有钱,谁还管什么“小姐”?什么贼?什么长?
“贼再有钱,还是个贼”,我想为自己宽心,又能怎么样?走在大街上,妓女看起来就是妓女,窃贼在人们的眼里总是窃贼,但是,谁能说我某某贪官不是个人?况且孔已己早说了,我们“读书人”那不叫窃。“走我的路,任你们去说吧!”

posted @ 2006-02-15 11:13 锋出磨砺 阅读(264) | 评论 (0)编辑 收藏

大学学习的是基础,打好基础。因为择业的社会状态,让你不的不到外面的培训部培训一些市场快速需要的技术。所以,现在的大学生
应该分两手准备,学好学校的基础知识,同时,在外面的培训班培训自己迅速适应市场的技术手段,这样工作就好找一些。

posted @ 2006-02-13 11:14 锋出磨砺 阅读(217) | 评论 (0)编辑 收藏

当我拿到用户的需求的时候,我没有仔细的分析,而是很快的高度抽象,并从数据结构入手,开始了我的设计旅程,并且很快的
划分模块进行实现。并不是我的分析水平多高,而是我没有找到很好的分析方法,人的惰性的原因,不自然的逃避分析的过程。
因为相对分析,我设计和实现更拿手。所以要避免需求灾难,首先要从思想上改造自己,努力的去寻求需求开发方法。当然,
不同的项目产品,问题域的不同,方法有所不同,记得 人月 中,时刻提醒大家没有银弹。所以在需求分析方法中,
没有投机取巧,只有经验累计和社会综合知识的丰富。
   从历年的项目经验中,我抽取了几种方法
   1,同类产品和行业知识的资料搜集,获取重点知识
   2,从项目的高层人士方 项目可行报告 合同 等获取高度抽象信息
   3,罗列关心的问题
   4,从所有涉众中获取信息,采用多种沟通方式,交谈,问卷,邮件,实际操作等
   5,图表直观的描述方式和用户反复沟通
   6,做最重要的事

posted @ 2006-02-13 11:13 锋出磨砺 阅读(229) | 评论 (0)编辑 收藏

 创业投资计划书
创设新事业者透过现金流量表检核投资计划可行性后,并对合资条件(如技术股)、投资策略(计划定位)、股权安排等有了盘算之后,再来就是请财务顾问或投资 专家撰写“投资计划书”,以作为向投资者筹募资金的工具。本章依次介绍对投资计划书的基本认识,如何撰写投资计划书,最后以永辉投资股份有限公司为创业者 所拟订的投资计划书为参考格式。

一、对创业投资计划书之基本认识

(一)投资计划书是创设新事业时筹措资金必备的文件

台湾地区工商界人士,大家都很忙,有潜力的投资者更忙,尤其要向大老板解释投资构想,大约允许1小时左右,在这1小时当中,仅能做摘要报告,引起他的注 意,让他了解交给何单位,何人办理而已。因此必须准备好详细的投资计划书交给大老板,让他带回去给幕僚评估,有了正面的评估意见后,能作出投资决策。目前 中国大陆地区私人或各类企业想要向外界筹募资金,有90%以上缺乏投资计划书,这些没有投资计划书的投资案,筹募到资金的概率很底很底。

(二)投资计划书是节省时间的利器

创设新事业投资构想通常相当复杂,要以口头解释让投资者完全清楚,可能要好几天,很少投资者有这耐性,但不完全清楚整个投资构想,投资者又不敢投资。最轻 松理想的方式是请投资者吃个饭,稍加解释,交给投资者已写妥之书面“投资计划书”,俟一段时间后,再问有什么不清楚的地方,再征询投资的意愿,省时又省 力。

(三)投资计划书是沟通协调的利器

投资计划书如需要较多的资金,势必接触可能投资者的数目会超过20个,因并非百发百中而要将众多投资者召集在一起,不但时间不容易找,且与会人数众多,会 前未有共识,会中讨论容易失控,无法达成决议。对众多投资者于短时间内达成共识的方法,便是准备一份清楚易懂的“投资计划书”同时发给众多的投资者,再个 别稍加解释。让有共识的人聚集在一起开会,才能很快达成决议。

创设新事业筹划者应了解投资计划书是沟通协调的利器,如不用此工具面对众多的投资者,可能无法负荷,深感疲累,这也是让许多创设新事业计划踏不出第一步的原因。

(四)好的投资计划必须正确、清楚

所谓正确,即必须注意数字品质,只要提到数字必须有根据,如为参考别人的数据,注明出处;如为假设,必须说明假设条件。例如,某项产品现在台湾市场为2亿 元,必须注明出处。投资计划书中如第一年销货收入预计为2千2百万元,必须说明如下的假设:该产品在台湾市场的增长率为10%,且市场占有率假设为 10%,即2亿元×(1+10%)×10%=2200万元。

所谓清楚就是容易懂,让拿到投资计划书的人不必再经口头解释,就可以容易地了解整个投资构想。要清楚,需注意下列三项。

投资计划书要有目录,目录里要指明各章节及附件、附表之页数,以方便投资者很快就可以找到他所要的资料。此外,必须有“投资案汇总”章,这是专门给大老板或高阶人员看的,让他们了解投资计划的大概构想,并知道交给哪个单位或哪个人去评估。
此外,段落要有标题才能清楚,最好每500字以内就要有个标题,让投资者只看标题就约略了解下面500个字是要说什么,并决定要不要看详细内容。例如本段主要在说明“好的投资计划书必须正确清楚”。
段落之结构要清楚,一般秩序是“一”,(一)、1、(1);甲、(甲)。亦即“一”里面要分段落时用(一)(二)(三)……;(一)里面要分段落时用1.2.3.……;1、里面要分段落时用(1)(2)(3),以此类推。本书之附件5-1可做为参考。
(五)投资计划书最好委由有经验的财务顾问或投资专家撰写

常看到许多创设新企业的投资计划书,简直不知从何看起,顶多只能了解产品或技术是什么,即使有简单的财务预算,数字大部分来自直觉,没有根据,不足采信, 表达的名词不符合财务会计术语,易生混淆,投资条件不容易了解,即使了解亦不符合商业习惯。这样的投资计划书引不起投资者兴趣,筹募不到资金是不足为奇 的。

最好的解决之道便是委由有经验的财务顾问或投资专家撰写。将拟好之“现金流量表及附表”提出来当作参考资料交给财务顾问或投资专家操刀。有经验的财务顾问或投资专家不只被动代拟,更可积极为创设新事业投资计划位定,拟出投资者可接受投资条件,并可进一步代为寻找投资者。

私人创业者应不吝惜给财务顾问或投资专家适当的报酬。所谓“天下没有白吃的午餐”,私人创业者由于仍然穷或不富有,处处都要省钱,但这笔钱是必须且值得付的。行行有专业,创设新事业往往是人生的重大抉择,不宜拿这种事自行摸索,而应该减少决策失误到最低。

通常必须付给财务顾问或投资专家之报酬,一般系由他们所花的时间乘于每小时应计算费用而得,但因为较难客观计算,也有采取每个字新台币2~5元为计算基础 作为代撰“投资计划书”之酬劳。写出来的“投资计划书”所有权为委托者所有,他们可以拿出来向投资者作报告,因此无论该投资案筹募资金成功或失败,都必须 支付这些酬劳。

另外,财务顾问或投资专家可能要求全部或部分投资者由其代找,如筹募资金成功时必须付佣金(中间介绍服务费),佣金的计算可能是所有投入资金的1~5%,或无偿取得新公司某个比例之股份,或取得创设新事业者所得权益之10~20%。

(六)创设新公司投资计划书必须以电脑作辅助工具

投资计划书之修改乃是必然的,无法一次就拟妥,较大的投资案,必须集合众人的意见,更需多次的修改。当策略改变时,整个投资计划书全部改变。例如本来要做 两样产品,改为一样产品;或本来自行销售,改为仅接受委托制造,皆会使投资计划书改变。此外,资讯不断地明朗化,计划书内容亦会不断地更新,例如投资组合 与经营组合渐渐确定,市场、销售渠道渐渐更清楚等等。

透过不断地沟通协调并修改投资计划书,可集结众人智慧,使投资构想更合理,更实际,更可行。估计这样的文字修改达50次以上,才能使一家公司创设。

这种性质的文件唯有电脑处理,才能减轻负担。个人电脑的使用已相当普遍,在文字方面可由其中的文书处理之电脑软件如Wordstar,PE2来处理,在数字方面可用电子试算表软件来处理,如Lotvs-1-2-3。

财务顾问或投资专家如涵蓄接受委托撰写“投资计划书”的业务,最好使用个人电脑处理,否则将会苦不堪言或则工作效率奇差。

二、创业投资计划书之撰写步骤

这里虽然是对帮忙撰写之财务顾问或投资专家的建议,但创设新事业者仍应了解本节并充分配合。

步骤一 取得创设新事业者认可的现金流量表及全部附表。

步骤二 首先请创设新事业者提供有关销货收入的背景资料。产品是什么?产品给谁用的?产品的市场区隔在哪里?全世界的市场?销售目标是如何估算出来的(亦即其假设条件为何)?
步骤三 请创设新事业者提供关键技术说明书;产品生产制造及质量管制流程图,竞争者资料,并逐一检视厂房投资、生产或实验设备等与所列数字来源合理否?

步骤四 研拟生产成本,包括直接人工,直接材料、工厂费用之估算是否合理?

步骤五 研拟销售及管理人员之人事费用。

步骤六 销售及管理费用是否低估?一般技术人员都会低估此项费用。

步骤七 上电脑建立电子试算表或修改创设新事业者所提供在磁碟上之电子试算表,并不断拟修正找出可行的投资计划。

步骤八 重新确定资本金额。请参考第三章之五。

步骤九 编出未来5年预计损益表及股东权益变动表,未来5年预计资产负债表。

步骤十 依照投资机构法人所规定的格式或本书建议之投资计划书格式(附件5-1)撰写本文。

三、实例研讨:创设新公司投资计划书格式

(一)背景

永辉投资股份有限公司系一家资本额新台币2亿元之公司,专门从事对策略性工业之投资,该公司为帮助投资案之进行,特拟定“创设案投资计划书格式’给创设新事业者作参考。该格式适用于制造业,其他行业可自行删减某些项目后即可适用。

(二)说明

XX股份有限公司内部拟定之“投资计划书格式”如附件5-1

 

 

附件5-1XX股份有限公司投资计划书(格式)

XX股份有限公司投资计划书目录

1.投资案汇总

2.创设公司基本资料

3.公司组织

4.股权结构

5.业务内容

6.技术与生产

7.财务预估

8.投资报酬率与敏感分析

9.风险分析与投资管理

*附表一:公司成立后组织系统图预拟表

*附表二:未来五年产品销货收入预计表

*附表三:主要产品产制及质检流程表

*附表四:工厂员工人数、薪资一览表

*附表五:未来12个月现金流量表

*附表六:未来5年按年别现金流量表

*附表七:未来5年损益表

*附表八:未来5年资产负债表

1.投资案汇总(不超过二页,给高阶人员看的)

1.1. 创立公司后简介

包括公司经营项目及产品内容,技术来源等,创立后公司经营团队介绍,经营团队所占股权多寡。

1.2. 资金需求与股金预计用途

包括筹备期间费用,技术转移费用,土地及重要固定资产,设备、周转金等。

1.3. 投资条件

包括投资金额,股款交纳时间,多少董监事席位,非现金出资股东如技术作价,专利作价,资产作价等。

1.4 投资者投资报酬率预估

包括回收期间,未来各年投资报酬率,各年净值内部报酬率,以年利率12%计算之各年度净现值,投资者退出年度股价预估并算出退出时间内部报酬率。

1.5. 其他值得介绍项目

如重大采购或销售合约,损益平衡点,行销通路,产品与市场等。

1.6. 风险所在

如技术开发风险,产程开发风险,市场变化之风险,集中于某些重要人物之管理风险。

2.创设公司基本资料

2.1. 创设公司的缘起

2.2. 创设新公司之营业内容

2.3. 预计资本额

2.4. 设立公司之各项手续及其日程表

2.5. 联络人及地址

3. 公司组织

3.1. 筹备期间筹备处组织

3.2. 公司设立后组织系统图预拟

3.3. 预定担任主要经理人资料

包括主要学(经)历,目前担任其他公司之职务,约聘条件。

4. 股权结构(此部分刚草拟时资料较少,向外争取投资者时会渐渐充实)

4.1. 技术、资产、专利等作价之安排

4.2. 现金股股东之权利义务

现金股股东现金出资金额,主要经理人预计现金出资金额。

4.3. 董事、监察人之安排

包括主要现金股股东之董事监察人名额,主要经理人及技术股拥有者之董事监察人名额。

5. 业务内容

5.1 产业市场分析

5.1.1. 台湾市场现状及其增长率概估

5.1.2. 世界市场现状及其增长率概估

5.1.3. 特殊地区目标市场及其增长率概估

5.2. 产业之竞争状况

5.2.1. 台湾竞争厂商概况

5.2.2. 世界竞争厂商概况

5.2.3. 特殊地区目标市场竞争厂商概况

5.3. 行销策略介绍

包括行销通路与定价策略,重要销售契约之缔结。

5.4. 未来5年依产品销货收入预计表(包括各项假设)

5.5. 为拓展业务之营业预算

包括参加国内外展览费用,样品费用,媒体广告预算等。

6. 技术与生产

6.1. 关键技术说明与来源

包括重大技术合作契约,如自行开发时,研究开发经费预算。

6.2. 生产与制造

6.2.1. 主要产品及产制流程

包括进料质量管制流程表、产制流程及质检流程表

6.2.2. 主要产品原料来源与其成本

6.2.3. 工厂员工人数,学经历要求,薪资水准一览表

6.2.4. 厂房设备

包括预计工厂设置地区,土地与厂房面积,主要机器设备,工厂最大产能,以及上述购建经费预算一览表。

7.财务预估

7.1. 未来12个月按月别现金流量表(包括假设条件)

如附表五,此部分于投资计划书草拟初期可能因资料不齐或不确定因素太多,无法正确草拟,但筹备处成立后就可提供较具体较确切的数字。

7.2. 未来5年按年别现金流量表(包括假设条件)

7.3. 资金需求汇总

7.4. 未来5年损益表(包括假设条件)

7.5. 未来5年资产负债表(包括假设条件)

8. 投资报酬率与敏感度分析

8.1. 依据7.4计算投资回收期间

8.2. 依据7.4计算各年度投资报酬率及净值报酬率

8.3. 依据7.4未来5年以年利率12%计算之净现值(按各年度分别累计两行并列)

8.4. 华生出售股权年度股价预估,并算出内部报酬率(股价之预估可以被投资公司每股盈余乘以本益比12估算)

8.5. 敏感度分析(以销货收入达成率80%,60%时分析对报酬率之影响;或以重要产品开发成功与否或产品推出进度迟延对投资报酬率之影响)

9. 风险分析与投资管理

9.1. 技术开发风险,对于6.1关键技术开发风险

9.2. 产程开发风险,对于6.2生产与制造开发风险

9.3. 市场风险,对于5.4有关销货收入各项假设之评估

9.4. 投资管理,拟请投资者参与之程度。

posted @ 2006-01-18 09:39 锋出磨砺 阅读(591) | 评论 (0)编辑 收藏

历来我们农民大多都烧麦秸干和玉米杆 
省出资源让你们城里人享受
你们城里人成天还瞧不上俺们农民工
我们生病了扛着
省出医疗资源给你们
你们反而身体都是病样子
俺们很少吃肉
养猪给你们吃
你们还不感恩
你们生产的自行车
电器反而不如以前了
当然 我们也穷的享受不起你们包装的高档货
我们过年一家有300块就够了
恐怕不够你们去馆子消费一顿
但我感觉我们过年比你们有意思
比你们幸福
因为我们的要求低 因为我们不和你们城里人计较
你们发财我们即不高兴 也不不高兴 平常心对待
反而你们有人下岗
就说是俺们农村人抢了你的饭碗
见不得我们发点小财 还要克扣俺们得血汗钱
所以俺们得心态比你们好多了
俺们一般现在也比较长寿 把死看得比较淡
早早都把棺木和墓穴做好 你们就不敢 因为你们怕死得要紧
俺们得娃娃 放假去河里游泳 黑瘦但是健康
你们得娃娃 放假就去网吧   白胖但是面黄

posted @ 2006-01-18 09:30 锋出磨砺 阅读(235) | 评论 (0)编辑 收藏

滿腔熱血投身社會,
加入IT吃苦受累,
摸爬滾打終日疲憊,
市場信息必須到位,
一日三餐時間不對,
屁大點事反復開會,
逢年過節值班應對,
一時一刻不敢離位,
各種報表讓人崩潰,
陪同客戶回回喝醉,
客戶總嫌價格太貴,
臨管執法還要索賄,
無暇顧家愧對長輩,
回到家裡內疚懼內,
工資不高還要交稅,
囊中羞澀,見人慚愧,
青春身體已經耗廢,
人生年華如此狼狽,

posted @ 2005-11-10 13:27 锋出磨砺 阅读(524) | 评论 (1)编辑 收藏

体系结构
          从架构的服务级别上总结架构师所要的做的工作就是在有限资源下权衡并且做出
          系统的最佳架构 来保证
Scalability - the ability to support the required quality of service as the load increases
Maintainability - the ability to correct flaws in the existing functionality without impacting other components/systems
Reliability - the assurance of the integrity and consistency of the application and all of its transactions. Reliability spans from the OS to the Application to the service provided.
Availability - the assurance that a service/resource is always accessible
Extensibility - the ability to add/modify additional fuctionality without impacting existing functionality
Manageability - the ability to manage the system in order to ensure the continued health of a system with respect to scalability, reliability, availability, performance, and security.

安全性是目前比较难解决的机制。

  在架构的定义中,必须包括了持续性,分布,通信,事务管理以及安全管理等基础性建筑。
  满足系统的业务和服务级别需求,是架构师的目标。在有限的资源下,尽大可能的满足是职责。而提高满足是架构师的能力。

posted @ 2005-11-08 10:26 锋出磨砺 阅读(631) | 评论 (2)编辑 收藏

 中文指南:结合英文原版书看 更好
  J2EE架构师认证指南
【原书名】 Sun Certified Enterprise Architect for J2EE Technology Study Guide [原书信息] 
【原出版社】 Sun Microsystems 
【作者】 (美)Mark Cade,Simon Roberts 
【译者】 武欣 罗云峰 刘侃 
【丛书名】 Sun公司核心技术丛书 
【出版社】 机械工业出版社 

  另外我从yahoo的scea group下载了一些英文的相关资料。
  和大家共享
  http://groups.yahoo.com/group/scea_prep 这是yahoo的scea group
 
下面的连接是我下载的认为比较好的资料

 http://www.blogjava.net/Files/itaogo/SCEA-PDF-NOTES.zip
 
http://www.blogjava.net/Files/itaogo/scea01.rar

posted @ 2005-11-08 10:12 锋出磨砺 阅读(1720) | 评论 (2)编辑 收藏


如何让所有的涉众目标一致
1,文档:
因为一个工程,所有的涉众不是同时介入的。这就导致了
对于工程的认识就不同。而要帮助后加入的成员很快的进入角色,
就必须有提纲性的文档作为引导。并且所有的描述语言都是所能够
领会的,比如uml就是一个很好的选择。
2,授课:
严肃的说不是授课,而是交流经验。广开言论,而后达成共识。
3,明确的核心骨架和规范
高层业务用例,高层测试用例,核心类构成,主要流程。这些都决定了
系统的主脉络。

如何让团队成员保持激情
1,阶段性的成果
   让每个员工感受到阶段性的成果,是大家心血的结晶,而且是大家
   辛苦努力的结果。不是停留于语言上,而是让每个人真切的感受到
   确实是这样。并且对结果都是有十足的信心。
2,挑战性的工作
   在单调的工作中,寻找挑战性,寻找亮点。让每个人在团队中体现出
   个性,让每个人感受到她是不可获缺的。
3,时刻的进步
   对每个成员进行合理的规划,在工作的同时,提高每个人在自己领域的进步
   尽可能的和她的职业规划一致。时刻感受到她在进步。
4,实时的支持和鼓励
   风险和困难到处都是,此时,要有强有力的支持和鼓励以及帮助。要尽可能的
   寻找资源来帮助她,而不是将压力全部推给她。
5,成果的喜悦和物质的关怀
   我们成果了,职业生涯画了很好的一笔,精神享受的同时,将大家的打车费,加班费
   ,奖金等立刻兑现。走 去high吧 哥们。

如何让团队有凝聚力和自由的交流空间
1,成果分享
   在体现个人价值的同时,成果是大家分享的。当然 给予分享的人,她的个人魅力的提升就是一种收获。
   将这种价值观贯穿整个团队。鼓励大家分享。
2,有个安静的交流环境和小黑板
   如果有coffe更好不过。这里是灵感的来源地,解决问题的天堂。
3,有价值的培训和交流
   不说为项目做准备,就是提高个人能力和交流彼此思想。此时我们抛开目前的项目。


 

posted @ 2005-11-01 10:34 锋出磨砺 阅读(420) | 评论 (2)编辑 收藏

一個很有意義的計算題!
如果令 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 分別等于百分之
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
    那麼Hard work (努力工作)
    H+A+R+D+W+O+R+K =8+1+18+4+23+15+18+11 = 98%
    Knowledge(知識)
    K+N+O+W+L+E+D+G+E =11+14+15+23+12+5+4+7+5 = 96%
    Love(愛情)
    L+O+V+E12+15+22+5 = 54%
    Luck(好運)
    L+U+C+K=12+21+3+11 = 47%
    (這些我們通常認為重要的東西往往並不是最重要的)
    什麼能使得生活變得圓滿?
    是Money(金錢)嗎? ...
    不! M+O+N+E+Y = 13+15+14+5+25 = 72%
    是Leadership(領導能力)嗎? ...
    不! L+E+A+D+E+R+S+H+I+P = 12+5+1+4+5+18+19+9+16 = 89%
    那麼,什麼能使生活變成100%的圓滿呢?
    每個問題都有其解決之道,只要你把目光放得遠一點!
    ATTITUDE(心態)
    A+T+T+I+T+U+D+E =1+20+20+9+20+21+4+5 = 100%
    我們對待工作、生活的態度能夠使我們的生活達到100%的圓滿。

posted @ 2005-10-28 15:57 锋出磨砺 阅读(1373) | 评论 (4)编辑 收藏

猪!你的鼻子有两个孔,感冒时的你还挂着鼻涕牛牛.
猪!你有着黑漆漆的眼,望呀望呀望也看不到边.
猪!你的耳朵是那么大,呼扇呼扇也听不到我在骂你傻.
猪!你的尾巴是卷又卷,原来跑跑跳跳还离不开它
哦~~~

猪头猪脑猪身猪尾(yi)巴
从来不挑食的乖娃娃
每天睡到日晒三杆后
从不刷牙从不打架

猪!你的肚子是那么鼓,一看就知道受不了生活的苦
猪!你的皮肤是那么白,上辈子一定投在那富贵人家
哦~~~

传说你的祖先有八钉耙,算命先生说他命中犯桃花
见到漂亮姑娘就嘻嘻哈哈
不会脸红不会害怕

猪头猪脑猪身猪尾(yi)巴
从来不挑食的乖娃娃
每天睡到日晒三杆后
从不刷牙从不打架哦~~~
传说你的祖先有八钉耙,算命先生说他命中犯桃花
见到漂亮姑娘就嘻嘻哈哈
不会脸红不会害怕
你很象她

posted @ 2005-10-28 15:07 锋出磨砺 阅读(328) | 评论 (2)编辑 收藏

泡馍---老刘家泡馍(北广济街内)
  水盆羊肉----老白家(北广济街内)、老李家(方新村路东农行南边)
  小炒----西羊市中段的“天下第一碗”;
  杂羔汤----(建设西路旅馆村内)
  烤肉----里木烤肉(麻家十子西50米)
  肉夹馍----秦豫肉夹馍(柏树林南口)
  孜然炒肉夹馍----(洒金桥十子东南角)
  腊牛肉夹馍---- 北梢门红码头老旦隔壁“李老四夹馍”,他家的杂肝汤也不错
  水盆大肉----老宋家(柏树林十子西南角)
  葫芦头----铁蛋葫芦头(柏树林十子西北角)
  蒸碗----(建西街东口向西100米路南)
  煎饼----顶顶香煎饼屋(龙首村十子向南50米路西)
  酱大骨头---骨头庄(吉祥村十子向东100米路北)
  麻辣粉----牵人(粉巷)
  火锅----竹园 (和平路)
  蒜蘸面----绿蚂蚁对面
  牛肉面----马虎面(西七路)
  腊汁肉揪面片----建设西路西头路南第一家
  羊肉面----建设西路西头路南“陕北老二面庄”
  高新的老王面
  小雁塔门口的羊肉面
  建国路的梆梆面
  尚勤路的歧山面
  长乐路的牛肉拉面
  高新路北段“一诺面庄”的秦香面
  麻辣鱼----建国路中段路西“安平麻辣鱼”
  麻辣烫-----七星椒(周家围墙)
  火锅-----小天鹅(南二环)
  牛肉面----一分利(鼓楼)
  沙锅----穆萨 (大皮院 )
  烤肉----(桥子口往西400米)
  炒海瓜子————胖嫂(东新街夜市,最近检查12点以后出摊)
  米线----玄风桥“红油米线”
  马厂子的〔大盘鸡〕
  兴庆路东隆的楼下〔今日平价酒楼〕的炒菜不错,
  西大街桥梓口车站路南小巷里有一家〔卤汁凉粉〕
  大雁塔正面的路东有一家〔肉夹馍〕和〔丸子汤〕
  长乐西路轻工东半公里〔秦百年〕火锅--要吃蹄花的
  交大北沙坡里有一个,〔九龙海天大酒楼〕(刚开的分店在纬十街西北角),夜市上有一个〔重庆嫩江鱼〕,小巷里有一家四种麻辣
  南二环“川渝人家”的菜也不错。
  粉带(2块)。黄甫庄口有一家〔卤汁鸡〕(5角)
  西五路西段路南第一个小巷进去有一个〔塘坝鱼大排档〕(20元)
  建设路东口路南(三二三医院东邻)〔塘坝鱼〕
  东门里南〔渭南时晨包子〕
  南稍门永宁村里有一家〔烤羊肉〕,现割现秤现穿现卖现烤现吃
  北郊自强路有一家烤羊排
  原东郊三厂旁边有一家“囊坑肉”,也属羊排一种(此店已搬家,待我侦察后再通知)
  东新街————牛肉丸子烩菜,好吃量也足,只出夜市,隔个几天就要去吃一回,味道地道
  北郊 龙首南路里“东利沙锅 ”
  而且最好吃的是最便宜的三鲜沙锅
  柳巷口的牛肉面,最近已经般到端履门
  劳动南路啊,老机场里面有一家跳水鱼,非常好吃的
  西北大学北门,西侧的红焖王(红焖羊肉非常棒)
  北广济街的泡馍是老米家。
  
  东郊韩森寨经二路北口李老四牛肉夹馍,
  南郊吉祥村十字社科院对面老蒲城风味小吃,里面的八宝辣子和老豆腐很好。
  小肥羊的火锅羊肉鲜美(最近听说他们为了保鲜在肉里放了对人体有害的防腐剂)可以缓缓再吃
  海底捞服务态度一流
  南二环添一顺味道不错,价格相对有点高
  老成都 喜欢吃辣的朋友可以常去坐坐
  东来顺也不错
  文豪杂粮食府去一次,感受感受看看就行了,自己吃饭千万不要去
  西厢子庙街有一个“大清花”饺子馆,饺子不错,菜也不错,满族人开的,老板很会做生意,去吃过几次,真的很不错。
  最便宜、好吃的海鲜在边家村十子南100米---大通渔港
    新民街的通济中坊发现一家冒菜(虞记),


餐馆名                        口味      环境     服务       人均消费                
1.  贾三灌汤包子         20           6            9                ¥15                
2. 樊记腊汁肉店          26           9            11              ¥ 8                  
3. 海底捞火锅城          22           16          30              ¥ 35                
4.竹园村火锅               24           18          16              ¥ 44                
5. 红红酸菜炒米          21           8            9                ¥ 11                
6. 同盛祥                      18           13          9                ¥ 27                 
7.老孙家饭庄                17           9             7                ¥ 33                
8 西安饭庄                     20           19           15              ¥ 61                
9永明岐山面                 22           16           14              ¥ 12                
10. 小六汤包                 20           14           13              ¥ 15               
11. 德发长饺子             13           13           10              ¥ 45               
12.牵人麻辣粉              25           10           12              ¥ 7                 
13.春发生饭店             24            16          14               ¥ 25                
14. 小苏塘坝鱼            19             9            11              ¥ 27            
15. 御品轩面包店        27           16           17              ¥ 13              
16 老孙家中国西部民 18           15            13             ¥ 38               
17. 大香港鲍翅酒楼    24            24            24              ¥ 134             
18. 老兰家烤肉             20            8                9              ¥ 17              
19.雅泰来                      12            12             12             ¥ 33              
20.必胜客                      16             18            17             ¥ 56              
21.千家粗粮王               7              7               8               ¥ 21               
22. 坊上人清真饭庄      21            17             14              ¥ 36               
23. 平娃烤肉店              15            4               4                ¥ 18               
24. 高飞比萨                 18            22            16               ¥ 44              
25.  春发生泡馍馆        16           11              8               ¥ 25               
26. 好利来蛋糕世界      12            13             11             ¥ 19                
27. 国力仁和川菜           26           19             18               ¥ 56               
28. 萨拉伯尔                   18             26             22             ¥ 127             
29. 川渝人家                   16             15            12             ¥  64                  
30. 上海人家                   13             18             17             ¥ 72              
31. 文豪杂粮食府            17            20              15             ¥ 51              
32. 东来顺饭庄                 25           1 7             15            ¥ 45                
33. 好伦哥                         7              15              8             ¥ 39                  
34. 东东包                         12             7               7               ¥ 10                 
35. 朱军鱼庄                    17             7                 8             ¥ 33                
36. 清真老金家水盆羊肉  17            9               0              ¥ 34                 
37. 德克士炸鸡                  6              7               8              ¥ 25                   
38. 粤珍轩海鲜酒楼         16            22             19             ¥ 61                  
39. 江海肥牛大酒店                                                                                    
40. 秦朝瓦罐                      14           12             12              ¥ 53                 
41. 金汉斯南美烧烤    
42. 老味家饭                       20           16             13             ¥ 35                  
43. 豪牛士烤肉                   7             11              11            ¥ 58                  
44. 元太祖     
45. 郭老大大盘鸡               13            6               8               ¥ 30                  
46. 海云台                          12             19             16              ¥ 45                  
47. 老树咖啡                      4                1 3            13              ¥ 30                  
48. 桥梓口贾永信              18              6               6                ¥ 20                     
49. 永和豆浆     
50. 安旗    
51. 荣歌红焖王餐庄            19             12              14              ¥34               
52. 程记米线店    
53. 毛公湘菜馆                    18              10             11               ¥46                  
54. 捷尔泰凉皮    
55. 肯尼罗杰斯餐厅             2                13              10              ¥ 41              
56. 回坊人家    
57. 三皇三家     
58. 米旗蛋糕     
59. 奥斯汀西餐酒廊    
60. 无名食屋     
61. 明都回转寿司                  2               6                  8                ¥ 46                
62. 惠里     
63. 谭鱼头火锅     
64. 清真老四烤肉    
65. 解放路饺子馆               14                11               10                 ¥ 40              
66. 云南过桥米线酒楼     2
67. 西安烤鸭店                   17                14                11                 ¥ 49             
68. 苏浙汇酒店                   18                20                20                   ¥ 51           
69. 永丰歧山面                   17                6                  10                  ¥ 12            
70. 高山青    
71. 秦豫肉夹馍    
72. 小唐人自助    
73. 小肥羊火锅    
74. 麦当劳    
75. 顶顶香煎饼屋    
76. 郭老六大盘鸡    
77. 阿瓦山寨    
78. 爱特糕饼曼维咖啡店    
79. 蛐蛐火锅    
80. 格兰明珠     
81. 野玫瑰大酒店     
82. 新闻大厦美食城    
83. 艺园餐厅    
84. 酷啦啦     
85. 名典咖啡语茶    
86. 吉林农家饭庄    
87. 阿林鲍鱼    
88. 一诺面庄   
89. 常宁宫休闲山庄    
90. 黄鹤楼金花饭店    
91. 安德坊    
92. 民生大酒店食村     
93. 桃李村饭店    
94. 罗胖大排档    
95. 唐乐宫                          9                    19                       23              ¥145  
96. 全聚德烤鸭店   
97. 国花酒家老店    
98. 紫荆花大酒店    
99. 崔记biangbiang面馆    
100. 一分利面庄   

posted @ 2005-10-28 15:06 锋出磨砺 阅读(926) | 评论 (4)编辑 收藏

import java.io.*;
import java.util.*;
import java.util.zip.ZipOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class FileMgr {
  public FileMgr() {
  }
 /**
   * 压缩文件
   * @param srcfile File[]  需要压缩的文件列表
   * @param zipfile File    压缩后的文件
   */
  public static void ZipFiles(java.io.File[] srcfile, java.io.File zipfile) {
    byte[] buf = new byte[1024];
    try {
      // Create the ZIP file
      ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipfile));
      // Compress the files
      for (int i = 0; i < srcfile.length; i++) {
        FileInputStream in = new FileInputStream(srcfile[i]);
        // Add ZIP entry to output stream.
        out.putNextEntry(new ZipEntry(srcfile[i].getName()));
        // Transfer bytes from the file to the ZIP file
        int len;
        while ( (len = in.read(buf)) > 0) {
          out.write(buf, 0, len);
        }
        // Complete the entry
        out.closeEntry();
        in.close();
      }
      // Complete the ZIP file
      out.close();
    }
    catch (IOException e) {
      e.printStackTrace();
    }
  }

  /**
   * 解压缩
   * @param zipfile File 需要解压缩的文件
   * @param descDir String  解压后的目标目录
   */
  public static void UnZipFiles(java.io.File zipfile, String descDir) {
    try {
      // Open the ZIP file
      ZipFile zf = new ZipFile(zipfile);
      for (Enumeration entries = zf.entries(); entries.hasMoreElements(); ) {
        // Get the entry name
        ZipEntry entry = ( (ZipEntry) entries.nextElement());
        String zipEntryName = entry.getName();
        InputStream in = zf.getInputStream(entry);
       // System.out.println(zipEntryName);
        OutputStream out = new FileOutputStream(descDir + zipEntryName);
        byte[] buf1 = new byte[1024];
        int len;
        while ( (len = in.read(buf1)) > 0) {
          out.write(buf1, 0, len);
        }
        // Close the file and stream
        in.close();
        out.close();
      }
    }
    catch (IOException e) {
      e.printStackTrace();
    }
  }

}

posted @ 2005-10-28 15:04 锋出磨砺 阅读(898) | 评论 (2)编辑 收藏

作为中国最底层的程序员,我苦 我乐 。
让他人去疯狂的压榨吧,让自以为是的pm,sa们继续他们自以为
的美梦和想象吧
有句话是 孤芳自赏 也许他们就是
我在默默无闻的为中国的软件事业出力
我从来都是那头勤种的耕牛
我问心无愧
无愧于我的朋友和我心爱的每个人(包括你)

曾经的我也是驰骋于
腥风血雨
曾经的我带领我的兄弟们
踩平一个个project
没有华丽的辞藻
只有好用的软件
结交了很多朋友
培养了诸多se

虽然有sa的本本
我却一直拿自己当
--------程序员
现在 将来
我将永远的和
兄弟们
同食野菜
共享富贵

就是一个牛一样的程序员

我有很多的好朋友
我和老婆过着幸福的
掉渣的生活
我将有个可爱的孩子
我的亲人目前还都健康幸福
我很知足 上苍给我的
惜福 惜福 惜福

posted @ 2005-10-18 13:23 锋出磨砺 阅读(376) | 评论 (2)编辑 收藏

构架浅析

李宝剑 libaojian@sina.com

 

   从广义方面来理解构架,在自然世界中到处都是。作为一个好的构架概念最终会形成模式。这里笔者仅从软件工程的领域将自己的一些浅薄认识进行分析整理,以求获取通用的可控制其风险的构架模式。

   从静态视角分析,构架涉及了公司,部门,团队,涉众等。从动态视角分析,构架涉及了产品创造过程以及围绕此过程发生的各种事件。从软件技术的视角分析,构架涉及了需求,设计,程序,用例等。不同视角看到不同的构架,这些构架彼此相互联系,相互制约。

   对于一个构架的组成,我暂称其为元素,元素会有关系,关系包括了控制,协作,支持等。

   从以上分析,你的头脑里应该会有一个模糊的构架view展现。

   我们的目标是借助诸多构架支持完成某些构架的实现,在这个过程中,会发生一些阻碍事情进展的情况。那好,事情就变的有目的了,我们的目的就是解决这些阻碍,对症下药,尽大可能的解决这些问题,权衡利弊,使最终的利益最大化。

   构架可抽取,可形成模式,而具体到一个项目构架模式就变成了构架实例,有了动作动态这个元素来打破了构架的一些常规。作为项目的控制者需要合理的处理和控制常规的可预见的风险和突发的风险。在不同的场景中,构架中的元素所担任的角色就不同,其属性和行为也会动态的进行变化。例如你在公司构架下是一个员工,在部门构架下是一个设计师,在项目构架中是一个设计组长,在涉众中是一名设计人员,在过程中是一名团队成员,在需求构架中是一个需求的翻译者,在设计构架中你就是大师,等等。

   分析抽取了初始的构架模型如下

 o_22.bmp

   下面我将根据初始的构架模型,进行具体的项目分析。我将从目前的项目进行此项目架构以及支持和约束此项目架构的其他架构的分析,找出仅可能多的问题和解决方案,形成一定的模式,避免重蹈覆辙。

   项目背景

       公司近期在电子政务方面,会面临大量的政务信息的交互。 在此背景下,开发代号为ABC的数据交换平台。因为某研究所已经有若干成熟的设计,将和此研究所合作进行开发。公司派34人进驻研究所, 同研究所的研究生团队组成新的团队,共同开发。

   构架列表

n         公司构架(公司领导 政务部门领导  开发领导)

n         团队构架(公司监督 项目指导 项目管理 技术管理 公司员工 研究所学生)

n         研究所构架(导师 学生(博士研究生 硕士研究生))

n         涉众构架(公司 研究所 用户)

n         项目构架(高层用例构架 组成人员)

n         需求构架(用例架构)

n         设计构架(系统架构)

n         实现构架(类架构)

n         过程构架(周期,里程碑)

n         技术构架

   总体构架关系

     r_11.bmp

 

下面一排都是外部约束和支持项目构架的若干构架。上面一排是项目过程中内部所要协调的构架。下面就支持架构的目标和责任以及未能达到目标的状况进行分析。

公司构架

    公司对于此项目的责任应该是约束,监督,支持。从目前的状况来看,项目组所感受的的只是约束和监督,未能明显的感觉支持。对于监督的力度不够也就是过程的监督仅停留于常规的周报等纸面内容,掩盖了事实的真相。

问题

就是监督不力,不予支持。结果是上下信息不畅,项目进展困难。这种严重的等级信息传递,造成了链条式的信息沟通,因为某一个环节的缺失,就会造成监督盲区和支持盲区。

参考模式

 

解决方案

从公司对于此项目的构架组成包括了五级,董事长,副总,政务部总,政务部开发负责,政务部项目监督员。那问题显然出在政务部总和政务部开发负责这个点(元素)上。解决问题将从此深入。借用我党常用的什么下乡活动的策略,并且支持鼓励员工的合理建议,广开言论。

研究所构架

    研究所的目的不言而预,教学为主,培养学生目的很明显。对于项目的进展做出了很大的努力,而问题也随着进展暴露的越来越突出。优势,人力多。

问题

1,  经验不足

2,  流动性大

3,  责任心不足

4,  需花费培养成本

解决方案

    ,这就要求团队组成的格局需要按照这种方式进行重新规划。将比较优秀的团队成员作为产品组的领军。人才浪费也是一个缺憾,未能人尽其用。通过一段时间的观察和磨合,仔细分析每个组员的特点,进行团队合理的人员分配。真正的实现113

团队构架

    不管是从传统的软件过程来讲还是从rup的项目管理过程分析。团队的组成缺失很大,也很不科学。一句话:一哄而上。

 问题

1.       项目管理者位置、职权不突出,没有独立的协调、组织、调配权力;

2.       团队组成人员结构不合理,往往不能按照科学的职能需要配置项目开发人员;

3.       团队中职能交错混乱,管理模式不确定,存在严重的职能重叠浪费和缺失不齐的矛盾现象;

4.       团队精神不明确,项目目标不一致。

解决方案

   在公司构架的基础上,明确项目管理者的地位和作用;按照类比或经验的管理模式,组建所需要的研发人员团队,明确团队精神和唯一奋斗目标.

涉众构架

    没有用户的参与。涉众不完全。听不到不同的意见(或者不同的意见仅局限于内部),会形成一叶障目。

 问题

   

解决方案

    作好充分的项目前期调研,广泛收集用户(或业主)信息,建立项目用户跟踪回访制度,最好由原软件开发负责人牵头。

需求构架

    需求来源太狭小。

 问题

    导致产品规划不太合理,盲目的靠近什么红头文件。连技术细节都盲目靠近。

解决方案

    从其他的政务系统入手,结合其他的类似产品,进行产品规划和需求获取。

设计构架

    概要设计阶段因为产品族的规划不到位,造成了某些概念不统一。详细设计阶段问题依旧,并且对于整体感未能有人把握。

 问题

1.       设计目标不明确,设计范围模糊,造成设计概念含混不清;

2.       设计阶段划分不清,设计深度很难把握。

3.       设计成果的校核、审查、确定系统不健全,没有准确的把关人员。

解决方案

   明确设计阶段,提前作好设计沟通协调工作,给定项目设计内容,设立专人设计组,健全设计成果的审查把关系统。

技术构架

    技术风险

 问题

    无总体感

解决方案

    架构师,在那里。如果没有合适人选,就要从团队中培养。

实现构架

    类结构比较合理,但是因为总体无人驾驭,可能造成百花齐放。

 问题

    许多公用类未尽其用,并且对于程序中效能都是没有把握。

解决方案

    代码框架的确定和培训。

过程构架

    过程中的缺憾主要是周期和里程校验,以及过程中的审查。

 问题

    不及时 力度不够

解决方案

    项目管理方面的资料很多,我这里就不罗索了。

posted @ 2005-10-18 10:15 锋出磨砺 阅读(517) | 评论 (5)编辑 收藏

首先到SUN下载最新的JMF,然后安装。http://java.sun.com/products/java-media/jmf/index.jsp



然后,说一下需求



1. 用摄像头拍照



2. 在文本框输入文件名



3. 按下拍照按钮,获取摄像头内的图像



4. 在拍下的照片上有一红框截取固定大小的照片。



5. 保存为本地图像为jpg格式,不得压缩画质







技术关键,相信也是大家最感兴趣的部分也就是如何让一个摄像头工作,并拍下一张照片了。



利用JMF,代码很简单:







//利用这三个类分别获取摄像头驱动,和获取摄像头内的图像流,获取到的图像流是一个Swing的Component组件类



public static Player player = null;



private CaptureDeviceInfo di = null;



private MediaLocator ml = null;







//文档中提供的驱动写法,为何这么写我也不知:)



String str1 = "vfw:Logitech USB Video Camera:0";



String str2 = "vfw:Microsoft WDM Image Capture (Win32):0";



di = CaptureDeviceManager.getDevice(str2);



ml = di.getLocator();



try



{



player = Manager.createRealizedPlayer(ml);



player.start();



Component comp;



if ((comp = player.getVisualComponent()) != null)



{



add(comp, BorderLayout.NORTH);



}



}



catch (Exception e)



{



e.printStackTrace();



}








接下来就是点击拍照,获取摄像头内的当前图像。



代码也是很简单:







private JButton capture;



private Buffer buf = null;



private BufferToImage btoi = null;



private ImagePanel imgpanel = null;



private Image img = null;



private ImagePanel imgpanel = null;







JComponent c = (JComponent) e.getSource();



if (c == capture)//如果按下的是拍照按钮



{



FrameGrabbingControl fgc =



(FrameGrabbingControl) player.getControl(



"javax.media.control.FrameGrabbingControl");



buf = fgc.grabFrame(); // 获取当前祯并存入Buffer类



btoi = new BufferToImage((VideoFormat) buf.getFormat());



img = btoi.createImage(buf); // show the image



imgpanel.setImage(img);



}







保存图像的就不多说了,以下为示例代码







BufferedImage bi = (BufferedImage) createImage(imgWidth, imgHeight);



Graphics2D g2 = bi.createGraphics();



g2.drawImage(img, null, null);







FileOutputStream out = null;



try



{



out = new FileOutputStream(s);



}



catch (java.io.FileNotFoundException io)



{



System.out.println("File Not Found");



}



JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);



JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bi);



param.setQuality(1f, false);//不压缩图像



encoder.setJPEGEncodeParam(param);



try



{



encoder.encode(bi);



out.close();



}



catch (java.io.IOException io)



{



System.out.println("IOException");



}




posted @ 2005-10-13 09:11 锋出磨砺 阅读(411) | 评论 (0)编辑 收藏

问: 如何设置Java 2(JDK1.2)的环境变量?
答:
Java 2安装后,需要设置PATH和JAVA_HOME环境变量.与JDK1.1不同的是:设置好JAVA_HOME环境变量后,JVM将自动搜索系统类库以及用户的当前路径.
Java 2环境变量的设置如下例所示:
Solaris平台: setenv JAVA_HOME Java2的安装路径
setenv PATH $JAVA_HOME/bin:${PATH}
Windows平台: set JAVA_HOME=Java2的安装路径
set PATH=$JAVA_HOMEbin;%PATH%

问: 哪些Java集成开发工具支持Java 2?
答:
目前流行的Java集成开发环境,如Inprise的JBuilder,Symantec的Visual Cafe, Sybase的PowerJ,都支持Java 2.

问: 如果在Netscape或IE浏览器中运行Java applet时出现了错误,如何确定错误范围?
答:
当java applet在浏览器中运行时,使用的是浏览器本身的缺省JVM.而不同浏览器对JDK的支持程度也不尽相同. 因此,在Netscape或IE浏览器中运行Java applet出现了错误,建议使用JDK提供的工具appletviewer或Sun公司的Hotjava浏览器来测试该applet,以确定错误的产生是与浏览器相关.
如果applet在appletviewer或Hotjava中运行一切正常,则错误的产生是由于浏览 器不完全兼容JDK而引起的. 此时,解决方法可以是使用Hotjava浏览器或者安装 Sun公司的Java Plugin.
如果applet在Hotjava浏览器或appletviewer中运行即发生错误,则应当根据错误 提示检查applet程序.

问: 当用JDBC向数据库中插入数据或从数据库中提取数据时,为何有时中文字符会显示为乱码?
答:
 这个问题的实现通常与各个JDBC driver的实现有关. 目前大多数JDBC driver采用本地编码格式来传输中文字符,例如中文字符"0x4175"会被转成"0x41"和"0x75"进行传输. 因此我们需要对JDBC driver返回的字符以及要发给JDBC driver的字符进行转换.
当用JDBC driver向数据库中插入数据时,需要先将Unicode转成native code; 当 JDBC driver从数据库中查询数据时,则需要将native code转换成Unicode. 下面给出了这两种转换的实现:

String native2Unicode(String s) {
if (s == null || s.length() == 0) {
return null;
}
byte[] buffer = new byte[s.length()];
for (int i = 0; i s.length(); i++) { if (s.charAt(i)>= 0x100) {
c = s.charAt(i);
byte []buf = (""+c).getBytes();
buffer[j++] = (char)buf[0];
buffer[j++] = (char)buf[1];
}
else {
buffer[j++] = s.charAt(i);
}
}
return new String(buffer, 0, j);
}
除使用以上两个方法之外,有些JDBC driver如果对jdbc driver Manager设置了正确 的字符集属性,以上2个方法就不需要了.

问:当用Servlet来处理http请求并产生返回的HTML页面时,如何使HTML页面中的中文字符能够正常显示?
答:
javax.servlet.http.HttpResponse类用于产生返回页面.通过HttpResponse定义的方法getOutputStream()可以获得ServletOutputStream的实例,这样用户就可以利用ServletOutputStream.write方法向输出流中写入返回页面的内容. 但是ServletOutputStream使用的是缺省的编码方式,如果要使返回页面中的中文字 符能够正常显示,最好显示地指定所用的字符编码方式. 通常需要构造一个 OutputStreamWriter , 例程如下:

public void doGet (HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
ServletOutputStream out = res.getOutputStream();
OutputStreamWriter ow = new OutputStreamWriter(out,"GB2312");
ow.write("这是测试");
ow.flush();
ow.close();
}

问:如何设置Java WebServer的CLASSPATH,以包含用户的class文件?
答:
有两种方法可以设置Java WebServer的CLASSPATH环境变量,以使用户编写的Servlet能够调用用户的class文件.
将用户的class文件放到 JavaWebServer_Dir/classes目录下,在Java WebServer 启动时,classes目录被自动加入到CLASSPATH环境变量中了.
修改httpd.nojre文件,将用户class文件所在的路径名加到CLASSPATH环境变量中.

问:为什么在Windows平台上用Naming.lookup来获取远程RMI对象时会很慢?
答:
机器的网络设置不正确很可能会引起该问题的发生.
RMI使用了Java网络类,特别是java.net.InetAddress类,它将查询TCP/IP的主机名, 包括IP地址到主机名的映射和主机名到IP地址的映射.在Windows平台,这种查询功能 是由本地的Windows Socket库来实现的. 因此延时是发生在Windows库中,而非RMI中.
如果你的机器设置成使用DNS,问题通常是DNS服务器查不到主机名,你所发现的延时 是DNS查询的延时. 请尝试将RMI通信中涉及到的所有主机名/IP地址加到本地文件winntsystem32driversetchosts或windowshosts中. 格式如下:

IP地址 主机名

如此设置应当可以明显地减少查询所花的时间.

问: 编写Java application时,如何设置proxy的信息,以便访问外部网站?
答:
若在java application中访问外部网站,首先应设置proxy信息,样例代码如下:

import java.util.properties;

.....

Properties sys = System.getProperties();
sys.put("proxySet","true");
sys.put("proxyHost","myHTTP.proxyserver.com");
sys.put("proxyPort","80");
System.setProperties(sys);
u = new URL(website);
connect = (HttpURLConnection)u.openConnection();
.....


问: Swing组件JList的列表数据修改了,如何通知JList改变显示?
答:
JList组件有一个单独的显示模式ListModel来表示JList的显示数据.
JList创建以后,JList数据元素的值及数据元素的数量可以动态地改变.
JList在它的数据模式ListModel中观察数据的改变.因此,一个ListModel 的正确实现应当在每次数据发生改变时,通知事件的监听者.
当使用构造函数JList(Object[])创建一个JList的实例时,系统将自动 创建一个DefaultListModel的实例来存储JList的显示数据, 可以调用 DefaultListModel中定义的简便方法来动态地修改JList的数据,如 removeElementAt(index),addElement(Object)等. DefaultListModel 在修改数据的同时,将通知JList关于数据的改变.

问:在Java applet中如何实现一个模式对话框?
答:
在Java applet中实现模式对话框的关键就是在创建一个对话框的时候 要为该对话框指定一个正确的父窗口.因为Applet是Panel类的子类,不 可以作为对话框的父窗口,所以首先要获得applet所在的窗口,作为模式 对话框的父窗口. 样例代码如下:
.....
Dialog d = new Dialog( getParentWindow(comp),title);
// comp为applet上的任意一个组件
....
public void getParentWindow(Component compOnApplet,String title){
Container c = compOnApplet.getParent();
while (c != null) {
if (c instanceof Frame)
return (Frame) c;
c = c.getParent();
}
return null;
}

问: 在Java applet中如何显示另外一个HTML页面?
答:
通过java.applet.Applet.getAppletContext()方法可以获得与该applet相关的AppletContext, AppletContext.showDocument(URL)方法就可以使applet所在的浏览器显示另外一个网页.

问: 用JDK实现的签名applet,可否在Netscape或IE中运行?
答:
用JDK实现的签名applet,不可以在Netscape或IE中运行,但是可以在Hotjava浏览器中运行.
不同的浏览器提供了不同的签名applet机制,如Netscape提供了zigbert工具和 Capability API, 而IE则需要使用CAB文件. 但是,无论是Netscape工具产生的 签名applet,还是用IE产生的签名applet,都不可以在其它的浏览器中运行.
如果要使JDK产生的签名applet能够在Netscape或IE中运行,解决方法是在 Netscape或IE中安装Java Plugin,则用JDK实现的签名applet就可以在这两种 浏览器中运行.

问: 用JNI技术可以从Java应用中调用C程序库,但是如何使该C程序库可以调用另外的C程序库?
答:
如果一个被Java调用的C程序库C1仍需要调用另外一个C程序库C2,那么在编译C1的时候应当联接程序库C2,步骤如下(Solaris平台):
编写调用C库的Java文件,并编译.
javac java文件名

产生C程序头文件
javah -jni java文件名(不带后缀.java)

编写被Java调用的C程序C1.c,以及被C1调用的C2.c,并编译.
cc -G -Iinclude路径名 C2.c -o libC2.so
cc -G -Iinclude路径名 -lC2 C1.c -o libC1.so

设置环境变量
setenv LD_LIBRARY_PATH libC1.so,libC2.so所在路径:${LD_LIBRARY_PATH}

运行java应用

问: 在Java语言中,如何列出PC机文件系统中的所有驱动器名?
答:
在Java 2版本中,java.io包中的File类新增加了方法listRoots()可以实现这一功能.

问: 为什么Runtime.exec("ls")没有任何输出?
答:
调用Runtime.exec方法将产生一个本地的进程,并返回一个Process子类的实例,该实例可用于控制进程或取得进程的相关信息. 由于调用Runtime.exec方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过Process.getOutputStream(),Process.getInputStream(), Process.getErrorStream()方法重定向给它的父进程了.用户需要用这些stream来向 子进程输入数据或获取子进程的输出. 所以正确执行Runtime.exec("ls")的例程如下:
try
{
process = Runtime.getRuntime().exec (command);
InputStreamReader ir=newInputStreamReader(process.getInputStream());
LineNumberReader input = new LineNumberReader (ir);
String line;
while ((line = input.readLine ()) != null)
System.out.println(line);
}
catch (java.io.IOException e){
System.err.println ("IOException " + e.getMessage());
}

问: 如何产生签名applet,以使applet能够访问本地资源?
答:
在jdk1.1中,可以使用javakey命令来产生公钥,私钥,证书和签名的jar文件,详细资料 请参考: http://java.sun.com/security/usingJavakey.html而java 2对签名机制做了比较大的改进,允许用户更灵活地设置安全权限.Java 2提供了三个工具:keytool,policytool和jarsigner来实现签名applet.例如,Joe编写了一个签名applet:SignedApplet.java,那么产生一个简单的签名applet的过程如下:

//产生密钥,密钥别名为joe,口令为sign12,存放在密钥库joestore中
keytool -genkey -alias joe -keypass sign12 -keystore joestore
//将SignedApplet.class及相关文件打包成jar文件
jar cvf SignedAppletDemo.jar
//利用keytool生成的自签名的证书产生签名applet(jar文件)
jarsigner -keystore joestore -signedjar joe.jar SignedAppletDemo.jar joe
//将自签名证书从keystore中输出到文件
keytool -export -keystore joestore -alias joe -file joe.cer
而对于签名applet的接受方Susan,需要通过如下步骤来安全地执行
Joe编写的签名applet:
//得到Joe的证书并将之读入到密钥库中susanstore中
keytool -import -alias joe -file joe.cer -keystore susanstore
//运行policytool产生满足Susan要求的policy文件
policytool
//用appletviewer运行之,或在浏览器中安装java plugin来运行之.
关于签名applet在Java Plugin中的部署请参考以下网页: http://java.sun.com/security/signExample12/

注:以上的例子为简单起见,使用了keytool产生的自签名证书.其实,用户也可以使用keytool -certreq向商业CA中心申请电子证书.

问:若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
答:
使用缺省的serializetion的实现时,一个ObjectOutputStream的构造和一个ObjectInputStream的构造必须一一对应.ObjectOutputStream的构造函数会向输出流中写入一个标识头,而ObjectInputStream会首先读入这个标识头.因此,多次以追加方式向一个文件中写入object时,该文件将会包含多个标识头.所以用ObjectInputStream来deserialize这个ObjectOutputStream时,将产生StreamCorruptedException.一种解决方法是可以构造一个ObjectOutputStream的子类,并覆盖writeStreamHeader()方法.被覆盖后的writeStreamHeader()方法应判断是否为首次向文件中写入object,羰?则调用super.writeStreamHeader();若否,即以追加方式写入object时,则应调用ObjectOutputStream.reset()方法.

问: 对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中? 答:
目前,没有直接的方法可以将对象写入到随机存取文件中,但是可以使用ByteArray输入/输出流作为中介,来向随机存取文件中写入或从随机存取文件中读出字节,并且可以利用字节流来创建对象输入/输出流,以用于读写对象.需要注意的是在字节流中要包含一个完整的对象,否则读写对象时将发生错误. 例如,java.io.ByteArrayOutputStream可用于获取ObjectOutputStream的字节流,从中可得到byte数组并可将之写入到随机存取文件中.相反,我们可以从随机存取文件中读出字节数组,利用它可构造ByteArrayInputStream,进而构造出ObjectInputStream,以读取对象.

问: 运行RMI应用时,可不可以不手工启动名字服务rmiregistry,而是从程序中启动之?
答:
可以. java.rmi包中提供了类java.rmi.registry.LocateRegistry,用于获取名字服务或创建名字服务.调用LocateRegistry.createRegistry(int port)方法可以在某一特定端口创建名字服务,从而用户无需再手工启动rmiregistry.此外,LocateRegistry.getRegistry(String host,int port)方法可用于获取名字服务.

问: 使用类PrintJob进行打印操作时,应如何设置打印机名等打印属性?
答:
使用如下方法可以获得PrintJob的实例用于控制打印操作:
Toolkit.getPrintJob(Frame f, String jobtitle, Properties prop)
那么对于打印属性的设置可以通过对prop的属性设置来实现,打印属性包括:
awt.print.destination: 可以是"printer"或"file"
awt.print.printer: 打印机名
awt.print.fileName: 打印文件名
awt.print.numCopies: 打印份数
awt.print.options: 打印命令的打印选项
awt.print.orientation: 打印方向,可以是"portrait"或"landscape"
awt.print.paperSize: 纸张大小,可以是"letter","legal","executive"或"a4"

问:在JDK1.1中Thread类定义了suspend()和resume()方法,但是在JDK1.2中已经过时,应使用什么方法来替代之?
答:
Thread.suspend本身易于产生死锁.如果一个目标线程对某一关键系统资源进行了加锁操作,然后该线程被suspend,那么除非该线程被resume,否则其它线程都将无法访问该系统资源.如果另外一个线程将调用resume,使该线程继续运行,而在此之前,它也需要访问这一系统资源,则将产生死锁.
因此,在Java 2中,比较流行的方式是定义线程的状态变量,并使目标线程轮询该状态变量,当状态为悬挂状态时,可以使用wait()方法使之处于等待状态.一旦需要该线程继续运行,其它线程会调用notify()方法来通知它.

问: 使用JDBC编程,应如何控制结果集ResultSet的指针,使之能够上下移动,以及移动到结果集的第一行和最后一行?
答:
在JDK1.1中,ResultSet类中只定义了next()方法支持数据指针的下移.但在Java 2中,ResultSet类增加了如下方法支持数据指针的移动,包括:

ResultSet.first():将数据指针移到结果集的第一行
ResultSet.last(): 将数据指针移到结果集的最后一行
ResultSet.previous(): 将数据指针上移一行

以上的方法定义在JDBC2.0的规范中,所有支持JDBC 2.0的JDBC驱动程序都可以支持上述方法.目前Intersolv和OpenLink等JDBC驱动程序厂商均有产品支持JDBC 2.0 .

问: 哪几种Web Server支持Servlet?如何使IIS支持Servlet?
答:
目前,支持Servlet的服务器端产品主要有: Sun公司的Java WebServer,Lotus DominoGo WebServer,BEA weblogic Tengah Server,Jigsaw,NetForge,AcmeServer和Mot Bays Jetty等.
此外,一些第三方厂商也开发了Servlet engine,以使其它WebServer(如Netscape Web Server,IIS等)能够运行Servlet,如LiveSoftware的Jrun(http://www.livesoftware.com/ products/jrun/)等.

问: 如何在Java应用中将图像存储到图像文件中?
答:
Java Advanced Imaging API(包含在Java Media API中)允许在Java应用中执行复杂的,高性能的图像处理.JAI API提供了存储图像的能力.目前,JAI API支持以下几种图像文件格式:BMP,JEPG,PNG,PNM,TIFF.下面给出了将图像存储到BMP文件的一段代码:
OutputStream os = new FileOutputStream(fileToWriteTo);
BMPEncodeParam param = new BMPEncodeParam();
ImageEncoder enc = ImageCodec.createImageEncoder("BMP", os, param);
enc.encode(img);
os.close();
有关存储图像文件的编程指南请参考以下网页:
http://java.sun.com/products/jav ... velopers/jai-guide/

问: 如何用Java语言向串口读写数据?
答:
Sun公司的Java Communication API2.0可用于读写串口,它支持RS232串口和IEEE 1284 并口,提供了一种与平台无关的串/并口通信机制.

posted @ 2005-10-13 09:01 锋出磨砺 阅读(691) | 评论 (0)编辑 收藏

如果你有一千个苹果,有十个箱子,那么现在我要把一千个苹果放进十个箱子里面,
放了完之后,不管谁跟我要多少苹果(包括1000以内的哟),我都可以整箱整箱给
他,这个问题有解吗?

我的思路。
我从1开始推理的。如果你需要1个,必然有1个箱子装一个。
需要两个,要么给一个箱子装2个,要么再装一个的箱子。感觉
还是装2个为一箱比较好。那么需要3个时候,就1+2了,那么你需要4个怎么办。
是装一个4个呢,还是装一个或者2个呢。为了省箱子,我装4个。
此时,我发现了规律,1,2,4。那么下一个是8,再下去就是16了,接着32。
。。。。。。。
如果有100个,到32的时候,下一个就是64了,总数超过100了。思路改为
100-(1+2+4+8+16+32)=37。最后一个箱子装37个。
当要求的苹果数在1+2+4+8+16+32=63 和100之间的时候,将算法推诿
给前面即可。就是先拿37个,剩下的从以前的箱子拼凑。
至此,推理完毕。

java实现代码


/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class Box {
  private int limit;
  private int code;
  private int applenum;


  public Box(int code,int applenum,int limit) {
     this.limit = limit;
     this.code  = code;
     this.applenum = applenum;

  }
  public int getApplenum() {
    return applenum;
  }
  public int getCode() {
    return code;
  }
  public int getLimit() {
    return limit;
  }
  public void setLimit(int limit) {
    this.limit = limit;
  }
  public void setCode(int code) {
    this.code = code;
  }
  public void setApplenum(int applenum) {
    this.applenum = applenum;
  }

}


/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2005</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class Apple {
  public Apple() {
  }
  final private int max=100;   // 苹果总数
  static int   xqs = 99;       // 你需要的苹果数
  private java.util.Vector Boxvec = new java.util.Vector(); // 箱子和箱子里的苹果
  private int ai =0;
  private int k = 1;
  public static void main(String args[])
  {
    Apple apple = new Apple();
    apple.InBox(1);
    System.out.println("共需装"+apple.GetBoxVec().size()+"箱");
    for (int i=0;i<apple.GetBoxVec().size();i++)
    {
      Box box = (Box)apple.GetBoxVec().get(i);
      System.out.println("第 ‘"+box.getCode()+"’ 箱装'"+box.getApplenum()+"' ");
    }
    apple.GetApple(xqs,apple.GetBoxVec());
  }

  public void GetApple(int x,java.util.Vector vec)
  {
    if (x==1)
    {
     System.out.println("拿第一箱玩去,就1个");
    }
    else
    {
      if (x != 0) {
        int key = 0;
        for (int i = 0; i < vec.size() - 1; i++) {
          Box xbox = (Box) vec.get(i);
          Box ybox = (Box) vec.get(i + 1);
          if (x > xbox.getLimit() && x <= ybox.getLimit()) {
            key = i + 2;
            System.out.println("拿第" + ybox.getCode() + "箱给他,共" +
                               ybox.getApplenum() + "个");
            GetApple(x - ybox.getApplenum(), vec);
          }
        }
      }
      else
        System.out.println("完成");
    }

  }

  public void InBox(int i)
  {
    if ((i+i)>=max)
    {
      Box box = new Box(k,max-ai,max);
      Boxvec.add(box);
    }
    else
    {
      Box box = new Box(k,i,i+ai);
      k++;
      Boxvec.add(box);
      ai = ai + i;
      InBox(i+i);
    }
  }
  public java.util.Vector GetBoxVec()
  {
    return Boxvec;
  }

}

posted @ 2005-10-12 13:52 锋出磨砺 阅读(2102) | 评论 (8)编辑 收藏