[转][团队管理]从《亮剑》看团队建设之二——PM如何与组员合作

Posted by gavinkwoe

关于团队组建

大家都有一个共同的认识,一个项目组,必然有一个带队的,称为PM。PM如何和组员合作,这是一个争议较多的话题,有人说与手下人如何合作?手下人不干活怎么办?团队成员间关系的协调等等。

项目经理与组员间的关系如何定位,这是一个既简单又复杂的话题。

以前也有一个当经理的同事说过,他是靠着弟兄们吃饭的,所以……

我个人觉得,在《亮剑》中,我们也可以得到不少的启示。

亮剑的过程

李云龙是如何做团长的,大家在第20集中可以看到,为了被杀的魏和尚,李云龙不惜关押了新二团团长孔捷等人,同时动用兵力直接攻打黑云寨。结果,仇报了,他被降职为营长。

快意恩仇的一刀!杀掉了山猫子(二爷)。痛快得一刀!

我相信只要是有血性的中国人,都会喜欢这一刀的!

这一刀也同样体现在他攻打平安县城的时候,也体现在第一集中,返回去救出张大彪的过程中。

这一刀的效果体现在了很多地方,比如骑兵连连长孙得胜带着全连冲锋到阵亡的过程,冲锋到了只剩下一条胳膊,还是继续冲了过去。等等等等。

亮剑的启示

这一刀表现出什么?

表现出李云龙从来没有把团里的人当作手下人,而是拿他们当亲兄弟。亲兄弟死了,自己哪怕拼上一死,也要为他报仇。降职,当不当官都无所谓。

这就是全心的为团队成员考虑的一个典型。

这种管理是不需要任何技巧的,需要的就是一颗心,一颗负责任的心,一颗不考虑自己利益的全心为了团队成员的心。

为什么李云龙带的兵愿意为他玩儿命,我想原因也很明显了,就是他愿意为这些兵的生死发展玩儿命,种豆得豆,种瓜得瓜。

在现代的团队管理上,很少会涉及到某件事情要一个人生死的时刻,但是,这时候团队的管理者应该考虑的就是成员的利益。保证成员的利益,团队成员才会发挥出自己最大的能动性。

说得刻薄一些:资本家剥削的是剩余劳动力。但是,如果团队成员都没有心情干活,在目前这种工资固定的薪酬形式下,剩余劳动力的数量必然会极大地降低。

如果能够让团队的成员完全主动的工作,激发热情的工作,那么即使加些工资,剩余劳动力的数量也会相应的增加。

结论

可惜的是,国内很少有老板会意识到这一点。所以,才会有那么多的劳动纷争。

如果一个团队管理者遇到了管理上的问题,不妨先问问自己,是否做到了这一点。

转自:http://blog.csdn.net/qingrun/archive/2006/11/14/1383795.aspx


[转][团队管理]从《亮剑》看团队建设之四——谈如何放权

Posted by gavinkwoe

引言

所有的人都知道,要做事情,必须有一定的权力,中国有句古话,明正言顺,名不正则言不顺。

在企业里更是如此,如何给项目管理者放权,应该放些什么权力,这都是企业管理者需要考虑的。而项目经理如何给开发组的组长放权,让下面的组长也好做事情,也好有一些可以控制的权力,这是很多企业管理者都感到头疼的事情。另外,给了权力,如何控制,这更是一件让人头疼的事情,权力放大了,可能造成项目经理一人独大,而团队涣散,而权力小了,项目经理又无法处理事情,团队成员不听指挥,那就是一盘散沙。

这里,我们可以看看《亮剑》中的386旅的旅长是如何给李云龙放权的,而李云龙又是如何给下属的营长连长放权的。

本文有一些相关文章,排列如下:

[团队管理]从《亮剑》看团队建设之三——什么才是创造性团队:http://blog.csdn.net/qingrun/archive/2006/12/06/1432146.aspx

[团队管理]从《亮剑》看团队建设之二——PM如何与组员合作:http://blog.csdn.net/qingrun/archive/2006/11/14/1383795.aspx

[团队管理]从《亮剑》看团队建设之一:http://blog.csdn.net/qingrun/archive/2006/11/08/1373106.aspx

 看电视谈故事

搞骑兵营的故事

看过电视连续剧《亮剑》的都应该不会忘记李云龙高骑兵营的事情,就是从在万家镇驻防的黄协第八混成旅下的骑兵营的装备搞到手的故事,然后就是386旅旅长找李云龙打劫骑兵营装备的事情。从这两件事情的大量对话中(李云龙与赵刚的第一次正面冲突的对话和386旅旅长与李云龙在电话里的对话)可以看出,当时386旅旅长是如何给李云龙放权,并控制这个权力的使用范围的。

放权

赵刚听李云龙说派了一个营过去牵马回来,立刻就急了,说这是擅自调动部队。李云龙急了,说了一大堆话,这里就不用重复那么多了,重要的几句话就是:

1、旅长说,我有装备我要你干什么,你既然能当团长,就有能耐去搞枪,要不然就回家抱孩子去,别在这儿给我丢人现眼(要知道李云龙连老婆都没有,自然没有孩子可抱了,所以就只能有能耐去搞枪了,否则,当时的世界上他就没得混了)。

2、让我搞枪,没问题呀,可是你不能给我戴紧箍咒呀,对不对,你总得给我点自主权吧,不能什么事儿都让你大旅长占了,又想让我搞枪,又想让我当乖孩子,这叫不讲理呀。

3、旅长说,去去去去去(电视上只打了三个去,而实际上说了5个去),自己想办法,我什么都不管,我什么都不问。我警告你,李云龙,你少拿这些屁事来烦我

好,这就是386旅旅长给李云龙的放权过程。

我们在开发中经常遇到的一个问题就是:我们要采用的技术团队内没有人掌握。

怎么办?这时候怎么办?

让公司人力资源部去找么?呵呵,找个行政人员,人力资源部或许有办法,但是如果技术人员都让人力资源部去找,大概这个公司也就离死不远了。

