亮's profile凡人PhotosBlogListsMore Tools Help

凡人

Photo 1 of 7

生活

生活是一团麻
那也是麻绳拧成的花
生活是一根线
也有那解不开的小疙瘩呀
生活是一条路
怎能没有坑坑洼洼
生活是一杯酒
饱含着人生酸甜苦辣
喔哦哦

生活像七彩缎
那也是一幅难描的画
生活是一片霞
却又常把那寒风苦雨洒呀
生活是一条藤
总结着几颗苦涩的瓜
生活是一首歌
吟唱着人生悲喜交加的苦乐年华
哦哦哦哦哦哦
生活是一条路
怎能没有坑坑洼洼
生活是一杯酒
饱含着人生酸甜苦辣
喔哦哦
哦哦哦哦哦哦哦哦哦哦哦哦

msn Spaces似乎快乐不少啊

现在看起来速度蛮快的啊。

春晚诗朗诵《心里话》之程序员版!!(转)

要问我是谁?
过去,我总不愿回答,
因为我怕,
我怕机关里的公务员笑话。

我们的房间很小,放不下一个鞍马;
我们的宿舍简陋,还经常搬家;
我们的电脑很破,还经常乱码;
我们的椅子很旧,坐上去吱吱哑哑……

但是,
我们代码工整,
我们的业绩不差!

要问我此刻最想要什么?
我要我的笔记本,
我要我的Vista!
因为,有笔记本才能扛着到处出差;
因为,有Vista客户才觉得够现代化。

IT的2008,
也是我们的2008,
客户把需求说成了天书,
我们把工程变成了神话,
关于界面上,我们写了这样的话:
别人与我比薪水,我和别人比明天!
程序员和机关里的公务员不一样,
你们是祖国的栋梁,我们是打工的傻瓜!

