年 的个人资料空灵照片日志列表更多 工具 帮助

日志


12月2日

五音养生

“百病生于气”。这个“气”不仅是情绪,五脏的脏气也包含其中。根据每个人自身的身体结构不同,五脏在脏气上的差异,配合不同的音乐,就可以使五音防病、养身。据说在古代,真正好的中医不用针灸或中药,用音乐。一曲终了,病退人安。

    肝--五脏中的将军

    属肝的音节:角音,相用于简谱中的“3”

    最佳曲目:《胡笳十八拍》

    最佳欣赏时间:19:00-23:00

    心--五脏中的君主

    属心的音节:徵音,相用于简谱中的“5”

    最佳曲目:《紫竹调》

    最佳欣赏时间:21:00-23:00

    脾--五脏中的后勤部长

    属脾的音节:宫音,相用于简谱中的“1”

    最佳曲目:《十面埋伏》

    最佳欣赏时间:在进餐时,以及餐后一小时内

   肺--五脏中的宰相

    属肺的音节:商音,相用于简谱中的“2”

    最佳曲目:《阳春白雪》

    最佳欣赏时间:15:00-19:00

    肾--五脏中的作强之官

    属肾的音节:羽音,相用于简谱中的“6”

    最佳曲目:《梅花三弄》

    最佳欣赏时间:7:00-11:00