让领导去找?领导也未必说得清楚你具体需要什么样的人,而且,这些人拿来后是否能给帮助你解决问题。

这就存在一个矛盾:自己培养人,还是招人?

这时候,就存在一个资金使用权和招人培养人的权力问题!

而实际上,在国内,很少有公司给项目经理放权到可以让他使用一些资金来提高团队战斗力和效率的,这也是国内很多项目遇到开发人员积极性不高的原因之一,很多项目严重滞后的时候,高高在上的领导们是否需要考虑一下:你有没有给这些可怜的项目经理有没有有效的激励机制和激励权力,既不给他们权力,还要求他们必须做到,那岂不是不讲理么?这就是让人家当乖孩子,还要让人家去搞“枪”。

结果,386旅旅长的放权是正确的,允许李云龙擅自调动部队来搞副业,不追究他的任何责任,只要他不闹出大问题,就不管了。这样,一年的时间,新一团什么都有了,歪把子,九二式,掷弹筒,迫击炮,就靠这这些家底,他才敢和坂田联队[1]硬碰硬的去干。

一个联队的编制和团是同等的,在当时抗日战场上,从来都是一个日本联队至少需要中国一个旅乃至一个师才能对抗,团对团的对抗从来都是必死无疑的,比如:晋绥军358团曾经就被坂田联队击溃过。

看完了放权,下面我们要说说限制权力的使用,不能说给你权力,你就随便了,那给了资金使用权,人家自己拿钱去开个公司,对于原来的公司来说,岂不是亏大了么?

限制权力

如何限制权力的使用,往往比放权还困难,因为一旦你加以限制,就好像给下属难堪,如何才能委婉的做到,同时又能不影响项目组的积极性,还能有有效的保证收权后项目组的进度不受影响。这里我们看看当时的386旅旅长是如何做的。

李云龙搞到了一个骑兵营的装备,而他自己只有一个团的编制,下面设一个骑兵营其实也是可以做到的,但是,整个386旅都没有骑兵团,这个旅长从哪个方面来说,都是不好的,所以,他就必须考虑在下面的团级建制之间进行一下平衡,必须收一些装备上来,否则,他这个旅长就难了点。

于是,在李云龙搞到装备的第二天,旅长的电话就来了:

你这一次捞了多少好处呀?

不多,不多,(这里也是两个不多,汉语中,重复往往代表制减弱语气的意思,下级对上级么,而字幕中只显示了一个不多)就一个骑兵营的装备,我准备组建一个骑兵营。

看把你能的,你一个团就想闹一个骑兵营,那老子这一个旅,是不是该农一个骑兵团?

应该,应该,应该(三次重复,意思与上面同),冲你旅长的名声,配个骑兵师都不多(李云龙知道领导要从他那里抢东西,所以,他开始耍滑头,糊弄事情,说旅长下面应该配个师——这不明摆着胡扯八道么,呵呵)

你废话少说,你留下一个连的马匹装备,剩下的统统给我送到旅部来。(正式的打劫开始了)

干嘛呀,旅长,打劫呀,你干脆枪毙我得了,不行不行不行(重复三次,只显示两次),坚决不行(李云龙发现不好,只好考虑强行抗命,希望能够混过这一关,他心里也知道,旅长是真得要抢,自己不好过关,但是,总归是自己抢来的东西,拱手送上去,实在是心有不甘)

不行?那好吧,那咱们俩就得说道说道了,你未经请示擅自调动部队,这罪过可不小吧?(旅长一看,说好话要不过来,只能施加压力了,而且,要往重的地方说,越重越好,否则,这小子不会轻易就范的,旅长心里也清楚,他想:老子如果不是从你口中抢食物,是有点不好意思,前面才不会说那么一大堆客套话,你小子居然敢顶撞起我来了,想吃独食,有了好处,至少要给我分点么——这也是当时的腐败现象之一)

(李云龙一听要追究他擅自调动部队的罪过,这个实在是太大了,比战场抗命可能还要严重,弄不好再被撤了,别说这一个营的装备了,一个连自己也留不下了,自然着急了)我以前可是(有点说不下去),哎,旅长你同意过呀

我同意过?谁能给你证明啊(继续施加压力,适当的时候,言而无信还是有好处的,另外还好当时没有留下字据,旅长心里暗自庆幸,施加的压力效果达到了,心说:你不给,我就让你小子多着急着急,我看你给不给)

旅长啊,这红口白牙,你可不能不认账啊

少跟我扯淡,啊,现在两条路由你选,要么你把马匹装备给我送来,要么我就上报总部,追究你擅自调动部队的事,李云龙,你打算怎么办?(要么你就范,让我限制你的权利,分窝点好处,要么,我就拿大帽子压死你,让你小子什么都得不到,结果这个营,我连个连都不给你留,全拿走)

唉呀,官大一级压死人哪,行行行,旅长,我认了,你要想打劫你就明说,找这些借口干啥呀。(只能认了,否则,自己又是什么都没有了)

哈哈哈哈哈哈哈(电话里传来的笑声),我不找借口你能给我吗?我说你小子怎么学得跟山西土财主一样,就这么仨核桃俩枣的,你还给我抠抠嗖嗖的,像个男子汉么?(好了,目的达到了,再给你加个帽子,让你舒服舒服)

……

剩下的对话内容就不在上面添加了,总之,经过上面的博弈和对抗,旅长的目的达到了,李云龙也高高兴兴的上交了多出来的装备。

我们的企业管理者也应该考虑考虑到底如何放权,又如何限制的问题,如何合理的限制,而不要什么事情都板着脸来做,那样,可能适得其反,效果不会很好的。

骑兵连训练的故事

搞到了骑兵装备,下面就是训练,其实这也就是项目组中的各个小组工作的管理问题,小组负责人应该有些什么权力,这里可以看到李云龙与赵刚之间的第二次正面冲突:营连长打骂体罚战士的权力问题,也就可以看到李云龙是如何给下面的小组负责人放权的。