笑话来了

  1. 從前從前有一隻鳥, 他每天都會經過一片玉米田, 但是很不幸的, 有一天那片玉米田發生了火災,所有的玉米都變成了爆米花!!! 小鳥飛過去以後...... 以為下雪,就冷死了... 

     伸四个指头, 是几? FOUR, 弯曲四个指头, 是什么? WONDERFUL~!

     有一天,小鸟从高雄飞到台北花1小时。但却在回来的时候花了2小时! WHY? A:因为当时正在下雨!所以要一手遮雨一手飞。

    女子因胸小而嫁不出去, 一次相親時問男方:我胸小你嫌棄嗎? 男人問:有饅頭大嗎?女人說有。 成親之夜男人衝出洞房跪地仰天長呼:天啊!旺仔小饅頭! 

    说有一只北极熊,因为雪地太刺眼了,必须要戴墨镜才能看东西, 可是他找不到墨镜,于是闭着眼睛爬来爬去在地上找,爬呀爬呀,把 手脚都爬的脏兮兮的才找到墨镜。戴上墨镜,对着镜子一照,这才发现:哦,原来 我是一只熊猫。 

    米"的妈妈是谁?
    是"花"......... 因为 "花"生"米"
    那"米"的爸爸是谁?
    是"海"...............
    WHY?因为"海"上"花"
    然后..........花"生"米"
    ........好景不常
    花自从因生活不满跟阿海离婚后
    结交了一位外国佬,后来又生了一个外国儿子.......
    取名叫做约翰.........
    你知道为什么吗?
    花生"酱"(JOHN)

    有一只企鹅,闲得没事干,拔自己毛玩
    拔光了,他说了一句话:真冷。
    续集:有一只北极熊,闲得没事干,拔自己毛玩,拔光了,他说了一句话:那企鹅说得没错……

       

    警察:"说,你叫什么~?"
    犯人:"我叫成龙。"
    警察:"你怎么不叫陈真,给我把态度放端正了~好好说你叫什么~?"
    犯人:"我叫陈真。"
     

    一猴子吃花生前都要先塞进屁股再拿出来吃。对此管理员解释道:曾有人喂它桃子,结果桃核拉不出来,猴子吓怕了,现在一定要量好再吃。

       

    你在戏院里横躺着占了四个位置,别人叫你起来,你只嗯嗯了两下不动地方。保安来了说:"够恨啊~兄弟,哪条道上的?"你咬咬牙说:"楼上过道摔下的!"  

       

    两只蚂蚁走在路上,突然看见一只很大的梨。打一国家名。
    答案一:
    蚂蚁甲:咦,大梨?(意大利)
    答案二:
    蚂蚁乙:"嘘,梨呀。"(叙利亚)
    答案三:
    奥,大梨呀。(澳大利亚)
    答案四:
    蚂蚁乙:"嘻,搬呀。"(西班牙)
    答案五:
    蚂蚁甲:"我来!"(文莱)
    答案六:
    蚂蚁乙:"抱家里呀。"(保加利亚)
    答案七:
    抱不动,蚂蚁甲出主意:"啃梨呀。"(肯尼亚)
    答案八:
    蚂蚁乙咬了一口,说:"梨不嫩。"(黎巴嫩)
    答案九:
    蚂蚁甲也咬了一口,说:"面的。"(缅甸)
    答案十:
    蚂蚁乙再咬了一口,说:"一涩梨。"(以色列
     

    有次去吃饭,结帐时对老板说:"老公!结帐!"当时老板娘就在旁边……  

    俺碰到一个心仪已久的女孩从澡堂里出来,想套近乎,憋了半天憋出一句:"你洗澡啊,里面男的多不多啊?"  

    一次去麦当劳买甜桶,终于轮到了,我迫不及待的说:"给我两个滚筒!"没想到那服务员对我大声的说;"两个滚筒,四块钱!" 

    一次教育局领导视察课间操,结束后,本应由体育老师宣布"解散",但一时情急,忘词了,憋了半天,大喊:"撤退!"  

    一次在厕所方便,没纸了。就对老婆说:"把擦纸的屁股拿来!"  

    佐罗之死

    一日,佐罗到情妇家与情妇幽会。情妇问佐罗:"要是我丈夫回来了,怎么办? "佐罗说:"没事儿,你丈夫要是回来了,我就从窗户跳下去,我的马会在 下面接我的。" 情妇说:要是听到三声敲门,就是我丈夫回来了。 佐罗说:我知道了。 过了一会儿,天下雨了。突然传来"咚、咚、咚"三声敲门声。说是迟,那是快,佐罗从床上飞身跃下,一转眼,已经从窗户跳出。情妇见佐罗已走,便去开门。 只见门前站着一匹马,对她说:"你告诉佐罗一声,外面下雨了,我在楼道里等他。"  

    从前有只小羊,有天他出去玩,结果碰上了大灰狼。 大灰狼说:"我要吃了你!!!" 你们猜,怎么了? 结果大灰狼就把小羊吃了

       

    狼、老虎和狮子谁玩游戏一定会被淘汰? 狼,因为:桃太郎(淘汰狼)

       

    1. 三只小猪为了躲避大灰狼的追赶,而建造了三个小屋。大灰狼不费劲的吹毁了草屋,木屋,砖屋,三只小猪们拼命的跑,但是还是被大灰狼追上了。三只小猪绝望地说,你看着办吧。我们放弃了,随你怎样。此时,大灰狼奸笑着,留着口水说: 那快告诉我小红帽在哪里?
    2.    

    "石头和年糕打架,一生气就把年糕踢到大海里了..."

       

    这位跳水运动员的动作难度很大,他做了一个转体三周接前空翻三周半接后空翻一个月。 

       

    一个鸡蛋去茶馆喝茶,结果它变成了茶叶蛋;有一个鸡蛋跑去松花江游泳,结果它变成了松花蛋;有一有个鸡蛋跑到了山东,结果变成了鲁(卤)蛋;有一个鸡蛋无家可归,结果它变成了野鸡蛋;有一个鸡蛋在路上不小心摔了一交,倒在地上,结果变成了导弹;有一 个鸡蛋跑到人家院子里去了,结果变成了原子弹;有一个鸡蛋跑到青藏高原,结果变成了氢弹;有一个鸡蛋生病了,结果变成了坏蛋;有一个鸡蛋嫁人了,结果变成了混蛋;有一个鸡蛋跑到河里游泳,结果变成了核弹;有一个鸡蛋跑到花丛中去了,结果变成了花旦;有一个 鸡蛋骑着一匹马,拿着一把刀,原来他是刀马旦;有一个鸡蛋是母的,长的很丑,结果就变成了恐龙蛋;有一个鸡蛋是公的,他老婆在外面和别的鸡蛋通奸,结果他变成了王八蛋;有一个鸡蛋......

       

    以為下雪,就冷死了...

       

    众士兵:"渴……渴……" 曹操:"大家再坚持一会!我曾经到过这个地方,记得附近有一座梅林,再走一会可能就到了" 众士兵:"噢 ̄ ̄ ̄ ̄有梅子吃呀 ̄ ̄ ̄噢 ̄ ̄ ̄" 半个时辰后——曹仁:"主公!探险队找到了大量的水源!" 曹操:"哈哈哈哈,大家听到了吗?终于有水喝啦" 众士兵:"不去……一定要找到梅子……"

       

       

    草船中 鲁肃:"这样真的可以借到箭吗?孔明先生?" 诸葛亮:"相信我。" 鲁肃:"可是我还是有些担心……" 诸葛亮:"没必要。" 鲁肃:"可是,你不觉得船里越来越热么?" 诸葛亮:"这么说起来是有一点碍…有什么不对劲吗?"  鲁肃:"是啊,我担心敌人射的是火箭……" 诸葛亮:"哎!?子敬 ̄ ̄你会游泳么 ̄ ̄ ̄我不会 ̄ ̄ ̄"

       

    有一天紅豆饼出车祸了他在死前说的最后一句话是:"…啊!原來我是包豆沙的啊!" 

    炎热的下午,有一根火柴头痒痒,挠啊挠啊,然后着火了.

    有一根火柴他觉得头很痒,抓一抓之后头就着火了,然后,他就去医院,护士帮他包扎后,他就变成棉花棒了。

    师妹逛街,在一卖皮筋的小摊挑了半天。 问说:"唉,这个很漂亮送给你吧。" 答曰:"为啥?我又不弹你们家玻璃。"

美军专家:轻视劳动者,轻视技术工人,中国只能是泥足巨人

约翰·克力斯特朗是美国国家前战略研究部主管。目前移居荷兰。此人在早期提供了一系列关于真对中国战略措施题案。另外,自称其对中国有很深度的了解。曾经在8090年代多次来华,以下是他在出现坠机事故以后一份最新的研究报告中的节选。
  
  约翰·克力斯特朗:近期中国军队多次发生比较严重的重大事故,在01年出现的西北地区歼8DMII型战斗机坠毁。0203年出现的南海舰队潜艇触礁。北海舰队新型宋III级潜艇,事故毁损。等等,可以看出,目前中国处在一个及其严重的技术人才匮乏之际。
  
  中国截至2005年底外汇储备达到8000亿美金以上,按照这种外汇储备资源比率,中国足可以在00年开始变着手开始创建一只几乎可以称霸半个星球的强大的军事力量。
  
  在中国目前3154家大中型军事科技研究机构中,被目前中共政府审批定性合格的设计方案,就多达1000于个。包函"863""9511""长城"等改革计划。虽然,中国可以在短时间完全将这些设计现实。但是,从0106年基本可以看出,中国能够启动上马"开工的"设计寥寥无几。不足10%。其主要原因实际并不是中共军方所说:"军费不足"因为中国与美国以及欧洲的制造体系不同。他目前还是采用国家主导的"计划形式"军备采购控制。因此,中国军方在武器方面。不同于外界。只要军方看重,那么尽管可以开工生产。至于预期费用,可以在今后的若干年内,由政府逐步偿还。而无需一次性大批军事预算款。因此,往往中国在对外公布的年度军事预算中,仅仅公布政府此次预期支付费用,而没有报告偿还历届费用。 因此,导致中国军费实际数字与公布数字相差很多。
  
  但是,目前中国缺乏的高级的军事技术制造人员。中国的军事产品一项管理及其严格。等级质量审核制度可以说,做到了无可挑剔的地步。
  
  在则,他很少涉及到国内军事投标建设,因此,很难说"腐败"起到多少作用。因此,最关键的问题,我认为有2点。
  
  1,严重匮乏高级技术人力资源。
  
  中国是目前世界人口最多的国家。因为长期的(8000)经济化快速政策,导致了中国诸多家庭观念的转变,失去信仰的中国人,很难说不被强大的拜金思潮所迷惑。在加之,其这回结构总体价值观念的转变。导致了这个曾经自许为:"劳动者建立的国家"现在则把劳动看作很堪的事情。多数中国学生在就学时期,就梦想着去做"高级白领管理"等等,非技术类行。
  
  因此导致了中国军事产品领域的研制与制造严重脱节的现象。其一个在湖北的国营造船厂,目前拥有的"中国标准"的高级工人技术制导师不足其操作工人的1%。在美国目前至少不低于3%欧洲则是5%。日本更加充足,达到8%。
  
  在军事领域应用最广泛的激光数字化数控机床技术,中国目前排名世界第3三,仅次于俄国。但是,在中国能够操作这种机床的人员不到技术力量的0.1%。也就是说中国可以研制世界级先进的激光数控技术机床,但是,却没办法去使用它。这不能不说对于中国来说是一个悲哀!
  
  在这些基础资源匮乏的下的军事工程领域。出现连续性的严重事故,不能不说是一个合理的解释。也是应该不会使人感到震惊的预料的。
  
  2,中共盲目的急速弥补:这也是问题的关键所在。在中国军事科技发展一贯采用的:造-设-研。3级制度。号称"10年制度"即:在10年内制造更新一批,设计定性一批,上马研发一批。这是一个在长期中总结的比较科学的规划制度。
  
  但是,自90年代开始,中国基本停顿了常规军事研制。主要以对外采购为主题。导致了国内大批设计资源被迫搁置。在在随着经济至上的极端做法,导致了,严重失去自身制造研发时间与能力。他的制造人员已经惯了,拿来欧洲,美国标准进行制作,而对于自己的标准很难在想得到。
  
  但是,进入90年代中晚期,由于台海局势紧张,中日海上对抗,美国出兵中亚。南海格局突变,导致,中国在98以后开始急速提升军事力量的做法,(与军备竞赛不同)。以来弥补在长达20年内所累积下来的诸多技术研发方案。但是,在前者与现实2个条件制约下,中国急速的弥补,必然导致各种弊病产生。
  
  最近刚刚出现的西北21集团军所属新型140mm滑堂坦克炮,出现炸堂的更加严重的事故。以及中国军用运输机伊尔-76,坠毁的事件。因此,这也是目前新的中国领导人最关心的问题。中国领导想在今后的10年内,建设所谓China Makes。即所谓:中国制造。就必须使其几乎全体国民转变对于"劳力"的看法。这个看起来是很难的。
  
  目前,中国军事科技可以说很类似于第二次世界战争期间的希特勒德国制造的"2"坦克。它拥有最强大火炮,拥有当时最先进的电机传动操作,拥有最厚实的装甲防御。但是,它却缺少一个强有力的"心脏"-发动机动力系统。因此,它被称作:泥足巨人。
  
  再来看看中国目前是不是也是处在泥足巨人时期?。中国应该就此吸取他应该得到的,教训。从新按照自身规划,逐步实现军事现代化。这个对于及其聪明的中国人来说,绝非是艰难的事情。这也是华府根本不可能阻止的。
  
  但是,在回到"大跃进""放卫星"的中国红色时代,很难说这个世纪机遇的末班车,还有没有中国这个伟大的"泥足巨人"的坐位?

欧洲人看中国明清两朝:盛世不过是一个泥足巨人

  一,欧洲人看明朝16世纪末的欧洲人主要是通过《中华大帝国史》的第一部分来认识中国的。在门多萨的笔下:(1)中国是个地域辽阔的文明古国,中国人自称"大明(tame)人"。全国划分15个省(明朝改行中书省为承宣布政使司,分其境内为南、北二直隶,13承宣布政使司,常称15省――笔者),"每省都要比我们所熟知的欧洲国家为大"。

  (2)中国境内有完好的道路网,使城镇相连。路面平整、宽阔,"官道"可容15人骑马并行。路旁商店林立,两侧绿树成荫,如同罗马时代的大道一样。有些城市有水道相连,好似威尼斯。北京是世界上最大的城市。

  (3)中国人富有建筑才能。建筑用材举世无双,一种用"白土"做成的方块(即砖)坚硬无比,只有用锄才能将其砸碎。一座座邸宅有如庄园。中国最雄伟的建筑就是长城,长达500里格(每里格约合5572米),是为防御鞑靼人而修建的。

  (4)中国物产丰富。蔬菜种类远较西班牙为多。仅橘子就有三个品种,即甜的、酸的和甜酸适度的。糖质地很好,非常洁白,价格也低廉。蚕丝色泽艳亮,质量超过西班牙格拉纳达的产品。"天鹅绒、丝绸和布匹价格如此之低,提及此点会使那些熟知西班牙和意大利纺织品价格的人大吃一惊。"中国人普遍穿着丝绸服装。

  中国农田管理得很好。没有一块荒弃的土地。一块块耕田错落有致,有如花园。矿产也很丰富。"这是世界上最富饶、而物价又十分低廉的国家。"(5)中国出产的手工艺品极为精致。1582年西班牙国王喜获中国床单,织法之巧妙令菲利浦二世惊叹不止。很多西班牙能工巧匠都来观赏、借鉴。瓷器很便宜,欧洲人原来以为瓷器是用粉碎的贝壳做的。最精致的瓷器是贡品,薄如玻璃。

  (6)中国商业发达,买卖兴盛。每条大街往往只经营一种行业。看到第一家商店就知道这一条街是卖什么商品的。中国匠人的手艺都是祖辈相传。中国货币种类繁多,金、银凭重量使用,而没有一定式样的金币或银币。

  (7)中国军队有步兵,也有骑兵。中国也有战舰,4天内可征集600艘。中国士兵在数量上多于欧洲,在器械上处于均势地位。

  (8)中国皇帝具有统治国家的全权。各级行政官吏有效地行使权力。他们是通过科举产生的。中国有完整的法律。官吏和贵族出门要坐桥,而妇女则从不在外从事社交活动。中国饮宴豪奢。中国人有自己的乐器。

  (9)中国历史悠久。有独特的教育体系。各类图书十分丰富。中国人富于文明和教养。

  (10)中国人在科学技木方面有很高的成就。欧洲人一向以印刷术的应用而自豪,"然而中国人早在德国人谷腾堡(JoanGutenbergo)发明印刷术500年前已经用印刷术印制图书了。"门多萨认为印刷术是经俄罗斯莫斯科大公国传入德国的。

  但他也不否认另一种可能性,即中国图书经海路(红海)传到欧洲,从而启发了谷腾堡。门多萨特别提出,在中国人所有的发明中,最令葡萄牙人和其他西方人震惊的是中国人也有火炮,而且在欧洲人之前已经使用火炮了。但对中国火炮的效能,欧洲人认识极不相同。拉达认为中国火炮陈旧,制造粗糙。而另一位船长阿尔蒂埃达(Artieda)在致西班牙国王书中却写道:"……中国人使用着与我们同样的武器。他们的大炮十分精良,炮筒比我们铸造的更精致,更坚固。"因为门多萨未到过中国,所以他没有对上述歧义做出自己的判断,但他还引用了后者如下一段文字:"中国城墙坚固,外面围以深壕(情况紧急时可放满河水),城门上架着大炮,中国人认为这是最好的防御工事。

  城墙上,长官率士兵日夜守卫。如不得到城市最高当局的批准,任何外国人是无法靠近该城的。"门多萨摘引这一大段有关中国城市设防的论述,绝不是无目的的。这实际上表明,他认为中国火炮是很有威力的。此外,门多萨对于中国造船、造纸以及其他工艺都有所介绍,并一一指出优于欧洲的方面。

  克鲁斯在《中国志》中也曾盛赞中国的科技成果,门多萨显然引用了很多克鲁斯的观点,而对中国科学技术的发展水平做了更全面的介绍,其评价也更高。

  像中国的造船水平,克鲁斯着重介绍了中国船队的庞大规模,甚至比喻说,中国皇帝能够用船在中国与马六甲之间搭起一座桥梁,并对中国船只的类型以及龙骨水车的应用做了说明。而门多萨除上述内容外还进一步阐述了中国造船的?缝技术,由于填缝使用的添加剂十分合理,不但防水还可防虫,使中国船只使用寿命比欧洲长两倍。在论及中国印刷术时,克鲁斯只提及中国已经有900年使用印刷的历史。而门多萨如前所述,则阐明了中国使用印刷术的来龙去脉,以及印刷术西传的路线。在中国火器的应用方面,门多萨也传达给西方人更多的信息。科学技术水平是衡量一个国家和民族综合国力的重要指示器。门多萨对中国科学技术水平的客观评价无疑对于西方人了解、认识中国起到了重要作用。

  二,欧洲人看清朝马戛尔尼回程"纪事"在马戛尔尼回程路上写的"纪事"中,强调:"我们的许多书里都把汉族和鞑靼族混淆了,好像他们是一个民族。可是清君却在时刻关注着这权力的诞生地"。

  东方与西方在这问题上是不同的。"在欧洲,不论是波旁王朝还是哈布斯堡王朝的人,登上那不勒斯或西班牙的王位都无关紧要;君王完全与西班牙人或那不勒斯人**。"汉诺威人一旦掌握英国王权,他们就不再是德国人了。相反,亚洲的君王"念念不忘自己的祖根"。"两个世纪过去了,换了8个或10个君主,但蒙古人还是没有变成印度人;过去的一个半世纪也没有把乾隆变成一个中国人"。

  鞑靼人说笑话总以汉人为靶子。"我不可能不注意到:只要有人拿汉人说笑话,那些年轻的鞑靼王子就会兴高采烈。在取笑女人裹脚时,他们拍手叫好;但听到把鞑靼妇女的木底鞋比作汉人的帆船时,他们就恼火。"赫脱南发现"地位最低的鞑靼人,在服从汉族官员时也会表现得十分勉强"。

  巴罗记下了别人对他说的一段心里话:"圆明园内年轻的王子们谈到汉人时总报以一种极大的蔑视。一位王子见我想学汉文,就竭力使我相信鞑靼语比这要高尚得多。他不仅答应给我识字课本和书籍,而且还要亲自教我。"。

  满清初期,他们表现得非常凶残。建国后的最初几年,整批整批的百姓遭到屠杀。强迫留辫子引起了骚乱,结果都被.在血泊之中。都是老爷的种族坐稳了江山,对一个奴隶的民族实行统治,种族隔离是全面的,严禁不同种族间通婚,北京的整个北城都没有汉人,专供满人居住。宫内女眷(包括奴婢在内)无论如何只要清一色的满人:要防止一切种族混杂的情况。而宫内太监又毫不例外地全是汉人。这多有象征意义呀!让鞑靼人繁殖,让汉人绝种。这就绝对保证了没有任何不纯的混杂。

  鞑靼皇帝在热河,中国皇帝从他们祖先的传统中汲取营养。这时他们并不是完全在中国,也不仅仅只是在中国。满清是靠互相支持的两大系统来控制帝国的:一是司武的鞑靼世袭贵族,二是通过科举考试录用的汉族文职官员。我们这批英国人在鞑靼中心逗留时,对这种延续了3个世纪的奇特现象比别的游客更印象深刻。

  马戛尔尼接见过一个名叫博达望(音译)的年轻鞑靼贵族,帽子上饰有红顶子和双眼花翎,他自豪地谈到了本朝的来历。按他的说法,皇上是成吉思汗和忽必烈的直系后代,蒙元征服了中国,并统治了一个多世纪,后来被明朝推翻。同马戛尔尼一起被宴请的鞑靼亲王都是各部落首领,他们都能招兵,称之为"旗"。

  满洲贵族打仗是爱用弓。马戛尔尼写道:"当我告诉他们,欧洲人已放弃了弓而只用枪打仗时,他们显得十分吃惊。乾隆爱用的武器也是弓。"在奔驰的马上射箭,比下地放枪更加令人激动。高贵的武器打高贵的猎物。猎人与猎物的运气是相等的。

  在马戛尔尼回程路上写的"纪事"中,强调了鞑靼这一方面:"我们的许多书里都把汉族和鞑靼族混淆了,好像他们是一个民族。可是清君却在时刻关注着这权力的诞生地"。

  明末的反清并不是民族斗争,不是什么捍卫明朝一姓私利的斗争,而是文明与野蛮的斗争,进步与落后,是关系到中国后来几百年命运的一场斗争。

  在这场斗争中那些坚定反抗满清侵略,为此流尽最后一滴鲜血的英雄,他们的每个人的名字永远值得我们铭记在心,他们不仅是中国的英雄,同样也是世界的英雄,他们捍卫的不仅是中国的利益,同样也是整个世界文明进步的利益,他们虽然最后失败了,但是如果因此相信满请的谎言来污蔑他们,那只能说是丧尽天良的行为在马戛尔尼们眼中,什么盛世,满清"不过是一个泥足巨人,只要轻轻一抵就可以把他打倒在地"。马戛尔尼在出使日记中说:中国"自从北方或满洲鞑靼征服以来,至少在过去150年里,没有改善,没有前进,或者更确切地说反而倒退了;当我们每天都在艺术和科学领域前进时,他们实际上正在变成半野蛮人"。

  中国人生活"在最为卑鄙的暴政之下,生活在恐惧之中"。中国社会关系建立在一种愚蠢的形式主义基础上,所以人们"胆怯、肮脏并残酷"。

  这些,在《停滞的帝国》一书中说得很详细。马戛尔尼们戳穿了满清的盛世神话,在天朝皇帝和文人们的盛世颂歌震天响的时候,认为满清是衰败之世,没落之世,毫不留情地指出:"最终它将重新堕落到野蛮和贫困的状态"!

中国:泥足巨人

      忘记来源是哪里了,似乎是个英国学者。

中国在重塑自身的同时,也在重塑着整个世界。不过,从许多方面来说,中国在全球经济中的影响力,仍远不及其在全球人口中所占20%的比重。鉴于巨大的人口潜力,中国在贸易和产出方面的快速增长,可能还将持续多年。

     

2005年,中国已成为全球第三大商品进出口国,仅次于美国和德国。在商业服务方面,中国是第九大出口国,以及第七大进口国。2006年的头10个月,进入中国的外国直接投资(FDI)仅次于美国和英国,位居世界第三。中国的经常账户盈余名列全球首位,在2006年接近2000亿美元,它同时拥有全球最多的外汇储备,总额逾1万亿美元。

中国的战略、政策和根本特性,说明了该国对全球经济的影响。在中国的战略中,融入全球经济是一个重要组成部分,这在其将2001年加入世贸组织(WTO)作为一种经济改革工具的决定中得到了体现。举例来说,在2004年,进出口贸易相当于国内生产总值(GDP)的60%,而在印度和美国,贸易在GDP中所占的比例仅为25%和20%。根据联合国(UN)《世界投资报告》(World Investment Report)中的数据,在2005年,流入中国的FDI相当于GDP的14%,日本的这一比例仅为2%,韩国为8%。

中国近来最重大的经济政策,是对人应民币升值的压力。这种压力源自其基本国际收支中的巨大顺差——相当于去年GDP的11%左右。究其原因,经常账户盈余相当于GDP的8.5%,而FDI余额占到于GDP的2.5%。

然而,中国对于全球经济的影响,首先反映的是其基本面因素。中国是一个拥有丰富劳动力的大型经济体,年增长速度接近10%,对原材料的需求日益增长,储蓄非常高,同时高度依赖外国技术诀窍的进口。

那么,其结果是什么呢?

首先,中国已巩固了其"亚洲生产网络最终组装场所"的地位。*结果是,略高于半数的中国出口来自外资企业,而进口零部件占中国商品出口总价值的55%。其次,正如世界银行(World Bank)在一本中所提到的,"中国的工业实力,可以向中、低收入国家的制造业业施加压力,迫使它们重新思考、收缩并集中自己在工业方面的雄心。"**事实上,中国已经这么做了。在中国的城市劳动力市场,平均每小时的劳动力成本仅为1美元左右,对于其它发展中国家劳动力密集型产品的出口商而言,中国成为了一个可怕的竞争对手。

第三,中国已成为大宗商品需求的一个强大源头,这有利于许多发展中国家,以及澳大利亚等资源丰富的高收入国家。2005年,中国在全球锡和煤炭消费中所占比例为33%,钢铁消费占32%,铁矿石和锌消费占29%,铅消费占26%,铝消费占23%,而在石油方面仅占7%。

第四,中国能够将盯住美元的名义汇率,与国内较低的通胀水平和生产力高速增长结合起来,降低了出口产品的美元价格,有助于遏制全球通胀。最后,中国的储蓄水平高于投资,这有助于将全球长期实际利率维持在较低水平。

一支强大的新生力量的崛起,难免会造成摩擦。在贸易方面,对于中国侵犯知识产权及其贸易顺差规模的怨言一直不断。而在国际货币政策方面,问题则一直集中在人民币汇率上。在资源方面,人们担忧的是中国对于能源的渴求。同时,随着中国科技实力的不断显现,以及熟练工人供应量的迅速增长,忧虑也在相应地加剧。

幸运的是,这些担忧被夸大了。中国在知识产权保护方面的记录确实糟糕。以2004年为例,海关当局在美国港口截获的假货中,有60%以上来自中国。这样的问题,在很大程度上是对在中国造假所获取的高额利润、以及糟糕的监管状况的反映。但是,随着中国加大自身在设计和科技方面的投资,国内对知识产权保护的游说将变得越来越有力。

至于美国与中国之间的双边失衡,反映出中国作为东亚组装地的角色,而中国的整体顺差则是对其高额储蓄的反映。只有扩大内需,才能解决中国高储蓄率的问题。此外,在保持能源市场的开放和竞争方面,中国与高收入国家有着共同的利益。任何其它做法都可能导致毁灭性的冲突。最后,对中国科技能力不断突飞猛进的担忧,是没有根据的。中国仍严重依赖外国的技术诀窍,而其本土企业仍然较弱。中国工程专业大学生人数的确比美国多4倍,但他们大多数人的水平都差得很远。麦肯锡全球研究所(McKinsey Global Institute)估计,中国仅十分之一的工程学及IT专业毕业生具备在全球外包中竞争的能力。

中国的影响力正在不断增长。但即便在2005年,中国的商品出口也仅占全球的7%。此外,目前中国远非在全球占主导地位。它是一个泥足巨人。但是,全球经济中最强大的力量之一,是一个增长迅速的发展中国家,这在工业革命以来尚属首次。其结果是,对于中国和全球其它国家而言,未来都将面临巨大的挑战。这些挑战能够、也必须加以应对。毕竟,我们没有另外一种明智的选择。

IL代码底层运行机制之函数相关

IL代码底层运行机制之函数相关

 

  IL代码底层运行机制之

                                                               函数相关

                                                                                                                     刘强

                                                                                                          Cambest@sohu.com

                                                                                                            20031031

   

    本文涉及到的内容可能算是C#和MSIL中的高级特性(对IL来说没有什么可以称为高级特性的东西,但在这里我干脆也称之为高级特性)。函数部分包括了函数调用、函数内部变量处理、委托、事件、非托管代码调用等话题,涉及到C#语言中接口、继承、密闭类、委托、事件等概念。读者需要比较熟悉C#语言及初步了解IL语言。

   

1  函数声明定义

在IL中,函数的实现形式跟C#非常相似,即.method标识后面是函数声明 [返回值类型]函数名称 (参数列表)。大家可以尝试编译下面这段代码:

//test.il

//Command Line: ilasm test.il

.assembly Test

{

  .hash algorithm 0x00008004      file://@1

  .ver 0:0:0:0                               file://@2

}

//这是配件说明语句。@1@2行可以注释掉,但这一说明不能没有。.Net PE文件装载

//器要根据由它生成的配件清单装载配件。

.method static void Hello(string[] args)

{

   .entrypoint

   .maxstack 30

   .locals init([0] int32 V_1,

                      [1] int32 V_2,

                      [2] string [] V_2)

   

   ldstr "Hello,world"

   call  void [mscorlib] System.Console::WriteLine(string)

   ldarg.0                     file://加载args参数

   ldlen                        file://计算其长度

   conv.i4                     file://转换为32位整型

   stloc.1

   br.s            CPR

L1:

   ldarg.0

   ldloc.0

   ldelem.ref                 file://根据数组引用和索引取得元素引用

   call  void [mscorlib] System.Console::WriteLine(string)

   ldloc.0

   ldc.i4.1

   add

   stloc.0

CPR:

   ldloc.0                            file://索引值计数

   ldloc.1                            file://数组长度

   blt.s L1                          file://根据长度、索引,确定是否满足循环条件

   ret

}

这是我们的第一个IL版Hello,World程序。该程序将命令行参数依次输出,如输入test good lucky,则程序输出为:

Hello,World!

good

lucky

可以看到,尽管我们习惯把IL看成是一种汇编语言,但它还是相当高级的。函数声明是我们熟悉的C语言风格,函数体也用一对花括号包括起来。.entrypoint标识说明该函数是程序主函数,也即程序入口点.maxstack 30指定函数栈大小;它不一定要跟函数在运行时所用到的最大栈数目相同,但一定不能小于,否则会引发无效程序异常。当然太大了也将引起空间浪费,特别是在嵌套或递归调用的时候。我这里定义得大了一点,但不要紧,程序很小不会浪费多少空间。.locals init([0] int32 V_1,      [1] int32 V_2, [2] string [] V_2)定义局部变量,还记得我在《IL代码底层运行机制》一文中关于它的描述吗?这条语句只是指示编译器,在最终编译成VM码时代之以相应内存分配操作。下面我还会详细说明。

   

2.函数调用

我们在IL代码经常可以看到这样的函数调用语句:

    callvirt   instance bool Functional.A::PleaseSayIt(string)

或者:

       call      bool Functional.C::PleaseSayIt(string)

不仅函数声明形式比较接近高级语言,调用形式也相当高级。两种指令,callvirtcall有什么区别?从指令助记符看来,callvirt仿佛是用来调用虚函数的。我们还注意到,callvirt指令操作码(函数全名)前有instance标识,而call指令则没有。我们是否可以这样推测,callvirt用来调用类实例方法,而call调用的是类静态方法?事实证明我们的推测是正确的。那为什么要定义两种函数调用指令?通过下面的解释,我们会得到答案。call指令通过类名直接访问在该类中定义的静态方法,对类静态方法来说,其调用可以在编译期指定,这是确定无疑的,它不会在运行期有什么改变。那么callvirt指令又怎样?让我们看看下面的这个例子。

class A    {

       public void PleaseSayIt(string s)   {

              Console.WriteLine(s+" IN CLASS A");

       }

}

class B : A  {

       public void PleaseSayIt(string s)   {

              Console.WriteLine(s+" IN CLASS B");

       }

}

让我们看看执行这样的代码会得到什么样的结果:

A  a=new  B();

a.PleaseSayIt("Hello,");

得到的输出为Hello,IN CLASS A。这似乎不是我们期望的结果。这点跟java很不一样,在java中,如果B重载了A中的方法,则像上面的语句,a.PleaseSayIt调用的将是B中的函数。而要在C#语言中达到这样的目的比在java实现麻烦一点,首先需要在APleaseSayIt定义前添加virtual关键字,这样在A的所有子类的重载PleaseSayIt方法都具有了虚函数属性。其次在子类BPleaseSayIt定义前添加override关键字,说明其基类的方法已被重写。这也就说明了上面的疑问:为什么要有callvirt指令,答案是有些函数调用不能在编译期,而是在运行期确定。

好了,我们现在要弄清楚callvirt的具体执行过程:首先,根据当前引用,查看被调用的函数是否是虚函数,不是则直接调用该函数;如果是,则在该对象空间内向下查找是否有重写实现,如没有,则也直接调用该函数,如有,则调用重写实现;继续进行上述过程,直到找到最新重写实现。如下所示:

ABCD继承关系:

A::(virtual)DoSth : B::(override)DoSth : C::(override)DoSth : D::DoSth

代码:

A  a=new  D();

a.DoSth();

IL代码:

.locals init([0] class A  a)

newobj  instance void D::.ctor()

stloc.0

ldloc.0

callvirt  instance void  A::DoSth()

1         this void DoSth()  is  virtual  ?  no : invoke it  |  yes : goto 2

2         search for next overloaded method void DoSth()

3         is there ? no : invoke it  |  yes goto 4

4         this method is override ? no : invoke prev mehod  |  yes : goto 1

                 D逻辑继承图

 

a.DoSth()调用的是C::DoSth()。经过我这样解释,你现在应该清楚callvirtcall指令的区别了;更应该清楚virtualoverride的用法了。

其实,除了了callvirtcall指令外,还有一个特殊的函数调用命令,那既是构造函数调用命令newobj。让我们看看这样的语句是怎样实现的:

      FunT.A  a=new  FunT.A();

它的一个实现可以是:

.locals init ([0] class FunT.A  V_0)

newobj     instance void FunT.C::.ctor()

stloc.0

newobj指令执行的操作大致上说就是分配一块内存空间,同时获得该内存空间的引用,然后根据该引用调用类构造方法对该空间进行初始化,最后将其引用加载至堆栈之上。

我们再附带讨论一下构造函数。如A的一个缺省实现

public  A() {

}

则其IL实现为:

.method public hidebysig specialname rtspecialname  instance void  .ctor() cil managed

{

  .maxstack  1

  ldarg.0

  call       instance void [mscorlib]System.Object::.ctor()

  ret

}

有两点值得我们注意。一是ldarg.0指令,这是装载参数的指令。可是A的缺省构造函数并没有参数。注意,虚拟机在遇到newobj指令时,需要在对象堆新增加一个结点用于存储该对象引用,同时将堆查找关键值传递给实例,也即是将其引用传给实例(也就是说,对象引用实际上就是堆查找关键值,它是一个32位无符号整数)。在实例方法中,0参数就是该实例的引用;它不是由实例方法显式指定的。如,我们要调用对象aPleaseSayIt方法,其过程是这样的:

.locals init([0] class FunT.A  a)

ldloc.0

ldstr "Hello,World!"

callvirt  instance void FunT.A::PleaseSayIt(string)

在这里,要将a引用隐式传递给FunT.A::PleaseSayIt方法;否则的话,类代码和对象数据是分开存储的,A的对象可能有多个,FunT.A::PleaseSayIt怎么知道该对哪个对象进行操作呢?我以前也提到过,实例方法参数下标从1开始,这是因为对象引用0参数被隐藏。而静态方法并不需要也没有对象实例参与,故其下标还是从0开始的。正如你所见,方法和对象实例是分立的;关于类和对象的存储方式,我以后还会详细介绍。

还要注意的第二点就是call  instance void [mscorlib]System.Object::.ctor()语句。显然,它是调用基类构造函数。每当创建新对象时,都要首先调用基类的构造函数。如果我们没有显式指定调用基类的哪个构造函数,则编译器将为我们指定一个默认的构造函数。

    关于函数调用,还有几条命令,如calli等,在这里就不加讨论了。

   

3  局部变量与递归调用

在函数里面,只要有局部变量,就要有如.locals init( param list…)的语句。我前面也说过,这条语句只是指示编译器对局部变量进行处理的。那么究竟是起到什么作用呢?看下面的例子。

   我们可能在初学编程都用递归调用实现过由1到指定数值的逐项求和:1+2+3+4+……

    static long LinearSum(int num) {

        long result=1;

        if(num==1) return result;

        else result=num+LinearSum(num-1);

        return result;

    }

函数局部变量为:

.locals init (int64 result, int64 retval)

考虑这样的情况,如果函数中定义的局部变量是存储在固定内存空间的话,则在每次进入LinearSum函数体时,result都是上次执行之后的数值,就会造成极大的混乱。在求的不同的数组项和时,它会将所有的值累加直至溢出,除了了第一次是正确的之外,后面的求值会得到莫名奇妙的结果。倘若每次都进行result=1的操作,则又会清除以前得到的结果。(在C/C++语言中,可以模拟这种情况,即在result声明中添加static关键字。在C#中,函数方法中不能有静态局部变量。)所以,实际上每次在进入相同的函数内部时,都要重新分配变量空间,存储在运行期得到的数值。在IL语言当中,也有内存分配的指令如initblk等。因此,每当遇到.locals init语句时,这里都会被编译器代之以相关的内存分配指令,在函数末尾添加收回内存的指令。这样,每进入一个函数,首先是分配内存给局部变量(如果有局部变量的话),最后在末尾回收分配给变量的内存,通过这样来实现递归。实际上,在最后的机器码中(经过JIT编译之后),局部变量是存储在系统堆栈之中的。对变量的操作,是通过对栈的操作完成的。例如,edx存储结果的高四字节,eax存储结果的底四字节,而该result变量在堆栈中位于栈顶之前28h字节处,则存储的实现形式是这样的:

       mov        ebpesp

    ……

       mov    dword ptr [ebp-28h]eax

mov    dword ptr [ebp-24h]edx

在函数的尾部,恢复esp的值即可实现内存变量的回收。对这些内容的理解,有助于我们深入了解技术的底层细节。

   

4  委托与事件

4委托

    C#语言为我们提供了一很方便的特性,这就是委托(delegate)。这使得我们在处理各种事件,特别是UI事件时很方便,不象在C++中那样,使用回调(CALL-BACK)函数,不仅麻烦而且容易出错。比如说,我们要在主窗体MainForm关闭时处理一些问题,而这些问题并不是由MainForm处理,而是由MyTask对象处理。那么我们如何得到MainForm的关闭消息呢?这里,委托就显示了其灵活性。MainForm在关闭时的响应由Closed实现,而ClosedC#中被声明为委托。这样,MyTask要接收并处理窗体关闭事件,只需要实现一个形式与该委托System.EventHandler相同的、含有处理代码的函数,并向MainForm的Closed注册该函数即可。如,在MainForm和MyTask被创建之后,执行如下操作:MainForm.Closed += new System.EventHandler(MyTask.ProcessWhileClosed),就可以达到由MyTask响应MainForm的关闭事件的目的了。

    下面让我们看看在IL层次,.net是怎样处理委托的。先声明一个委托,如public delegate void Ehandler(object src),然后再反汇编以查看它被处理成什么:

    .class public auto ansi sealed EHandler extends System.MulticastDelegate {

    .method public hidebysig specialname rtspecialname

            instance void  .ctor(object 'object', native int 'method') runtime managed {

    }

    .method public hidebysig virtual instance void Invoke(object src) runtime managed {

    }

    .method public hidebysig newslot virtual instance class System.IAsyncResult            BeginInvoke (object src, class System.AsyncCallback callback, object 'object')  runtime managed {

}

    .method public hidebysig newslot virtual instance void EndInvoke(class  System.IAsyncResult result) runtime managed {

    }

}

    从这里我们可以看出,我们定义的委托其实是一个从System.MulticastDelegate继承而来的密闭(sealed)类,它含有三个方法:BeginInvokeInvokeEndInvoke。其构造函数有两个参数,第一个object型参数为对象引用,接收方法对应的对象,第二个参数为方法引用(为32位整数,如同对象引用,有点像函数指针,但又有很大区别,对应System.IntPtrnative int)类型)。如,在上面MainForm.Closed += new System.EventHandler(MyTask.ProcessWhileClosed)的例子中,传入EventHandler构造函数的第一个参数为MyTask,第二个参数为ProcessWhileClosed方法引用。如果被委托的函数是静态方法,则第一个参数为null。这实际上也明确地告诉我们,不要试图去继承System.MulticastDelegate来构建自己的委托类,因为我们无法获得方法引用(在C#语言当中不能,但在IL语言当中有一个ldftn指令可以得到方法引用),只有编译器才能确定。事实上,C#语言也规定了我们不能继承像MulticastDelegate这样的特殊类,因为它们是专门为C#语言而设计的。从这一点,我们也可以看出,C#语言是和.net类库结合是相当紧密的,它的语法实现由.net类库来支持。这也就不难理解为什么说C#是专门针对.net环境而设计的语言了。

    下面我们来看看委托过程调用的实现是怎样的。如,MainForm对象在其内部的一个合适的方法内调用Closed委托(比如Form.WndProcC#中的窗体过程)

       ……

       case WM_CLOSED :

           Closed(sender, earg);

           break;

       ……

则调用Closed委托的IL实现是这样的:

ldarg.0                                                file://加载对象引用

   ldfld      class MyForm::Closed          file://获得字段

   ldarg.0

   callvirt   instance void MyForm.Closed::Invoke(object)  file://间接调用ClosedInvoke方法

大概的过程是这样的,首先将窗体对象引用(MainForm)加载至堆栈上,再根据该引用将Closed委托字段引用加载至堆栈。然后再次将MainForm引用加载至堆栈,调用Closed委托的Invoke方法来调用注册在Closed中的方法。这可比C/C++中的回调函数好用多了,一个委托可以注册多个静态或实例方法,处理这些方法都由委托对象帮我们做了,不再需要我们费尽心机编写回调函数来实现了。如果大家有C/C++ WINDOWS程序设计经验,就会深刻体会这句话的含义了。

42          事件

我在前面介绍了一下委托,这里介绍一下与它结合得比较紧密的特性:事件(event)。委托和事件天生就是兄弟,它们相互合作?br>

Dot Net设计模式—生成器模式

1.概要
1.1
意图

        
将复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。需要注意如下几点。
1)构建与表示分离:表明生成器模式的结构,构建过程被封装在导航器中,生成器则负责实现具体的表示。
2)同样的构建过程:生成器模式关注的是构建过程,即构建过程是相同的。
3)不同的表示:生成器模式并不在意产生对象的结果,其构造的产品不一定有相同的类型。