(有个五音养生MP3资源下载:http://lib.verycd.com/2005/06/11/0000053736.html )

(以下资源来自 时尚健康女性 杂志截图,点击查看大图,都是1024*768 的清晰截图哦)

  

  

12月1日

发现如此精妙的东西,不得不写上一笔

 

怎么样?聪明的你发现什么端倪了没有啊?我怎么从来就没有想到过这样设计呢?哦,因为我不是设计钟表的...

(图片来自 瑞丽·家)

11月15日

终于开始使用 Windows Live Writer 写日志咯!

使用客户端 Windows Live Writer 写日志,告别痛苦的在线书写经历,感觉实在是太好了~

12月14日

《破日》-Day Break 5

刚看完《破日》5,洗漱的时候想到了一些“严重”的问题。
 
《破日》讲述的是一个人循环重复的过着同一天的故事,抛开故事不谈,这集里男主人公为了心爱的女人,在挟持同事了解案情的情况下,还要把所有的亲人找来,确保安全,这一行动引起了我的“遐想”
 
时间+亲情=“严重”的问题
 
等我老了,父母也老了,最终会有种孤独感,当然那个时候会有个好妻子相伴,还有儿女,但现在什么都没有,所以想来也只有孤独感。
 
现在保持联系的朋友太少了,不经常一起出去玩,大家估计都在平时忙着赚钱,也没有空去玩,玩了又要花钱,哈哈。
 
时间如果老在一天重复,也未尝不是意见坏事,慢慢就会对这一天越来越熟悉,当然最终也就觉得无聊了(这个要很久了呢,世界上的一天会发生很多事情的吧)
 
我们的时间终有一天会用完,每一天是不是都应该尝试去尽最大努力做到最好,为明天做好铺垫,准备。因为明天毕竟不是最后一天,要有目标。
 
现在大家都忙着赚钱,如何守护好自己的未来呢?就我现在的眼光来说,为自己,父母买份 合适的 商业保险 吧。
 
还有一个问题,如何保护好自己的财产?第一个想到的是黄金,黄金现在市价19X元(低价16X元,回购15X元),但据说80年,黄金6X元,现在也才16X元,看来黄金价格还是和国际市场保持同步多一些。何物才是能够适合我的需求的呢?
 
说到需求,购买商业保险一定要是适合自己的,而不要贪图其他,比如看保额高啊,保险范围广,分红高啊什么的。切忌!
 
更多更好的理财文章,建议,经验分享   www.amoney.com.cn (第一理财网)
 
先瞎写一通吧,标记一下,睡觉!
7月15日

好友汇砂锅 ★实战点评★

刚吃完回来,开始暴料,^_^
 
吃了96,赠饮2瓶啤酒么只有喝了一瓶,询问是否可退,被告知赠送啤酒不能退换,ok,有制度,作罢。但拿走就感觉不舒服,毕竟我喝掉喝你拿走还是对你有利点--其1
 
一看,满100送30抵用券,那我建议要么连那瓶啤酒,再一起统算给我个抵用券算了,被告知不能,ok,有制度,作罢。但想想他们也蛮傻,拉回头客的抵用券都不舍的给--其2
 
hi,桌上剩下的4个荠菜百叶包我要打包带走的,我要分2个包带走,结果还是我自己带走了4个,分享计划没有成功--插曲
 
最后就付款,索取发票咯,96给90的发票,问其还有6元呢,撕了6元给我。ok,这个怎么就不讲制度了咯,很人性化吗,可以自由调整的哦--其3
 
由此可见,对待客户的利益和对待自己的利益采用不同的手段,不会拉拢客户,还要被我在此数落一番,着实这个商家太不明智。
 
人性化管理,人性化服务才是最高宗旨。客户满意生意自然才会兴隆。
 
最后,总体还是不错,吃吃饭还是可以的。
 
上述自身行为真的其实有点无聊之举,就想好好放松一下,玩闹一下。
 
本点评已经在大众点评网发布
7月3日

失去后才知道什么是最珍贵的-硬盘覆灭记

    硬盘,80G的西部数据硬盘,购买于 2003.04,今天终于完蛋了,带着我珍贵的数据,走了。
 
    前记:先前系统就有突然关机,并伴随硬盘“当“的一声,知道硬盘有问题了。。。。。
 
    中记:分区丢失了,用软件恢复了回来,数据都在,嗯放心了。。。。。。
 
    后记:运行了那个可恶的 PERFECT DISK,进行磁盘碎片整理,然后上班去了,结果。。。。。。
 
    数据坏区扩大了,基本数据全部覆灭。
 
    其中思前想后,最最珍贵的就是购买 DC 以来一年拍的所有照片,按照时间先后拍的照片。
 
    有新买 DC 时候的,植物园各种花季的(这个还可以补),出差旅游的(部分可以通过同事的回补,但也不全了),等等。。。。。。
 
    不过现在想想还可以,呵呵。
 
    再次借鉴老板的话 ---- XX无大事!
6月27日

公司研发部人员再次变更

    公司研发部,工作刚满1年的 小陈,离开了我们开发团队,继续了他自己的人生航程。
 
    刚刚加入公司的时候,对于老员工的离职还不是十分敏感,离开了也就逐渐淡忘了,也是由于处在比较下游的职位,所以没啥感觉。
 
    直到,作为一个中层小领导,知道了公司的大方向意图,人员安排意图。用了心思去考虑下属员工的各个方面,才慢慢有了感觉。知道了一个公司运作的难度。
 
    直到第一个下属的提出不干了,到后继的反反复复,受到了相当大的打击,但通过这些打击,如果这些可以称作为打击的话,我慢慢的对人员流动这个问题的想法变的成熟了,也许只是麻木不仁了,麻痹了自己。
 
    人员流动是绝对的,不流动是相对的。
 
    所以,在日常工作中,就要投入最大的心思去关爱下属,让他们融入团队。如果最终他们选择离开,那也已经留下了美好的东西。
 
    人生,就像航船,中途会停靠上某些大船一起前行一段,然后又分开,各自开始新的航程。
 
    人生的每一天都要精彩,做到最好的自己。
 
    ---- 感情又是一篇励志文章
 
 

上海美食搜寻----干锅飘出蜀地香

上海美食搜寻
干锅飘出蜀地香
------------------------------------------
  吃过干锅没?
  当然!
  吃过四川风味的干锅没?
  ……干锅不是贵州的嘛!
  瞧瞧,落伍了吧。知识无国界了,区区一个小干锅的做法难道还不能共享?
  这不,四川干锅就堂而皇之地叫上了板。
  一上桌,别的不说,“咚咚咚咚”四只巨大如盆的铜底雕花锅儿冒着热气端了上来。滋滋的香味串在一起,红椒的辣、花椒的麻、青蟹的鲜、兔头的咸、牛蛙的嫩、小龙虾的香,统统混合在一起,直钻到鼻尖儿里,顿时就让人心如鹿撞欲罢不能了。
  四川味儿在哪里?
  这就看你“懂不懂经”了。
  干锅最初是贵州的特色,火塘上的铁锅翻炒,逐步延伸成干锅。可到了蜀地,干锅就陡然一变,浑身上下洋溢出天府之国的鲜香美味来。你看看干锅里那一粒粒小小黑黑的豆豉,来自四川陴县。陴县豆豉天下闻名,又咸又鲜香气扑鼻。再看那小块小块的生姜,和江南的就是不一样,小巧,但紧实饱满,切开来,满桌清香。据说这生姜平时要浸在红泥里,确保水分不散发。等放入锅里的时候,就使出全身功力,让独特的川味在干锅里愈煮愈浓。
  还有辣椒、八角、桂皮、香叶……件件都是四川当地空运过来的法宝。干锅做法固然没太大区别,好吃的秘密就在这选料上,愈小,美味愈浓。四川风味的干锅,果然别有风味。
  不信,尝尝这道干锅香辣蟹。一点点秘制豆豉竟然能吊出如此的鲜味,酱料也极地道,恰到好处的咸,肥嫩的小青蟹就在这浓郁的酱汁中嘟嘟地翻滚着浸烤着,五脏六腑统统渗入豆豉的鲜和红椒的辣,咬一口,鲜得掉眉毛。且慢,还有奇怪的配料,灰紫色手指大小的一条条,吮上去嫩嫩的水水的,很清淡,正好中和了辣蟹的浓重味道。小身材也有大讲究,这玩意叫魔芋,据说颇有营养价值。
  提到香辣蟹就会想到小龙虾,像黄金组合一样。另外一个锅里的鱼香干锅小龙虾早已冒出通红油亮的光,让人食欲大开。酸酸的,有点儿甜润润,又香又辣的调料当然少不了。鱼香的烧法很得上海人的宠爱。
  吃干锅也要有“窍槛”,聪明人一定会先把牛蛙一扫而光。为啥?这牛蛙被煮得入味三分。那么细腻的肉质,只需轻轻一吮,便只剩下骨头了。要是煮的时间再久些,怕就要皮开肉绽粉身碎骨,融化在汤料里。牛蛙本来就是极鲜的东西,这锅里的底料便糅合了蛙肉的鲜嫩,下面拌饭都是一流。锅里还有藕片,脆生生的,值得一试。
  吃到这会儿,成都空运过来原汁原味的兔头此时味道已经丝丝渗透,正是最诱人的一刻。和别处不一样,这兔头的麻辣鲜香不靠卤,靠的先是用秘密调料干煸炸过,有了种特殊的美味。掰开,果然兔肉极嫩。一吸,就骨脱肉化,丝丝缕缕,把又咸又辣的味儿送入唇舌。辣而不燥,鲜而不腥,五香味浓郁,让人不禁吮指。
  吃干锅,要的就是这种实在的“煞根”美味。说白了,只要好吃,管它是啥风味。
  ■干锅坊地址:张扬路579号三鑫大厦5楼(浦东八佰伴旁)天府传说店中店电话:58353401

未来超乎想象的20项发明

未来超乎想象的20项发明 人类心脏有望再生
 
2006.06.27  来自:新浪科技   杨孝文 任秋凌

据6月号《大众科学》报道,今天,科技在飞速发展,我们日常的生活在发生着巨大变化,也变得越来越精彩。但科学家并不会因此而满足,他们仍在开发更先进的技术,未来5年、10年或者25年之内,将有许许多超乎你我想像的发明问世,下列20项与我们的生活密切相关的发明尤其受人关注。

  1. 15年之内,人类心脏可再生

  长期以来,科学家一直在寻求人类自愈的目标,即让器官具备自我再生能力。如今,这一看似遥远的目标似乎距离我们越来越近,美国研究人员甚至预言,人类到2021年便能再生出新心脏。

  随着干细胞技术的日趋发展,医生也许将来可以通过给患者注入能生成特定组织的干细胞,令其体内自身细胞具备自我修复能力,从而使患者受损身体器官得以康复。然而,倘若我们能促使受损器官自我修复,那不就更好了吗?

  美国波士顿海德拉生物科学公司(Hydra Biosciences)首席科学家格伦·拉尔森过去四年一直在追逐着这一器官再生梦想。目前,在哈佛大学一个研究小组的帮助下,拉尔森及同事正在开发一种蛋白质药物,这种药物能促进因心脏病发作而死亡的肌肉组织再生。

  拉尔森解释说:“心脏在持续不断地分泌能‘养活自己’的化学因子。我们现在的研究工作便是尽力加快这一自然进程。”拉尔森的公司很有可能会成为世界上第一个采用革命性技术、利用这些自然进程在需要的区域和时间生成新组织的公司。一旦心脏肌肉的功能得以恢复,患者就能提前恢复游泳、跑步和种花种草等活动。另外,这些患者出现充血性心力衰竭的可能性会更小。在美国,每年有逾五万人死于这种疾病。

  拉尔森提出的方法尽管极富创意,但实际并不难。患者可使用诸如呼吸器或超声波药枪(supersonic drug gun)等自动吸入装置,将具有再生能力的蛋白质分子输入血液中。这些不断循环的蛋白质分子将同患者受损心脏肌肉细胞表面的受体粘合在一起,从而触发化学反应,减弱抑制细胞分裂的基因的活动强度。一旦上述生物转变完成,新的心脏细胞将开始生成,填补坏死组织的空隙。结果,在几周之内,心脏肌肉功能便会得到永久性恢复。

  海德拉生物科学公司所研制的药物要几年后才能进行人体试验,但试验证据已表明此项治疗日后的发展潜力。去年,该公司研究人员在诱发老鼠心脏病发作后,连续10天给它们注射CRF-1(一种目前尚处于研究阶段的蛋白质混合物)。在心脏病发作一个月后,那些接受过治疗的老鼠的心脏肌肉功能比控制组老鼠的心脏肌肉要强20%。

  海德拉生物科学公司创建者之一、麻萨诸塞州剑桥市诺华生物医学研究中心人类基因学主任马克·基廷说:“我们真的能具备再生能力吗?答案是肯定的。可以这么说,通过松开‘遗传制动器’,我们就有可能让不同类型的细胞再生。”

  2. 15年之内,你可以下载记忆

  通常人们1秒钟可以记住两比特信息,也就是一生中可以记住几百兆信息。一张DVD可记录17G(1G等于1024兆)的信息,相比之下人的记忆力真是微不足道。你也许能清楚地记得40年前某部著名电影中的一段对白,但也许从不记得母亲的生日;或者能记住大量球星的名字,却忘掉了上周刚刚完成的工作。

  戈登·贝尔一直为这样的事情所困扰。1998年,作为微软公司的高级研究员,他开始了一个被称之为“我生细琐”的项目。他扫描了旧照片、研究文档和笔记;对每次会议和电话进行录音;为新照片和看过的电影编制目录;将每封电子邮件进行存档。他还使用微软公司测试中的SenseCam,这是一种可戴在脖子上的数码相机,能自动捕捉画面并拍照。

  贝尔现在每月将大约1G的数据归档,所有这些信息都存贮在其电脑的一个数据库中。信息采集目前还是一个手动过程,不过他预计也许15年后,人类就可以用一个多功能装置,记录下几乎所有“记忆”,它能自动记录日常活动的声音和图像;将每日的谈话、见到的面孔和读过的文章归档。它们加上电子邮件、工作日志、电视剧、电影和其他媒体,就形成了一个完整的“按需回忆系统”。

  贝尔所面临的最大挑战,是如何设计一个软件来有效地搜寻记忆库。到目前为止,该系统使用了超过20种的数据类型,来建立各种记忆的连接。借助一个全文搜索器,贝尔可在30秒钟内找到需要的信息。当他需要搜寻会议记录时,此搜索器能将参加会议人的照片和联系方式同时显示出来。他们计划研发发言人识别系统,这样就能对发言进行更好地归类和搜索。

  图像传感器和存储系统的小型化和日趋便宜的价格,很快将使这种个人信息记录系统不再遥不可及。贝尔评价道:“这样一个代理记忆给我带来了自由感和安全感,就好像拥有了一个具有绝佳记忆力的助手。”

  3. 5年之内,新型材料让你免除清洁房间的烦恼

  也许几年之后,化学工程师会找到利用二氧化钛(TiO2)保持建筑物长久清洁,远离污染困扰的方法。目前,诸如日本东京丸之内大厦等地标式建筑是首批利用半导体当外墙面涂层的建筑之一。半导体一旦暴露给光和水,便能分解有机分子(包括尘垢和污染中的有机分子),然后将它们排放到空中。不久后,以二氧化钛为材料的自洁产品将上市销售,譬如美国涂料生产公司“PPG Industries”的自洁玻璃。

  但若想将这项技术应用于家居保洁,研究人员还必须克服一道艰难障碍:该技术目前仅仅对太阳光中的紫外线起反应。研究人员正为破除这道障碍而努力工作。倘若你有机会走进澳大利亚悉尼纳米级技术研究所材料工程师迈克尔·考蒂及其同事的工作室,你一定会大开眼界。他们正在努力完善一种能对可见光(换句话说,浴室屋顶的白炽灯光)做出反应的涂料。

  二氧化钛之所以能成为多用途清洁剂,应归功于其两种化学特性。首先,二氧化钛对光敏感。一旦与光子接触,这种化学物质便能同空气和水汽起反应,加速有机物质的分解。这一过程有点像“人造”光合作用,在光合作用中,植物利用阳光分解二氧化碳,然后将其变成氧气,而二氧化钛则是利用光把油脂、细菌之类的有害物质变成二氧化碳、氢和其它能进入空气中的副产品。

  其次,二氧化钛具有吸水性或亲水性。同遇水便会让其流走的瓦和玻璃等材料不同,涂上二氧化钛的材料则会吸水,使水在表面形成薄薄一层,吸收副产品和其上面的超大颗粒。结果,粘糊糊的物质几乎不可能在上面结垢,一旦这些东西落在涂层上面,二氧化钛便会轻而易举将其冲走。

  然而,这一过程中少了阳光怎么办?考蒂表示,必须改变二氧化钛的原子结构,这样,它才能同可见光能量谱相一致,但这可不是轻易就能做到的。此外,这种改变的前提是不破坏其化学惰性,否则,一旦用于涂料,二氧化钛就有可能脱离其所涂的物体。

  考蒂并未因困难而退缩。他相信二氧化钛的市场十分广阔。考蒂说:“只要看看各种类型的抗菌喷剂,你便会清楚,这种产品的市场潜力有多大。一些人有洁癖,他们不喜欢总拿着喷剂喷来喷去,倘若市场上出现一种无需喷洒的产品,我相信销路一定不错。”

  4. 20年之内,汽车不再相撞

  开车的人最怕汽车相撞出事故,所以没有汽车事故的未来一直是尖端技术研究的目标。科学家透露了一个好消息:到2026年,你就将会拥有一辆永远也不会相撞的汽车。

  让人难以看清道路的大雨、拥挤的交通以及心烦意乱的司机等,有许多原因导致出车祸,车祸是美国事故死亡的主要原因。有一个方法可以避免大部分的事故:让汽车能够预知即将到来的碰撞,然后自动采取措施阻止相撞。建立一个汽车不会相撞的未来的关键是汽车与汽车间的勾通或者称为V2V,一些技术可以让V2V成为可能,而且已经付诸实施。日益先进成熟的全球定位系统将会让你在任何时间都能准确地知道你的车所在的确切位置,而稳定的控制系统可以跟踪你的车速以及方向,这些信息可以输入你的车载电脑上,目前的挑战是如何找到一个有效的方法把这些数据传达到其它的车辆上。

  为了鼓励研制V2V系统,美国联邦通信委员会已经清理了5.9千兆赫波段专门用于汽车之间以及路边无线电收发机间的专门短程通信(DSRC)。大众汽车的电子研究实验室帮助研制了大众汽车的图锐车型,该型车去年赢得了美国国防部高级计划研究署(DARPA)主办的年度性无人驾驶机器人挑战赛(DARPA Grand Challenge),最近,该实验室将两辆“速腾”车和两辆奥迪A3车安装了“专门短程通信”装置,并利用V2V控制这几辆车在旧金山行驶。大众汽车实验室的管理人员卡斯顿·伯格曼恩说:“这种技术目前已经可以使用了。”当然,在四辆车之间把正确的数据在正确的时间传送到正确的汽车上从而能够预测最为复杂的危险相对要容易得多,如果要在成百上千辆车之间做到这一切目前还非常困难。

  通用汽车公司在这一方面做得比大众汽车公司要好一些,他们在卡迪拉克车上安装上专门短程通信装置,让它自动停车避免事故发生。改进的稳定控制系统可以预测前面停在路中间的另一辆安装专门短程通信装置的车,然后在司机不需要自己进行刹车的情况下车上的电脑系统会自动刹车。效果非常棒,不过也有一点怪异,许多人怀疑,“不自由勿宁死”的美国人会喜欢这种全自动的汽车。

  幸好,丰田公司的一个研究小组正在研究一种人机界面,让司机参与进来,本田汽车公司正在研制一种所谓的触摸反馈,比如能够振动的方向盘轮子和踏板。他解释说:“我们谈论的这个系统就像是副驾驶一样。”

  其他的发明还有:

  5.10年之内,你可以72小时不眠不休:你犯困了,但工作还没有完,在这种情况下你只能选择茶、咖啡等可以提神的饮品。可是,10年后,服用一种东西后,你可以72小时不眠不休,而且不会觉着累。威克森林大学正式试验的成份是“CX717”,去年在猴子身上进行了试验,猴子服用后可以36小时不睡觉,同时进行的警戒测试结果表明,猴子在这段时间的表现更好,而且没有显示任何副作用。

  6.20年之内,细菌帮你减肥:华盛顿大学最近发现一种自然产生的肠道,可以影响脂肪的存储。科学家正在利用这种细菌研制新型减肥药。

  7.25年之内,男性避孕药问世:英格兰基尔大学的研究人员认为,他们已经发现在控制计划生育方面男女平等的基础:从一种淡水鱼中提取的一种化学物质,可以有效抑制性激素的产生,而无论是卵子还是精子的产生,都离不开性激素。

  8.5年之内,自我检修车问世:现在,你的汽车是否需要大修,或你想知道哪些部件需要更换或维修,你只能到汽修厂进行“体检”,但在未来几年时间里,自动检修车将问世,届时,你的汽车哪个部件需要更换或维修,汽车会向你发送邮件提醒你。

  9.5年之内,智能玻璃问世:法国一家公司研制出一种新型融入钨丝的汽车挡风玻璃,不仅可以用开关控制颜色,钨丝还给一种涂料充电,这种涂料就会将太阳发出的红外线和热阻挡在车外。

  10.10年之内,驾驶变成一种乐趣:随着电脑技术的飞速发展,汽车也越来越自动化,将来的汽车更容易控制,象电子防抱死系统等,可以将驾驶错误降到最低。汽车甚至可以加上“游戏杆”,你可以象玩游戏一样,自如地驾驶汽车。

  11.15年之内,变形轮胎问世:将来司机们换轮胎将变成一件非常简单的事情,这种感谢一种新型合成材料的问世,用这种材料象肌肉一样可以变形,用它制成的轮胎比传统轮胎性能更佳。

  12.5年之内,数码幕僚帮你出谋划策:她喜欢你吗?问一下你的手机吧。这样的事不是没有可能,可以做这种事情的所谓“社会软件”已经问世,它可以通过声音帮你分析行为、压力和对方是否对你有同情心。它还能帮你“速配”,找到你满意的梦中人呢。

  13.10年之内,DNA扫描仪问世:加拿大一个动物学家正在研制一种手持式基因解码仪,只需要用一点点样本,就可以进行DNA分析,它会清楚地告诉你,找正在研究的是不是一种新物种。

  14.10年之内,电子报纸:你再也不用到报摊上去买你喜欢的报纸上,有了这种象纸一样薄、象杂志一样大小的阅读显示器,你不仅可以随时看到你想看的报纸,还可以为环保尽一份力量。

  15.10年之内,智能冰箱:很多大型商场已经开始使用无线频率识别标签,将来你也可以在自己家里使用这项技术,届时有了这种可印刷的塑料标签,你在商场里只需要看一下手机就可以知道自己家的冰箱里保存着哪些食品,需要补充哪些食品。甚至连食品的保质期都一目了然。

  16.10年之内,机器人垃圾箱:你是否经常觉着自己家里很乱,那就请一个机器人保姆吧。美国麻省理工大学正在研制一种机器人垃圾箱,它不仅可以盛放垃圾,还能帮你把没有用的东西归整到一个大工具箱里。

  17.20年之内,象墙纸一样的电视机:世界杯带火了平板电视。将这里笨重的电视换成可以挂在墙上的平板,那个满足劲就甭提了。其实,让你更加兴奋的电视技术很快就要出现,新型的有机发光显示器将象纸一样薄,看远电视,它就象墙纸一样贴在那里。

  18.25年之内:你的夹克会自己思考:新型材料不断出现,届时纤维可以随周围的环境改变自己的特性,隐形衣将成为时尚青年的最爱。

  19.5年之内,带有GPS的太阳镜:现在最先进的太阳镜可以当手机使用,将来的太阳镜不仅可以浏览图片,还含有GPS装置,你会在眼镜上看到你想看的地图,到那个时候你外出旅游,那才叫一个方便。

  20.10年之内,打印一双最合脚的鞋子:一道新的制造工序可以为人们“打印”出定制的鞋子,不合脚的时代将被终结,大众享受鞋子定制服务将成为一种潮流。这种定制的鞋子是通过一种被称为“激光选区烧结”技术的三维印刷快速成型机“打印”出来的——激光将尼龙材料粒子融合在一起,利用材料添加法依次将每一层做出来并同时连结各层,直到完成整个鞋子。这将是最合你脚的鞋子。(杨孝文 任秋凌)

4月2日

DC 购买快满一周年有感

今天,又去植物园逛逛,拍了些 日本樱花,月季,牡丹,海棠,还有一些风景。
 
回来后,整理以前的一些人物照片,准备冲印一些,好在亲友相聚时分发一下。
 
根据照相档案的日期归档文件夹显示,照相机购买于 2005.04.11 (相机内置内存中还保留着 3 张购机时的照片哦,好宝贵,呵呵)
 
一个一个目录的翻看,原来去年的 2005.04.13 我已经拍过樱花,牡丹,海棠。
 
所以今天应该说的是,又见海棠,垂丝海棠,虽然我见你的感觉还是那么的陌生。
 
写到这里想起了《卫斯理》中的海棠……
 
感叹时间飞逝,一年就这样过去了,这一年中我又有了些什么成就呢?
 
还是在一毕业就加入的单位继续工作,身边是一些好久没有联系的旧友,掌握的还是那些旧有的技能,还是住在同样的地方,每天持续着做同样的事情。
 
认识了:
小何(一个落落大方,干事果断的人)
小张(一个和我同样年龄,就在为自己拼搏奋斗的人)
以及我的两个新同事,
小王(一个在一年之中由于各种原因加入又离开我们项目3次的人,呵呵。)
小陈(一个充满朝气,活泼机灵的人,一个我希望能够融入我们团队的人,一个让各自实现 1+1>2 目标的人)
 
大事记:
老王(一个陪同公司成长的人物了,终于在农历年初,有了女儿,为人父了)
 
公司,希望是一个带给我更多归属感的地方,是一个能让我实现、实践我各种想法的地方。
 
 
说了那么多,小结一下就是,感叹时间飞逝,没啥成就,希望通过这篇文章鞭策自己。
 
MICROSOFT,ORACLE 照小朱的话来说就是同样的无耻,又同样的牛B。通过峰会,确实让我重新认识了 ORACLE,再次感谢小朱!“看好,微软,甲骨文”
 
4月1日

参加 ORACLE 峰会有感

2006.03.31 ORACLE 峰会
 
在人民广场附近的 明天广场JW万豪酒店 5楼会议大厅举行。
 
每次参加大会都能开开眼界,同时大吃一顿。
 
不过感触也蛮深。。。
 
技术上大开眼界的同时,强烈的感觉到自己还有那么多的东西都没有接触过,以前甚至都不知道该技术的存在,简直就是井底之蛙啊。
 
所以呢,就定下决心要发愤图强,短期内快速跟进,否则时间一常,决心就慢慢溃散,斗志也没有了。
 
加油!
 
 
3月3日

Symantec LiveState Recovery 6.0 即将发布

 Symantec LiveState Recovery 6.0 即将发布

Symantec 新闻主题今天刚收到了Symantec新品发布会免费邀函,其最新版本的Symantec LiveState Recovery 6.0将于本月在京发布.感谢GLACIER的投递:该软件利用快照(Snapshot)技术截取服务器完整的即时运作状态,将操作系统、应用程序、系统设定与文件等所有内容、储存在易于管理的单一档案中.因此,能在短短数分钟内,重建整个系统或执行裸机还原(bare metal recovery),轻松将被摧毁的系统还原至指定时间.它还能将系统迅速还原至不同的硬件平台,甚至是VMWare的虚拟环境中,因此可先在虚拟环境中测试修正程序、应用程序的安装,之后再套用至正式使用的系统.

Symantec LiveState Recovery分为server和desktop两个版本
‧Server 版:Windows 2000 Server/Advanced ServerWindows 2003 Server、NT Server.
‧Desktop 版:Windows 2000 Professional、Windows XP Professional/Home.


发布时间跟地点:

北京 (2006年3月7日) 长安戴斯大饭店
上海 (2006年3月10日) 新锦江大酒店
广州 (2006年3月14日) 亚洲国际大酒店
成都 (2006年3月16日) 皇冠假日酒店

全面监管 试用微软公用电脑管理工具包

全面监管 试用微软公用电脑管理工具包
www.hacker.com.cn 黑客防线


全面监管公用电脑

  适用环境:适用于办公室、网吧、图书馆等多人共用一台电脑的局域网环境。

  解决问题:Windows系统的功能限制、磁盘管理、数据安全保护等功能集于一身,可使网管避免采用多种方案配合应用,来解决公用电脑的功能限制、数据保护等问题,能减轻网管的工作量。

  对公用电脑的管理是网管工作中的难点,由于使用它的用户较多,它要完成的任务也各式各样,因此对公用电脑的日常管理和维护,要比普通电脑的管理难度大得多,所以需要一套行之有效的解决方案。现在,就让我们来看看同样遇到这个问题的网管小胖是如何解决这个问题的。

  在小胖管理的局域网中,有几个部门的电脑是多人共享使用,这给小胖的日常管理带来了困难。由于用户的技术水平参差不齐,不同用户使用不同的访问账号,拥有不同的访问权限。经常有好耍小聪明的员工恶意修改注册表,安装与工作无关的软件程序,搞得公用电脑常出问题,引得怨声一片。

  小胖决定尝试一下微软推出的管理工具“Microsoft Shared Computer Toolkit”(简称MSCT),用它统领网络。

  下载地址: http://www.microsoft.com/downloads/details.aspx?familyid=7256D456-E3DA-42EA-857D-92B716077A84&displaylang=en 。

  常见难题如何解决

  1.公用电脑中供员工使用的用户账号很多,甚至是每人都分配一个账号,给管理带来了不小的麻烦。

  2.常有员工将与工作无关的软件安装到公用电脑中,造成系统出现问题,逐一进行解决很麻烦。

  3.由于使用公用电脑的员工较多,而且安全设置方面存在隐患,因此常会出现用户账号被盗用、文件被修改的情况。

  不一般的管理工具

  小胖自行设计了一套管理方案,但实现起来较为繁琐,需要很多系统功能和辅助软件相配合才能实现,如修改注册表隐藏Windows系统中的某些功能,利用还原工具保护系统分区,使用NTFS文件系统限制用户的访问权限等。

  然而,每种方法只能解决一部分问题,要想真正实现全方位的管理,往往需要把这些方法综合在一起应用。可是这样就会导致管理工作非常繁琐,更为可怕的是,如果其中有一种方法被破解,其他方法有可能都失效。

  而MSCT则不同,它将许多实用的限制方法都集于一身,而且环环紧扣,用户想要从某一点突破限制,基本上是不可能的。MSCT从用户访问权限、账号配置文件、安全设置等方面对公用电脑进行保护,更为重要的是它还提供了“Windows磁盘保护”功能,能够对系统分区进行全方位的呵护,一旦重新启动系统,它就能自动进行恢复,确保公用电脑的安全。

  不可忽视的准备工作

  在成功安装MSCT后,小胖发现MSCT还不能使用,看来他的准备工作还没做好。

  1.SP2补丁包不可少

  MSCT工具只能运行于“Windows XP+SP2”操作系统,如果公用电脑的Windows XP系统还没安装SP2补丁包,则无法安装和运行MSCT。

  2.UPHClean组件也要装

  UPHClean的全称是“Microsoft User Profile Hive Cleanup Service”,它是微软发布的一款用于加快关机速度的程序,而MSCT工具恰好需要它的支持。MSCT的安装向导会帮助用户下载并安装该组件。

  3.划出未指定磁盘空间

  虽然MSCT工具提供了“Windows磁盘保护”功能,能够进行文件的自动恢复,但小胖在使用该功能前,必须为它分配一个未指定的磁盘空间,这个磁盘空间的大小至少要为系统盘(如C盘)容量的10%(可用分区工具进行划分)。


MSCT的功能应用


  MSCT在公用电脑中的应用其实也很简单,主要是两个部分的应用:一是设置用户使用权限,这是通过合理设置用户配置文件实现的;二是增强公用电脑的安全性,这主要通过限制某些系统功能的使用,以及应用磁盘保护功能来实现的。


  1.不能各自为政,规范用户权限


  小李是办公室中的追星一族,常把桌面墙纸换成“养眼”的图片,IE首页也改为某明星的官方网站,好几次被领导发现,但他仍是屡教不改,搞得小胖常给他收拾烂摊子。要想改变小李的坏习惯,看来必须实施“铁腕政策”才行,得限制他的使用权限。


  要想有效地限制小李的使用权限,就必须合理修改和配置他的用户账号。只要小胖利用好MSCT的配置向导,合理设置用户账号权限,就可以做好公用电脑的基础管理工作。


  对比传统:以前要限制小李的使用权限是很麻烦的,首先要使用NTFS文件系统的ACL功能控制他的文件访问权限,然后还需要逐一修改注册表中的某些项目来禁止他更换墙纸或修改IE首页,操作比较麻烦,而且效果也不太理想。而采用MSCT后则不同了,一切操作都在向导对话框中进行,非常简单。


  点击“开始→程序→Microsoft Shared Computer Toolkit→Getting Started”,弹出MSCT配置向导对话框。通过这个“向导”,进行简单的设置,就可完成对公用电脑的限制操作。在“Step 1”框中会显示“The disk is properly prepared and Windows Disk Protection is Off”信息,说明MSCT所要的磁盘空间已经准备好,只是“Windows磁盘保护”功能还未启用。


  在Step 1中通过验证后,小胖就会进行下文所介绍的几步操作。


  ①安全设置


  首先小胖利用MSCT对电脑的安全性进行设置,这样可以有效地防止他人恶意盗窃用户账号,并防止公用电脑中的重要信息外泄。


  在MSCT配置向导的Step 2框体中,已经列出了用户需要的大部分安全设置项目,小胖只要根据用户的需要选择即可,如防止在“Ctrl+Alt+Delete”登录对话框中保存账户名称、防止Windows在用户配置文件中存放Passport或域凭据等。可根据需要进行选择,以此增强公用电脑的安全性。


  ②创建公用账号


  每个员工都使用自己的用户账号登录公用电脑,这对小胖的管理是非常不利的,因为账号过多会增加管理的难度,也容易出现安全漏洞和隐患。可以给所有的员工创建一个公用账号,并限制这个账号的使用权限,这样可使管理工作更简单。


  现在小胖就要为员工们创建一个统一使用的公用账号,点击Step 3框体中的“Open User Accounts”链接,就会弹出“用户账号”管理器窗口。公用账号的创建非常简单,点击“创建一个新账号”链接,接着按照向导的提示进行操作即可。为了安全起见,这里要注意的是公用账号要选择为“受限”类型。


  ③设置配置文件


  让员工使用公用账号访问公用电脑还是不够的,还必须限制他们的使用权限才行。


  小胖通过设置公用账号配置文件就能方便地实现以上目的。在“Step 4.Configure the Public User Profile”框体中,小胖开始为公用账号设置配置文件。


  首先点击下方的“Log Off Now”链接,注销当前使用的用户账号,然后使用刚才创建的公用账号登录系统。


  以公用账号身份登录系统后,根据安全需要来设置公用账户的配置文件。如不允许用户编辑注册表、禁止用户对某些重要的文件夹有写入权限等。完成以上设置后,就可以注销公用账号,再次使用以前的用户账号登录系统。


  ④增强配置安全


  只设置公用账号配置文件就一定安全吗?还是有一定的安全隐患,有些别有用心的用户,可以利用各种诡异的方法进行修改,因此小胖还需要进一步加强配置文件的安全,如锁定用户配置文件、隐藏某些磁盘分区等。


  在MSCT配置向导的“Step 5.Restrict and Lock the Public User Profile”框体中点击“Open Windows Restrictions”链接,弹出公用账号限制对话框(图1),指定员工使用的公用账号,然后勾选“Lock this profile”选项,这样就可锁定公用账号配置文件,防止恶意修改。


全面监管试用微软公用电脑管理工具包(2)

图1 锁定公用账号配置文件

现在设置已经完成,到底这些设置是不是已经生效,可以在“Step 6.Test the Public User Profile”中测试一下,如果有问题,可以再使用公用账号登录系统重新进行设置。


  2.不怕数据受损,我有“自动还原”


  小王是个游戏爱好者,常在公用电脑中试玩各种网络游戏。不过他的技术真的不敢恭维,他常把游戏安装到不同分区中,还胡乱修改系统的各项参数。由于存储的文件过多,经常导致系统出现异常,小胖非常烦恼。恰好MSCT“Windows磁盘保护”功能的出现,可以让小王“安了也白安,改了也白改”。


  对比传统:一旦重要文件丢失或被修改,传统的解决办法就是进行手工复原,如恢复文件中的数据参数,或利用第三方工具恢复被删除的文件,这些方法不但工作量大,而且还不安全,经常会出现问题。而MSCT的“Windows磁盘保护”功能则有所不同,它可以自动恢复数据,让人更省心。


  为了安全起见,启用MSCT的“Windows磁盘保护”功能是非常有必要的。


  在“Step 7.Turn on Windows Disk Protection”框体中,点击“Open Windows Disk Protection”链接,弹出磁盘保护对话框,选中“Turn On”(图2),最后点击“OK”按钮,就启用了Windows磁盘保护功能。这样即使系统中的数据被恶意修改,重启系统后数据仍会被自动恢复。


全面监管试用微软公用电脑管理工具包(3)

图2 启用Windows磁盘保护功能


  在MSCT的保护下,公用电脑的Windows功能限制和数据安全性都被增强了,而且这些功能都是在MSCT这一款工具的帮助下实现的,这是一般的功能单一的管理工具所做不到的,同时网管也能从繁重的公用电脑管理任务中解放出来。

DataReader.IsClosed属性

DataReader.IsClosed属性

在CSDN论坛上看到下列问题,如果把DataReader当作DataGrid的DataSource,在DataGrid.DataBind()之后,在下列两种情形下,DataReader的IsClosed的值是不同的

1.
IDataReader reader = SomeDBCommand.ExecuteReader();
DataGrid1.DataSource = reader;
DataGrid1.DataBind();

在这里,reader的IsClosed的值是false

2.
IDataReader reader = SomeDBCommand.ExecuteReader(CommandBehavior.CloseConnection);
DataGrid1.DataSource = reader;
DataGrid1.DataBind();

在这里,reader的IsClosed的值是true

结论是,如果DataReader的CommandBehavior是CloseConnection的话,DataGrid1.DataBind()在某种(也许是非直接的)方式下,调用了DataReader的Close方法。在网上找到了一个类似的讨论,但他们没有给出原因。

把DataReader作为DataGrid的DataSource时,DataReader是当作IEnumerable来看待的,从IEnumerable可以获取IEnumerator,然后可以用它的MoveNext/Current来依次获取每个记录,难道MoveNext调用了DataReader的Close方法?做了个试验

using System;
using System.Data;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Collections;

class TestClose
{
  static void Main()
  {
 SqlConnection conn = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=;");
 SqlCommand cmd = new SqlCommand("select * from authors", conn);


 conn.Open();
 SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
 TestRead(reader);
 reader.Close();

 conn.Open();
 reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
 TestMoveNext(reader);
 reader.Close();

   }

  static void TestRead(IDataReader reader)
  {
 while (reader.Read());
 Console.WriteLine("after Read(), reader is closed? {0}", reader.IsClosed);
  }

  static void TestMoveNext(IDataReader reader)
  {
 IEnumerator e = ((IEnumerable)reader).GetEnumerator();
 while (e.MoveNext());
 Console.WriteLine("after MoveNext(), reader is closed?{0}", reader.IsClosed);
  }


}

输出是
after Read(), reader is closed? False
after MoveNext(), reader is closed? True

果不其然啊,用Lutz Roeder的Reflector(大力推荐!)工具看了一下.NET里SqlDataReader的实现

IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
      return new DbEnumerator(this, (CommandBehavior.Default != (CommandBehavior.CloseConnection & this._behavior)));
}
 