上面的内容比较多了,这里就不添加对话内容的分析了。

大家看看《亮剑》第三集就可以看到本文的全部对话内容,还附送精彩的动画演示效果,比文字,精彩多了,呵呵。

骑兵连的训练,连长孙得胜有体罚战士的习惯(惩罚,这是一种管理措施,当时八路军没有军饷,所以,也没有其他办法,训练必然有人好有人差,如果不给小组负责人惩罚的权力,那就会有人根本不听他的指挥,在软件开发中也是一样,如果没有惩罚权力,只靠着像上面打报告作惩罚,一个是时间长,效果不好,另外还会让别人认为你打小报告,引起更多的人的不满。可以说,打小报告,是“人神共愤”的事情,呵呵,说得严重了一点,但是,对于这个观点,相信大家都是深有体会,或者心有戚戚的)。

赵政委就说,不许他体罚战士,要做思想教育。

明显,如果不允许惩罚,只能靠说教,往往很难有明显的效果,毕竟很多时候,处罚在管理中是必须采用的手段,有奖有罚才能激发团队的积极性,而不是混日子的主动性。

八路军没有军饷,没有装备,人有不多,不能说,你不好,我就开掉你,让你回去当步兵。那剩下的手段是什么?不让你吃饭?那饿坏了,就更不能好好训练了,就只有上鞭子了,给你一下子,让你知道疼,下次,你就会小心,小心第二鞭子还会疼的。同时,这鞭子下去,不会伤筋动骨,你还能训练,也不影响其他的,可以认为是当时最好的惩罚措施了。

说教是不行的,就像李云龙说得,对于不好好训练的战士就说,我求你了,老哥,我给你跪下了,行不行?——这肯定不行,一个管理者如果随便就给人跪下,那算是什么事情?而且,又不是因为你管理者的责任。

所以,最后的结论是:你只要让骑兵连两个月后能形成有效的战斗力,其他的,你看着办。

孙得胜最终获得了自己应有的处罚权力和对自己团队的控制力。所以,在后面的战斗中,才会以全员牺牲的方式,给主力部队(步兵)赢得了撤退的宝贵时机,而不至于被鬼子的骑兵追杀!

这里附加一句:在军事作战中,最怕的就是追杀,一旦建制丧失而撤退,哪怕再多的军队,都会面临灭顶之灾。三国史上的官渡之战,赤壁之战,夷陵之战,南北朝时期的淝水之战,英法半年战争中的阿尔库金战役等等[2]。

附加内容

 [1]补充一点关于编制的东西:

日本军队编制概况

 1、师团平时编制:

指挥官为:  中将     11340人

辖:

步兵2个旅团、炮兵1个联队、骑兵1个联队、辎重1个大队、弹药纵列1个大队、军乐队;战时:增加大小桥梁纵列各1个大队、野战卫生部

2、旅团编制:

指挥官为:  少将     5690人

辖:

2—4个联队,包括骑、工、炮及其他兵种

3、人员计算:

(一)分队:

(二)小队:(排)三至四个分队;骑兵为50人;步兵为70人;指挥官为:中、少尉

(三)中队:(连)三至四个小队;骑兵为150—200人;步兵为210—280人;210人为:大尉指挥官

(四)大队:(营)二至四个中队;骑兵为300—600人、400—800人;步兵为420—840人、560—1120人;630人为中佐、少佐指挥官

(五)联队:(团)三个大队;骑兵为900—1800人、1200—2400人;步兵为1200—2400人、1680—3360人;1890人为大佐指挥官

   

参加1936年度第3期“讨伐”的关东军主力部队 (仅包括步、骑、炮、工、电讯,不包括宪兵、航空、铁道、汽车队)

1、步兵第1、9、12师团              共约45000人

2、步兵独立混成旅团                 共约6000人

3、独立守备队第1、2、3、4、5队     共约25000人

4、骑兵集团第3联队                 共约3800人

5、电讯大队                         共约600人

共计80400人

[2]以少胜多的战役

中国战争史上以少胜多的著名战役

转自:军神论坛[fs7711.xilubbs.com]

以多打少,不算本事,只有以少胜多,才是最妙的。

中国战争史上以少胜多的战役数不胜数,而这样的战役在西方却少得可怜,因为他们让为这是不可想像的,所以偶尔有个战役,便被吹捧的无以复加,仔细一看,双方加起来不过几万人,居然也敢称会战。举个大家都知道的例子,淮海战役胜利后,斯大林一听解放军用60万打败国民党军80万,而且歼敌55.5万后,连说奇迹。因为在整个二战中,也没有哪个战役是以少胜多的。在西方,能真正意义上称得以少胜多的著名战役只有奥斯特里茨战役、坎尼战役和哈勒哈河,包括苏沃洛夫在阿尔卑斯山的行军也非常经典。

以下举一些中国战争史上比较著名的以少胜多战役做一下比较,因为资料有限,所以难免会有出入,其中还有一些空缺,网友若有资料,可将其补上。

名称 主要指挥者 双方兵力 结果

先秦时期

牧野之战 姜尚、周武王 不足10万——17万,一说70万 全军覆没

柏举之战 孙伍、伍员、磕闾 3万——20万 千里破楚,五战入郢

阴晋之战 吴起 5万——50万 大败秦军

伊阙之战 白起 12万——24万 全歼

即墨之战 田单 不详 将燕军逐出齐国

鄗代之战 廉颇、乐乘 20万——60万 大败燕军

秦汉时期

巨鹿之战 项羽 2万——40万 歼灭

彭城之战 项羽 3万——56万 歼20万

井陉之战 韩信 3万——20万 灭赵,俘赵王歇

潍水之战 韩信 数万——20万 灭齐,

昆阳之战 刘秀 不足2万——42万 王邑仅率数千人逃回洛阳

祝阿、临淄之战 耿弇 数万——20多万 灭张步,平齐

赤亭之战 虞诩 3千——数万

三国两晋南北朝时期

兖州之战 曹操 数万——数10万 迫降30万