1.2使用场合
       
创建复杂对象的算法应该独立于该对象的组成部分及其装配方式,以及构造过程必须允许被构造的对象有不同表示情况下使用生成器模式。

1.3
结构

生成器模式的结构如图所示。
                                
1Builder:为创建Product对象的各个部件指定抽象接口。
2ConcreteBuilder:实现Builder的接口以构造和装配该产品的各个部件,定义并
明确它所创建的表示,并提供一个检索产品的接口。
3Director:构造一个使用Builder接口的对象。
4Product:表示被构造的复杂对象。ConcreteBuilder创建该产品的内部表示并定
义它的装配过程,包含定义组成部件的类,以及将这些部件装配成最终产品的接口。

1.4
实现示例

         
先用一个一个简单的例子来说明生成器模式的代码实现。编写一个画脸谱程序,将画脸谱的过程分解为画脸、画眼睛、画鼻子、画耳朵和画嘴巴。首先创建一个抽象的生成器,命名为FaceBuilder
using System;
Namespace FaceBuildernamespace FaceBuilder
{
    public abstract Class FaceBuilderclass FaceBuilder()
    {}
    public abstract void BuildFace();
    public abstract void BuildEyes();
    public abstract void BuildNose();
    public abstract void BuildEars();
    public abstract void BuildMouth();
}
然后创建一个具体的生成器,使用GUI+绘制脸谱:
using System;
using System.Drawing;
Namespace FaceBuildernamespace FaceBuilder
{
    public Class GUIFaceBuilderclass GUIFaceBuilder:FaceBuilder
    {
        private Graphics grap;
        private Pen p;
        public GUIFaceBuilder(Graphics g)
        {
            grap = p;
            p = new Pen (Color.Blue);
        }
        public override void BuildFace ()
        {
            grap.DrawEllipse (p,100,100,200,300);
        }
        public override void BuildEyes ()
        {
            grap.DrawEllipse (p,125,220,50,30);
            grap.DrawEllipse (p,225,220,50,30);
        }
        public override void BuildEars ()
        {
            grap.DrawEllipse (p,80,250,20,40);
            grap.DrawEllipse (p,300,250,20,40);
        }
        public override void BuildNose ()
        {
            grap.DrawEllipse (p,190,250,20,50);
        }
        public override void BuildNose ()
        {
            grap.DrawEllipse (p,190,350,20,1);
        }
    }
}

接着创建绘制导航:
using System;
Namespace FaceBuildernamespace FaceBuilder
{
    public Class FaceDirectorclass FaceDirector
    {
        private Class FaceBuilderclass FaceBuilder b;
        public FaceDirector (FaceBuilder b)
        {
            this.b = b;
        }
        public void CreateFace ()
        {
            b. BuildFace ();
            b. BuildEyes ();
            b. BuildEars ();
            b. BuildNose ();
            b. BuildNose ();
        }
    }
}
最后可以在一个窗体中调用:
GUIFaceBuilder b = new GUIFaceBuilder ( this.CreateGraphics ());
FaceDirector c = new FaceDirector (b);
c.CreateFace ();
结构如图:
                
2.效果
         
采用生成器模式可以轻松地改变产品的内部表示,上例中的脸谱画得不太好。但是如果我们创建一个新的生成器,艺术地绘制脸谱的各个部分,即可改善脸谱的质量。而这项工作完全可以和程序主体分离,由一位爱好美术的程序员独立完成。
         
生成器模式将构造代码和表示代码分开,一个脸谱可以用位图、字符串或对象模型来表示,构造代码完全一致。
        
构造过程可以更精细地控制,生成器模式强调的是产品的构造过程,产品各部分具有依赖关系非常重要。
        