可见SqlDataReader的CommandBehavior确实是传进去的,再看DbEnumerator的实现

public DbEnumerator(IDataReader reader, bool closeReader)
{
      if (reader == null)
      {
            throw ADP.ArgumentNull("reader");
      }
      this._reader = reader;
      this.closeReader = closeReader;
}

 

public bool MoveNext()
{
      object[] objArray1;
      if (this._schemaInfo == null)
      {
            this.BuildSchemaInfo();
      }
      this._current = null;
      if (this._reader.Read())
      {
            objArray1 = new object[this._schemaInfo.Length];
            this._reader.GetValues(objArray1);
            this._current = new DbDataRecord(this._schemaInfo, objArray1, this._descriptors, this._fieldNameLookup);
            return true;
      }
      if (this.closeReader)
      {
            this._reader.Close();
      }
      return false;
}

果然, 如果DataReader的CommandBehavior是CommandBehavior.CloseConnection的话,MoveNext调用了Close方法!



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=599115

连接池中溺死重生,多亏NET 连接池救生员

连接池中溺死重生,多亏NET 连接池救生员
您的应用程序会“沉没”,还是会“游泳”?“NET 连接池救生员”,msdn上这篇有名的文章n久之前已经拜读过n次,当时还暗自庆幸,我的程序没有发生过这样的情况。就在系统代码设计即将结束,客户培训接近尾声,部分科室已经运行的时候,令所有的使用者和程序员崩溃的事情发生了,程序出现连接已满的错误,而且是发生的很快。
    这时候想起来这篇文章,经过排查,问题终于告一段落。
   情况是这样:
   程序的设计人员都是第一次用.net开发系统,对他的理解也深浅不一,所以写出的代码也