官渡之战 曹操 2万——10余万 歼7万余人

赤壁之战 周瑜 5万——20余万 为三国鼎立奠定了基础

合肥之战 张辽 7千——10万 大败吴军

夷陵之战 陆逊 5万——数10万 蜀国从此衰落

凉州之战 马隆 3500——数万 平定凉州

前秦灭前燕之战 王猛 6万——30万 歼敌近20万

淝水之战 谢玄 8万——97万 苻坚至洛阳,仅剩10余万

沙苑之战 宇文泰 数万——20万 伏击战,歼8万余人

玉壁之战 韦孝宽 不详——15万左右 城邑保卫战,歼7万余人

金乡之战 于仲文 8千——10万 全歼敌军

隋唐五代时期

浅水原之战 李世民 不详——10余万 消灭薛仁杲

虎牢之战 李世民 3500——10余万 歼灭窦建德

唐平萧铣之战 李靖 不详——40余万 平萧铣

碛口 李靖 3千——不详 歼数万

蔡州之战 李愬 9千——不详 平淮西叛军

奉天、灵台之战 郭子仪 不详——30余万(一说数十万) 歼敌近10万

太原之战 李光弼 不满万人——10万 城邑保卫战,歼敌7万余人

雍丘之战 张巡 3千——数万 城邑保卫战,不详

睢阳之战 张巡 6800——13万 城邑保卫战,歼12万人

嘉山之战 郭子仪、李光弼 不详——5万余 歼敌4万

象牙潭之战 周本 7千——数万 俘5千

六合之战 赵匡胤 2千——2万 歼5千

宋辽金夏蒙元时期

西夏、吐蕃攻宋之战 刘舜卿 不详——20多万 击退夏蕃联军

达鲁古城之战 完颜阿骨打 不详——27万 大败辽军

护步达冈之战 完颜阿骨打 2万——70万 大败辽军主力

和尚原之战 吴玠、吴璘 数千——10余万 俘万余,大败金军

顺昌之战 刘锜 1.8万——10余万 城邑保卫战,大败金军

郾城之战 岳飞 数千——1.5 大败金军精锐

陈家岛海战 李宝 3千——10万 海战,全歼金军

采石之战 虞允文 1.8万——17万 水战,大败金军

海州之战 魏胜 不详——30万 大败金军

六合之战 毕再遇 不详——10万 城邑保卫战,大败金军

庐州之战 杜杲 不详——号80万 城邑保卫战,大败金军

边堡寨之战 成吉思汗 不详——30万 大败金军

纳忽山、不黑都儿麻之战 成吉思汗 4万——8万 全歼

迦勒迦河之战 哲别、速不台 不足3万——8万 全歼

赛约河之战 拔都、速不台 不足5万——10万 全歼

鄂州之战 伯颜 20万——60万 大败宋军

丁家洲之战 伯颜 10万——13万 大败宋军精锐

厓山海战 张弘范、李恒 数万——20万 海战,全歼

虎啸山之战 张庭瑞、焦德裕 5千——数万 大败宋军

鄱阳湖之战 朱元璋 20万——60万 水战,全歼

明清时期

白沟河之战 朱棣 1O余万——60万 死伤10多万

上峰岭之战 戚继光 1500——2千 歼敌倭寇300余人

台州之战 戚继光 不详 9战9捷

浑河之战 努尔哈赤 4人——800 奇迹

萨尔浒之战 努尔哈赤 4.5万——约11万 歼敌约5万人

宁远之战 袁崇焕 不满2万—13万(或五六万,或10余万)

贵阳之战 王三善 2万——10万 扭转了平叛战局

清征达瓦齐之战 阿五锡、巴图济尔噶勒 22——2千余人 奇迹

浑河之战 长龄 4万——10多万 收复南疆西四城

近代、现代时期

南京之战 徐绍桢 约万人——约2万人 攻坚战

第一次反围剿 毛泽东、朱德 约4万——约10余万 歼1.2万

第二次反围剿 毛泽东、朱德 3万——20万 歼3万

第三次反围剿 毛泽东、朱德 3万余人——30万 歼3万

第四次反围剿 朱德、周恩来 约7万——近40万 歼万余人

鄂豫皖苏区第三次反围剿 徐向前 近3万——不详 歼6万余人

川陕苏区反六路围攻 徐向前 近8万——20万 歼8万人

黄桥战役 粟裕 7千——1.5万余人 歼敌1.1万余人

苏中战役 粟裕 3万余人——12万 歼敌53700人

鲁南战役 粟裕 不详 歼敌53530人

莱芜战役 粟裕 不详 歼敌56800人

孟良崮战役 粟裕 不详——约45万人 歼敌32680人

晋中战役 徐向前 6万余人——约13万人 歼敌100370人

豫东战役 粟裕 不详 歼敌93970人

淮海战役 粟裕、刘伯承 60万——80万 歼敌555570人

九连山战斗 不详 不详 5战5捷,歼6个连又1个排

1.第一次打长沙.
彭德怀8000对何键三万.
此战由伏击到连续进击再到追击,再到城市外围肃清作战,再到攻城战.结果一鼓作气拿下了长沙.
2.陕北作战,彭2.5万对胡宗南24万.一年一月又三天.收复延安.胡部被消灭一半,其余拖垮.

3.红25军徐海东长征.3000人对10万.其中最重要的一战.打垮东北军4个师,光机枪就得了200多挺.

以上这些战役,还可以分为以下几种,像伊阙之战、巨鹿之战、虎牢之战、纳忽山和不黑都儿麻之战、迦勒迦河之战、赛约河之战、黄桥战役为全歼敌军的歼灭战。用少数兵力去围歼多数敌军,指挥员是需要很大勇气的,像白起、成吉思汗、粟裕都是善于打歼灭的人(我个人认为他们三人是中国战争史上最善于打歼灭战的统帅),项羽则是以勇猛闻名的,李世民则是以疲敌取胜的。这种战役以蒙古时期最多,这也充分体现了其军事思想。