需要注意的是,不同生成器产生的对象可能不属于同一类型,因此使用生成器的客户必须知道产品的具体类型。例如在创建脸谱的示例中,产生的GUI脸谱和脸谱对象是完全不同的类型。这意味着生成器经常不能互换,不同的生成器针对的客户程序也不相同。

3.生成器模式与抽象工厂的区别
        
生成器模式关注于将构造对象的过程和构造的各个部分分开,而抽象工厂关注于构建一个产品系列。实际上,最大的区别是生成器模式创建的产品不一定有共同的父类,只要有类似的构造过程即可。在上例中,FaceBuilder仅仅抽象了构建过程,并没有规定一定产生的产品类型,具体的产品由具体的Builder类决定。从上例产生的一个简单的Graphics对象中我们可以获得一个脸谱的位图,但也可用相同的导航器和结构获得一个Face对象。
        
实际上我们常见到的文件资源管理器的实现完全可以使用生成器模式。由于时间关系,这里不再讲述。有可能在以后的模式中涉及到这些。

 

中国弱智现象大集合zz

我们所处的时代,天天都是愚人节...........

 1.一年级,老师问我们:小朋友们,你们长大想干什么?我们争着举手回答"我长大了

要当农民"、"我长大了想当工人"、"我长大了要做一名解放军"、"我长大了要当科

学家"……

 如今我们已经长大成人,发现工人下岗了,农民流浪了,解放军成了都市高楼里的看家

狗,而科学家都成了商人。

2.小时候,爸爸妈妈要我们努力学习,说读书是唯一出路,说只有考上大学才能跳出农

门,说大学毕业后有了城市户口就可以吃公粮,说当我们成了国家干部我们就什么都有了

,房子、老婆、孩子……  

 十年寒窗。后来我上了大学,吸干了父母的血汗,什么也没学到。毕业了,女朋友出去

做台了,我大热天系着廉价领带到处推销我的袜子。如今我房子没有,老婆是我骗来的,

孩子是我自己捣鼓出来的,户口是一张"中华人民共和国暂住证"。户口暂住了,于是孙

志刚被害了;教育改革了,于是马加爵杀人了 

 3.十年前我听说要减轻学生负担,八年前我听说要减轻农民负担。如今我才发现当年我

们班几个高材生现在都是驼背,说是从小被书包压的,而农民同志们都涌向了城市,女的

M Y,男的盖楼。希望工程搞得热火朝天,马路上的孩童却蓬头垢面。

 初中没毕业的温州人现在都做了老板。我们读初中的时候人家开始卖螺丝,我们读高中

的时候人家发明了一次性打火机,我们考大学的时候人家开始假冒伪劣,我们找工作的时

候,人家说本科学历以下免谈。10年前我漂泊到温州,美特斯.邦威是个小作坊,10年后我

流浪到上海,郭富城为他卖命吆喝"美特斯.邦威,不走寻常路"!,老总叫什么"威"什

么的上了东方卫视的《财富人生》与主持人叶蓉公开调情!!叶蓉多漂亮多成熟多大方多

可爱啊,就这么被一个正宗的初中生给近距离的意淫了。说实话,我看那期节目的时候流

泪了。我深深地感到我被愚弄了。读书人为生意人卖命,文人为文盲打工,我们全体中国

人都被温州人给愚弄了。

 4.德国欧典地板连续六年获得3.15认证,今天我们才知道德国根本就不存在这样一家企

业,他是北京人爷们搞的小公司。那些比别人多花五倍钱买地板的主儿,现在应该知道他

们脚底下踩的并不是德意志的森林而是长白山的棺木。这就是3.15!

  5.自从"保健品协会"关门之后,又出来个"全国牙防组",现在我们知道了这个"组

"只是个拥有两张办公桌的个人小团体,因为"国"字当头,所以就有了愚弄国人的资本

,佳洁士、高露洁,刷吧!  

 6.哈药六厂说中国人普遍缺钙,于是大家每天一片"钙中钙",吃到最后果真吃出几位

残奥冠军。其实钙片这东西就跟当年的"三株口服液"是同一种成份,类似于童子尿风干

后的残渍,这跟那个一只老鳖烧20吨"中华鳖精"的故事如出一辙。史玉柱说:中国人不

仅缺钙,更主要的是缺"铁""锌""锡",于是大家就吃黄金搭档了,吃着吃着大脑就

充满了白金,于是都去挖地.

7.任志强说:中国房价还要涨,这才是中国特色的社会主义。于是我国人民迷糊了,东

京最高房价是3万,上海陆家嘴房价是5万,而东京GDP是上海人GDP的10倍。可真够特色的

 8.张维迎说:改革必须保护既得利益,中国的老百姓都是愚蠢的,学者的观点是无须争

辩的。这只牲口是吃驴粪长大的吗,难怪成了北大的禽授。

 发改委说:中国的医疗改革已经彻底失败了。卫生部说:不!我们的医疗改革已经取得

阶段性成果。

 温总理说:中国人看不起病,读不起书,买不起房,我心痛啊!

 看来,愚弄百姓的不是皇帝,而是那些牛鬼蛇神。历来都是这样,早该习惯。

 9.毛主席说人多力量大,于是大家拼命生孩子,生到最后孙子与儿子同年。靠,乱世!

乱世出英雄。三年自然灾害一来,都傻眼了,那么多孩子被饿死了一半,还有一半有的成

了商品有的成了乞丐。当怀孕成为一种习惯,突然的计划生育号召大家"打下来,流下来

,就是不能生下来",流离失所、痛也欲生的超生游击队在奔波了多年以后终于实现了自

己子孙满堂的梦想。据不可靠消息,二十年后,当绝育成为一种习惯,我国将通过立法规

定每家每户必须至少生育二胎,以增加货物的吞吐量,促进经济发展,增强综合国力。

 

 10.F4说:如果道歉有用的话还要police干什么。言承旭这话让多少懵懂少年失去理智,

让多少中学生头破血流。湖南卫视让李宇春成了毛主席,李宇春让上海天娱发了横财,而

那些投票FANS们,总有一天会象淘汰F4那样淘汰李宇春。只有毛主席才是我们心中的永恒

。没有毛主席,如今的超女必将沦为日本艺妓。 

 11.小平南巡以后,董文华唱道:1992年,那是一个春天……,结果夏天一过,她就上了

赖娼星的床,叫床声从此代替了歌声。杨玉莹唱到"24个放肆的青春不会变……",跟那

个打架的毛宁以"金童玉女"的名义忽悠了我们好多年之后,终于暴露了自己卖的本质,

真他妈够放肆的。后来又听说s**到维也纳开了中国音乐会,后来又有了中法文化年,中国

俄罗斯年。世界变化真快,别哪天来个中国日本年,那我们那么多年岂不是白白的悲愤了

?这不是没有可能,中国人天生就是被忽悠的料。 

 12.综艺大观淘汰了正大综艺,同一首歌淘汰了综艺大观,实话实说淘汰了焦点访谈,社

会记录强 J了社会调查,央视论坛再也不实话实说了。当我们看惯了蔡国庆的小白脸厌倦

了韦唯的乳房,当毛阿敏的妊娠纹爬上了她的脸庞,李宇春从天而降改变了所有人的审美

观与人身观。你来"一桶天下谁是英雄" 我就问你"想挑战吗",全拿咱老百姓来开刷。

那个跟马克思的儿子有几般相象的李咏如今长出了六指还嫌非常不够硬要再加上一。 

 

13.费翔与扬澜在国外呆不下去就号称海龟打道回府愚弄国人的视听,您还别说,还真帮

我们找回了许多童年的回忆,只是他们的脸蛋已经是老气横秋不比当年了。  

 崔永元神经衰弱急流涌退之后又想东山再起,"老崔说事"这节目我看了胃疼,你还真

把自己当央视的第一号阳具啊?一脸萧条的皱纹呈现出没有睡醒的容颜,实在是可悲。

 马大姐明明是个小品演员,一大把年纪了非要学唱变态摇滚,自己失败了不要紧,把人

吓出胃病就不对了,就看她那一身变态的行头就已经够丢央视名狗的脸了。

 老赵的动物世界感动了无数观众,没想到老赵后来却把自己变成了动物,跟一老太婆非

法交配还惹来官司,不值啊不值。 

 黄健翔好好的足球不去玩,非要去玩张靓颖的保龄球,结果惹了一身骚。   

 本山大叔用自己纯正的农民气质垄断了中国的喜剧舞台,鼠目寸光的中国人被蒙了很多

年。可以这样说,由于赵本山的存在,中国的曲艺事业停滞了二十年没有发展,东北人都

是活雷锋。  

 什么明星,什么偶像,什么流行,什么文化,四个字就可以概括----女娼男盗

 14.中国的"流行"已经远远地超越了"文化",只见流行不见文化。中国不是没有文化

,而是真正掌握文化的人不多,真正掌握文化的人不见天日,而那些名声大噪的什么陈丹

青、陈逸飞这些海派艺人本质上也就是一商人,他们的文化"底蕴"都是煤体炒作出来的

,很虚无。大家可以发现,现在什么什么人做什么什么事,首先是找煤体开新闻发布会,

请那些记者说话,现在有几个记者还能说人话的?真正有生命力的东西是不需要张扬的。

   

 15.记者的真正作用其实就是娱乐自己愚弄大众。记得有一次我陪我女人去图书馆借书,

女人在看书,我在看女人。我听到距我不远的座位上有两个学者模样的人在边翻资料边谈

话,其中一人说"投资方要求这次的报道要尽量真实,但必要的时候可以以假乱真",另

一人说"对,可以夸张,但必须感人,你看看我这一段这样写是不是有点广告嫌疑?"…

…"这个不管,我们就是要通过真实的情感故事将客户的产品卖出去,至于这个产品是真

是假那不是我们媒体的事。"……"后天就要见报了,我得抓紧了,两万字呢,搞不好又

要扣奖金了"……  我当时真想过去踢死这两只狗。想想还是算了,踢死他们我还要偿

他们的狗命,却苦了我心爱的女人。

 16.当新闻联播以"永远地丰碑"代替了"历史上的今天",我看着他们的英年早逝想到

了你们的老奸巨滑,我想说:烈士的鲜血是用来警示后人的,而不该被用作粉饰政权。

 17.最让人啼笑皆非的是中国人乐此不彼的两大彩票与短信游戏,简直就是抢钱。  

 

 体育彩票卖得火吧,体育运动水平却一直停滞不前,甚至个别项目还出现了滑坡;

 福利彩票吵得欢吧,人民的福利却得不到丝毫保障。

 选号的人排起了长队,卖票的人忙着点钱;投机分子中了大奖,广大彩民血本无亏。好

逸恶劳的人做着发财梦,游戏庄家在打着如意算盘。早已被人识破的骗局为什么总能屡屡

得逞,说到底还是智商出了问题。  

  股票的阴谋失效了,短信的伎俩又来了。怎么老有人用这么低级的下三烂的手段来糊

弄幼稚的劳动人民呢!我不知道,不知道这样的闹剧还要持续多久,这跟火车站的骗子与

公车上的小偷有什么区别,怎么就没人管呢?生为中国人我深感不幸。郎咸平出来说几句

实话都不行,非要逼着我们听张维迎放屁,我几乎看不到真理,似乎所有人都成了植物人

。 

   18.中国人一开始其实是很单纯的,后来日本人教会中国人同性恋,当同性恋成为

一种时尚山西人煤矿就不解地爆炸了;刚学完铁人王进喜,大庆油田就没油了;三毛好不

容易学会理发,温州发廊就开始M Y了;卖着卖着就卖出个李湘,湖南卫视火了,一把火将

何炅烧去了北京;北京出事了,说凡是90年前一年毕业的大学生都不包分配,永远打入冷

宫,你说冤不冤吧,读了那么多年的书到最后却成了蹬三轮儿的;谁说蹬三轮没出息的,

人蹬着蹬着就蹬出个李登辉;*不要搞台独了,如果走蒋中正的路最后一定也会死在性病上

;性病是一种流行,永远也成不了文化,而F D本来只是一种流行,到后来却被人说成了一

种SARS精神,那么多死人的性命到最后却成就了这么一种伟大的精神? 

 19.中国人的智商确实存在问题。 越是智商低下的人越是喜欢玩数字游戏与脑筋急转弯

。  脑筋急转弯,举例如下:"有困难找police"、"百年大计,教育为本"、"团结

奋斗,振兴中华""九年义务教育"、"公仆"、"希望工程"、"公费医疗"、"消费

者权益"、"反贪局"、"民工""书记"、"民主协商"、"公务员"、"让一部分人

先富起来"、"戴三个表"……中国人可真会自愚自乐!  

 20.数字游戏,举例如下:110:记得有一次我女人跟我吵架晚上跑出去了,我找了好多

地方都没有找到,急得实在没办法就拨了这个号码求助,接电话是个女的,她第一句话就

问我"你老婆是不是在外面有情人?"我说我跟你母亲才是情人。(这个故事如果我是瞎

编的,我就不得好死。)119:一般都是等东西烧得差不多了才赶到。120:找他们不如坐

公交来得快。122:我不知道这个号码干什么用的,虽然我经常追尾。12315:每年3月上旬

可能会有人接听而且态度恶劣,其他11.5个月都是忙音。17909、17991、17951、1860、9

5950、96960、96968、168、800:心脏不好、收入不高的人慎打此类号码。114:跟10000

号一样,收费是不对的、是无耻的、是腐败的,是垄断行业的特征,是一个国家的失败。

    

 21.说到失败,我想到了中国足球,在我上中学的时候就开始忽悠了,他将我从一个无知

球童忽悠成了一个铁杆球迷。如今,所有的足球台词已经唱尽,在所有的比赛阵容已经踢

尽,一到关键时刻球就不进,我老了,我没劲吆喝了,他们又将我从一个撕心裂肺的球迷

忽悠成了一个忍气吞声的球盲。

 从斯拉普纳到米卢,从范志毅到赵本山,还就这么一路忽悠下来了。中国足球为什么不

行啊?智商问题!绝对不是身体素质问题!我们从来就没有怀疑过自己的体格与种族,刘

翔与姚明就是个很好的范例。   

 女排女足上去了,于是中国男人伤感了,他们伤感的不是自己不行,他们伤感的是埋藏

在他们内心深处5000多年的处女情结。悲哀啊,悲哀到令人发指的地步。为什么我以往总

是拿女人说事? 今天我可以告诉大家,因为我不屑拿中国男人说事,在我眼里,中国女性

是伟大的,破处、堕胎、分娩、洗衣、做饭、陪酒、M Y,人生当中最痛苦的事她们都经历

了。而男人,动点歪脑子赚几个臭钱就无法无天飘飘欲仙了,我觉得全体中国男人应该集

体反思一下蒋大为的歌词----"啊……生我养我的地方……"

 22.不可否认有很多男人一辈子没开过处女,在他们的潜意识里是很不死心的,于是他们

不断的寻找和创造机会,试图在自己尚未软掉的年代实现自己的开苞梦想。这么一来,处

女膜修补术应运而生,的确帮助很多男人实现了他们一生的梦想。 

 现在大家知道为什么中国男足踢了半个世纪都没有踢好的原因了吧?智商问题!我不知

道男人透过那层半透明的处女膜看到的是什么?是他们的尊严,还是他们的快感?愚昧的

中国男人!

 23.说实话,中国人搞搞科研还是有点能耐的,可一旦他们面对那些不能用几何公式算出

的大是大非面前就会马上没了主意,一般都被事实愚弄着。 比如现在公车上有一歹徒扒

窃或者抢劫一乘客的物品,基本上包括乘务员在内是没人敢站出来说话的,我觉得这绝对

不是胆量问题,而是智商问题!我从来不认为中国人胆小,黄继光、董城瑞就是很好的范

例,中国人之所有麻木不仁归根结底还是智商问题,智商一低,人就没了觉悟。  

 24.中国人不要怨天尤人,因为智商问题我们已经被日本人愚弄了大半个世纪,一直到现

在还未停止。八年抗战时期,日本人把中国人狠狠地调戏了一把,临走的时候遗留了很多

细菌掩埋了很多导弹任中国人享用。后来又在我国海岸线多次公开挑衅,多次参拜靖国神

社歌颂他们的丰功伟绩。我就不知道是因为我们中国人面黄肌瘦看起来比较好欺负还是怎

么地?温大爷你为什么就不能下令将你说的那二百二十九颗导弹都喂给日本人尝尝呢!我

们就违反国际法了,怎么了?我们就不人道,我们就要复仇,怎么地?怕吊啊。我就不信