各种各样。设计的功能基本达到了要求,而且已经在现场开始使用,当时的操作系统win2k,sqlserver数据库,运行也算正常。就在认为可以系统基本稳定了,然后服务器升级换代,大部分科室开始使用,操作系统改为win2003,出现了异常情况。连接已满,空引用的错误。

   分析得出,可能的问题有几个:
系统代码更新错误,操作系统升级设置不对,科室使用人员
原先没有使用到的模块,现在暴露出代码问题。
首先将代码还原成更新以前,结果还是同样的异常。
然后服务器问题,设置iis连接池,回收时间,web圆,简直是有病乱投医,没有作用,依然如故。
然后分析系统的近期开始使用的代码,果然,有许多没有释放的连接,其中这一块代码是一个程序员写的,他当时不在。
 
   经过排查,发现问题如下:
打开连接
sql语句赋值
SqlCommand cmd = new SqlCommand(cnString,cn);
SqlDataReader dr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
..
未发现关闭连接或者DataReader。
  但是按照微软在MSDN上的描述:CommandBehavior.CloseConnection参数的作用是:
When   the   command   is   executed,   the   associated   Connection  
object   is   closed   when   the   associated   DataReader   object   is  
closed.
也就是说CommandBehavior.CloseConnection参数的作用是在关闭DataReader之后,自动关
闭打开的数据库连接。
而William Vaughn却说:
在整个 DataReader 结果集中循环到其行集的末尾(也就是说,当 Dr.Read — DataReader 的 Read 方法 — 返回 False 时)还不足以触发连接的自动关闭。不过,如果您绑定到一个复杂的绑定控件(例如,DataGrid),该控件则会关闭 DataReader 和连接 — 前提条件是您设置了 CommandBehavior.CloseConnection 选项。
可以看到,如果不关闭连接或者DataReader是绝对不行的,
关闭DataReader,如果选择了CommandBehavior.CloseConnection,即使关闭DataReader,
连接也不会很快关闭。
如果是作为DataGrid的数据源,如果选择了CommandBehavior.CloseConnection,DataGrid
是可以自动关闭DataReader 和连接 。
然后经过一番修改,程序发布,然后信息十足的等待消息,结果没出10分钟,程序又一次出
现了困扰已久的问题,连接池满。晕倒!
在一次将眼光集中到,程序上面,看来那一块程序已经没有多大问题了,看看其他的程序。
别的地方,是另一个程序员写的,里面数据库访问,用的是data access  application
block,经过刚才的发现,我开始怀疑是不是这里用法有误,发现里面的许多地方是
SqlDataReader dr=SqlHerper.ExecuteReader(...);
但是都没有关闭,好像说明上说他可以自动关闭,还是自己看看吧,
于是在while(dr.reder()){}
之后,我判断dr.isClosed,返回的是false,说明不关闭也是不行的,打开他的源码,果然他用的就是那个CommandBehavior.CloseConnection,看来他也是寄希望于关闭DataReader
之后,自动关闭连接。如果连接都不关闭,他还不漏到底了。如果邦定到DataGrid上,就不用关闭了这是为什么呢??
在csdn上发现了答案。
http://blog.csdn.net/levin9/archive/2006/02/14/599115.aspx
人家分析的很清楚啊!
把DataReader作为DataGrid的DataSource时,DataReader是当作IEnumerable来看待的,从IEnumerable可以获取IEnumerator,然后可以用它的MoveNext/Current来依次获取每个记录,难道MoveNext调用了DataReader的Close方法,而由于设定了CommandBehavior.CloseConnection,连接也在DataReader关闭时关闭了。