像即墨之战、赤亭之战、玉壁之战、太原之战、雍丘之战、睢阳之战、顺昌之战、六合之战、庐州之战、宁远之战为城邑防御战。这种战役对指挥员的要求有两条:一是沉着,二是智谋超群。此外,军民同仇敌忾也是非常重要的。像韦孝宽守玉壁歼敌7万、李光弼以不满万人守太原歼敌7万、张巡以3千守雍丘屡败叛军,以6800人守睢阳则歼敌12万,虽然最后寡不敌众,睢阳被攻占,张巡被杀,但这并不能否认张巡的军事才能。这样的战役,看后会给人一种回味无穷的感觉。

像台州之战、萨尔浒之战、第一——第四次反围剿、鄂豫皖苏区第三次反围剿、川陕苏区反六路围攻、苏中战役、晋中战役、淮海战役、九连山战斗为集中兵力,各个击破的战役。这样的战役,也是解放军最拿手的。值得一提的是九连山战斗,此战虽小,却集中体现了毛泽东的军事思想。

像鄗代之战、鲁南战役、莱芜战役、孟良崮战役、豫东战役为集中兵力,围歼敌军一部的战役。这种战役也是解放军的拿手本领。

此外,柏举之战、井陉之战、潍水之战、祝阿、临淄之战、唐平萧铣之战为连续灵活用兵的战役;夷陵之战、浅水原之战、嘉山之战为后发制人,疲敌制胜的战役;赤壁之战、陈家岛海战、采石之战、厓山海战、鄱阳湖之战为海战和水战;其他的战役也各有各的特点,像彭城之战、浑河之战、清征达瓦齐之战都是靠勇猛精神获胜的,特别是后两个战役,只能用奇迹来形容。

转自:http://blog.csdn.net/qingrun/archive/2007/01/14/1482604.aspx


PHP5 效率优化

Posted by gavinkwoe

静态调用的成员一定要定义成 static  (PHP5 ONLY)

5 引入了静态成员的概念,作用和 4 的函数内部静态变量一致,但前者是作为类的成员来使用。静态变量和 的类变量( variable)差不多,所有类的实例共享同一个静态变量。

<?
foo
{
    function
bar
() {
        echo
‘foobar’
;
    }
}

$foo = new foo;

// instance way

$foo->bar();

// static way

foo::bar();
?>

静态地调用非 static 成员,效率会比静态地调用 static 成员慢 50-60%。主要是因为前者会产生 E_STRICT 警告,内部也需要做转换。

使用类常量 (PHP5 ONLY)

5 新功能,类似于 C++ 的 const。

使用类常量的好处是:

- 编译时解析,没有额外开销
- 杂凑表更小,所以内部查找更快
- 类常量仅存在于特定「命名空间」,所以杂凑名更短
- 代码更干净,使除错更方便

(暂时)不要使用 require/include_once

require/include_once 每次被调用的时候都会打开目标文件!

- 如果用绝对路径的话, 5.2/6.0 不存在这个问题
- 新版的 APC 缓存系统已经解决这个问题

文件 I/O 增加 => 效率降低

如果需要,可以自行检查文件是否已被 require/include。

不要调用毫无意义的函数

有对应的常量的时候,不要使用函数。

<?
php_uname
(’s’) == PHP_OS
;
php_version() == PHP_VERSION
;
php_sapi_name() == PHP_SAPI
;
?>
虽然使用不多,但是效率提升大概在 3500% 左右。

最快的 Win32 检查

<?
$is_win
= DIRECTORY_SEPARATOR == ‘\\’
;
?>

- 不用函数
- Win98/NT/2000/XP/Vista/Longhorn/Shorthorn/Whistler…通用
- 一直可用

时间问题 (>5.1.0 ONLY)

你如何在你的软件中得知现在的时间?简单,「time() time() again, you ask me…」。

不过总归会调用函数,慢。

现在好了,用 $_SERVER['REQUEST_TIME'],不用调用函数,又省了。

加速 PCRE

 对于不用保存的结果,不用 (),一律用 (?:)

这样 不用为符合的内容分配内存,省。效率提升 15% 左右。

- 能不用正则,就不用正则,在分析的时候仔细阅读手册「字符串函数」部分。有没有你漏掉的好用的函数?

加速 strtr

如果需要转换的全是单个字符的时候,用字符串而不是数组来做 strtr:

<?
$addr
= strtr($addr, "abcd", "efgh");
// good
$addr = strtr($addr, array(‘a’ => ‘e’
,
                           
// …
                           
));
// bad
?>

效率提升:10 倍。

不要做无谓的替换

即使没有替换,str_replace 也会为其参数分配内存。很慢!解决办法:

- 用 strpos 先查找(非常快),看是否需要替换,如果需要,再替换

效率:

- 如果需要替换:效率几乎相等,差别在 0.1% 左右。
- 如果不需要替换:用 strpos 快 200%。

邪恶的 @ 操作符

不要滥用 @ 操作符。虽然 @ 看上去很简单,但是实际上后台有很多操作。用 @ 比起不用 @,效率差距:3 倍。

特别不要在循环中使用 @,在 5 次循环的测试中,即使是先用 error_reporting(0) 关掉错误,在循环完成后再打开,都比用 @ 快。

善用 strncmp

当需要对比「前 n 个字符」是否一样的时候,用 strncmp/strncasecmp,而不是 substr/strtolower,更不是 PCRE,更千万别提 ereg。strncmp/strncasecmp 效率最高(虽然高得不多)。

慎用 substr_compare (PHP5 ONLY)

按照上面的道理,substr_compare 应该比先 substr 再比较快咯。答案是否定的,除非:

- 无视大小写的比较
- 比较较大的字符串

不要用常量代替字符串

为什么:

- 需要查询杂凑表两次
- 需要把常量名转换为小写(进行第二次查询的时候)
- 生成 E_NOTICE 警告
- 会建立临时字符串

效率差别:700%。

不要把 count/strlen/sizeof 放到 for 循环的条件语句中