谁有能耐灭了咱15亿中国人!台湾问题用武力只需拉一驼屎的工夫就能解决,为什么婆婆

妈妈地说了那么多年?跟他妈女人似的。我们还要被愚弄多久?我觉得这些都是智商问题

,不是胆量问题!

 25.教育体制,社会变革,流行文化,社会舆论,商业游戏,传统道德等等这些东西无时

无刻不再愚弄着中国人,这都怪不得别人,说白了这是由于中国人的智商太低所造成了。

智商低不要紧,大脑还可以进化,可怕的是大多数中国人都以为自己很聪明,不思进取也

不想进化,这才是一个民族的真正疾患。  

 可想而知,一个疯狂自恋的民族一旦智商出了问题,即使是穷奢极侈,离消亡也将不远

矣。不知从何时起,中国人每天都过起了愚人节,痛并快乐着..........

--

世人皆醉我独醒,低吟浅唱任平生。

冷眼旁观此间事,一切都付笑谈中!

他是个人物儿

 

他是个人物儿

 
    他是个人物儿,从小就是。

  这孩子聪明, 所有的人都这么说。

  他的聪明历史 ,源远流长。提起他,人们总会提起他的几个哥哥,就更给他染上了一层神秘的色彩。那几个都是聪明,淘气,不爱学习,好寻衅打架,还有一个是个不要命的角色,在小学时就曾拿刀子捅过人。人们提起他们的时候总是小心翼翼地,先夸一番如何如何聪明,然后又压低声音说,谁谁谁又惹他们了,后果是怎么怎么着了等等。在小学生的眼里,这样的孩子自然不能算是好孩子,但他们都不同一般意义上的坏孩子。他们另类,而又令人敬畏。

  后来他留级,和我同班,大概是四年级吧。我发现,他确实是有那么一点与众不同。倔强的寸儿头,穿一条宽宽的灯笼裤,不高,壮壮的,很结实,看人总是漫不经心,带着一点儿挑衅。他的成绩不怎么好,做题上也看不出什么聪明来。人们的解释是,人家那是不想学,他哥认真学了一年,就到大学去了,人家要想学好还不是玩儿的事嘛。于是令我们更加敬佩。

  我们总是带着惊喜发现着他的每一个优点。有一次上课,老师破天荒的让他在黑板上抄东西,一般这种事儿是不会去麻烦这位大仙的。那时,我们都是规规矩矩一笔一划的写方块字。他上去后,立马开始龙飞凤舞起来,让我们大开眼界。在写的时候,还写断了一截儿粉笔头,顺势“嗖”地扔到了墙角,整套动作都在疾速的书写中一气呵成,流畅而洒脱。那时我们都很喜欢模仿老师,甚至老师写字时因用力过猛而折断粉笔头然后再扔出去的这个动作也令我们倾心不已,暗地里不知练了多少回,也仅能使出吃奶的劲儿笨拙的把粉笔头摁断,至于字是无论如何不能同时写的象样了。而他竟能模仿地如此逼真,甚至较之老师的动作更有气势。用现在的话来说,简直就是“酷毙”。于是对他的敬佩更加一层。

  对于我们这些平头平脸的乖宝宝来说,他是一个危险的传奇,所以我们是断断不敢接近他的。也许我们都很小心翼翼吧,与他共度的小学竟然平平安安的过去了,没有发生什么“不幸事件”。他给我的印象就是,常常沉默,常常一个人,也许,比较强大的动物都有这个特性吧,狮子就从来不结伴而行,我是这样想的。

  上了初中了,小女生开始注意形象,小男生开始扮酷。稍稍出色点的,都会眼睛长到头顶上,十分的不可一世。各个小学里的人物儿们现在面临着严重的危机,要在初中继续树立他们的形象,就得经过激烈的竞争。那个时候,这种竞争基本上是通过打架的形式来完成。你比较强壮,或者很有领导能力,能聚拢一帮子小哥们帮你卖命就算有实力。他因其不要命在校园风云榜上争得一席之地。当然,私人事件也总是很能引起人们兴趣。

  有一阵子,我们初中生晚上不用上自习,可是我们离家近的几个还是喜欢凑在教室里点着蜡烛玩。一天晚上,一个女生神秘兮兮地告诉我们,他在隔壁,和两个女生坐在一起。于是我们就一起悄悄的走过去,趴在门缝上看。果然,那两个女生是我们级因“风骚”出名的。他手里拿着一根项链,不知在和她们说什么。我的脑海里又想起了当时比较流行的赌王一类的香港片里的黑社会老大,得意洋洋地把价格不菲的首饰送给自己喜欢的女人。不免傻傻的想入非非。崇拜啊,呵呵。

  后来, 我进入高中,上了大学,再没见过他。不过,每每想起小的时候,就会想起他这么个人物来。

  其实仔细想想,他并没什么很特别的地方,现在看来,更大一部分是出于“炒作”。人们说他聪明,那就聪明了,因为他永远也不好好学习,所以你永远也不知道他到底是不想学好还是不能学好。因为我们都用一种特别的眼光看他,所以他的一举一动也就有了特别的意思。就象,一件本来并不怎么出奇的商品,贴上名牌标签之后,就连摆放的位置都显得别具一格了。或许,还有一点,就是胆小怕事的乖孩子对一个大胆不羁的的坏孩子的向往吧。

又在开始玩游戏

玩war3玩的都脖子疼了
 
 
休息下

年终总结(荒诞人生)

我很个人主义,我很自我主义,做起事情来常常会考虑到后果却不顾后果,管他怎么样呢。

去年就这样从华特辞职离去,愤尔在WOW疯狂近半年,直到今年4月份才恢复了上班族的生活。

在常人看来我在wow浪费了太多时间,我自然是承认这点的,却也不能说是没有任何的收获。一款游戏能让我品平人间冷暖也是难得,俨然一副
人生百年的缩影,短短半年让我认识到为什么中国人喜欢任人唯亲,为什么中国人不喜欢信任朋友,为什么中国人总爱留一手。短短6个月让我

经历了奋斗、拼搏、团结、分裂、争吵、狡猾、险恶甚至出卖。短短180天让体会并不是所有老友都那么值得托付,体会到萍水相逢却比多年沉

积更真挚的友情,更体会了梦想与现实的距离。

把这6个月定为人生的荒诞期吧。以此纪念。

新的工作紧张而有序,使我迅速脱离了原来的懒散习惯。我变的更成熟、更稳重、也更世俗。工作有些过于平淡,少了激情与创新,老的思维

被固化在里面,不允许任何新的思想渗入。慢慢的我跟他们一样,技术的世界离我越来越远了。有人说在IT这个行业里如果1年不关心技术动向

,我们将被它抛弃。真的是一年了,我脑子里似乎还是那些东西,没有什么新内容。模模糊糊的设计模式,若即若离的ajax,还有今天刚看到

的“动态语言”“鸭子理论”。我离世界太远了吗?

我还是确定来到这个公司是对的,它给了我生活节奏。

说起来生活就不能不谈老婆,感谢她让我在这一年里开心幸福:起床有人喊、回家有饭吃(这肯定是幸福的),远离孤独与寂寞、无聊与荒诞

(这更是幸福的)。

老婆温柔体贴、性格坚强好胜而身体又很单薄。这让我们的搭配很像一句台词“我永远是错的,她永远是对的”。剧情的发展并不向想象的那

样恶劣,对的最终还是会影响错的,毕竟错的也不是没有良知,何况了“近朱者赤”。

影响是有di,我的个性还是存在di。我还是一阵子疯一样的工作、一阵子疯一样的游戏(玩)di人,我依然是一个不能闲下来di人。

在这xxxx之际,让xxxxxxxx,xxxxx,xxxxxx,xxxxxx.共同xxxxxx\xxxxx\迈入xxxxxxxxx,再xxxxxxxxxxx,xxxxxxx,相汝以沫迎接xxxxxxxxx。


    2006-12-28

    钦   此

SharpDevelop之AddInTree详解(跟老婆合作翻译的哦)

1关于AddIn 系统文件
本文描述SharpDevelop使用的AddIn系统。 如果您打算为SharpDevelop写AddIns,您应该阅读”AddIn建立向导”以学会应该怎样构造您的项目。
本文大体上描述有关SharpDevelop的AddIn系统(ICSharpCode.核心)和一般(或者公共的普通的)子集(或延伸)
2 AddIn树
编写AddIns由二个(或更多)文件组成:AddIn xml定义,addin库(.dll、.exe)。
当SharpDevelop开始时所有AddIns的xml都会被读取并将会生成单一的树结构.
AddIn树是“把他们全部绑在一起"的树。它被构造得像一个文件系统。如果我们想要访问 SubNode2 我们必须像这样 /Path1/SubPath1/Node1/SubNode2.指定出地点.
我们观察到Node1 像一条路径,但是我们随后将看到Path(路径)和Node(节点)之间的区别。暂时,我们且说节点是包含行为定义的路径。
AddIn树的最普通的用途是用来扩展菜单和工具栏。当SharpDevelop想要新建一个菜单或工具栏时,它会在AddIn树里使用一个特别的路径.路径 “/SharpDevelop/Workbench/MainMenu”包含主菜单的项目,路径”/SharpDevelop/ViewContent/Browser/Toolbar”包含浏览器的工具栏(新网页,帮助浏览器等).
2.1 AddIn定义
AddIn树的每个节点有一个Codon(密码子). 在ICSharpCode.Core执行中, AddInTreeNode class有一个Codon特性,即空路径和指向适合于节点的Codon实例.
我们看一个用codon定义一个结点的XML方式:
<MenuItem id       = "Build"
          label    = "${res:XML.MainMenu.BuildMenu.BuildSolution}"
          shortcut = "F8"
          icon     = "Icons.16x16.BuildCombine"
          class = "ICSharpCode.SharpDevelop.Project.Commands.Build"/> 
当AddInTree被加载,一个Codon的事例就建立出来了。 它命名的特性开始于“MenuItem(菜单项)”,它的ID特性在于“Build”. 其他属性都放在了“Properties”箱里(就像Hsahtable)。Codon包含了关于菜单项目的信息:标签、捷径、图标和点击项目时运行起来的类的完全授权名称.
有关AddInTree的重要的一点是AddInTree是通过在所有AddIns中结合AddIn定义构建的.举个例子,来自开始页面AddIn的 StartPage.addin文件包含这些:
<Path name = "/SharpDevelop/Workbench/MainMenu/View">
 <MenuItem id = "ShowStartPage"
           insertafter  = "ViewItemsSeparator"
           insertbefore = "FullScreen"
           label = "${res:XML.MainMenu.ViewMenu.ShowStartPage}"
           icon  = "Icons.16x16.BrowserWindow"
           class = "ICSharpCode.StartPage.ShowStartPageCommand"/>
</Path>
路径“/SharpDevelop/Workbench/MainMenu/View” 被定义在两个文件中:位于SharpDevelop中的主要AddIn文件和 StartPage的AddIn文件.当加载文件时, ICSharpCode.Core把路径的内容合并入AddIn树中。 属性insertafter(之后插入)和 insertbefore(之前插入)是专用的,他们通过指定前一个和后一个项目的ID来控制在什么位置插入项目。
2.2 运行时间部分
每个AddIn定义文件有一个AddIn 类的实例。 类包含有在标题中建立的信息和AddIn定义文件的运行时间部分。 在那些文件中每一个为结点创造的Codon类也会给AddIn类的提供一个参考。
AddIn定义文件的header(标题)包含有以下属性:名字,作者,版权,addin主页的URL,描述以及版本。
Values(数值)储存在AddIn类的的属性中。
Runtime的部分如下所示:
<Runtime>
  <Import assembly = "CSharpBinding.dll"/>
  <Import assembly = ":ICSharpCode.SharpDevelop"/>
</Runtime>
输入的元素储存在AddIn类的Runtime属性中。 AddIn类也有一种方法“CreateObject”(新建目标). CreateObject用在应该新建一个菜单项目的类的时候。通常当该项目被第一次点击时CreateObject被要求提供菜单项目. CreateObject将审阅所有输入的assembly并且寻找指定的类名(其顺序按照输入内容在Runtime部分被安置的位置来进行)。
当CreateObject首次需要这些输入的assembly时这些assembly便被加载。这产生的结果就是: 当优先使用它们时,AddIns被随之加载.这对于SharpDevelop的启动时间是一项巨大的改进。
CreateObject仅在指定的集合里寻找类。当您想要从SharpDevelop的主assembly里使用一个类的时候(例如像这样一个普通的命令Undo等),您也要必须输入那个集合。 当它被多个addin参考时它不会被加载两次。 因为addins能够在任何的子目录里存在,指定一个固定的路径回到ICSharpCode.SharpDevelop.dll.是不可能的。有一个特殊的方法在主目录里参考集合,可是:当集合属性从冒号开始的话(<Import assembly = ":ICSharpCode.SharpDevelop"/>),  SharpDevelop会使用“Assembly.Load” 来加载集合而不是普通的“Assembly.LoadFrom”. 您将不用必须制订回去的路径,但是还有另一个重要区别: 您不使用.dll文件扩展名。
Runtime的部分可能也包含doozer和条件求值定义,阅读doozer和条件部分以获取更多有关信息。
2.3 Doozers 解析器
现在到问题了:怎么让一个Codon变成一个System.Windows.Forms.MenuStrip Command在这里doozers开始活动了:Doozers是从codon里建立项目的帮助类(所有对象都是可能的)。
这里有一个MenuItemDoozer的简化版本:
public class MenuItemDoozer : IDoozer
{
  // More on HandleConditions in the conditions section.
  public bool HandleConditions { get { return true; } }

  public object BuildItem(object caller, Codon codon, ArrayList subItems)
  {
     if (codon.Properties.Contains("type"))
 type = codon.Properties["type"];
     else
 type = "Command";
     switch (type) {
 case "Separator":
     return new MenuSeparator(codon, caller);
 case "CheckBox":
     return new MenuCheckBox(codon, caller);
 case "Item":
     return new MenuCommand(codon, caller);
 case "Command":
     return new MenuCommand(codon, caller);
 case "Menu":
     return new Menu(codon, caller, subItems);
 case "Builder":
     return codon.AddIn.CreateObject(codon.Properties["class"]);
 default:
     throw new NotSupportedException(type);
      }
  }
}
“MenuCommand”,“MenuCheckBox”高于SharpDevelop类里面诸如“MenuStripCommand”等的其他类。当codon作为属性的时候他们采取他们的标签、图标和捷径信息.当点击一个命令时, MenuCommand调用“codon.AddIn.CreateObject()”,把结果投射到ICommand接口并且调用运行方法.
如何添加custom doozers?
主doozer全部直接由SharpDevelopMain.cs添加。但倘若您想要在您的AddIn里面创造您自己的doozer呢?
要实现它,你只要把你的doozer包含在XML文件的<Runtime> section(<运行>部分)就可以了 :
<Import assembly = 'MyAddIn.dll'>
    <Doozer name='MyDoozer' class = 'MyAddIn.MyDoozer'/>
</Import>
通常,doozer(和输入的集合)在首先使用的时候便被加载了.
2.4 在AddIn 树里建立项目
这个部分讨论怎么使您的AddIn创造它自己的扩展路径,从而使您的AddIn可以被其他AddIn延伸到。
上下文菜单:
静态方法MenuService(菜单服务). CreateContextMenu可以用于新建一个ContextMenuStrip。
listView.ContextMenuStrip = MenuService.CreateContextMenu(this, "/MyAddIn/SomePath/ContextMenu");
在创造的项目和命令上通过“this”作为参量设置访问者或所有者。 命令的运行方法是利用owner属性去获得一个目标的参考并通过参量到达CreateContextMenu。 在大多事例中它会把所有者和某一接口或者执行“CreateContextMenu”类的类型放在一起。然后它便可以访问公共方法和属性了.
工具栏:
工具栏跟上下文菜单相似。使用 ToolbarService(工具栏服务)。CreateToolStrip(新建工具条)和添加工具条来返回你的用户控制。
toolStrip = ToolbarService.CreateToolStrip(this, "/MyAddIn/SomePath/Toolbar");
toolStrip.GripStyle = ToolStripGripStyle.Hidden;
Controls.Add(toolStrip);
caller/owner(访问者/所有者)跟上下文菜单工作方式相似.这里有一个浏览器工具栏的“back”命令:
public class GoBack : AbstractCommand {
    public override void Run() {
 ((HtmlViewPane)Owner).WebBrowser.GoBack();
    }
}
您自己的对象:
它跟运用您自己的对象一样简单. 首先,您需要一个为这个要储存在AddIn树里的对象设立一个普通的(或者共同的)接口.假设您的AddIn执行一些行动并且想让其他AddIn有可能作用于这些行动,所以我们可以使用这个接口:
public interface IActionNameListener
{
        void DoAction(MyDataClass data);
}
如果您能在.NET框架或SharpDevelop中找到一个接口,您应该优先选用它而非你自己创建的那个。
如果您要创建您自己的接口,延伸您AddIn可以参考它,这可能在您重新编译您AddIn的时候产生versioning(版本)的问题.
您能访问像这样的项目:
ArrayList list = AddInTree.BuildItems("/MyAddIn/ActionName", this, false);
foreach (IActionNameListener obj in list) {
 obj.DoAction(data);
}
按照通过类被insertbefore/insertafter之前插入/之后插入的属性来说明的顺序,您在路径上将会得到所有被定义的类.第二个参量是owner/caller(所有者/访问者),如同上下文菜单和工具栏。把所有者给doozer,然后doozer能够把它传递到被创建的对象。 当您使用您自己的对象,您能创建您自己的doozer,当然您不用必须这样做。ICSharpCode.Core已经包含了一个doozer,它能够通过反射来调用它们的parameterless构造器去创建任意对象的实例。
3.条件
待续.
4.可利用的Doozers和ConditionEvaluators名单
将在其它文章中给出