终于找到了这支大臭虫,解恨阿!
 
于此同时,我也用了几个平时懒得理的工具:
application center test,微软自带的压力测试,挺爽,但是发现在xp系统上不能用,
可能是系统设置的问题,我还没找到。
然后都是人家http://www.microsoft.com/china/MSDN/library/data/sqlserver/TheNETConnectionPoolLifeguard.mspx说的,都很详细。那个控件监控也没有看。
连接池计数器在哪里
要监视连接池计数器,您必须监视 ADO.NET 在其中创建和增加这些计数器的系统。如果您从远程系统进行连接,ADO.NET 并不总是在 Microsoft IIS 服务器或 SQL Server 上创建池;它在 ADO.NET 代码运行的系统上创建池。此系统可以是运行 IIS、Web 应用程序或 Web 服务的远程 Windows 或中间层系统。相反,SQL Server 性能计数器位于 SQL Server 系统上 — 而不是客户端上。
使用性能监视器来监视池。
   如果您使用 Microsoft 管理控制台 (MMC) Windows 2000 系统监视器管理单元,则您可以通过从 Performance 对象下拉列表中选择 ".NET CLR Data" 来用图形表示 SqlClient 计数器,如 图 1所示。请注意,您可以通过选择 _global_ 计数器实例来监视所有进程,或者,您可以查看某个特定实例 — 每个池生成自己的一组监视器。性能监视器可列出这些计数器,并将它们作为所选定的性能对象的实例提供。但性能监视器不会公开这些计数器,除非有实例需要它们进行监视。例如,图 1 显示了 .NET CLR Data 性能对象,但没有列出特定实例。这意味着您必须至少创建一个连接,以便使 _global_ 实例连同每个进程的特定实例一起出现。这种行为对于您的代码来说是个问题;您将无法使用 PerformanceCounter 控件来返回其中的任何计数器,直到 ADO.NET 在打开连接时创建这些计数器。所以说,这个规定真有点令人左右为难。当您使用此方法时,因为缺少有效计数器实例,所以会引发异常 — 此时要准备好捕获异常。
 
   总之,这些错误看起来有些弱,但是他说明的问题却很多,如果前期设计的好,数据访问设计完善,就是出问题,也很快可以发现了。如果多作测试也不会集中爆发。太多如果了,如果Boss能按照软件工程让你做程序,那就好了,可惜啊!


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=614070