贴士:我的个人做法

<?
for ($i = 0, $max = count($array);$i < $max; ++$i
);
?>

效率提升相对于:

- count 50%
- strlen 75%

短的代码不一定快

<?
// longest
if ($a == $b
) {
   
$str .= $a
;
} else {
   
$str .= $b
;
}

// longer
if ($a == $b
) {
   
$str .= $a
;
}
$str .= $b
;

// short
$str .= ($a == $b ? $a : $b
);
?>

你觉得哪个快?

效率比较:

- longest: 4.27
- longer: 4.43
- short: 4.76

不可思议?再来一个:
<?
// original
$d = dir(‘.’
);
while ((
$entry = $d->read()) !== false
) {
    if (
$entry == ‘.’ || $entry == ‘..’
) {
        continue;
    }
}

// versus
glob(‘./*’
);

// versus (include . and ..)
scandir(‘.’
);
?>

哪个快?

效率比较:

- original: 3.37
- glob: 6.28
- scandir: 3.42
- original without OO: 3.14
- SPL (PHP5): 3.95

画外音:从此也可以看出来 PHP5 的面向对象效率提高了很多,效率已经和纯函数差得不太多了。

提高 文件访问效率

需要包含其他 文件的时候,使用完整路径,或者容易转换的相对路径。

<?

include ‘file.; // bad approach

incldue ‘./file.; // good

include ‘/path/to/file.; // ideal

?>

物尽其用

有很多扩展和函数可用,在实现一个功能的之前,应该看看 是否有了这个功能?是否有更简单的实现?

<?
$filename
= "./somepic.gif"
;
$handle = fopen($filename, "rb"
);
$contents = fread($handle, filesize($filename
));
fclose($handle
);

// vs. much simpler

file_get_contents(‘./somepic.gif’);
?>

关于引用的技巧

引用可以:

- 简化对复杂结构数据的访问
- 优化内存使用
<?
$a
['b']['c'
] = array();

// slow 2 extra hash lookups per access
for ($i = 0; $i < 5; ++$i
)
   
$a['b']['c'][$i] = $i
;

// much faster reference based approach
$ref =& $a['b']['c'
];
for (
$i = 0; $i < 5; ++$i
)
   
$ref[$i] = $i
;
?>

<?
$a
= ‘large string’
;

// memory intensive approach
function a($str
)
{
    return
$str.’something’
;
}

// more efficient solution
function a(&$str
)
{
   
$str .= ’something’
;
}
?>

==============================================
参考资料
http://ilia.ws

Ilia 的个人网站,,他参与的开发以及出版的一些稿物链接等等。
http://ez.no

eZ components 官方网站,eZ comp 是针对 PHP5 的开源通用库,以效率为己任,Ilia 也参与了开发。
http://phparch.com

|architect,不错的 出版商/培训组织。买不起或者买不到的话,网上可以下到很多经典的盗版。

http://talks.php.net


如何屏蔽控制台应用程序的窗口?

Posted by dengwei

Step1. Create a console application.

Step2. Add following segment before main() entry function:
            #pragma comment( linker, "/subsystem:\"\" /entry:\"mainCRTStartup\"" )

Step3. Try to build it.


爆笑!~~~真人版 高达vs黑色三连星!

Posted by dengwei


偷拍~ 黄金圣斗士超性感露点沐浴图~

Posted by dengwei


童虎

艾欧里亚

米罗

卡妙

撒加


史昂

沙加

加隆

爱欧罗斯

阿布罗蒂

迪斯马斯克

修罗

亚尔迪

iPhone~ 新的感觉~新的系统~新的玩法~

Posted by dengwei

华丽的iPhone真的太COOL了~~ 新的玩法~~ 新的感觉~~ 采用Mac OS X操作系统~~

以下引用至www.mydrivers.com
苹果公司提供了两款iPhone,4GB售价499美元,8GB售价599美元,将于今年6月和运营商Singular合作在北美上市,欧洲上市时间为今年下半年,亚洲则要等到2008年。苹果的销售目标是,2008年全年销量1000万台,全球手机市场占有率1%。

性能参数
屏幕尺寸:3.5寸
屏幕分辨率:320×480(160dpi)
输入方式:Multi Touch
操作系统:Mac OS X
存储容量:4GB或8GB
网络制式:GSM四频(850/900/1800/1900MHz)
无线连接:Wi-Fi (802.11b/g),EDGE,Bluetooth 2.0
摄像头:2百万像素(位于背面上角)
电池性能:内置电池通过基座充电,可支持5小时通话/视频/网络,16小时音乐播放
尺寸:115×61x11.6mm
重量:135g 


Ubuntu 创始人 Mark Shuttleworth

Posted by gavinkwoe

同样是程序员,为什么差距这么大呢?国外的程序员可以把写程序当成乐趣,平时有很多休闲活动,而我们却不得不为生计考虑……

Mark Shuttleworth,Ubuntu的创始人,是个非常具有神奇色彩的人物,南非人,住在伦敦

10年前他成立了(电脑及网络)安全咨询公司Thawte Consulting,后来以5.75亿美元卖给了VeriSign,不过使他名噪一时的还是他于2002年自费乘坐俄罗斯联盟号飞船,在国际空间站中度过了8天的时光。

成为了富翁的Shuttleworth,更喜欢的是具有挑战的工作,很热衷开源社区,2005年7月1日建立了Ubuntu基金会,并为该基金会投资1000万美元。


为何扑克牌的J.Q.K不叫11.12.13?

Posted by gavinkwoe

扑克牌中的J、Q、K是英文中侍从、王后、国王的缩写,12张人头牌分别代表历史上某个人物:

黑桃K是公元前10世纪的以色列国王索洛蒙的父亲戴维,他善用竖琴演奏,并在圣经上写了许多赞美诗,所以黑桃K画面上经常有竖琴图样。
红桃K是查尔斯一世弗兰克国王,他叫沙勒曼,是四张国王牌中唯一不留胡须的国王。

方块K是罗马帝国的国王、名将和政治家凯萨,是四张国王牌中唯一一张侧面像。
梅花K是最早征服世界的马其顿帝国国王亚力山大,他的衣服上总是佩戴着配有十字架的珠宝。
黑桃Q是希腊的智慧和战争女神帕拉斯·阿西纳,是四张皇后牌中唯一手持武器的一位皇后。
红桃Q、方块Q分别是朱尔斯和莱克尔皇后。
梅花Q名叫阿金尼,由女王(Regina)一词而来,她手持蔷薇花,表示英国以红色蔷薇花为标志的兰开斯特王族和以白色蔷薇花为标志的约克王族经过蔷薇战争后终于和解,将双方的蔷薇花结在一起。
黑桃J和方块J分别为查尔斯一世的侍从霍克拉和洛兰。
红桃J为查尔斯七世的侍从拉海亚。
梅花J是阿瑟王故事中的著名骑士兰斯洛特。
近年来,许多国家都把反映本国文化、民俗和风貌的有代表性的画面印在扑克上。这种花式扑克将知识性、娱乐性、观赏性融为一体,历史、人物、风光、建筑、文学、艺术、动植物、教育等等无所不包,堪称小百科全书,深受广大扑克牌爱好者和收藏者的欢迎。消费者在用扑克进行娱乐的同时,既增长了知识,又得到了一次次美的享受

参考资料:
http://zhidao.baidu.com/question/3679243.


免费软件套装

Posted by gavinkwoe

在 CB 上看到的……

办公

OpenOffice - office suite
PC Suite 602 - office suite
AbiWord - text editor
Atlantis Nova - text editor
Microsoft PowerPoint Viewer - power point files viewer
Adobe Reader - pdf reader
Foxit PDF Reader - pdf reader
PDFCreator - create pdf documents
Doc Convertor - document convertor
Convert - unit convertor
Converber - unit convertor
Sunbird - calendar/organizer
EssentialPIM Free - calendar/organizer
PhraseExpress - speed up your writing
ATnotes - create notes on the desktop

解压缩

7-Zip - compression program
IZArc - compression program
TugZIP - compression program
CabPack - compression program
Universal Extractor - extract files from any type of archive

互联网

Firefox - browser
Internet Explorer- browser
Maxthon - browser
Opera - browser
Avant Browser - browser
Thunderbird - email client
PopTray - check for emails
Free Download Manager - download manager
FlashGet - download manager
WellGet - download manager
Download Master - download manager
WGET - commandline download manager
HTTrack - offline browser
WebReaper - offline browser
Yeah Reader - RSS reader
GreatNews - RSS reader
RSSOwl - RSS reader

P2P

µTorrent - torrent client
Azureus - torrent client
BitComet - torrent client
ABC - torrent client
BitTornado - torrent client
eMule - p2p client
SoulSeek - p2p client
Shareaza - p2p client
DC++ - Direct Connect network client
PeerGuardian - IP blocker

聊天

Miranda - chat client
MSN Messenger - chat client
Yahoo Messenger - chat client
QIP - chat client
Gaim - chat client
JAJC - chat client
HydraIRC - IRC client
Talkative IRC - IRC client
IceChat - IRC client
Skype - VOIP client
Google Talk - VOIP client
VoipStunt - VOIP client
Gizmo - VOIP client
Wengo - VOIP client

安全

AVG Free - antivirus
Avast Home Free - antivirus
AntiVir PersonalEdition - antivirus
BitDefender Free - antivirus
ClamWin - antivirus
CyberDifender - Internet Security Suite
Ad-aware - anti-spyware
Spybot: Search & Destroy - anti-spyware
Windows Defender - anti-spyware
SpywareBlaster - anti-spyware
Spyware Terminator - anti-spyware
Tootkit Reveaker - rootkit detection utility
Winpooch - system protection
HiJack Free - system protection
HighJackThis - hijackers detector and remover
Kerio Personal Firewall - firewall
Sygate Personal Firewall - firewall
ZoneAlarm - firewall
AxCrypt - file encryption
Simple File Shredder - securely delete files
PuTTy - SSH client
KeePass - password manager
LockNote - password manager
nPassword - password manager
Microsoft Baseline Security Analyzer - identify security misconfigurations

网络

Hamachi - VPN client
RealVNC - remote control
UltraVNC - remote control
Ethereal - local area network administration
The Dude - network administration
Wireshark - network administration
Angry IP Scanner - IP scanner
IP-Tools - IP scanner
Free Port Scanner - IP scanner
NetMeter - network bandwidth monitoring

服务器

FileZilla - FTP client
FileZilla Server - FTP
EFTP - FTP client/
XAMPP - integrated package of Apache, mySQL, and Perl
WAMP - Apache, PHP5 and MySQL

音频

Foobar2000 - audio player
WinAmp - audio player
1by1 - audio player
JetAudio - audio player
XMPlay - audio player
Xion - audio player
Apollo - audio player
MediaMonkey - music organizer
The GodFather - music organizer
dBpowerAMP - audio converter
Audacity - audio converter
WavePad - audio converter
Kristal Audio Engine - audio editor
Exact Audio Copy - CD ripper
Audiograbber - CD ripper
CDex - CD ripper
Mp3 Tag Tools - tag editor
Mp3tag - tag editor
Taggin’ MP3 - tag editor
Monkey’s Audio - APE compressor/decompressor
mpTrim - mp3 editor
WavTrim - wave editor
EncSpot Basic - analyse mp3 files

视频

Windows Media Player - audio/video player
VLC - video player
Media Player Classic - video player
MV2Player - video player
CrystalPlayer 1.95 - video player
Zoom Player - video player
GOM Player - video player
viPlay - video player
DSPlayer - video player
VirtualDub - video editor
CamStudio - video screen recording
AviSplit - Avi splitter
Video mp3 Extractor - rip audio from video files
Free iPod Converter - convert all popular video formats to iPod video
MediaPortal - turning your PCinto a Media Center
The FilmMachine

图像

Gimp - image editor
PhotoFiltre - image editor
Paint.net - image editor
ArtRage - image editor
Artweaver - image editor
IrfanView - image viewer
Picasa - image viewer
XnView - image viewer
FastStone Image Viewer - image viewer
FuturixImager - image viewer
Easy Thumbnails - create thumbnails from images
JoJoThumb - create thumbnails from images
iWebAlbum - create photo albums
JAlbum - create photo albums
3D Box Shot Maker - design quality box shot
FastStone Capture - screen capture
WinSnap - screen capture

3D

Blender3D - 3D renderer
3Delight Free - 3D renderer
SketchUp - 3D modeling
Maya Learning Edition - 3D modeling

开发

AutoIt - task automation
SciTE4AutoIt3 - text editor for AutoIt
AutoHotkey - task automation
PHP Designer - editor
Notepad++ - text editor
ConTEXT Editor - text editor
PSPad - text editor
FoxEditor - text editor
Crimson Editor - source code editor
Elfima Notepad - text editor
Notepad2 - text editor
Nvu - editor
Alleycode - editor
BlockNote - page editor
Weaverslave - page editor

CD/DVD

DeepBurner - CD/DVD burner
CDBurner XP Pro - CD/DVD burner
BurnAtOnce - CD/DVD burner
Express Burn - CD/DVD burner
Zilla CD-DVD Rip’n’Burn - CD/DVD
刻录
ImgBurn - ISO, BIN burner
Daemon tools - virtual CD/DVD
DVD Decrypter - DVD ripper
DVD Shrink - DVD ripper
Nero CD-DVD Speed - CD/DVD info and quality test
解码

GSpot - codec information
AC3Filter - audio codec
Xvid - video codec
QuickTime Alternative - video codec
Real Alternative - video codec
K-Lite Codec Pack - all codecs

系统工具

CCleaner - system cleaner
xp-AntiSpy - OS setup
jv16 Powertools - system utilities
XP SysPad - system monitoring utility
What’s Running - process guard
Registrar Lite - registry editor
WinIPConfig - replacement for “ipconfig.exe” and “route.exe”
Unlocker - file eraser
Eraser - secure file eraser
Undelete Plus - file recovery
freeCommander - file manager
ExplorerXP - file manager
Duplicate File Finder - find all duplicate files
Ant Renamer - file renaming
ReNamer - file renaming
Icons From File - icos extractor
Chaos MD5 - MD5 generator
HashTab - MD5, SHA1 and CRC-32 file hashes
Rainlendar Lite - desktop calendar
Weather Watcher - weather firecast
Subtitle Workshop - subtitles editor
Ant Movie Catalog - movie organizer
Disclib - CD organizer
Dexpot - virtual desktops
DriveImage XML - create partition images
MozBackup - backup and restore bookmarks, etc.
SyncBack - system backup
Atomic Cock Sync - syncronize your clock
Citrus Alarm Clock - alarm clock
TaskSwitchXP - Alt-Tab replacement
Launchy - application launcher
allSnap - make all snap
Sysinternals Tools - various system tools
StrokeIt - mouse gestures
Net Profiles - create profiles of your network settings
ResourceHacker - view, modify, rename, add, delete
Java Runtime Environment - for

UI设计

RocketDock - application launcher
AveDesk - desktop enhancer
IconPhile - customize ’s system icons
CursorXP Free - change mouse cursors
MacSound - volume control
LClock - Longhorn clock
Y’z Dock - application launcher
Y’z Shadow - shadow effect to the 
Y’z Toolbar - change the toolbar icons in Explorer and Internet Explorer
Taskbar Shuffle - rearrange the programs on the taskbar by dragging
Visual Task Tips - thumbnail preview image for each task in the taskbar
Badges - put badges on any folder or file
Folderico - change icons of the folders
Folder Marker - mark your folders
Folder2MyPC - add favourite locations to My Computer
Microsoft TweakUI - system settings
BricoPacks - packs
ShellPacks - packs
Tango Shell Patcher - patcher
XPize - GUI enhancer
Vista Transformation Pack - complete visual style
Vista Sound Scheme - Vista sound scheme
Royale Theme - visual style

硬件检测

CPU-Z - cpu information
CrystalCPUID - cpu information
Central Brain Identifier - cpu information
Everest - system information
SiSoft Sandra - system information
SpeedFan - hardware monitor
Memtest86 - memory test
PowerMax - HDD test
3Dmark 06 - 3D game performance benchmark
Aquamark - performance benchmark
rthdribl - 3D benchmark
Fraps - 3D benchmark, fps viewer and screen recorder
Prime 95 - cpu benchmarking
SuperPI - cpu benchmarking
CPU Rightmark - cpu overclock
Core Temp - cpu temperature
ATiTool - video overclock
ATI Tray Tools - Radeon tweaker
aTuner - GeForce and Radeontweaker
RivaTuner - video overclock
Nokia Monitor Test - monitor adjustmets
UDPixel - fix dead pixels

游戏

123 Free Solitaire - solitaire games collection
Arcade Pack - classic arcade games
Live For Speed - online racing simulator
Enigma - puzzle game
Freeciv - multiplayer strategy game
Tux Racer - race down steep, snow-covered mountains

教育

SpeQ Mathematics - mathematics program
Dia - diagram creation program
Google Earth - explore the world
NASA World Wind - 3D virtual globe
Celestia - explore the space
Stellarium - planetarium

杂类

nLite - Build your own custom disk.
VirtualPC - create virtual machines
grabMotion - webcam capture
iDailyDiary - simple page-for-a-day diary
Pivot Stickfigure Animator - create stick-figure animations
Wink - create presentations
Scribus - professional page layout
FreeMind - midn mapping software
Windows Live Writer - WYSIWYG authoring

墙纸

Michael Swanson - 1920 x 1200; 1600 x 1200; amazing wallpapers
Mikhail Arkhipov - 1920 x 1200; 1600 x 1200; amazing wallpapers


« Previous Entries Next Entries »