除了写写程序意外没有兴趣了

突然发现自己现在除了写写程序外没有别的什么兴趣了.

周末在家呆着不想出门,不想玩游戏,不想看电影,不想。。。啥也不想。只有坐电脑前面打开音乐写写程序,与其说是最后的爱好,不如说是最无奈的打法时间的方式。

原来这是家乡宁阳啊,见识了.

北依东岳泰山之大气,南接孔子故里曲阜之灵气,西望水泊梁山之豪气,东纳神童山之神气.

一些开源协议的介绍

一些开源协议的介绍
 
Mozilla Public License
MPL License允许免费重发布、免费修改,但要求修改后的代码版权归软件的发起者。这种授权维护了商业软件的利益,,它要求基于这种软件得修改无偿贡献版权给该软件。这样,围绕该软件得所有代码得版权都集中在发起开发人得手中。但MPL是允许修改,无偿使用得。MPL软件对链接没有要求。
BSD开源协议
BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 当你发布使用了BSD协议的代码,或则以BSD协议代码为基础做二次开发自己的产品时,需要满足三个条件: 1. 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 2. 如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 3. 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。
Apache Licence 2.0
Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件: 1. 需要给代码的用户一份Apache Licence 2. 如果你修改了代码,需要再被修改的文件中说明。 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标,专利声明和其他原来作者规定需要包含的说明。 4. 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成更改。 Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。
GPL
GPL许可证是自由软件的应用最广泛的软件许可证,人们可以修改程式的一个或几个副本或程式的任何部分,以此形成基於这些程式的衍生作品。必须在修改过的档案中附有明显的说明:您修改了此一档案及任何修改的日期。 您必须让您发布或出版的作品,包括本程式的全部或一部分,或内含本程式的全部或部分所衍生的作品,允许第三方在此许可证条款下使用,并且不得因为此项授权行为而收费。 LGPL Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux,包括商业公司的linux和linux上各种各样的由个人,组织,以及商业软件公司开发的免费软件了。 GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的”传染性”。GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受免费的优势。 由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。 其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似 Public Domain 公共域授权。将软件授权为公共域,这些软件包没有授权协议,任何人都可以随意使用它。
 

XAML核心语法

  就如同其它的基于XML的标记语言一样,XAML大体上也遵循XML的语法规则。例如每个XAML元素包含一个名称以及一个或多个属性。在XAML中,每个属性都是和某个WPF类的属性相对应的,而且所有的元素名称都和WPF中定义的类名称相匹配。 例如<Button>元素就和System.Windows.Controls.Button类对应。
    XAML是一个纯粹的标记语言,这也就意味着某个元素要实现一个事件的处理时,需要在该元素中通过特定的属性来指定相应的事件处理方法名,而真正的事件处理逻辑你可以通过C#或者VB.NET语言进行实现,我们是没有办法通过XAML来编写相应的事件处理逻辑的。如果你对ASP.NET技术比较了解的话,那么应该对代码后置这个概念不会陌生。对于一个WPF程序来说,我们也可以像ASP.NET那样采用代码后置模型,将页面和相应的逻辑代码分别存放在不同的文件中,也可以以一种内联的方式将页面和逻辑代码都存放在同一个文件中。一般来说,我们是不推荐采用后面这种方式的,但是如果你要坚持这种实现方式亦无不可,但是最好是采用代码后置的方式将呈现层和应用程序逻辑层分离开来。

  下面我们通过一个具体的示例来讲解WPF程序中代码后置方式和内联方式的实现机制,在这个示例中依然是使用Button元素来说明这两种方式的区别和实现过程。下面我们通过如下的XAML代码来声明一个Button元素:

35 <Button
36 OnClick="ButtonClickedHandler"
37 Name="MyButton"
38 Width="50"
39 Content="Click Me!" />

  而后我们在单击这个Button按钮时,将触发相应的事件,使得该按钮的宽度和其显示的内容信息将发生改变。对应的事件处理程序代码如下:

40 void ButtonClickedHandler(object sender, RoutedEventArgs eventArgs)
41 {
42  MyButton.Width = 100;
43  MyButton.Content = "Thank you!";
44 }

  我们通过上面的程序清单可以看出,一旦点击了该按钮,就将使得按钮的宽度从50延展到100,而其显示的文本也由"Click Me!"变为"Thank you!"。同时也可以发现我们可以使用C#或者VB.NET自己对XAML元素的各个属性进行操作,这是因为所有XAML元素的属性都是和WPF类的属性戚戚相关的。为此,你不单单可以使用C#来改变Button的背景颜色、高度等属性,甚至还可以像以前的Windows窗体程序那样通过代码来调整Button元素的位置坐标。

  如果要以内联的方式进行上述的实现,我们可以为在XAML文件中使用<x:code>元素,并将所有的内联代码都封装在<![CDATA[...]]>标签中,以确保分析器不会对其中的代码进行解析。下面就是上述示例的内联实现方式的代码:

01 <x:Code>
02 <![CDATA[
03 void ButtonClickedHandler(object sender, RoutedEventArgs eventArgs)
04 {
05  MyButton.Width = 100 ;
06  MyButton.Content = "Thank you! ";
07 }
08 ]]>
09 </x:Code>
 
 
   XAML开发人员要注意的一点就是每次声明一个XAML元素时,最好用Name属性为该元素指定一个名称,这样应用程序逻辑开发人员才可以通过代码来访问此元素。

这是因为某种类型的元素可能在XAML页面上声明多次,但是如果你不显式地指明各个元素的Name属性,那么我们是无法区分那个是我们想要操作的元素,也就无法通过C#或VB.NET来操作该元素和其中的属性了。


  下面是声明一个XAML元素必须遵循的四大原则:

  ·XAML是大小写区分的,元素和属性的名称必须一个严格区分大小写。例如对于Button元素来说,其在XAML中的声明应该为<Button>,而不是<button>。

  ·所有的属性值,无论它是什么数据类型,都必须包含在双引号中。

  ·所有的元素都必须封闭的,也就是说,一个元素必须是自我封闭的,<Button .../>,或者是有一个起始标记和一个结束标记,例如<Button>...</Button>。

  ·最终的XAML文件也必须是合适的XML文档。

  声明一个元素及其相应属性的基本格式如下:

<元素名 属性名="值" 属性名="值" ... />

  下面是一个简单的用户登陆窗口界面,其对应的代码见程序清单,我们来这验证选这段代码是否遵循了上述的四大原则。请你仔细查看元素声明的大小写是否对应、所有的属性值是否都包含在双引号中、所有的元素标记是否是封闭的以及该XAML文件是否是一个组织良好的XML文档。

01 <StackPanel
02 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
03 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
04 HorizontalAlignment="Left"
05 Margin="10">
06 <Label
07 Margin="5"
08 Content="Username" />
09 <TextBox
10 Margin="5"
11 BorderBrush="Blue"
12 BorderThickness="1"
13 Background="AliceBlue"
14 Foreground="Black"
15 Width="200"/>
16 <Label
17 Margin="5"
18 Content="Password" />
19 <PasswordBox
20 Margin="5"
21 BorderBrush="Blue"
22 BorderThickness="1"
23 Background="AliceBlue"
24 Foreground="Black"
25 Width="200" />
26 <Button
27 Margin="10"
28 Background="AliceBlue"
29 Foreground="Black"
30 Width="100"
31 Height="20"
32 Content="Submit" />
33 </StackPanel>

XAML开发入门之XAML核心语法

  为了增加XAML代码的可读性,本章中的所有XAML代码都采用了如上述程序清单所示的格式化风格,这样就算是那些包含嵌套元素的复杂标签,我们也可以一目了然地知道其组织结构。当然上述的格式化风格不是请求的,你可以将一个元素声明代码放在一行中,也可以将它分成多行进行放置,一切都取决于你的喜好。因为XAML在部署前是编译为BAML文件的,所以那些多余的空格对编译器的编译过程没有任何的影响,也就是说不会因为空格的多少而影响编译的性能。但是最好还是采用本章采用的格式化风格,毕竟清晰的代码可读性对于后续的维护和修改来说是非常重要的。

李开复语录


>>您大二时的大志-----追求影响力,其萌芽、执着追求、坚持、完善、升华的原因、或原因的原因、或其原因的原因的原因,究竟是什么?

有不少人跟我说“影响力”这个目标太大了,太崇高了。

但是他们误会了我的意思。“影响力”其实并不一定是要改变整个世界。只要一生对这世界有点贡献,无论是老师帮助了学生,医生护士帮助了病人,或清洁工帮助了环保,都是贡献。最大化影响力就是让自己有最多的贡献。

我大学时,有位哲学老师,他在讨论人生意义时用了很简单的三个字:"Make a difference"。这三个字就是影响力。人在世间几十年,如果离开时,心里能理解“世界因为有我更好”,那就是有了影响力,made a difference。

自从我认可了这个看法,很自然的下一步就是如何最大化这种贡献。

后来的事,你在“第三封信”或凌志军的《成长》、《追随智慧》都可看到。

总之,不要把“影响力”当作什么高不可及的志向。人人都有影响力,最大化这个影响力就是让自己对世界、对社会有最大的贡献。



---------

对我来说,对这世界有影响力就是生命的意义。

这影响力不是说出名或是权利,而是说make a difference,也就是因为有我,世界能更好。

没有对或错,只要有意义,你的一生就没有白活。

>>开复老师,说真的我越努力越觉得自己失败!!
任何的成功都是自身的努力加上外在的环境,机遇.

如果你不努力,那就一定失败.

如果你努力了,那你的成功地程度要看外在的环境,机遇.

这也就是说:"改变你可以改变的事情"(自己努力),"接受那你不可以改变的事情"(外在的环境,机遇).

外在的环境,机遇也不是完全不可改变的.做事要事事用心,事事尽力,不要等机遇上门;要把握住机遇,创造机遇。中国科技大学校长朱清时院士在大三时被分配到青海做铸造工人。但他不像其他同学那样放弃学习,整天打扑克、喝酒。他依然终日钻研数理化和英语。六年后,中国科学院要在青海做一个重要的项目,这时朱校长就脱颖而出,开始了他辉煌的事业。很多人可能说他运气好,被分配到缺乏人才的青海,才有这机会。但是,如果他没有努力学习,也无法抓住这个机遇。所以,做好充分的准备,当机遇来临时,你才能抓住它。


这在任何国家都是一样的,不要怪国家,社会.

你的选择是你要给自己机会,还是连机会也不要了?


>>做事的三原则:有勇气来改变可以改变的事情,有度量接受不可改变的事情,有智慧来分辨两者的不同。当中所说的智慧是通过学习什么得来的

智慧来自:


(1)时间、经验的累积。每一次成功或失败(和每一次用勇气、度量、智慧)都会让我们吸收新的知识、学习新的教训、调整自己的自觉。


有一个故事说一个年轻人问一个得道的老者:“智慧哪里来的?”,智者说:“精确的判断力”。年轻人又问:“精确的判断力哪里来的”,智者说:“经验”。年轻人再问:“经验哪里来的”,智者说:“错误的判断力”。


(2)客观的、精准的判断力。要能客观地判断,有胸怀接受事实,分析“改变失败”的代价,还有一件事情“可改变的可能或概率”(虽然三句话是这么说,其实“可不可改变”不是黑白的,而是带有灰色的)。


(3)谋之于众。当自己不是很确定时,多征求别人的意见

(4)一个成熟的过程。成熟的过程就是要平衡勇气和度量。要有很好的耐心、度量才能够悉听、理解别人。要有很大的勇气、信任才能对人倾诉。


>> 如何与他人相处
Ø 我怎样对待别人,别人就怎样对待我。就像照镜子一样,你的表情和态度,可以由他人对你的表情和态度上一览无遗。你若以诚待人,别人也会以诚待你。你若敌视别人,别人也会敌视你。最真挚的友情和最难解的仇恨都是由这“反射”原理逐步造成的。




Ø 我只能修正自己,我不能修正别人。如果别人眼里看错你了,而且你想改变这种看法,最好的做法不是去修正他们,而是改变自己,因为就算你能说服一个人承认看错了你,其他人还是会同样看错你的。蒙哥马利说:“对别人经常心灰意冷,束手无策的人,他们不是无法改变别人,而是不能改变自己。”要想修正自己,必须有坦然的态度和坚决的毅力,一步一步的修正。



Ø 我想他人理解我,我要先理解他人。所有人都希望他人理解,但是要真正有诚意地去理解他人后,你才会得到他人的信任,这时他人才会同样有诚意地聆听你的话。尤其当两方有意见冲突时,只去表达你的意见会被对方认为你在否定他,甚至你不尊重他,而造成他的“反射性”的否定你。当你理解他人后,除了表达的尊重和诚意外,也许你会基于他人的立场来重新思考你的想法,或者你会用他人能理解的方式来重新表达你的想法。最终你被理解的可能肯定会提高。


>>我想知道一个人的性格可以变吗?别人都说我有点内向,我很苦恼,我该怎麽办?

一个很内向的人不应该彻底地改变。

Jung的心理学理论提出人是从不同的事情得到他的能量。外向的人是从和他人的相处得到能量,而内向的人是从独自的思考得到能量。让一个很外向的人去独自思考,他会觉得压力很大。同样的,让一个很内向的人去参加派对或做一个演讲,他也会觉得压力很大。

但是,内向外向不是黑白的,而是一个spectrum。每一个人都可以再不给自己太大压力的前提,尽量往“内向外向”的spectrum的中间靠。

所以我建议:(1)接受你内向的性格,而从中获取益处。例如外向者喜欢从执行中学习,而内向者喜欢从思考中学习。外向者希望创新的结果,内向者喜欢创新的想法。外向者会组织人,内向者会组织思想。外向者会表达,但是内向者更有感情。(2)尽量找机会给自己一些“较外向但是不带来太大压力”的机会。例如要求自己开会时发言一次,或一个月主动交一个朋友等.(3)最终的目标是要更好的与人相处,二者不代表你必须改变自己的性格。如果你能待人更真诚一点,主动一点,热心一点。以诚待人,将心比心,多听少讲都可以让你更被人接受和信任。


>>想成为亿万富翁有什么错?很俗吗?我该怎样达到我的目标?

Rafo说得很好,“做富翁”是个目标。有目标绝对比没有目标好。

我建议你在想深一层,做富翁的目的是什么?是享受?是帮助别人?是成就感?还是?

很多研究发现没有钱的人总认为发财就快乐了,但是真的有了钱,才发现并不一定快乐。我觉得如果把钱当作最终的目标,那得到了钱,就不知下面该做什么了。

另外我想劝你不要完全的去模仿一个人。你想做富翁,不一定要像陈一样坐数字媒体游戏。他的公司的商机已过,以后不一定再有。就像你如果崇拜比尔盖茨,你也不会去做一个Basic的interpreter,对不对?


>>你容易受别人的影响吗?你又会怎么办呢?

如何让自己更有想法,能接纳别人的看法,但不被别人左右:
(1)理解自己的原则,什么是你不可放弃的?绝对不可同意不符合这些原则的事.
(2)让自己有机会表达自己的想法.如果别人都在说话,你感觉插不进嘴,那就等别人呼吸时插进去.
(3)让自己更客观,能从侧面看事情.不要什么事听到某人的立场就接受了.要知道,任何一件事每一个人看起来都可能不一样.
(4)不要分那么清楚什么是他人的想法,什么事你自己的想法.你认可的想法就是你的想法.