C#3.0 Sepcification(中英文对照)

 
 
 

C#
Version 3.0 Specification
September 2005

Notice
© 2005 Microsoft Corporation. All rights reserved.
Microsoft, Windows, Visual Basic, Visual C#, and Visual C++ are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries/regions.
Other product and company names mentioned herein may be the trademarks of their respective owners.
 

Table of Contents
目录
26. Overview of C# 3.0 C# 3.0 概述............................................................................................ 5
26.1 Implicitly typed local variables   隐型局部变量(Implicity typed local variables)...................................... 5
26.2 Extension methods 扩展方法............................................................................................................ 6
26.2.1 Declaring extension methods    声明扩展方法................................................................................ 6
26.2.2 Importing extension methods   导入扩展方法................................................................................ 7
26.2.3 Extension method invocations  扩展方法的调用........................................................................... 7
26.3 Lambda expressions           Lambda表达式................................................................................................. 8
26.3.1 Lambda expression conversions     Lambda 表达式转换................................................................ 10
26.3.2 Type inference   类型推导......................................................................................................... 11
26.3.3 Overload resolution   重载决议................................................................................................... 13
26.4 Object and collection initializers   对象和集合的初始化器................................................................. 14
26.4.1 Object initializers   对象初始化器............................................................................................... 14
26.4.2 Collection initializers   集合初始化器.......................................................................................... 16
26.5 Anonymous types   匿名类型............................................................................................................ 17
26.6 Implicitly typed arrays   隐型数组(Implicitly typed arrays).................................................................. 18
26.7 Query expressions   查询表达式....................................................................................................... 19
26.7.1 Query expression translation  查询表达式的转换....................................................................... 20
26.7.1.1 where clauses where子句................................................................................................... 21
26.7.1.2 select clauses select 子句................................................................................................... 21
26.7.1.3 group clauses group子句..................................................................................................... 21
26.7.1.4 orderby clauses orderby 子句.............................................................................................. 22
26.7.1.5 Multiple generators 多重产生器(generator) ....................................................................... 22
26.7.1.6 into clauses    info 子句.......................................................................................................... 23
26.7.2 The query expression pattern   查询表达式模式.......................................................................... 23
26.7.3 Formal translation rules   正式的转换规则.................................................................................. 24
26.8 Expression trees   表达式树............................................................................................................ 26

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=614061

sql优化

sql优化

Sql优化是一项复杂的工作,以下的一些基本原则是本人看书时所记录下来的,很明确且没什么废话:

1.  索引的使用:

1.当插入的数据为数据表中的记录数量的10%以上,首先需要删除该表的索引来提高数据的插入效率,当数据插入后,再建立索引。

2.避免在索引列上使用函数或计算,在where子句中,如果索引是函数的一部分,优化器将不再使用索引而使用全表扫描。如:

低效:select * from dept where sal*12 >2500;

高效:select * from dept where sal>2500/12;

(3).避免在索引列上使用not !=”,索引只能告诉什么存在于表中,而不能告诉什么不存在于表中,当数据库遇到not !=”时,就会停止使用索引而去执行全表扫描。

(4).索引列上>=代替>

 低效:select * from emp where deptno > 3

 高效:select * from emp where deptno >=4

两者的区别在于,前者dbms将直接跳到第一个deptno等于4的记录,而后者将首先定位到deptno等于3的记录并且向前扫描到第一个deptno大于3的。

(5).非要对一个使用函数的列启用索引,基于函数的索引是一个较好的方案。

2. 游标的使用:

   当在海量的数据表中进行数据的删除、更新、插入操作时,用游标处理的效率是最慢的,但是游标又是必不可少的,所以正确使用游标十分重要:

   (1). 在数据抽取的源表中使用时间戳,这样每天的维表数据维护只针对更新日期为最新时间的数据来进行,大大减少需要维护的数据记录数。

   (2). insertupdate维表时都加上一个条件来过滤维表中已经存在的记录,例如:

insert into dim_customer select * from ods_customer where ods_customer.code not exists (dim_customer.code)

 ods_customer为数据源表。dim_customer为维表。

   (3). 使用显式的游标,因为隐式的游标将会执行两次操作,第一次检索记录,第二次检查too many rows这个exception,而显式游标不执行第二次操作。

3.  据抽取和上载时的sql优化:

(1). Where 子句中的连接顺序:

oracle采用自下而上的顺序解析where子句,根据这个原理,表之间的连接必须写在其他where条件之前,那些可以过滤掉大量记录的条件必须写在where子句的末尾。如:

低效:select * from emp e where sal>5000 and job = ‘manager’ and 25<(select count (*) from emp where mgr=e.empno);

高效:select * from emp e where 25<(select count(*) from emp where mgr=e.empno) and sal>5000 and job=’manager’;

   (2). 删除全表时,用truncate 替代 delete,同时注意truncate只能在删除全表时适用,因为truncateddl而不是dml

   (3). 尽量多使用commit

只要有可能就在程序中对每个delete,insert,update操作尽量多使用commit,这样系统性能会因为commit所释放的资源而大大提高。

   (4). exists替代in ,可以提高查询的效率。

   (5). not exists 替代 not in

   (6). 优化group by

提高group by语句的效率,可以将不需要的记录在group by之前过滤掉。如:

低效:select job, avg(sal) from emp group by job having job = ‘president’ or job=’manager’;

高效: select job, avg(sal) from emp having  job=’president’ or job=’manager’ group by job;

   (7). 有条件的使用union-all 替代 union:这样做排序就不必要了,效率会提高35倍。

   (8). 分离表和索引

       总是将你的表和索引建立在不同的表空间内,决不要将不属于oracle内部系统的对象存放到system表空间内。同时确保数据表空间和索引表空间置于不同的硬盘控制卡控制的硬盘上。

中国信息化水平领先企业 信息系统居然不堪一击

中国信息化水平领先企业 信息系统居然不堪一击

   日前中央电视台报道了全国最大的网上盗窃通讯资费案,31岁的程稚瀚是UT斯达康(中国)有限公司深圳分公司资深软件研发工程师,主要工作是帮助公司解决网络安全问题。此前任华为技术有限公司工程师,负责西藏移动等公司的设备安装。他做的事情是,从20052月,从西藏移动公司系统进入北京移动公司的充值中心数据库,获得最高系统权限,根据“已充值”的充值卡显示的18位密码破解出对应的34位密钥,然后把“已充值”状态改为“未充值”,并修改其有效日期,激活了已经使用过的充值卡。在随后的4个多月中他在充值数据库中如此操作,并复制出了14000个充值密码。他把面值300的充值密码以281.5285元面值不等价格在网上售出,获利380万。20057月,程稚瀚在窃取最后一批密码时,忘记了修改有效日期,他的这个疏忽让买卡的客户向北京移动投诉。716日,北京移动接到用户投诉说购买的充值卡无法充值,这才发现密码被人盗窃并报警。

    事实上,程稚瀚在作案过程中使用的大多都是些没有技术含量的攻击手段,但是偏偏没有技术含量的攻击事件,使得亿元网络安全投入不堪一击。并且,这类信息安全事件在信息化领先的电信、银行、证券、保险业却屡屡得逞,如本文在发稿之际,又惊悉两大学生利用网通ADSL用户升级时系统的漏洞,在一个月内盗取了价值70余万元的网易一卡通虚拟游戏点卡。这些信息安全事件不能不令我们深思。

 

     人技大战还是人“机”大战

    到底是什么使得1.2亿投资的信息安全体系也不堪一击?是人与技术大战,还是人与机制制度之战?

    针对此次事件,一些人在技术上找原因,依照“技术路线的惯性思维方式”,他们认为在信息安全上一定有更先进的技术可以杜绝此类问题。事实上多年来,人们对保障信息安全的手段偏重于依靠技术,从早期的加密技术、数据备份、防病毒到近年来网络环境下的防火墙、入侵检测、身份认证等等。厂商在安全技术和产品的研发上大力投入,新的技术和产品层出不穷,以为技术可以推动产业进步;厂商在某种程度上主导着信息安全建设的发展方向,客户也更加相信安全产品,把仅有的预算也都投入到安全产品的采购上。但现实严峻地告诉我们,仅仅依靠技术和产品保障信息安全的愿望却往往难尽人意,许多复杂、多变的安全威胁和隐患靠产品是无法消除的。三分技术,七分管理这个在其他领域总结出来的实践经验和原则,在信息安全领域也同样适用。据有关部门统计,在所有的计算机安全事件中,约有52%是人为因素造成的,25%由火灾、水灾等自然灾害引起,技术错误占10%,组织内部人员作案占10%,仅有3%左右是由外部不法人员的攻击造成。简单归类,属于管理方面的原因比重高达70%以上, 而这些安全问题中的95%是可以通过科学的信息安全管理来避免。因此,管理已成为信息安全保障能力的重要基础。

我们从信息安全管理制度和机制的缺陷的角度来看,对整个事件我们将有全新的认识。因为,仅凭这件事情中被媒体公开的信息,就足以看到北京移动公司的信息系统管理机制有很大的问题。造成这么大的损失,不仅仅是技术问题,更重要的是内部控制体系上的问题。如果不是程稚瀚最后一次的疏忽(和北京移动一样,程稚瀚亦是败在“规范管理”上),他的所作所为将会是神鬼不知的。

    缺陷之一:西藏移动公司对设备/服务提供商的管控缺陷。西藏移动公司对华为的管控体系有重大缺陷,这表现为没有冻结或清理厂商遗留的管理员账户。如果实际需要授予厂商较高权限,应加强相应的补偿控制,如启用系统/数据库日志,对于关键的操作日志定期审核、签订保密协议等

    西藏移动在华为完成设备集成后,没有强制立即修改提供商原先设置的初始密码(共享密码的情况或密码为空的情况,导致厂商拥有访问和维护生产数据权限的情况,在我国企业中可以说是普遍存在),我们也知道目前在我国企业中,内审部门普遍不具备完善的信息系统审计职能,本来很简单的一项必修功课----定期复核,但这却是导致该事件发生的直接原因。中国移动作为在美上市公司,在今年必须符合更为严厉的萨班斯法案的要求,该法案明确要求IT总控体系必须延伸到外包服务商那里。

    缺陷之二:北京移动公司的密码管理缺乏有效控制。生产环境系统密码是逻辑安全的重要控制点,北京移动缺乏相关的规定要求定期更改密码或制度健全但没有得到有效执行,具有超级权限的密码更应该进行严格管理,并对其拥有所有权限的必要性进行复核。北京移动关键系统的超级用户密码如果做到了定期更换,这项补偿性控制能够大大降低入侵风险, 程稚瀚将可能不会在长达4个多月的时间里如入无人之境。笔者相信中国移动一定具备完善的信息安全管理制度体系,但此事件暴露出该体系可能是“死体系”,与我国信息安全治理专家孙强先生多年来所积极倡导的“信息安全管理是一个动态的过程,需要建立持续改进的机制,该机制应能够‘发现问题解决问题,发现新问题解决新问题’,从而达成信息安全善治的境界”尚有较大差距。

    缺陷之三:移动公司对已过期账号的风险管控缺陷。已经过期的密码应及时从密码列表中删除,而不是简单的通过状态不同来区分。定期清理无效密码可以降低上述风险,同时也能提高系统的运行效率。从目前得到的信息看,笔者不能推测出移动公司到底有没有相应的控制存在,如果有,那么就是清理无效密码程序运行的频率太低或执行不到位。尽管中国移动是国内最早进行大规模信息安全风险评估的单位,但我们明显感到在这个领域,我们任重道远。

    缺陷之四:没有异常数据变更的检查报告机制。事前预防控制没有,事后的检查控制也没有。按说修改密码状态和过期日期这种业务性质的操作应是很少执行的,这类特定数据的异常更改应该有报告机制,管理层会通过审查此报告来发现未授权的数据更改。而此案中长达4个多月异常的数据变更居然没有引起应有的注意,究其原因,或者是控制缺失,或者是职责缺失,或者是执行不到位。另外,根据职责分离原则,就算是真正的系统管理员也不应具有“修改密码状态和过期日期”这种业务性质的操作。但是有14000条记录被异常更新并且长时间不被发现,同样也是前面提到的检查或审计职能和机制的缺失。

 

    天黑了,我们去哪里?

   如果1.2亿元的巨额投资都无法带给我们安全感,那么,究竟什么才能让我们更有安全感?

   在许多人自诩他们的企业对信息安全作了多大的投入,购买了多么先进的防火墙的时候,他们忘了构建另一道信息安全机制的“人力防火墙”。

    ITGov(中国)IT治理研究中心主任孙强指出三分技术,七分管理的网络安全体系建立原则几乎在每个电信和银行业的企业中已成为老生常谈,数年前就成为指导其安全管理体系建设的基本原则。但是北京移动充值卡密码一案再次暴露出其管理和内部控制上的漏洞,时值其今年正将通过萨班斯法案的严峻考验,作为信息安全治理和内部控制理念的推动者,我们深感还有大量的工作需要去做。我们建议我国企业在信息安全管理工作上应该更彻底地回归到基本面上,这包括:信息安全文化和意识养成、相关的法律法规、整合IT控制的内部控制体系、基于ISO17799/27001的信息安全管理体系、信息系统审计的职能建设、风险评估以及最关键的责任心和问责机制。所有的一切,归根到底我们要重视“人”的工作。

我国首个ISO27001“旗舰计划”起航

为了帮助我国各类组织更快、更好地构建设信息安全体系,由ITGov(中国)IT治理研究中心资助,北京信诚致远信息化管理咨询公司负责执行的“旗舰计划”日前正式起动。该计划的总旨是:基于全球最佳实践,构建符合我国国情的信息安全保障体系,提升中国企业国际竞争力水平,实现可持续发展战略。

据悉旗舰计划将在北京,上海,深圳,大连,西安,成都,温州等地区, 各评选20家公司或政府机构,协助其建立符合ISO 27001国际标准的信息安全管理体系。此项计划的技术负责人为我国仅有的在IRCA注册的信息安全管理体系主任审核师孟庆麟先生,他曾负责我国绝大部门企业的信息安全管理体系认证项目,其中包括华为、中兴、中国人民保险公司、宏基、朗讯等等。记者也从信诚致远了解到,该计划将通过提供培训企业种子人员,交付风险评估工具软件和实施模板,现场指导以及交叉审核等全面服务,来协助组织建立符合ISO27001国际标准的信息安全管理体系, 以确保其顺利通过ISO27001国际认证。有关该计划的详情请浏览www.itgov.org.cn 。我们相信旗舰计划将极大地推动中国企业和政府组织的信息安全管理工作,更多的中国用户将通过该项与全球同步开展计划获益。

2月4日

生命成长的历程-《读者·200603》|真的?参考而已