如何让自己做个更有魄力,有想法的人:
(1)目光接触 -- 多练习和对方目光接触,会让你慢慢不那么胆却,让你慢慢在别人眼里更有自信。
(2)讲话时少用那些拖泥带水的词(也许,可能,会不会,如果,听说,别人,我们...),多用那些有魄力的词(我,我认为,我希望,我要求...).
(3)不要自动接受别人的看法-- 你可以提出有建设性的不同意的意见,尊重他人的挑战他们的意见,表达你的看法,当然你也要听他人的意见,当别人对事,接受他人的意见.
(4)不要让他人打断你,不要让他人不理会你的意见.如果你被打断,你可以说"请让我说完".如果你被不理会,重复你的话.


>>一些话到了嘴边上,却不敢说出来,总是有些顾忌,顾忌权威,顾忌别人的感受,就是不顾忌事实和自己的感受

>建设性的不同意.

不要什么事都附和别人,要提出自己的意见,和别人不同意的地方.但是提出的时候要用建设性的方法,不要让别人觉得你在攻击他.

>要有弹性被他人說服.

不要太固执,说出自己的意见后,好好地听别人的看法,让自己做个有弹性的人.如果别人讲得对,放弃自己的意见接受他人的只代表你开明,而不代表你失败.


沉默不是金,沉默代表你没有意见,甚至代表你没有主见,甚至代表你没有想法.


>>往届毕业生该如何找工作

伪造工作经历是绝对不能做的。

但是在你向往的公司,你可以说:“我希望无论考研还是工作,都能到最好的地方学习。可惜考研的结果可能不能进最好的学校。如果能进贵公司,这对我来说是学习的良机,我愿意放弃较不好的学校读研的机会的。”

这样,如果你出乎意料地进了好学校,你还是可以去读,也没有违背你的诺言。但是如果进不了好学校,你就应该遵守诺言,在工作岗位学习。


>>招聘时的怪现象“只招博士”“非党员不要”

你应该感谢这样的公司,把公司的无能在招聘时表露地淋漓尽致,让你的筛选工作简单多了。

如果一个公司硬要招博士来做不需要博士的工作,不需要党员而只考虑党员,这个公司就根本不懂人才,不值得你去浪费时间申请工作。进了这样的公司也只会被糟蹋。就算你是博士、党员,也不要考虑这样的公司。


>>如何深入学习语言?
当你总共编到十万行时,你就可以自己成为“程序员”了。

至于语言的问题,请看以前的回答(大部分是Krest和liangzhen的):



可以先学 Pascal. Pascal 是一门很好的教学语言。然后对过程式编程有些了解以后可以学习数据结构,C 和C++。 然后可以学一下 Java 或C#. 当然我的建议只是帮助你能够了解过程式和面向对象的编程。至于要进入IT业,方向和门类很多,所以学什么更好不能一概而论。



如果希望能够进入计算机系,拿一个“科班出身”的学位,从Pascal学起不错,可以把Structuredprogramming的基础打好。但是大部分人,从Visusal Basic学起更能够速成,并增加自信。



大计算机科学的底子:c ,c++,离散数学,数据结构,数据猓砑こ蹋刹慰糓IT Open Courseware)。业余者自修:Visual Basic, Scripting,Frontpage,Flash.



C++是C的延伸,所以两者有很大的重叠部分,分不清很正常。我觉得C是基础。用C能够熟练地写程序以后,再逐渐接触C++的程序设计理念可能更好一些。



“学习一门语言的最好方法是用它来编程序”。



最后,不能只学语言。许多大学生认为学最新的计算机语言、技术、标准是最好的铺路方法,因为许多公司招聘时要求这些方面的经验。这些新技术虽然该学,但是学习计算机基础课程更重要,因为计算机语言和开发平台日新月异,但是万变不离其宗的就是那些基础课程:数据结构、算法、编译原理、计算机组成、关系型数据库原理等。有位同学生动地在“开复学生网”上把这些基础课程比拟为内功,把新的语言、技术、标准比拟为外功。只追寻时髦的学生最后只懂招式,没有功力,是不可能成为高手的。

程序员的程序不工作时他们最常说的20个回复

The Top 20 replies by programmers when their programs do not work

程序员的程序不工作时他们最常说的20个回复

 

20. "That's weird..."                                                       那真怪异!

19. "It's never done that before."                                    那是以前从来没有过的.

18. "It worked yesterday."                                             昨天还可以工作呢.

17. "How is that possible?"                                            怎么会呢?

16. "It must be a hardware problem."                             肯定是硬件问题.

15. "What did you type in wrong to get it to crash?"        你输错了什么使系统崩溃了?

14. "There is something funky in your data."                    你的数据有些古怪.

13. "I haven't touched that module in weeks!"                 我几个星期都没有动过那个模块了!

12. "You must have the wrong version."                          你肯定是拿错了版本

11. "It's just some unlucky coincidence."                         这只是一些不幸的巧合罢了.

10. "I can't test everything!"                                            我不可能测试所有的东西!

9. "THIS can't be the source of THAT."                         这不可能是那个的来源!!!

8. "It works, but it hasn't been tested."                            它可以工作,但是还没有测试过.

7. "Somebody must have changed my code."                  肯定是有人改了我的代码

6. "Did you check for a virus on your system?"                你对你的系统做了病毒检查吗?

5. "Even though it doesn't work, how does it feel?           即使它不工作,它感觉如何呢?

4. "You can't use that version on your system."                你不能在你的系统上使用那个版本.

3. "Why do you want to do it that way?"                         你为什么要那么做?

2. "Where were you when the program blew up?"           当程序崩溃时你在哪?

 

And the Number One reply by programmers when their programs don't work:

而程序员的头号回答就是:

 

1.       "It works on my machine."                                       它在我电脑上可以工作.

Or

1.       I thought I fixed that.                                                我想我早就修复它了.

海上钢琴师<详细介绍>

中文片名: 海上钢琴师(声光伴我飞/星光伴我心)
英文片名: The Legend of 1900
主 演: 添罗夫TIM ROTH 佩里特泰莱云斯PRUITT TAYLOR VINCE
导 演: 基斯比汤纳度GIUSEPPE TORNTORE
(执导《海上钢琴师》获得1990年奥斯卡最佳外语片)
D 商: 全美YUAN版D9
出 版 商: 江苏文化音像出版社
图像比例: 16:9
字 幕: 繁体中文字幕/英文/cc字幕
音 轨: DD 5.1/DTS 5.1/DD 2.0/音乐声轨
片 长: 2:05:11
数据容量: 7.07G
花 絮: 预告片(2""41"), 演职员静态文字,Music Video:"lost boys calling"(5""12")
  电影原声大碟。
PowerDVD测试数据:
Video Mode : weave
TV system : 525/60 (NTSC)
Aspect Ratio : 16:9
Display Mode : Only Letterbox
Bitrate : 7.50Mbps
备 注: IMDB 7.4/10 (1325 votes),又一部倍受赞誉的音乐文艺片,曾获得1990年奥斯卡最佳外语片奖。
此YUAN版D9为集成1、3区版,1区图象声音+3区中文字幕,并将1区英文菜单和3区中英文动态菜单集成为随机双菜单模式,在“PLAY”按钮处按左右键可互相切换。 1区菜单里除静态演职员资料外有一16:9的预告片及一首MTV,在原版就没什么花絮的情况下,这首MTV是最值得注意的地方了,所幸的是YUAN版将这首歌配了中文翻译,加上原有的英文歌词,感觉相当之爽。
3区菜单中也有一预告片,满屏,合成中文字幕,另外那些导演及主要演员的中文介绍也给E文不太好的碟友带来很多方便。
此D9的又一亮点是做了《海上钢琴师》的OST,奇怪的是microlight写的谍报根本没有提及此OST,可想而知,作为一个音乐片,不带上她的OST绝对是一个遗憾。在两个主菜单中均可
进入OST选单。
附OST目录:
01 1900""s Theme
02 Legend of the Pianist
03 Crisis
04 Crave
05 Goodbye to Friends
06 Study for Three Hands
07 Playing Love
08 Mozart Reincarnated
09 Child
10 1900""s Madness #1
11 Danny""s Blues
12 Second Crisis
13 Peacherine Rag
14 Nocturne With No Moon
15 Before the End
16 Playing Love
17 I Can and Then
18 1900""s Madness #2
19 Silent Goodbye
20 Ships and Snow
21 Lost Boys Calling
内容简介:
1、出场。影片被安排在一艘巨无霸蒸汽船上,船的名字就叫弗吉尼亚。这是意味深长的。弗吉尼亚号每年往返在欧洲和美国之间,既载豪客,也装移民。俨然一个社会的缩影。“每艘船上都有一位率先发现自由女神的移民”,随着“亚美利加”的叫声,经过两个半月漂泊移民的希望就充盈于心——好日子就在眼前。但是作为美国人的船员并不这样想,他们年复一年地铲煤,只是为富人的生活添加色彩而已。1900年元旦,黑人DANNY在大堂拣到一孩子,并收养了他。小孩的摇篮上有“T.D LEMON”的字样,所以孩子就叫DANNY BOMAN T.D LEMON 1900。DANNY甚至认为,T.D是THANK DANNY的缩写,孩子是上天的恩赐。直到几年以后,DANNY教1900识字,才发现T.D LEMON不过是著名柠檬的商标,号称柠檬之王。记得好象是O.HENRY的一短篇小说,一垂死的老太太叫小孩写遗嘱,小孩一直看着街道对面的招牌,最后写下几个充满稚气的字:可口可乐,请喝可口可乐(ENJOY COCA COLE)。人被物化。多具有讽刺意味。
2、雏凤试声,22:30。1908年,DANNY在工作中不慎重伤不治,无人看管的1900游荡到大堂,被钢琴深深吸引。夜晚,1900独自弹奏,曲目正是以后多次出现的曲子,不妨叫做“THE LEGEND OF 1900”吧。他的琴声吸引了满船的客人。一个站立没有钢琴高的小孩,坐在琴凳上,双手在琴键上飞舞,脸上的煤灰没能掩饰其稚气和认真。有一个旁观的女船客脸上还涂着面膜——真令人感动。船长发话:1900,你弹琴,这不符合规矩。岂料1900语惊四座:去他妈的规矩!
3、钢琴之旅,30:00。男二号MAX出场,并且顺利上船成为号手。不料遇到风浪,7层楼高,可以装载2000人的海上巨无霸弗吉尼亚号在造物面前也不过是惊涛骇浪中的一叶。MAX吐啊吐的,还是不习惯。他遇到了1900。1900声称可以医治晕船,并把MAX带到了大堂。松开钢琴的固定之后,1900和MAX坐上钢琴去兜风,开始了奇妙的钢琴之旅。在大堂飞驰,穿过斑斓的玻璃幕墙、豪华的木墙,一直穿破船长的房门,到达船长的卧室!
4、移民的心声,40:00。无论是为衣冠楚楚的富人,还是为“济济一堂”的移民,1900在88个琴键上的耕耘都那么绝美。1900为底仓的移民演奏的时候,理发师会不由自主跟随节奏为别人剃胡子、妇人跟随节奏喂孩子、跟随节奏吃苹果、跟随节奏纳衣服,更多的人在音乐中忘记了旅途的劳顿、生计的苦恼。真是偷得浮生半日闲。说到节奏,想起有关“巴哈” 的故事。话说巴哈把他的仆人解雇,并介绍给他的朋友。朋友问起原因,巴哈说:“这个仆人倒是勤快,只是他拍打灰尘时,没有节奏感!”有一次,1900为整仓来自同一个地方的移民演奏,移民叫他演奏民族曲目“TARANTELLA”,1900仅凭几个音符,就从移民的欢快语调中弹奏出“TARANTELLA”,整仓的移民沸腾了,他们热烈的鼓掌,乡愁也消失得无影无踪。可惜快乐是短暂的,快乐的背后是无穷无尽的痛苦和寂寞。随着“亚美利加”的叫声,整仓的移民消散得无影无踪,只留下孤独的1900一个人。
5、辉煌印记,45:00。远镜头拍摄1900,镜头拉近,拍摄他床头的照片,有1900和海菲茨的合影,居然还有爱因斯坦拉小提琴为1900伴奏的照片!!
6、神技近妖,50:00。1900在弗吉尼亚号生活多年,阅人无数。他为MAX展示技巧的时候,辨认出谋杀亲夫的富婆、无法忘记过去的忧郁男子、看破红尘的妓女和寻找机会的年轻人,并且一一为他们演奏出应景的音乐。
7、大比拼,58:00,这是本片最精彩之处。JAZZ乐的创始人 JELLY ROLL MORTON听说弗吉尼亚号有1900这么个演奏能融合十种风格的奇人,很不忿,上门挑战。曲目一,JELLY的拿手JAZZ乐,并且用半支香烟记时。这是纯粹炫技的,一个字曰快。小提琴大师海菲茨也是个炫技派,他也以快著称。在海菲茨时代,经常可以看到“XX大师演奏XX曲目用XX分钟,而海菲茨只用XX分钟,比XX大师快X分钟”诸如此类的报道。1900并无比拼的心情,以一曲简单的“平安夜”对应,观众和船员都十分不解。用MAX的话说:这是场1900用单手也能获胜的比拼。1:0,JELLY先拔头帱。JELLY见状,以一复杂的曲目再次出手,一个字谓之繁。1900轻松应战,他重复了JELLY的曲目。看似JELLY技高,其实1900过耳不忘,才真正是强中手。1:1!虽然观众不解嘘声不断,JELLY却开始严阵以待了。他弹奏一曲又快又繁的曲目,妄图打垮1900,并且言辞伤人。奏罢,JELLY不禁泪盈眶——为自己的高超技艺自豪,也为自己身为黑人而自豪——因为他进入大堂时,有人说:原来他是黑人!其时黑人还是受到很大的歧视,就算尊为JAZZ之父的JELLY,也未能例外。虽然富人阶层还是很喜欢JAZZ的,但是歧视黑人的态度不减。红透米国的“猫王E.P”——当时发掘他的音乐商人的评价是:“我们终于找到能象黑人一样唱歌的白人了!”1900不为所动,问MAX要了一支香烟,祭起“弹奏无影手”,先是“野蜂飞舞”LIKE,然后“狂风骤雨”LIKE,最后是“十面琴音”...啊不对,应该是“天地琴音”才对,一时间,天地间充塞的都是1900的琴声,不绝于耳。奏毕,四下寂静,1900拿起香烟,在琴线上放置,居然点着了香烟!观众醒悟,掌声雷动。琴线高速跳动摩擦,温度居然在120摄氏度以上!其实这回1900取巧了,钢琴经过5首高难度曲目不间断的弹奏,温度已经很高,最后的曲目只是增加了部分温度而已。就好象《神雕侠侣》里的觉远,虽然有九阳神功,也要千斤重担的力量,才能抹平“昆仑三圣”何足道的以剑划石的棋盘。1900从此成为传奇。据说,1900“弹奏无影手”已经在乐器谱上排名第一......
8、邂逅,75:00。每个人都有刻骨铭心的一段感情,1900也不例外。1900破天荒允许现场录音,录音过程中,他看见了“海的女儿”,深情地再次弹奏那曲“THE LEGEND OF 1900”,得到乐商的赞叹。在回放过程中,1900被刻录模版发出的自己的音乐吓一跳,1900坚持自己和音乐不可分离,把模版抢走。非常有道理,录制技术的诞生使得音乐家和他们的音乐分离。音乐出版业使我们可以随时随地欣赏大师们的佳作,不必限制在现场,后人对巴哈、格拉萨弟的演奏不能耳闻目睹是有遗憾,但绝不错过海菲茨、帕尔曼的演奏,也不会再有这样的遗憾了。但是,音乐和大师分离,并且独立存在,“道”也沦而为“术”了。唱片业的发展,福耶?祸耶?而1900心中的女神最终离船而去,临走的一刹那,1900矛盾不已:是追随她而去还是固守从不上岸的原则?心中一片怅然......
9、终章,105:00。MAX终于在废弃的弗吉尼亚号上用唱片找到了宁死不下船的1900。他和1900作了一番长谈。MAX终于没能说服1900下船——他尊重1900的选择。1900和弗吉尼亚号在6吨半炸药的爆炸中,演绎了他的终章。其时,1900已经到了“心中无琴”的境界。天堂是有钢琴吗?1900问道。没人能回答这个问题。
以上部分内容出自:《声光伴我飞/海上钢琴师》观后感 外一篇 作者:西江
   《海上钢琴师》碟报 发信人:microlight
特此注明出处。

猜猜这些诗的出处

临流揽镜曳双魂

荡红遂青裙

依稀往梦幻如真

泪湿千里云

风骤暖

草渐新

年年秋复春

温香软玉燕依人

再启生死门

————————————————

花似伊

柳似伊

叶叶声声是别离

雨急人更急

湘江西

楚江西

万水千山远路迷

相逢总有期

————————————

灵珠有泪自千行

等闲芳草斜阳

离人过客暗凄凉

偷羡鸳鸯

伤心脉脉难述

风剪寸寸柔肠

神仙人鬼两茫茫

情短恨长

————————————

锦瑟年华谁与度

莫问情归处

只影向斜阳

剑吼西风

欲把春留驻

天涯芳草无归路

回首花无数

解语自销魂

弱袂索春

尘缘不相误

-——————————

千金难求珍宝

家和易得欢笑

人生自是有情痴

愿做双飞鸟

情两难兮付

是一丝烦恼

蓦然回首神仙地

还道人间好

——————————————

身世飘零叹孤独

回顾盼相挟

情天不老

雷霆易逝

雨过云舒

相思不忍轻离别

携手更如初

风急波涌

扁舟不系

终恋江湖

——————————————

刻舟行远人归去

笑靥无凭

私语无踪

魂断香消弃旧情

玄冰刻悔风吟恨

好梦成空

眼泪迷蒙

遥看春花塑雪中

————————————

碧水连天净无浪

转东风

滟纹微涨

个中趣

莫谴人知

年年日日

兰舟共上

平生书癖已均羔

解名缰

更逃羁网

春近也

梅柳频春

花间闲度

细雨流光

-————————————

星沉日落夜闻香

素手出锋芒

前缘再续新曲

心有意

爱无伤

江湖远

碧空长

路芒芒

闲愁滋味

多感情怀

无限思量

-————————————

纷纷雪落人飘坠

同死生

共玉碎

前尘后世君莫问

柔肠百结如醉

情丝未了

索绕千千岁

舍却残生犹不悔

身已空

尽成泪

路长梦短无寻处

总是情愁滋味

眉间心上

柔肠百结尽付东流水

——————————————-

大梦初醒已千年

凌乱罗衫

料峭风寒

放眼难见旧衣冠

疑真疑幻

如梦如烟

看朱成碧心迷乱

莫问生前

但惜因缘

魂无归处

贪恋人间

不羡神仙

——————————————

情眷恋

古往今来相看

几度流光人更远

伤离方寸乱

回梦空传幽怨

依旧尘缘未断

碧落黄泉寻觅遍

愁来天不管

————————————

酒入愁肠

一生惆怅情多少

纵横今啸

思恋相索绕

魔坠凡尘

难谴流年老

人间道

天涯芳草

依旧多情好

——————————

弃剑封刀

大隐归闹市

自觉逍遥

断江湖旧梦

任六界风波

金窗绣产看妖娆

情丝暗生

心事难描

佳期晚

怕流年暗消年少

春到

人难老

回首仙家

自是人间好

旧雨新知

雨难分付

别有一丝烦恼

几度轮回误尘缘

换巢鸾凤教偕老

羡鸳鸯

纵千金难买一笑

记被蟑螂咬

最近家里突然发现好多蟑螂。前天又被咬好了好几口,痒的受不了醒了,现在还在痒,不知道啥时候会好.

所以警告大家:“千万别跟山大刚毕业的合租,这蟑螂不是闹着玩的.受够了.”。

除非他把他所有的被子都扔了换新的。

碟中碟3----强烈推荐



-----------------------------------------------------------------

◎中文 名 碟中谍3/职业特工队3/不可能的任务3
◎片  名 Mission Impossible III
◎年  代 2006
◎国  家 美国
◎类  别 动作/冒险/惊悚
◎语  言 英语
◎字  幕 无字幕
◎IMDB评分 6.8/10 (21,963 votes)
◎IMDB链接 http://www.imdb.com/title/tt0317919
◎文件格式 XviD + AC3
◎视频尺寸 640 x 272
◎文件大小 2CD 2 x 49 x 15MB
◎片  长 125 Min
◎导  演 J.J.艾布拉姆斯 J.J. Abrams
◎主  演 汤姆·克鲁斯 Tom Cruise .... Ethan Hunt
      文·瑞姆斯 Ving Rhames .... Luther Strickell
      克里·拉塞尔 Keri Russell .... Lindsey Ferris
      Philip Seymour Hoffman .... Owen Davian
      Bahar Soomekh .... Ms. Kari
      Laurence Fishburne .... John Brassel
      Billy Crudup .... John Musgrave
      西蒙·佩吉 Simon Pegg .... Benji Dunn
      Michelle Monaghan .... Julia
      Jonathan Rhys Meyers .... Declan
      Maggie Q .... Zhen
      Sasha Alexander .... Melissa
      Greg Grunberg .... Kevin
      Michael Berry Jr. .... Kimbrough
      Carla Gallo .... Beth
      杰夫·蔡斯 Jeff Chase .... Davians Gaurd

-----------------------------------------------------------------

语言:英
字幕:中
格式:DVD-RMVB
大小:586M
尺寸:640 x 272
时长:125分

-----------------------------------------------------------------
◆剧情简介:

剧情简介:
  由超级精英组成的美国最高机密特务组织I.M.F. (Impossible Missions Force)负责为国家解决最严峻的恐怖活动。每位成员各有所长,以易容、计算机入侵等特技进行间谍工作。他们身份隐蔽,目标各异,且经常神出鬼没。而今次他们要完成的任务更是匪夷所思……
  率领I.M.F.的伊顿(汤姆·克鲁斯饰)曾完成多项任务,但今次他却陷入了敌方所设的陷阱,被引到欧、亚两地,正面挑战对手。
电影幕后:
  J.J.艾布拉姆斯(J.J.Abrams)讲故事的本领在好莱坞号称一流,热播五年的《双面女间谍》(Alias)和当红剧集《迷失》(Lost)均出自该君之手,因此做为《职业特工队》系列第3集的本片要在悬疑的剧情和错综复杂的人物关系上下工夫,剧情自然要对外封锁得严严实实。但毫无疑问,汤姆·克鲁斯饰演的超级英雄Ethan Hunt仍将在身边好友的帮助下,接受“不可能的任务”。该片在全世界十多个国家取景,其中包括中国的上海,影片中还将出现香港影星MaggieQ的身影。
关于影片:
  《碟中谍3》这个剧情基本可以套在任何动作片中,没办法,汤姆克鲁斯刚刚结束《借刀杀人》的拍摄,估计还在宣传中。M:I3 在剧情和风格上继承第一部作品,在悬疑的剧情和错综复杂的人物关系方面下功夫,所以像第二部那样比较酷的动作可能会比较少。影片的女主角选定《黑客帝国》系列中的Carrie-Anne Moss,导演换了又换之后,确定的人选是......一个我不认识的。
  《碟中谍3》原定5月份上映,大概是角色选定方面的延迟,影片推后一个月上映,定于6月底。派拉蒙后就没有拿得出手的作品了,成与不成就看这部影片的成绩。和派拉蒙情况差不多的就是米高梅,米高梅的拳头产品就是007,最新一集明年年底上映。
  因执导热门剧集《迷失》而获艾美奖的导演兼编剧J.J.艾布拉姆斯应邀执导这部投资1.5亿美元的暑期大片。混血美女Maggie Q是救援行动队的成员之一,在片中与克鲁斯并肩作战。《碟中谍3》的动作场面是前两部的总和,也是克鲁斯从影以来动作戏最多的一部,为此,早在拍摄《世界之战》前,克鲁斯就开始为片中所需特技动作接受专业培训。影片的取景地跨度极大,其中除包括美国弗吉尼亚州、意大利罗马以及小部分德国柏林的外景之外,浙江古镇西塘及中国...
  《碟中谍3》剧组秘密进驻浦东,拍摄地点选中了与东大名路交汇的一条名叫永定路的、已拆迁的小马路上,拍摄的背景就是远处的东方明珠和金茂大厦。阿汤哥在片中的得力助手、混血女星MaggieQ昨天终于上阵,虽然她露脸的时间不过短短几秒,但还是反复拍了很多遍。
  阿汤哥片中是一身黑衣黑裤,MaggieQ也是一身黑色紧身衣,拍摄的是跳车镜头。据悉,《碟中谍3》的拍摄进度比预计要快,原定12月4日结束的拍摄很可能明天就能完成,MaggieQ在完成了自己的戏份后,今天将离沪,而汤姆·克鲁斯及导演等还要出席该片在沪的新闻发布会。
  作为暑期档首部上映的大片,即将在下月5日正式上映的《碟中谍3》遭到了当头一棒。一位被严重烧伤的特技师状告汤姆·克鲁斯的公司——C/W制片公司,认为该公司严重侵害了自己的权益。
  这位名叫史蒂文·斯科特·赫特里的特技师是在当地时间30日正式向洛杉矶地方法院提起诉讼的。在起诉书中他宣称,事故发生在2005年6月6日,当时有一场烟火爆破场面的戏要拍,但是突然发生了意外,作为特技演员的他被无情地烧伤,医生诊断的结果是全身上下60%被烧伤。他认为这起事故完全是制片方的责任。起诉书中称,当时在场的副导演和合作的工作人员违反了美国职业安全健康局(OccupationalSafetyandHealthAdministration)的条规,并没有提前准备必要的救险措施,他说旁边甚至没有防火服和灭火器等最基本的防火物品。
  这起事故发生在洛杉矶的杜尔斯电影基地。据受伤的史蒂文回忆,在此之前并没有人警告过他会有“汽油炸弹”会被引爆,所以在毫无防备的情况下,他被意外地击中,浑身上下都被火点燃。后来被送往医院之后,他被诊断为三度烧伤,浑身上下多达60%的皮肤烧伤。他的律师称此事件给他的当事人无论在身体还是精神上都造成了极大的伤害。“他的情况很严重,精神上也遭遇了极大的痛苦,他通常表现得焦躁不安。”而且此事件还影响到了他和妻子玛丽的婚姻。
  史蒂文并没有提出具体的要求赔偿金额。他提到了被告方必须承担这段时间以来的医疗、生活起居费用以及他日后所需要的生活费用。因为他几乎失去了工作能力。另外,他还要求被告方对自己造成的精神伤害进行赔偿。
  尽管被告上了法庭,但是汤姆·克鲁斯本人以及他的公司都没有对此事件做出回应。《碟中谍3》将会于今年5月5日登陆全球影院,由于该片曾经在中国浙江取景,因此该片有望与北美同步上映。作为北美暑期档的首部重量级大片,该片的票房也是全球年度票房冠军的有力争夺者。汤姆·克鲁斯继续出演该片男主角伊森·汉特,女主角包括凯丽·拉塞尔和华裔女明星MaggieQ。新科奥斯卡影帝菲利普·霍夫曼扮演大反角,肯定也有精彩表演。
影片点评:
  向来搏命的汤告鲁斯今次亦亲自上演大部分动作戏,更摆明要突破从影以来的底线,挑战多个夺命动作,从已曝光的剧照和预告片看来,本片的动作场面超过前两集,里面有一如既往的中国功夫,也有劲爆刺激的飞机汽车连环爆炸,还是春色旖旎的激情场面,这一切都让《碟中谍3》充满吸引力。
  事实上,有汤姆·克鲁斯的招牌在,就不愁票房会差到哪里去,只是看看能否成为今年年终的票房卖座冠军。

-----------------------------------------------------------------
◆截图:


《海军调查处》(《NCIS》)

NCIS(海军犯罪调查机构)是一部关于一支特工小组的动作剧集,这支小组隶属五角大楼的特别部门,肩负着调查任何有一丝证据证明与海军及海军陆战队人员有关的犯罪,且不论其级别或职位的高低。领导这支小组并独立于海军指挥系统的是NCIS特工Leroy Jethro Gibbs (Mark Harmon饰),这名经验丰富的调查员与审问员是个机智、强硬并且为了完成任务愿意打破常规的人。直接受Gibbs领导的是Anthony DiNozzo特工 (Michael Weatherly饰),作为一名前重案组探员,其出色的本能来自于大量的调查经验。之后加入他们俩的是Kate Todd (Sasha Alexander饰),一个美丽而又坚强的前特勤处特工,曾与Gibbs短兵相接(见NCIS第一季第一集)。还有从事技术分析工作的Abby Sciuto (Pauley Perrette饰),是一名天才科学家,她那黑色幽默与哥特风格的装扮相得益彰。新加入小队的是Timothy McGee (Sean Murray饰),麻省理工学院(MIT,剧中经常会提到)的毕业生,他对电脑的精通使他在Gibbs率领的小组中成为一名见习特工。在小组背后默默支持的是法医Donald "Ducky" Mallard (David McCallum饰),他见多识广。从谋杀、间谍活动到恐怖活动、盗窃潜艇,这些特工们为了调查所有与海军及海军陆战队相关的犯罪活动,足迹遍布全世界。
虽然同样由CBS电视网制作,NCIS却和CBS的另一王牌剧《犯罪现场》(CSI)有着极大差别,NCIS每集只专心讲述一个案子。CIS重点在于犯罪证据的收集和调查,NCIS侧重于案情的悬疑曲折以及主要角色的鲜明个性。第二季开头的一个案子就非常有代表性,一家军用直升飞机停在麦田中央,直升飞机周围的麦田全部伏倒形成了一个圆圈。而驾驶飞机的海军陆战队员则已经不知去向,这样的开头不禁一下让观众想到了外星人。不过NCIS毕竟不是《X档案》,事情的真相还是要回归到真实的生活中来。个性鲜明的几位长线角色也是NCIS吸引观众的另外一大卖点,上到调查处头头吉不斯,小到一个验尸官的助手,每一位NCIS成员都有着与人不同的特殊性格。这样一来,每位观众都能在剧中找到自己喜欢的角色。



吉布斯
  NCIS的头头,曾在海军陆战队服役,因此有着丰富的实战经验。吉布斯头脑敏锐,判断事情喜欢靠经验和逻辑判断,深得下属拥戴,是NCIS的灵魂人物。不过他的私生活则比较糟糕,有过三任妻子但是都离婚了。业余的时候吉布斯喜欢到家里的地下室去造船。不过看起来,他那艘小型木船总也是完工不了的。
  

东尼
  是NCIS的活宝人物,曾經在重案組工作的他憑著直覺,常會有出人意表的神準判斷。东尼是意大利人的后裔,生性活泼爱跟所有人开玩笑。跟女同事凯特是冤家对头,工作中两人吵嘴是家常便饭的事情,其实私下里两人的关系非常好。比如东尼看到凯特因为害怕而不敢去看牙医,还会很热心地替她介绍心理医生。东尼天不怕地不怕,只怕顶头上司吉布斯,因为吉布斯动不动就会给他脑袋上来一个爆栗。  

达克
  年龄最长,有着高超的法医经验,因此也是团队里最受尊重的人。达克操了一口英国腔,喜欢古典音乐。


艾比
  年轻的艾比与麦基一样,在计算机方面有着超人的天赋,因此和麦基也是最有共同语言的。艾比喜欢文身,喜欢把眼圈涂黑,说话嗓音沙哑,是NCIS团队里最“怪”的一位。不过却也是NCIS的核心力量,因为所有的现场证据都要靠他来分析。(我来两句:她可不仅仅是熟悉电脑而已,他简直是个全才还是个天才,我都不知道有啥她不懂的,而演员本人也是犯罪勘察学的在读博士。)

凯特
  曾经任特勤处特工,做过布什总统的贴身保镖,这也是凯特最爱炫耀的事情。除了爱跟东尼拌嘴之外并无太多毛病。调查案件的时候经常有奇怪的女性直觉,不过一贯都很准确。凯特办事扎实可靠,因此也成了吉布斯最信赖的助手之一。 
麦基
  麦基这个角色在第一季里还只是个配角。剧集播出之后,麦基出人意料地受到了观众的热烈欢迎。在第二季开头,制作人顺势将麦基这个角色“提升”为特别探员,成了NCIS里的一个长线角色。麦基其貌不扬,看上去还有些呆头呆脑,但是却是NCIS里学历最高的一位,在通讯和电脑方面是个天才。  

 ----------------------------------------------我来两句----------------------------------------------------------
故事发展到第4季也有了很多戏剧性的事情发生。KATE的死,ziva为救boss gibbs杀死自己亲生哥哥(一个恐怖分子)等等。

总之相当好看。