生命成长的历程 [ 作者:成君忆 来源:渔夫与管理学 读者点击: 更新时间:2006-1-21 文章编辑:碧海云仙 ] 生命有着它既定的成长规律,按照正常情况,每隔7年,人的身心就会进入一个新的成长时期:   1~7岁:天真的幼年时期   在第一个7年中,小孩子在用他自己的方式成长,他是一个纯粹的生命。他天真无邪,对世界充满好奇,并因此而富于想象。这个世界是属于他的,太阳为他升起,月亮向他微笑,他是那样无与伦比地快乐着。虽然他也会难受、也会闹脾气,一旦解决了他的麻烦问题,他就会立即恢复他的快乐。   成年人和孩子们不一样,他们是痛苦的,他们只能用各种寻欢作乐的方式逃避痛苦。一旦他们停止寻欢作乐,就会立即堕入无尽的痛苦之中。   7~14岁:内心开始充满疑问   当小孩子进入第二个7年,他开始走出自己的世界。他开始意识到,这个世界并不属于他一个人,同时还属于其他人。他内心开始充满疑问,因为他意识到这个世界并不像他的幼年时期那么简单。他什么事情都要打破沙锅问到底,他问月亮里是否真有嫦娥?他问树木为什么是绿色的?他问小鸟为什么会飞?为了寻找答案,他成了一名小学生。   学校给了他一些答案,社会给了他一些答案,这些答案把他心中原来那种童话般的美好想象打得粉碎。他开始成为社会中的一员,他开始有了自我意识。自我意识是一个社会概念,当他越进入这个社会,他的自我意识就越强烈,也就从此逐渐远离了快乐。   最初,他会成为同性社会中的一员。男生和男生交朋友,或者打架。女生和女生一起玩耍,或者吵嘴。如果其它男生对女生感兴趣,他会认为他们是娘娘腔。如果某个女生喜欢跟男生玩在一起,她也会被认为是男孩子气,那是不正常的、有毛病的。   14~21岁:对异性的好奇   14岁之后,第三道门打开了,他开始进入一个恋爱的时期。在这个时期,他的性生理成熟了,男生不再对男生有兴趣,他会开始对女生感兴趣,因为女生是世界上的“另一种人”。女生也会开始对男生感兴趣,只不过比较羞涩一些。“另一种人”是如此奇妙,如此可爱,以致于他要追求她,他要和她在一起。不仅因为好奇和爱,也因为他们需要一个异性来证明自我。男生需要一个女生证明他是男人,女生需要一个男生证明她是女人。   他们开始有最初的恋情,纯洁的初恋让他们有了一种前所未有的、妙不可言的体验。他们开始有性幻想,开始写诗,开始学习如何调情。他们渴望用性的方式来探索生命的秘密,男人在了解女人、并且通过女人来了解自己;女人在了解男人、同样也通过男人来了解自己。他们开始在一种互动式的学习中了解爱、责任、社会和人生的涵义。世界从此为他们展开了新的空间。   21~28岁: 追逐成功与物质的野心   到了21岁,他迎来了生命中的第四个7年。他想要成为男人中的佼佼者,她想要成为女人中的女人。他开始需要更多的认同来证明自我,他会根据社会上流行的评价标准去塑造自我——如果不行,他们就会试图推翻那个标准,重新建立适合自己的一套。他变得野心勃勃,对未来充满渴望,他的全部注意力全放在如何才能成功、如何与人竞争、如何在挣扎中求胜之类的思考上。他的自我越来越膨胀、越来越强大。   什么是成功呢?就是马斯洛所说的自我实现。他需要足够多的证明来满足他的自我实现,包括金钱、权力、声望和豪华的物质生活,这样他就能够赢得异性的青睐、社会的认同。除非他自己厌倦这种无聊的游戏,否则他会永无止尽地追求下去。他正在进入一个疯狂的世界,他的生活变得越来越复杂。   28~35岁: 追求舒适与安全   28岁以前他是那么强烈地希望自己成为一个英雄,他是那样血气方刚,那样疯狂,那样敢于为了某种信念而奋勇拼斗。等到了28岁之后的某一天,他会进入人生的第五道门,他会忽然意识到从前的所作所为有些轻率、有些傻气、有些不计后果。现在,他在检讨自己的欲望,他不再冒险,他开始使用比较稳妥、比较有效的方式来思考问题。   他曾经想成为一个能够改变世界的人,成为一个革命者,成为他所生活的那个地区的权力人物,但现在他的想法有些不一样了,他需要一种安全和舒适的生活。他的注意力开始转移,开始着手营造一个舒适的小窝。流浪者不再流浪了,他回到他的家庭中,开始定居、过起文明的生活来。   这时,家里那些关注着他、为他提心吊胆的人终于松了一口气:啊,真好,浪子回头金不换,他总算稳定下来了,总算回到正常的轨道上来了。   35~42岁: 传统的拥护者   35岁是一个人生命能量的高峰,他显得那样稳健而有力量,他是某个机构或团体的中坚分子。他站在那个高峰上,并从此开始走下坡路。这时候,他不仅对安全与舒适有兴趣,他还成了保守派。他讨厌风险,他反对改变,他倾向稳定,他正式变成了体制中的一部分。他不再是一个无政府主义者,他支持政府和法律。   人力资源专家认为,如果你在35岁还在求职,那就意味着你不再可能达到那个高峰,也意味着你不能给那个公司注入新的创业力量。35岁是一个坎,尽管你成熟、经验丰富、处事稳重,但企业中一般没有合适的职位提供给35岁以后的求职者,那些合适你的职位都被你的同龄人占据着。  42~49岁: 思考生命的出路   他很不情愿地迎来了生命中的第七个7年。他开始回忆他的青少年时代,那时他在成长,富有生命力,活力充沛,愈来愈有劲。而现在正好相反,他一天比一天脆弱。   他的身体在开始发胖。发胖意味着他的身体再也无法将所有的食物都转换成能量。他大腹便便,疾病丛生,像一架运转不灵的机器。他开始秃顶,或者长出白头发,生命的秋天到了。   他很可能会得溃疡。溃疡是野心的象征,如果你患有溃疡,那就显示你曾经狂热和执着地追求过成功。从前你追求这个、追求那个,你什么都想要,你的胃口很好,现在出现胃溃疡,这是一种因果关系,你很容易理解。只是你从前不知道,现在知道已经有些晚了。   他还可能得心脏病。很多人都会得心脏病,但心脏病发作的时间越早,就越证明你努力追求过。你是一个相当成功的人,你曾经那样努力、那样紧张,否则哪里来的心脏病呢?心脏病是努力过的象征。   从前,他是那样自信,他以为他可以主宰自己的命运,但现在他已经失控了,他需要给生命寻找一条新的出路。那条出路不在物质世界里,他已经尝试过了,它不在那里。它在他的心灵世界中,如果他找不到它,他会惊惶失措,患上各式各样的精神官能症。   在西方,许多人会求助于心理医生,另一些人则会求助于宗教。而在中国,许多人开始回忆他们各自的祖父和父亲,他们曾经认为老人们的想法是那样保守和落伍,现在却变成了人生的大智慧。   49~56岁: 往内在世界探寻   到了49岁时,他的探索就愈来愈清楚了。现在,他开始对自我失去兴趣。他的自我停留在年青时代,他会常常回忆起好汉当年的勇猛。当一个年轻人在那里表现自我时,他会觉得那个年轻人很幼稚,然后会心地一笑。   在这个阶段,繁华已经落尽,生命的真淳正在显现。他的注意力在转移,他开始远离这个社会,转而关注他的内在。他首先会远离异性,他不再需要异性来证明自我。男人对女人不再有兴趣,女人也不再对男人有兴趣。他们不再有性欲,女人也进入了停经期,与性有关的一切在他们现在看来都显得有点滑稽。   56~63岁: 摆脱社会的羁绊   如果说49岁的人变得对异性没有兴趣,那么,56岁以后他会逐渐对别人、对社会都不再有兴趣。自我已经消失了,不再需要什么证明,所以也就不再需要社会。   他已经远离了这个社会。他在为自己活着,而不是为社会活着。如果他还有妻子,妻子会成为他的老伴。他们之间不再有性生活,他们之间不再是夫妻关系,而是朋友关系。他们互相帮助,像小朋友一样互相帮助。   63~70岁: 回归孩子似的纯真   63岁之后,他会再度变成一个小孩。他变得愈来愈安静,仿佛古井中的水。社会已经成了遥远的消息,只能像风一样在水面泛起一圈涟漪。   他在享受生命中的最后时光。年青时他会抱怨头痛、抱怨牙疼,现在他不再抱怨了。他会快乐地说:“我的牙还咬得动;我的眼睛还很清楚;昨天,我居然步行了20多里路。”   他开始迎接死亡的到来。他在回忆他的一生,他会为他的一生感到欢喜,无论好坏或对错。当初他是赤身裸体来到这个世界的,当他离开时,却拥有着许多的经验、许多的感悟。   他像小孩子一样快乐着,虽然他也会难受、也会闹脾气,一旦解决了他的麻烦问题,他就会立即恢复他的快乐。如果70岁以后他仍然活着,他会继续快乐下去。他一副鹤发童颜的可爱模样,宛如中国民间传说的神仙。   当然,死亡迟早会到来的。然而,对于一个快乐的老人而言,死亡是他的生命在最后一次开花。他的生命是那样美丽地开放着,仿佛中国的春节和春节时候开放的梅花。

从缺陷中发现长处-《读者·200603》|看人就要看其长处,知人善任

从缺陷中发现长处 [ 作者:云弓 来源:转自网络 读者点击: 更新时间:2006-1-22 文章编辑:碧海云仙 ] 缺陷有时也有它的价值,发现一个人的缺陷并不难,但要从缺陷中发现他的独特的优势可就太难了——   ★云 弓   有一年市射击队到省里参加汇报比赛,所谓比赛其实就是供省队挑选人才。当所有的射手都赛完之后,省队的主教练将所有的靶纸收集起来,一张张地仔细端详。这时他发现了一张很有意思的靶纸,这张靶成绩并不理想,子弹大多偏离了靶心,但教练注意到一个有趣的细节,几乎所有的子弹都偏向一个方向——右上方,这说明这位选手的技术动作肯定有大问题,但同时,非常集中的着弹点又说明射手的稳定性非常好,而稳定性对于一个射击选手来说是非常重要的。事后,那位选手出人意料地进入了省队,不久又进入了国家队,并且为中国奥运代表团实现了奥运金牌零的突破,他就是许海峰。   某国企有一位老职工,他身有残疾,一直单身,但为人非常刻薄,经常面折人过,令人非常难堪,厂里每次有新政策出台,他总能迅速找到政策的毛病并在各种场合极尽讽刺之能,因此厂里的职工都不喜欢他,而历届领导更是视其为另类,甚至认为是残疾和单身造成了他的偏执。直到有一天,有一位新上任的厂长发现了他善于挑刺的长处,于是厂里有新政策出台总是第一个征求他的意见,然后再加以修改,直到没有明显的破绽为止,因此这些政策贴出来公示的时候几乎从无异议。渐渐地,厂长赢得了宽厚的美名,而那位职工也成为厂里的名人。厂长开玩笑说:他就是我们厂里的黑客,我们闭门造车就应该经受得起黑客的攻击。   每个人都会有自己的缺陷,缺陷有时也有它的价值,发现一个人的缺陷并不难,但要从缺陷中发现他的独特的优势可就太难了。在现实生活中,一个优秀的人才往往是优点与缺点一样突出,如果我们只是盯着他的缺陷,人才就会从我们手中溜走,发现人才不仅需要明察秋毫,更要慧眼独具。