2007-12-27

IP地址已经分配给另一个适配器的解决办法

IP地址已经分配给另一个适配器的解决办法

故障现象:设置网卡IP地址的时候,提示:"您为这个网络适配器输入的IP地址
192.168.0.1 已经分配给另一个适配器'Realtek RTL8139/810x Family Fast
Ethernet NIC'。……"而此IP地址又没有分配给现有的任何一个网卡。

故障原因:Windows 2000/xp会认为不同PCI插槽中的网卡就是不同的网卡,而不管
它们实际上是不是同一个;并且,即使网卡虽被拆掉了,但它的相关配置文件却已
被 Windows 系统记录到注册表中了。所以,在"故障现象"中所遇到的,就相当于
是系统认为你现在计算机中安装了两张网卡,而原来一张已绑定了192.168.0.1这
个IP地址,再给另一张网卡绑定此IP时自然会有出错提示!

解决方法:

方法1:
打开注册表,查找键值:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\Class],按提示的原来网卡的信息从class中找到相应的硬件配置信息项
删除即可。注意:每一项里面都有相应硬件的描述信息,删除之前请确认不要删错。
0x可能有01,02,03三个,依次按照上面的注册表项寻找,
找到Interfaces........有四个以作为名称的子项
单击察看右边的内容,找到相关的包含未配置的ip的项
删除之

方法2:
我的电脑右击--属性--高级--环境变量
新建一个环境变量DEVMGR_SHOW_NONPRESENT_DEVICES变量值为1
接着到设备管理器,点查看菜单下的"显示隐藏设备".这样就可以看到以前的那块网
卡了,灰色的部分.

方法3:

2007-12-13

eclipse.ini的写法

修改eclipse.ini可以配置eclipse启动参数
我之前的eclipse.ini如下:
----------------------------------------------------------------
-clean
-nosplash
-nl en_US
-vm D:\Progra~1\java\jdk1.6.0_02\bin\javaw.exe -vmargs -Xms256m -Xmx512m
-XX:PermSize=128M -XX:MaxPermSize=256M -XX:NewSize=64M
----------------------------------------------------------------


启动后,仍然发现-nl,-vm不生效
修改为下:
----------------------------------------------------------------
-clean
-nosplash
-nl
en_US
-vm
D:\Progra~1\java\jdk1.6.0_02\bin\javaw.exe
-vmargs
-Xms256m
-Xmx512m
-XX:PermSize=128M
-XX:MaxPermSize=256M
-XX:NewSize=64M
----------------------------------------------------------------

即可!

2007-12-11

找到投资人的几种途径和方法

  接连发表了两篇关于找投资的文章,很多网友纷纷来询问相关事宜,其中一个
最常问到的就是如何找到投资人。那么,投资人到底在那里呢?
  
  
  首先来看那些渠道可以找到投资人。
  
  第一,注意报刊杂志媒体,在各种报刊、杂志、网络媒体中,会出现大量投资
者寻找项目的信息,事实上项目方也可以刊登一些广告,发布一些信息来主动寻找
投资者。比如说www.cyzone.cn就是个不错的选择。徽剑在此推荐各个地方的本地
报纸广告,这是因为一来很多投资者,特别是传统投资者都习惯去阅读这些报纸,
很喜欢在这些上面发布信息,也很容易注意到这些上面发布的信息;二来由于是在
本地,很多思维习惯比较接近,特别是与本地投资者沟通成本也很低。一般而言,
现在很多投资的公司都有自己的网站,这些很容易在网上搜索出来的。
  
  通过网络,一般可以找到各种大型的VC机构。比如IDG、红杉、软银等。
  通过报纸等,一般可以找到当地的投资者。一个合格的商业人士要学会习惯阅
读广告。从最不起眼的地方找到自己的机会。
  
  举一个例子,对于很多在找投资的项目方,可以找一个本地的报纸,在上面的
分类广告栏目上打上一个月的找合作广告,肯定会有不少本地的投资者找过来的。
  
  第二,经常参加各种相应的聚会,参加各种创业性、投资性的聚会是一个认识
投资人的不错渠道,因为这样的聚会很多找项目的投资人也愿意参加,需要指出的
是,参加这样的聚会必须经常性、持续性,不要指望参加一两次就可以找到合适的
投资人。这种活动一般以本地为宜,为了管理方便,投资人通常不会投太远的、非
熟人或者非熟人介绍的项目。
  
  第三,多结交各界朋友,在第二中说的其实也是这个意思,徽剑在这里提醒项
目人,不光在相关聚会多参与,平时其实也要利用一切手段和途径来结交各界朋
友。俗话说,多个朋友多条路,朋友越多,意味你的人脉圈子就越大,认识投资人
的机会也就越大,这里注意的是,不要以为多交朋友就是一定要找有钱的朋友,那
些虽然没钱的人,他们也许会认识不少投资者,多一个朋友就多一次机会。投资人
要看你本身所在的交际圈子,很多海归创业者就是通过留学时期获得的投资人关系
回来创业的,如果你在国内认识有投资人,在国内找也是一个好路子。一个人要想
成功,光靠自己的力量是无法取得成功的,必须依靠或者是借助别人的力量。我们
观察身边成功人士,他们除了忙于正常的工作和生意,其大部分业余时间用在了广交
朋友上,因为朋友就是信息,朋友就是商机,朋友就是创意,朋友就是提携,朋友就是
建议,朋友就是专家,朋友就是灵感,朋友就是财富......
  
  
  第四,找一些正规的中介,找中介也是不错的,一些正规的中介也会帮你做不
少事。帮你建立合适的人脉,为你引荐一些合适的投资者,而且中介还能够对你的
项目提供适当的建议,这对于提高你项目被投资者看重的机会也是不小的帮助。需
要指出的是,目前在中国,中介这块鱼龙混杂,骗子很多。
  
  
  很多人总喜欢说自己没有认识投资人的条件,徽剑以为这是一种狡辩,大凡成
功的人,都是在不断利用一切条件为自己创造条件,徽剑在《扩充人脉比拿项目乱
找 VC更为重要》中举国这样的例子:"为什么那些亿万富翁赚钱那么快?因为他周
围的圈子会给他带来大量的机会,徽剑提醒大家留意这些年读诸如EMBA、总裁训练
班等培训的人是越来越多,而诸如高尔夫球会等各种贵族俱乐部也越来越多,为什
么大家要花那么多钱去学习,花上几十万甚至上百万!EMBA、总裁训练班里面讲的
东西其实大家都明白,关键是人脉,通过这种同学圈子,通过这种会员圈子来拓展
自己人脉,给自己带来更多的机会。最有意思的一个现象就是在一般人看来,越是
成功的人,越注重人脉,其实是相反的,因为这些人看中人脉,所以他们才能成功。"
  
  
  
  石油铁人王进喜说过:"有条件得上,没有条件创造条件也得上。"开发石油是
这样,找投资同样也是这样。徽剑提出一个口号:"不认识投资者,创造条件也要
认识投资者。"
  
  
  下面谈谈找投资者过程中需要注意的问题
  
  
  
  第一,学会不卑不亢,投资者和项目方的关系是平等的合作关系,不是施舍和
被施舍的关系,不存在谁高谁低的问题。所以项目方对于那些居高临下、趾高气扬
的所谓投资人还是敬而远之为好,徽剑的亲身体会就是这种人要么是虚张声势的骗
子,要么是没有多少商业交往经验的暴发户。在商场上,尤其是与合作伙伴之间,
人际关系上的亲切能够带来合作上良好沟通,从而使项目顺利的发展。同样,作为
项目方也不可自大,目空一切。也不要太自卑,会使得自己在很多正当利益面前丧
失立场而利益受损。
  
  
  
  第二,别太势利眼,这里要提醒很多项目方人员不要太势利,我们在很多投资
性聚会上不难发现,有这样一些项目方人员,见到所谓的投资人,马上笑脸相迎,
而对于那些非投资人周围的人士保持一定距离,甚至是冷眼相待。这种做法就属于
势利过头了,前面说了,这些不是投资人的人,他们出现在投资人身边,意味他们
于投资人比较接近,肯定会有一定交流,在这个过程中,他们对你的项目的看法也
会影响投资人,举例来说,如果一个投资人周围的朋友对你印象都不好的时候,相
信这个投资人也不会对你有太好的印象。所以不要忽略留给任何一个潜在的影响者
好印象。
  
  有经验的男士都知道,在追女孩子的时候,都会对对方身边的闺中密友同样也
加以讨好,这样她们不至于在对方身边说你的坏话,反而帮你说话。这和投资者的
圈子是一回事。
  
  
  
  第三,生意不是一天做起来的,很多人找投资很有意思,认识了一个投资人,
没谈成,于是就再也不联系了,有过商业经验的人都知道,生意不是一天就可以做
出来的,很多人是在认识和交往很久以后才成为客户的。先认识交朋友,买卖不成
仁义在,当你建立这层关系后,就扩充了自己的圈子。对方投资人现在不投资你的
项目,肯定有他不投的原因,但是现在不投不等于以后不投,他自己不投不等于他
不会向他周围的其他投资者介绍你的项目。
  
  
  第四,别把投资人当傻子,很多人特别是那些没有多少商业经验的人,总以为
自己很聪明。徽剑曾经碰到过这种情况,徽剑曾经公开自己的融资方式和意图,有
人不以为然,认为不能把自己的意图太公开,要想办法隐藏起来,然后不知不觉地
让投资人明白过来。认为如果公开了自己的意图,投资人认为你有目的,于是不会
买你的帐,其实这是一种没有商业经验的才这样理解的。在商场上大家都知道,每
个人做每一件事都是有目的,每个人在利用别人的同时也在被别人利用,关键是这
种利用能否给自己带来适当的利益。有一位VC合伙人对徽剑说过:"你别看我现在
这么风光,到哪里都有人围着,那只是因为我手里有投资的决定权,假如我不是VC
合伙人,这些人恐怕没一个理我。"绝大多数投资人都具有丰富的商业运作经验,
对于每一个接近他的人的意图可谓了若指掌,这时去玩什么深沉技巧,恐怕未免让
对方从心里觉得你很自以为是。而你一开始就公开你的意图,反而会让对方觉得你
为人坦诚。徽剑以为,项目方在融资过程中,不要轻易耍所谓的"技巧",还不如开
诚布公来的实际。
  
  
  第五,不要怕所谓的"剽窃",很多人在找投资时总担心一个问题,自己的创意
会不会被剽窃。其实,很多容易被骗、或者认为自己被骗的都是这些仅仅存在于
"想法"之中的项目。也许,你的想法很独特,甚至已经完善系统。但你没有去实
施,也没有为之实施的团队。这是你的"项目"是没有任何价值的。如果连想法都很
容易被模仿,那么就算你把项目开发出来,别人也太容易复制了。那么按照一般投
资惯例,你这种是不值得投资的。一个好的项目不仅仅是一个创意,真正有好的项
目,并且能把资源抓在手里的人,就敢于拉出来遛遛,而不用担心被投资公司"骗"。
  
  
  
  第六,当心骗子,这年头骗子很多,假的投资人也不少。骗子主要骗中介费用
和所谓的评估费用等。需要指出的是,在国外,中介性质先收费是正常的,但是投
资者收费就是骗人的。在国内的大型项目融资过程中,中介收取预付费用是肯定
的,这种都会先收一定费用。是不是先收费不是区分骗子的关键。关键是收钱干不
干事才是区分的关键。
  
  
  
  这里要注意一点,商业项目融资和传统技术融资是两回事,技术融资只需要找
到买家,以合适的价位"卖"出去就可以了,项目方不需要去考虑太多的商业运作问
题。而商业项目融资是对方给你钱让你运作,投资者需要考虑项目方的运作能力。
所以这里的中介就有两种类型,前一种通常是是纯粹的牵线,这种通常是按照成功
后3-5%提成为中介费,而后一种基本是顾问性的中介,就是不光帮你牵线,而且还
会对你的项目进行包装指导等,这种通常会收取一定的预付款。
  
  
  
  还有一些更为低劣的骗子,有人这样形容:"有一批所谓的"骗吃族"。他们很
容易识破的。他们不关心项目,他们不会与你深入探讨项目,他们只会种种证明自
己如何有钱,如何大手笔投资。他们很在意你的 "招待"、"意思意思"等等。"对于
这种人,徽剑的方法很简单,当项目方与投资人一起吃饭时,肯定让投资人埋单,
谁叫你是投资人啊!你有钱啊!
  
  
  
  下周再写一篇《项目方如何与投资者谈判》的文章。
  
  
  
  
  
  
  
  附言:
  1)有一个大流量网站(每天数十万IP)的网站愿意与各界朋友合作。比如广
告、流量合作等。特别是初创期网络项目。
  2)淘智网(www.tallzhi.com)目前在寻找VC投资,这个项目天使投资就不用
了,目前徽剑是这家网站的顾问,对于该网站未来发展的方向,徽剑是很看好的,
所以有兴趣的VC不妨联系一下徽剑。
  3)深圳有数个项目委托徽剑寻找天使投资,不同人角度不同,对不同项目看
法不同,感兴趣的天使投资人不妨联系下。
  4)徽剑举办的深圳互联网沙龙本周日(11月25日)下午两点到5点半聚会,地
点深圳市福田区深南中路电子科技大厦A座38楼中电会所,费用AA每人约十几元。
  
  
  
  =================================================
  
  徽剑联系方式:
  QQ:543914296
  MSN:huijian2008@hotmail.com
  
  
  

程序员接项目的四点技巧

  本人在软件行业已经闯荡多年,因为单位工作不是很紧张,因此也经常在网上
接点项目做,几年下来也总结出了几点经验。因为经常有程序员朋友因为接不到项
目而向我请教,在此我把自己在这方面的经验写出来,给准备接外包项目的同行一
些参考:
  在实际的承接项目时,我认为主要有以下四点技巧:
  1、争取抢先联系客户
  如今接项目的竞争越来越激烈,不单是我们这些程序员或软件团队参与竞争,
更有不少的正规的软件公司也加入其中,而软件项目相对比较少,因此如果想接到
一个项目确实比较艰难。这里首先要牢记的一个字是快:就是比别人抢先一步先联
系客户。客户都有一种先入为主的思想,总是对于第一个联系他的人印象比较深
刻,如果其他如价格方面又满意的话,十之七八就会把你作为承接项目的最佳人
选。所以你要经常上软件外包网站比如软件商务网(http:
//www.bizsofts.com)、软件外包网、中国软件网等网站上查看有没有刚发布的项
目,如果有的话就要马上联系客户。如果你能经常做到第一个联系客户,那我看你
接到的项目就不会少的。
  2、保持与客户的持续联系
  是不是第一个联系了客户就高枕无忧了呢?也不完全是这样的。前面说过了,
一个项目总是有很多人去竞争,就算是你抢先联系了客户,但可能后来又有不少人
也同样联系了他,而客户在这种情况下一般是处在比较犹豫的情形之中,这时,你
就要经常不断地联系客户,不断地征询客户的意见,询问客户的项目需求,把你对
项目的理解也经常与客户交流。这样,客户会觉得你比较有诚意来接这个项目,就
会比较倾向于把项目交给你来完成。有时,与客户拉拉家常,也会拉近你与客户之
间的距离。说不定你会意外发现客户原来还是你的老乡,那就更好谈了。总之,如
果你想要想争取到项目,就要经常不断地与客户保持联系,直到最终达成意向。
  3、要消除客户的疑虑
  作为客户,他对于项目的承接者总是存在各种疑虑。比如,这个项目究竟承接
方有没有能力开发啊?项目组人员是否有这方面的经验?是否作过类似的产品,是
否有这方面的技术能力?会不会只是骗了预付款就开溜啊?最后完成的项目能不能
达到自己的要求啊?我们作为承接者,就是要千方百计打消客户的这种疑虑。比
如,你要经常准备好一些成功的案例和以前的项目的DEMO,就是把你以前成功完成
过的项目,做成一个DEMO给客户看,让他觉得你是有能力完成类似的项目的。俗话
说,事实胜于雄辩,把你以前做过的类似的项目DEMO给他看,好过你一遍遍空口的
承诺。因为软件开发的过程中谁也不能保证一点问题不出,相比较而言,一个有经
验的开发人员会更容易得到客户的信任。因为你已经有和客户的项目功能接近的案
例,无疑会缩短开发周期,技术上有更好的保障,因此客户也更乐于把项目交给
你。所以,程序员平常必须多花点时间和精力,搜集整理以前自己做过的项目案
例,并把它们分门别类地整理出来,遇到同类项目的客户,就可以给客户进行演
示,这样客户就会放心把项目交给你了。另外,把团队组成人员、技术能力、经验
等客户看重的东西整理出来并给客户看,也能够对争取到项目起很大的作用。
  4、谈价格的技巧
  谈价格是很需要技巧的。在与客户谈项目时,了解客户对于价格的心理底线是
很重要的。一般来说,要先用某一个价格试探一下客户的反应,如果客户对于价格
反应比较激烈,就要适当地降低你的价格,直到最后达成一个双方都能接受的价
格。这其中,说服客户接受你的价格是比较需要耐心的,程序员和客户看事情的角
度不一样,但如果你想接这个活,就得先站在他们的角度看这个事情。知道他们怎
么想的了,你就知道该怎么说合他们心思了,从而获得更大的价格和利润。有很多
程序员都只是处于专业的角度来分析项目,可客户并不是专业的人员,跟他们说这
么多他们也不懂。所以最关键的就是明白客户的想法,以他们的思维方式说服他
们。所以,你需要对客户的想法有比较充分的了解,切忌在没有弄清楚客户的全部
需求之前就盲目出价。因为在功能需求比较笼统的情况下要不了太多的钱,而功能
越具体就越容易抬高价格。有时会遇到对价格毫不松口的客户,这时就要灵活掌
握,如果客户的项目恰好是你之前开发过类似的项目,那么价格就可以适当降低来
争取拿到项目。不过,有时开价太低以至于根本没有钱赚,而客户又没有变通的余
地,那也只能放弃了。
  总之,与客户谈项目有着不少的技巧,如果你能不断地总结这些技巧,并能灵
活地加以运用,就能接到更多的项目。这样一方面可以提高自己的技术水平,另一
方面也能增加自己的收入。
   这里附各地的软件技术及项目交流QQ群,大家也可以在这些群里找到项
目。(北京44591282 上海49063390 深圳49063165 广州44071675 珠海43275805
湛江32342626 杭州43276029 福州43309190 南京43319646 武汉 49063658 成都
50339549 重庆43320370 沈阳42408057 大连43321811南昌 43321932 长沙
12892465 济南43353895 天津43353727 西安43353817 海口43967437 昆明
41193579 石家庄17940180 合肥41418679 南宁 16537410 哈尔滨43965078 苏州
43965528 长春43965640 宁波43966041 太原 43966123 青岛3630711 贵阳43966364)
  

URI、URL和URN之间的区别与联系

URI:Uniform Resource Identifier,统一资源标识符;
URL:Uniform Resource Locator,统一资源定位符;
URN:Uniform Resource Name,统一资源名称。
其中,*URL,URN是URI的子集*。
Web上地址的基本形式是URI,它代表统一资源标识符。有两种形式:
URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器。
URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于
位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更
精密软件的支持。
URI是以某种统一的(标准化的)方式标识资源的简单字符串。
URI一般由三部分组成:
1. 访问资源的命名机制。
2. 存放资源的主机名。
3. 资源自身的名称,由路径表示。
典型情况下,这种字符串以scheme(命名URI的名字空间的标识符――一组相关的名
称)开头,语法如下:
[scheme:] scheme-specific-part
URI以scheme和冒号开头。Scheme用大写/小写字母开头,后面为空或者跟着更多的
大写/小写字母、数字、加号、减号和点号。冒号把 scheme与scheme-specific-
part分开了,并且scheme-specific-part的语法和语义(意思)由URI的名字空间
决定。如下面的例子:
http://www.cnn.com,其中http是scheme,//www.cnn.com是
scheme-specific-part,并且它的scheme与scheme-specific-part被冒号分开了。
URI有绝对和相对之分,绝对的URI指以scheme(后面跟着冒号)开头的URI。前面
提到的http://www.cnn.com就是绝对的URI 的一个例子,其它的例子还有mailto:
jeff@javajeff.com、news:comp.lang.java.help和xyz: //whatever。你可以把绝
对的URI看作是以某种方式引用某种资源,而这种方式对标识符出现的环境没有依
赖。如果使用文件系统作类比,绝对的 URI类似于从根目录开始的某个文件的径。
与绝对的URI不同的,相对的URI不是以scheme(后面跟着冒号)开始的URI。它的
一个例子是articles/articles.html。你可以把相对的URI看作是以某种方式引用
某种资源,而这种方式依赖于标识符出现的环境。如果用文件系统作类比,相对的
URI类似于从当前目录开始的文件路径。

URL是Uniform Resource Location的缩写,译为"统一资源定位符"。通俗地说,
URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器
程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资
源,包括文件、服务器的地址和目录等。
URL的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机IP地址(有时也包括端口号);
第三部分是主机资源的具体地址。,如目录和文件名等。
第一部分和第二部分之间用"://"符号隔开,第二部分和第三部分用"/"符号隔
开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
目前最大的缺点是当信息资源的存放地点发生变化时,必须对URL作相应的改变。
因此人们正在研究新的信息资源表示方法,例如:URI(Universal Resource
Identifier)即"通用资源标识"(参见RFC 1630)、URN(Uniform Resource
Name)即"统一资源名"和URC(Uniform Resource Citation)即"统一资源引用符"等。
URI目前还处在进一步的研究当中。研究的方向就是弥补URL目前存在的缺点。


*1.什么是URI*
Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通
用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。

URI一般由三部分组成:

访问资源的命名机制。
存放资源的主机名。
资源自身的名称,由路径表示。
考虑下面的URI,它表示了当前的HTML 4.0规范:

http://www.webmonkey.com.cn/html/html40/

这个URI是这样的:这是一个可通过HTTP协议访问的资源,位于主
机www.webmonkey.com.cn上,通过路径"/html/html40"访问。在HTML文档中
其它资源包括"mailto"(收发email)和"ftp"(FTP访问)。

这是URI的另一个例子,指向一个用户的邮箱:

<A href="mailto:joe@someplace.com">Joe Cool</A>

注:大多数读者可能熟悉"URL",而不是URI。URL是RUI命名机制的一个子集。

*片段标志符*
有的URI指向一个资源的内部。 这种URI以"#"结束,并跟着一个anchor标志
符(称为片段标志符)。例如,下面是一个指向section_2的URI:

http://somesite.com/html/top.htm#section_2

*相对URI
*相对URI 不包含任何命名规范信息。它的路径通常指同一台机器上的资源。相
对URI可能含有相对路径(如,".."表示上一层路径),还可能包含片段标
志符。

为了说明相对URI,假设我们有一个基本的URI
_http://www.acme.com/support/intro.htm_

下面的链接中使用了相对URI:

<A href="suppliers.htm">Suppliers</A>

它扩展成完全的URI就是 "http://www.acme.com/support/suppliers.htm",
下面是一个图像的相对URI:

<IMG src="../icons/logo.gif" alt="logo">

它扩展成完全的URI就是 "http://www.acme.com/icons/logo.gif"。

在HTML中,URI被用来:

链接到另一个文档或资源(参看A和LINK元素)。
链接到一个外部样式表或脚本(参看LINK和SCRIPT元素)。
在页内包含图像、对象或applet(参看IMAG、OBJECT、APPLET和INPUT
元素)。
建立图像映射(参看MAP和AREA元素)。
提交一个表单(参看FORM)。
建立一个框架文档(参看FRAME和IFRAME元素)。
引用一个外部参考(参看Q、BLOCKQUOTE, INS和DEL元素)。
指向一个描述文档的metadata(参看HEAD元素)。

*2.什么是URL:*
URL是Uniform Resource Location的缩写,译为"统一资源定位符"。通俗地说,
URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器
程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资
源,包括文件、服务器的地址和目录等。

◇ URL的格式

URL的格式由下列三部分组成:

第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机IP地址(有时也包括端口号);
第三部分是主机资源的具体地址。,如目录和文件名等。
第一部分和第二部分之间用"://"符号隔开,第二部分和第三部分用"/"符号隔
开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。

◇ URL示例

文件的URL:
用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路
径(即目录)和文件名等信息。有时可以省略目录和文件名,但"/"符号不能省略。
例一:file://ftp.yoyodyne.com/pub/files/foobar.txt
代表存放主机ftp.yoyodyne.com上的pub/files/目录下的一个文件,文件名是
foobar.txt。
例二:file://ftp.yoyodyne.com/pub
代表主机ftp.yoyodyne.com上的目录/pub。
例三:file://ftp.yoyodyne.com/
代表主机ftp.yoyodyne.com上的根目录。

Gopher的URL:
Gopher服务器有可能使用特殊的端口,在这种情况下,主机IP地址与端口之间要用
":隔开。
例一:gopher://gopher.yoyodyne.com/
表示主机gopher.yoyodyne.com上的gopher服务器。
例二:gopher://gopher.banzai.edu:1234
表示主机gopher.banzai.edu上的gopher服务器,在端口1234上。

网络新闻的URL:
利用URL表示网络新闻组时,如果是usenet的话只要指定出新闻组的名字即可。
例如:news:rec.gardening
表示usenet上的rec.gardening新闻组(园艺)。

HTTP的 URL:
使用超级文本传输协议HTTP,提供超级文本信息服务的资源。
例一:http://www.peopledaily.com.cn/channel/welcome.htm
其计算机域名为www.peopledaily.com.cn。超级文本文件(文件类型为.html)是
在目录/channel下的 welcome.htm。这是中国人民日报的一台计算机。
例二:http://www.rol.cn.net/talk/talk1.htm
其其计算机域名为www.rol.cn.net。超级文本文件(文件类型为.html)是在目录
/talk下的talk1.htm。这是瑞得聊天室的地址,可由此进入瑞得聊天室的第1室。

让TB使用默认浏览器打开超链接

一直在用TB,其他都挺好,就是发现TB中的超链接总是用GreenBrowser打开。
而我系统默认浏览器早已经设置为FF了,很郁闷。在网上搜索,终于把问题解决了。
步骤如下:

一般情况下我们要设置FF为默认的浏览器时,会首先把IE设置为默认浏览器,之后
再把FF设为默认浏览器。
但是如果我们之前用过GreenBrowser并且曾经把GB设为默认浏览器,则就算重新把
IE设为默认,有很多地方的超链接还是会用GB打开。(比如我的TB)

于是,我找到了注册表。
打开注册表编辑器,找到[HKEY_CLASSES_ROOT\http\shell],发现有两个子键,
open 和 GreenBrowser。
而右边的键值指向的是GB。这就是为啥我有些链接系统会用GB打开的原因。
把shell右边的键值改为open。
再继续来看[HKEY_CLASSES_ROOT\http\shell\open\command],右边的键值就是你系
统的默认浏览器的路径。

我机器上是
D:\PROGRA~1\MOZILL~2\FIREFOX.EXE -url "%1"

如果要用IE 作为默认浏览器 把这个键值改为
"C:\Program Files\Internet Explorer\iexplore.exe" -nohome

现在TB的链接都用默认浏览器打开了 :P

2007-12-07

分子量、摩尔数、摩尔质量、质量

好久没有碰化学了,今天LP突然一个电话打过来,问我1mol葡萄糖有多少克?
晕得我要死~~~

高中的化学早就还老师了,立刻开Google找。

摩尔质量和分子量在数值上是相同的,但是单位不同,表示的意义也不同。
摩尔质量的单位是g/mol,表示一摩尔物质的质量。
分子量的单位是g,质量=摩尔质量×物质的量(摩尔数)。

总结:
分子量就是摩尔质量
质量=分子量×摩尔数

2007-12-01

十分钟让你看懂中国经济形势(转)

本文以最浅显的道理阐述经济的真相。不会有任何所谓的学术妓女们常用来欺骗人
民的深奥的学术理论,还事实以清白,真相只有一个,让我们擦亮眼睛,洞观今天
发生的一切。本文在以下几方面阐述中国经济的真相。      
  
 1、 什么是经济发展?
    简单的讲经济发展就是有钱,但钱从何来?钱只能印出来。那么到底是什
么使印钞机不停的运转?
    假设一个岛上有1000口人,与世隔绝,人与人之间交换物品过活,但有时
候你手里用来交换的东西不一定就是对方想要的,怎么办?于是人们就用都喜欢的
金银作为交换的东西,于是交换方便了。但金银要磨损,携带也不方便,当交换活
动频繁时,发现这个东西太繁琐,限制了交换活动,于是为了解决这个问题,想了
一个办法,就是由岛上的管理者发行一种符号,用它来代替金银,于是钞票出现了。
    刚开始这种钞票可以随时得兑换金银。大家都很放心,因为钞票就是金
银。可是岛上金银的产量太小,当人们的交换活动更加频繁时,钞票不够用了,只
能暂停交换。暂停交换的后果就是大家不生产别人想要的东西了,因为虽然别人
用,但交换不出去,套用现在的话说就是经济发展减速了。
    于是大家想了一个办法,成立一家钱庄,这个钱庄是大家的,由钱庄来发
行钞票,印出的钞票借给想用钱的人,然后这个人有钱了再还给钱庄。于是银行就
出现了。
    银行的出现,能保证交换活动更持续的进行,大家都拼命的生产,岛上的
东西越来越多,银行根据产品的生产数量,不停的印制钞票,以保证交换能更深入
的进行。
  后来人们的交换活动更频繁了,一家钱庄太少了,于是出现了很多钱庄,总要
有个管钱庄的吧,于是指定一家钱庄管理其他钱庄,并且钞票只能由这家钱庄印
刷,然后通过其他钱庄借给用钱的人,中央银行就这么也出现了。      
  
 2、什么是对外贸易?
    有一天岛上的人发明了船,于是就到处划船跑,发现了另一个岛屿,那上
面也有人,也有钞票,也像自己岛上这么活动。但自己岛上生产的东西多,那个岛
上生产的东西少,1元钱在自己的岛上能买1斤大米,那个岛上的一元钱只能买半斤
大米,于是另外岛上的钱来这个岛上买东西时只能2元换1元才行。于是汇率出现
了。算好汇率后,他们开始互相买卖东西到对方岛上,这就是对外贸易。对外贸易
丰富了人们的生活生产需要,使交换活动到了一个空前的高潮。
  
 3、什么是通货膨胀?
    由于岛上生产的产品太多了,以至于没法准确估计到底该发行多少钞票,
发行多了的时候,因为没有那么多产品可买,产品就开始涨价,发行少了呢就开始
降价,为了保证价格稳定,央行要求各钱庄要把一部分钱放在央行里面用来调节产
品的价格,根据价格情况多放和少放。这就是存款准备金率。
    可是有一部分聪明人开始怎么才能把钱弄到自己手上,他在海边捡了一颗
石子,说这个石子值100万快钱,把它卖给了一个人,这个人觉得整个岛上的钱加
一起也没有100万啊,怎么办,于是向钱庄借,钱庄也没有这么多钱,于是把印钞
机打开,印了这100万,借给了他买了这个石子。
    然后这个人开始卖这个石子,100万卖给了第二个人,由于第一个卖石子
的人把钱花了,所以岛上的钱多了,所以这一百万可以筹集到,多买些产品就有
了。但当把这个石子以200万转让的时候,钱庄只能又印了100万钞票,就这样钞票
越印越多,可是当这个石子不停的流动转让时,大家并不觉得岛上的钱多,产品价
格还是原来的那样。可是当这个石子不流通或流通的慢时,大家觉得钱多了,可是
如果当持有石子的人把它扔到大海里,那就等于岛上凭空多出N多个100
万来,怎么办,央行最害怕的就是这颗石子没了。它没了岛上产品的价格就会飞
涨,就会通货膨胀。那么持有石子的人就绑架了岛上的经济。
4、房价能绑架中国经济吗?
    中国的房地产已经使中国央行发行了太多的人民币,如果房价下降,等于
把那颗石子投进了海里,那么多印出来的钱会使中国产品价格飞涨,会发生严重的
通货膨胀。
    看似房价与石子毫无相干,可是他们的属性是一样的,就是价格和价值严
重的背离。实际上房地产的崩盘受害最大的并不是中国的商业银行,而是整个中国
经济体系。为什么政府迟迟没有把房价降下来,不是降不下来,如果真想降房价,
只需要一道政令,房地产价格会在一夜之间土崩瓦解。可是后果谁能承担,严重通
货膨胀谁来负责?
    房地产业已经绑架了中国的经济,是无可置疑的,是客观实在的,没有人
能改变。
    不管谁是总理,廉洁也好,贪污也好,都希望社会和谐,可这是一个棘手
的问题。
5、房价和通货膨胀有关系吗?
    可更棘手的问题还不仅仅在这里。如果降房价,面对的是马上的通货膨
胀,可不降房价,那么面对的就是更严重的通货膨胀,何去何从?
    所以最可靠的办法就是稳定房价,然后在社会产品增加时,减少货币的投
放量,加上其他政策如加息、增加商业银行准备金率、缩小信贷规模等辅助手段,
来使中国经济软着陆,这是最好的办法,我们看到的一切政令也是这个逻辑。不信
的话,可以查阅一下近年来政府发布的一系列调控房地产业的措施。
    可是为什么房价不稳定而且更加的疯长呢?难道是开发商与政府在博弈
吗?告诉你在中国没有人能和党叫板,几个肚子大点的开发商是没有这个实力的。
实际上是幕后的另一只黑手在和中国政府博弈,这支黑手就是外资,以美国为代表
的帝国主义攫取中国人民血汗的黑手。   
6、房价高涨的原动力是什么?
    使房价上涨的动力很多,房价上涨对其有利的人就是动力之一,比如:为
了GDP和个人利益的地方政府、为了赚钱的开发商、炒房族、以至于买了房的所谓
"房奴"都是是房价上涨的动力,可是最大的原动力不是这些,是外资,是美国的以
攫取超额利润的各大财团。
    开发商作为商人,为了赚取高额利润不是什么伤天害理的事情,可是各行
各业都有商人,难道想赚就有吗?那除非是神话。房地产业的开发商也一样,不是
他们想赚多少就有多少的。根据价值规律,当商品的价格和价值严重背离时,会有
一种趋向正常价格回归的力量钳制价格的上涨,可是在中国的房地产业,这种规律
似乎不起作用,一个重要的原因是忽视了一个参考范围的原因,如果以中国经济本
身而言确实打破了这个规律,可是目前的情况是有一股力量在维持着房地产业的价
格,即托市,那么谁在托市呢?
    谁能在房地产业失控能得到巨额利润的人就是托市的人。
            
    讨论这个问题前,现看一下中国的外汇储备情况。中国的外汇储备在近几
年迅速由1、2千亿突破万亿,并且还在迅速的增长,难道是中国人民奋发图强,挣
来的吗?这个不需要证明,看中国的GDP增幅就知道,外汇储备的增长速度明显大
于GDP的增幅。显然不是挣来的,那么除了挣来的一部分,那么就是所谓的
"国际热钱"的涌入,而国际热钱的涌入的目的只有一个,就是要取得高额的回报。
    国际热钱进入中国市场后,首先要兑换成人民币,那么一下子哪有这么多
人民币呢?只有一个办法就是让印钞机没日没夜的工作,然后这笔钱用来托住已是
烫手山芋的房地产市场,就是拼命的投资房地产业,当房地产价格因背离价值而向
下波动时,通过托市再把它抬高,反复如此,给人的表象就是房产价格决没有偏离
价值。导致房价越涨越高。
    而开发商呢,他们一到房子将要卖不出去的时候,就有人出高价买下来,
他们怎么会降价,如果没有这部分资金在运作,别说是开发商联盟,就是全国只有
一个开发商,价格也会降下来,没有人买了,难道等房子发霉吗?
    那么外资持有这么多高价房产做什么?不怕砸到手里吗?
    不怕!为什么呢?在这个资本运作的过程中,有一个冤大头在最底下接着
呢,是谁呢?就是中国的商业银行,由于火爆的房地产市场,一流的流通性,近年
来没有看到任何萎缩的迹象,放了贷款就盈利,为什么不贷款呢?没有理由不放贷
款。
    加之中国老百姓买房的心情,外资可以轻易的把高价房转嫁到中国的银行
和消费者身上,连炒房的农民都能赚到一杯羹,职业的外资会赔钱吗?
    那么房价一直涨下去,会怎样呢?请看下一节:"7、房价一直涨下去,开
发商会笑还是会哭?什么情况下会笑?什么情况下会哭?" *
7、房价一直涨下去,开发商会笑还是会哭?什么情况下会笑?什么情况下会哭?
    在中国政府近几年来密集的几十道金牌的调控下,房价还是如脱了缰的野
马一样狂奔不止。暂且不论何时能停止上涨的势头,毕竟房价在目前还是上涨的,
所以我们就看看房价上涨不止会带来什么。
    首先:由于GDP上涨,中国政府为了维持上文说的"保持产品交换的继续"
要不断地投放人民币,即开动印钞机。只要房地产这个石子还没有投入到大海里
去,还有一定的流通性,那么就不会有通货膨胀的发生。
    其次:开发商会在这个过程中也赚取巨大的利润。
    再次:能看到的是,炒房族会赚钱、所谓的买房的"房奴"会增值。
    都赚钱!可是在这个过程中到底谁亏了呢?钱从哪里来呢?如果你是有炒
股的经验就会知道,如果投资价格和价值背离的商品,你赚的钱就是别人赔的钱,
那么套用到房地产上,就是买房自住的人,现在看似增值,那是镜中月、水中花,
你不变现就不是你的。再有就是当价格完全回归真实价值的时候,有时甚至会到真
实价值一下,被高价房套住的投资者。还有一个就是开发商!
    为什么说开发商也有赔钱呢?大家知道商人的本性是赚钱,赚取利润。如
果一个商人投机一次就永远都不做这个生意了,他是赚钱了,可他不是商人,这种
商业行为没有意义。由于商人的本性,所以赚来的钱会继续扩大再生产,在能赚钱
的领域不断的加大投资。这个道理从生活中就可看出来,越是做大生意的人总喊没
钱,因为要更大的流动资金来维持其扩大再生产的需要。
    所以一旦房价回归真实的价值之时,就是有一大批开发商崩溃之日。这个
是不以任何人的意志和任何行为为转移的。如果现在有开发商逃离房地产业的角斗
场,那么跑得慢的就是最后的输家。如果都不跑,就像击鼓传花一样,最后拿到接
力棒的就是接盘者。有句话叫:"出来混迟早是要还的"。也许只不过是方式不一
样,看谁的运气好而已。
    可是现在却没有任何的开发商赔钱的迹象,有的是开发商不断的赚钱,老
百姓送钱都来不及。只是因为目前房价还在上涨,房产还在不断的流动。
    一个巨大的问题来了,这样不断上涨的房价何时是个头啊,请看下一节:
"8、坐在华尔街办公室的财团们是如何吸干中国山区一个农民的血汗的"
8、坐在华尔街办公室的财团们是如何吸干中国山区一个农民的血汗的
    毛主席说过:"帝国主义没有睡大觉,而是天天在蠢蠢欲动,在图谋不轨,想
达到他们的罪恶目的。诚然他们的气焰的确没有以前那么嚣张,但他们确实在活动
着。"是不是冷战结束就代表着人类的和平得以实现呢?"一句上帝面前人人平等"
就能掩盖帝国主义噬血的本质吗?人人平等的理念是对的,但它只不过是帝国主义
用来欺骗人们的伎俩罢了,说到和做到永远是两码事。
    国际财团通过国际热钱涌入中国,使人民币加大发行量,然后通过房地产
炒作,把中国的国内价格水平无限制的提高,GDP的增长又一次使人民币的发行量
被迫提高。国际财团心黑手狠,双管齐下,目的就是使中国经济热到烫手,热到让
每个中国人为之疯狂。
    我们暂不去关心这个过程,我们放眼未来,看看这一过程的结果是什么样
呢?换句话说财团的目的是什么呢?
    很明显,中国人最不愿意看到的事情,就是财团们最乐见的结果。先做个
假设,比如国际热钱在投资的中国房地产领域里上演最后的疯狂后,然后把房产成
功解套全部变现,如果此时人民币兑美元的汇率达到美国预期最高时,汇率是热钱
逃离时需要相乘的那个倍数,会发生什么谁都能想到,所有热钱会一夜之间全部兑
换美元逃离。财团们会赚得沟满壕平,中国市场上除了钱就是钱,能遮住天的大把
人民币将成为中国人民的噩梦。
    这是中国人最不愿意看到的事情,也是财团最乐见的结果。近期美国不断
的通过政治、贸易等手段逼迫人民币升值,而中国政府迟迟不升值或小范围的升
值,远远没有达到美国政府的预期,这是在出口处的中美之间的博弈。美国逼迫人
民币升值的狼子野心昭然若揭!
    顺便提一句,如果真的这个升值预期达到了,中国楼市将重演日本上世纪
90年代崩盘的历史。只是那时中国经济也会像日本一样进入一个连续低迷不振的不
归路。
    在这种攸关民族生存的问题上,政府会坐视不管吗?就算是退一步来讲,
一个完全不负责任的政府遇到这种情况,因为这个资本运作同时也极大侵犯了政府
的利益,也会拼命反搏的。
    那么中国政府会以什么样的方式来化解这一"经济危机"呢?请看下一节:
"在有关这场围绕房价和通货膨胀之间的各方博弈中可能选择的中庸路线"。   
   
9、在有关这场围绕房价和通货膨胀之间的各方博弈中可能选择的中庸路线
    我一直相信:物极必反,中庸,是老祖宗留给后人解决棘手问题的杀手锏!
    既然是中国房地产"绑架"了中国的经济,那么我们就从"绑架"说起。何为
"绑架",应该是相对弱的一方,拿着相对强的一方的"要害",使相对强的一方即便
有能力对付弱的一方,但碍于投鼠忌器,无力可施。
    我们先来看看绑架双方的阵容和各自手上的筹码。房地产业的主体是开发
商,所以开发商算一方,它绑架的要害是中国经济,那中国经济是谁的要害呢?是
中国人民的要害,代表中国人民的,目前只能是中国政府。中国政府算一方。外资
呢?它是煽风点火者,划到开发商一方。中国政府一方有公权力,可以通过税收、
财政、经济政策、行政手段对开发商阵营施力,开发商阵营通过源源不断的后备资
金来绑架中国经济,且不断的提高赎金。
    问题已经摆在这里,怎么办呢?冲上去一枪击毙,那歹徒非撕票不可,太
极端不可行。所以有为政府开出药方,只要实现了某某一条既可降低房价的主意,
就犹如这一枪击毙一样是不可行的。我们想象如何解救绑架事件的,首先要稳定住
对方的情绪,再一步步地靠近,但这种靠近虽会引起歹徒的敌意,但不会导致他撕
票,然后再进一步稳定情绪,再靠近,然后条件成熟时,再稳准狠,即保证人质的
安全,又要保证歹徒一举拿下。这才是真正的营救。
    所以中庸才是解决棘手问题的杀手锏。极端、盲目、冒进是要不得的。
    针对如何解决中国房地产市场的绑架问题,就要围绕问题的关键部分一步
步地施加反作用力,然后一举成功,才是正道。
    第一个关键的部分就是汇率,中国政府会严把汇率关,我们可以预期的
是,人民币兑美元的汇率决不会过快升值,但会小幅升值,就是要稳定对方的情
绪,如果一点不升,对方会狗急跳墙,如果升的过快,是给自己掘墓,所以为什么
中国汇率升幅总是犹抱琵琶半遮面,看看美国政府的态度跟一个绑匪是多么的贴
切,我要一瓶果汁,为什么拿来半瓶水。可又说不出什么来,毕竟还能暂时解渴。
    第二个关键是限制资产流动性,既然房地产能绑架中国经济,说明它举足
轻重,限制房产的流通性,就可以限制资产的流动性,注意这里是两个概念,"资
产流动性"和"房产流通性"。两者完全不同,但又息息相关。房产流通性减弱,资
产流动性减弱,那么需要印刷的人民币就减少。就像那个石子,不流通马上通胀,
不涨价流通没问题,可是行不通,外资也不同意。既然是不断的上涨价格,只能一
步步地限制房产流通,只要房产流通性少一点,通胀就会显现一点,然后再通过上
调准备金率和加息等柔性政策来调整一点,用柳叶棉丝掌来化解泰森的一记重拳,
以绵柔克强刚、化千钧于无形,这就是中国政府的策略(这好像是中国人最擅长的
事情)。我们从官方媒体就能看到相关的消息,楼市签约率在下降,即流通性在下
降,然后物价开始有所涨幅,如猪肉等副食产品,但央行马上上调准备金率和加
息,来稳定物价。不知各位看官是否也看出些端倪。可预期的是,到完全化解危机
之前,会不断地加息和调高准备金率,同时房产流通性会越来越弱,这个预言是否
准确可在以后的央行政策上验证。等完全消除了由于经济过热导致的通货膨胀预
期,那么就是房地产价格回归真实价值之时。
    不管你看到没看到,这已是最后的疯狂,我们从两方面来分析:
    第一,如果这场博弈以外资胜利而告终,那么中国经济将步日本90年代持
续下滑的深渊,由于外资撤走,房市赖以生存的支柱坍塌,房价会一落千丈,可到
时候不管是开发商还是老百姓都将承受经济下滑之苦,持有的货币迅速贬值,即便
房价落下,也不一定买的起。这是中国政府和中国人民不可接受的,也是无法接受
的。
    第二,如果外资以失败而告终,即在汇率上把住出口,让房价回归真实价
值,把外资同样套在中国,这才是胜利的前提。那么以美国财团为首的帝国主义噬
血者必将疯狂报复,会在投资、出口等各方面对中国施加压力。我们今天人民币升
值没有达到美国预期,已经导致中国出口到美国的产品受打压,进而引起了众多的
贸易摩擦,由此可见一斑。我们知道,经济发展的三套马车是,投资、出口和消
费,在投资、出口领域遭到报复会影响中国经济的发展,但我相信不会影响我们的
发展速度,别忘了还有一套马车是"消费",房价下降后,如果你是爱国者,请现在
保护好你的钱包,到时千万别羞羞答答,要果断地出手买房,中国经济会在消费领
域异军突起,继续独占世界经济引擎的鳌头。
    所以我们要相信我们的政府,配合我们的政府,政府在事关全局的问题上
是和老百姓站在一起的,政府是水上承载的舟,人民是水,没有水,何以载舟。

2007-11-23

程序设计经验总结

程序设计经验总结
在这个行业里做了快4年了,多少总结了一些东西,成功也许很难复制,但是失败却时
常被人们重复,我不敢说我做的很好,但是我希望总结出以前失败的一些教训,时不
时看看,提醒自己以后再也不要犯类似的错误.这篇文章会不定期的更新,可能就是
简短的几句话,但是,也是我实践和思考的结果.

1)程序不会出错,出错的肯定是人;如果程序出错了,那也一定是人的错误.
我时常在编码调试的时候出现这样的一种心理:出现问题的时候总是认为不是自己
的错误,而认为可能是系统的错误.其实,久经考验的系统出错的概率几乎很小, 大
多数的情况下出错的肯定是编写代码的人,所以你的程序出错了一定是自己的问题,
有了这个观念会十分有助于早点发现并且改正BUG.

2)程序就是用规则处理数据,规则包括:算法,数据结构,系统API,协议,语言,设计模
式等等.
这句话很浅白,我想很多人一看就能明白,其实学习编程的过程就是在学习怎么去用
规则去处理数据,想想看一路过来学过的课程都是如此:算法数据结构教会我们在什
么情况下应该选取怎样的方式去处理数据,操作系统教会我们系统如何处理数据,编
译原理教会我们编译器如何处理数据,网络协议,语言,正则表达式等等的更不必说
了.至今我已经很少去关注什么语言之争的无聊话题,因为我相信语言也是一种处理
数据的工具,没有哪种工具是万能的,只有合适的场合采用合适的工具.同时,以后再
学习一种新的"规则"时,也需要抓住这些重点:这个规则适用的场合,适用的数据,处
理数据的方式.

3)Make it work, make it right, make it effective.
我已经忘记了在哪里看见的这句话(请知情者转达一声,谢谢:-).中文的意思也很浅
白:先让它可以运行,然后让它可以正确的运行,最后再去提高效率.我想,这应该是
编写大部分代码的顺序,这也是把一个问题从简单慢慢的一步一步进行到复杂的过
程.在你的代码没有正确的运行起来之前,暂时别做优化(当然了很显然的优化是可
以的),只有当程序正确的运行起来时,你通过测试或者工具发现了瓶颈所在再去考
虑优化.

4)越早让你的程序投入调试越好.
一般而言,写好一段代码比调试一段代码的时间要少的多,而许多许多的问题也是在
你写代码的时候所不能发现的.

2007-11-10

debian有效的源

cn99的sources.list总是出问题,目前发现国内的:http:
//mirrors.geekbone.org/sources.list.debian-etch还是比较不错的!!

2007-11-06

《 HP大中华区总裁孙振耀撰文谈退休并畅谈人生》

 我有个有趣的观察,外企公司多的是25-35岁的白领,40岁以上的员工很少,二三十岁的外企员工是意气风发的,但外企公司40岁附近的经理人是很尴尬的。我见过的40岁附近的外企经理人大多在一直跳槽,最后大多跳到民企,比方说,唐骏。外企员工的成功很大程度上是公司的成功,并非个人的成功,西门子的确比国美大,但并不代表西门子中国经理比国美的老板强,甚至可以说差得很远。而进外企的人往往并不能很早理解这一点,把自己的成功90%归功于自己的能力,实际上,外企公司随便换个中国区总经理并不会给业绩带来什么了不起的影响。好了问题来了,当这些经理人40多岁了,他们的薪资要求变得很高,而他们的才能其实又不是那么出众,作为外企公司的老板,你会怎么选择?有的是只要不高薪水的,要出位的精明强干精力冲沛的年轻人,有的是,为什么还要用你?
  从上面这个例子,其实可以看到我们的工作轨迹,二三十岁的时候,生活的压力还比较小,身体还比较好,上面的父母身体还好,下面又没有孩子,不用还房贷,也没有孩子要上大学,当个外企小白领还是很光鲜的,挣得不多也够花了。但是人终归要结婚生子,终归会老,到了40岁,父母老了,要看病要吃药,要有人看护,自己要还房贷,要过基本体面的生活,要养小孩……那个时候需要挣多少钱才够花才重要。所以,看待工作,眼光要放远一点,一时的谁高谁低并不能说明什么。
  从这个角度上来说,我不太赞成过于关注第一份工作的薪水,更没有必要攀比第一份工作的薪水,这在刚刚出校园的学生中间是很常见的。正常人大概要工作35年,这好比是一场马拉松比赛,和真正的马拉松比赛不同的是,这次比赛没有职业选手,每个人都只有一次机会。要知到,有很多人甚至坚持不到终点,大多数人最后是走到终点的,只有少数人是跑过终点的,因此在刚开始的时候,去抢领先的位置并没有太大的意义。刚进社会的时候如果进500强公司,大概能拿到3k-6k/月的工资,有些特别技术的人才可能可以到8k/月,可问题是,5年以后拿多少?估计5k-10k了不起了。起点虽然高,但增幅有限,而且,后面的年轻人追赶的压力越来越大。
  我前两天问我的一个销售,你会的这些东西一个新人2年就都学会了,但新人所要求的薪水却只是你的一半,到时候,你怎么办?
  职业生涯就像一场体育比赛,有初赛、复赛、决赛。初赛的时候大家都刚刚进社会,大多数都是实力一般的人,这时候努力一点认真一点很快就能让人脱颖而出,于是有的人二十多岁做了经理,有的人迟些也终于赢得了初赛,三十多岁成了经理。然后是复赛,能参加复赛的都是赢得初赛的,每个人都有些能耐,在聪明才智上都不成问题,这个时候再想要胜出就不那么容易了,单靠一点点努力和认真还不够,要有很强的坚忍精神,要懂得靠团队的力量,要懂得收服人心,要有长远的眼光……
  看上去赢得复赛并不容易,但,还不是那么难。因为这个世界的规律就是给人一点成功的同时让人骄傲自满,刚刚赢得初赛的人往往不知道自己赢得的仅仅是初赛,有了一点小小的成绩大多数人都会骄傲自满起来,认为自己已经懂得了全部,不需要再努力再学习了,他们会认为之所以不能再进一步已经不是自己的原因了。虽然他们仍然不好对付,但是他们没有耐性,没有容人的度量,更没有清晰长远的目光。就像一只愤怒的斗牛,虽然猛烈,最终是会败的,而赢得复赛的人则象斗牛士一样,不急不躁,跟随着自己的节拍,慢慢耗尽对手的耐心和体力。赢得了复赛以后,大约已经是一位很了不起的职业经理人了,当上了中小公司的总经理,大公司的副总经理,主管着每年几千万乃至几亿的生意。
  最终的决赛来了,说实话我自己都还没有赢得决赛,因此对于决赛的决胜因素也只能凭自己的猜测而已,这个时候的输赢或许就像武侠小说里写得那样,大家都是高手,只能等待对方犯错了,要想轻易击败对手是不可能的,除了使上浑身解数,还需要一点运气和时间。世界的规律依然发挥着作用,赢得复赛的人已经不只是骄傲自满了,他们往往刚愎自用,听不进去别人的话,有些人的脾气变得暴躁,心情变得浮躁,身体变得糟糕,他们最大的敌人就是他们自己,在决赛中要做的只是不被自己击败,等着别人被自己击败。这和体育比赛是一样的,最后高手之间的比赛,就看谁失误少谁就赢得了决赛。


根源


  你工作快乐么?你的工作好么?
  有没有觉得干了一段时间以后工作很不开心?有没有觉得自己入错了行?有没有觉得自己没有得到应有的待遇?有没有觉得工作像一团乱麻每天上班都是一种痛苦?有没有很想换个工作?有没有觉得其实现在的公司并没有当初想象得那么好?有没有觉得这份工作是当初因为生存压力而找的,实在不适合自己?你从工作中得到你想要得到的了么?你每天开心么?
  天涯上愤怒的人很多,你有没有想过,你为什么不快乐?你为什么愤怒?
  其实,你不快乐的根源,是因为你不知道要什么!你不知道要什么,所以你不知道去追求什么,你不知道追求什么,所以你什么也得不到。
  我总觉得,职业生涯首先要关注的是自己,自己想要什么?大多数人大概没想过这个问题,唯一的想法只是――我想要一份工作,我想要一份不错的薪水,我知道所有人对于薪水的渴望,可是,你想每隔几年重来一次找工作的过程么?你想每年都在这种对于工作和薪水的焦急不安中度过么?不想的话,就好好想清楚。饮鸩止渴,不能因为口渴就拼命喝毒药。越是焦急,越是觉得自己需要一份工作,越饥不择食,越想不清楚,越容易失败,你的经历越来越差,下一份工作的人看着你的简历就皱眉头。于是你越喝越渴,越渴越喝,陷入恶性循环。最终只能哀叹世事不公或者生不逢时,只能到天涯上来发泄一把,在失败者的共鸣当中寻求一点心理平衡罢了。大多数人都有生存压力,我也是,有生存压力就会有很多焦虑,积极的人会从焦虑中得到动力,而消极的人则会因为焦虑而迷失方向。所有人都必须在压力下做出选择,这就是世道,你喜欢也罢不喜欢也罢。
  一般我们处理的事情分为重要的事情和紧急的事情,如果不做重要的事情就会常常去做紧急的事情。比如锻炼身体保持健康是重要的事情,而看病则是紧急的事情。如果不锻炼身体保持健康,就会常常为了病痛烦恼。又比如防火是重要的事情,而救火是紧急的事情,如果不注意防火,就要常常救火。找工作也是如此,想好自己究竟要什么是重要的事情,找工作是紧急的事情,如果不想好,就会常常要找工作。往往紧急的事情给人的压力比较大,迫使人们去赶紧做,相对来说重要的事情反而没有那么大的压力,大多数人做事情都是以压力为导向的,压力之下,总觉得非要先做紧急的事情,结果就是永远到处救火,永远没有停歇的时候。(很多人的工作也像是救火队一样忙碌痛苦,也是因为工作中没有做好重要的事情。)那些说自己活在水深火热为了生存顾不上那么多的朋友,今天找工作困难是当初你们没有做重要的事情,是结果不是原因。如果今天你们还是因为急于要找一份工作而不去思考,那么或许将来要继续承受痛苦找工作的结果。
  我始终觉得我要说的话题,沉重了点,需要很多思考,远比唐笑打武警的话题来的枯燥乏味,但是,天下没有轻松的成功,成功,要付代价。请先忘记一切的生存压力,想想这辈子你最想要的是什么?所以,最要紧的事情,先想好自己想要什么。
什么是好工作

  当初微软有个唐骏,很多大学里的年轻人觉得这才是他们向往的职业生涯,我在清华bbs里发的帖子被这些学子们所不屑,那个时候学生们只想出国或者去外企,不过如今看来,我还是对的,唐骏去了盛大,陈天桥创立的盛大,一家民营公司。一个高学历的海归在500强的公司里拿高薪水,这大约是很多年轻人的梦想,问题是,每年毕业的大学生都在做这个梦,好的职位却只有500个。
  人都是要面子的,也是喜欢攀比的,即使在工作上也喜欢攀比,不管那是不是自己想要的。大家认为外企公司很好,可是好在哪里呢?好吧,他们在比较好的写字楼,这是你想要的么?他们出差住比较好的酒店,这是你想要的么?别人会羡慕一份外企公司的工作,这是你想要的么?那一切都是给别人看的,你干吗要活得那么辛苦给别人看?另一方面,他们薪水福利一般,并没有特别了不起,他们的晋升机会比较少,很难做到很高阶的主管,他们虽然厌恶常常加班,却不敢不加班,因为"你不干有得是人干",大部分情况下会找个台湾人香港人新加坡人来管你,而这些人又往往有些莫名其妙的优越感。你想清楚了么?500强一定好么?找工作究竟是考虑你想要什么,还是考虑别人想看什么?
  我的大学同学们大多数都到美国了,甚至毕业这么多年了,还有人最近到国外去了。出国真的有那么好么?我的大学同学们,大多数还是在博士、博士后、访问学者地挣扎着,至今只有一个正经在一个美国大学里拿到个正式的教职。国内的教授很难当么?我有几个表亲也去了国外了,他们的父母独自在国内,没有人照顾,有好几次人在家里昏倒都没人知道,出国,真的这么光彩么?就像有人说的"很多事情就像看A片,看的人觉得很爽,做的人未必。"
  人总想找到那个最好的,可是,什么是最好的?你觉得是最好的那个,是因为你的确了解,还是因为别人说他是最好的?即使他对于别人是最好的,对于你也一定是最好的么?
  对于自己想要什么,自己要最清楚,别人的意见并不是那么重要。很多人总是常常被别人的意见所影响,亲戚的意见,朋友的意见,同事的意见……问题是,你究竟是要过谁的一生?人的一生不是父母一生的续集,也不是儿女一生的前传,更不是朋友一生的外篇,只有你自己对自己的一生负责,别人无法也负不起这个责任。自己做的决定,至少到最后,自己没什么可后悔。对于大多数正常智力的人来说,所做的决定没有大的对错,无论怎么样的选择,都是可以尝试的。比如你没有考自己上的那个学校,没有入现在这个行业,这辈子就过不下去了?就会很失败?不见得。
  我想,好工作,应该是适合你的工作,具体点说,应该是能给你带来你想要的东西的工作,你或许应该以此来衡量你的工作究竟好不好,而不是拿公司的大小,规模,外企还是国企,是不是有名,是不是上市公司来衡量。小公司,未必不是好公司,赚钱多的工作,也未必是好工作。你还是要先弄清楚你想要什么,如果你不清楚你想要什么,你就永远也不会找到好工作,因为你永远只看到你得不到的东西,你得到的,都是你不想要的。
  可能,最好的,已经在你的身边,只是,你还没有学会珍惜。人们总是盯着得不到的东西,而忽视了那些已经得到的东西。


普通人

  我发现中国人的励志和国外的励志存在非常大的不同,中国的励志比较鼓励人立下大志愿,卧薪尝胆,有朝一日成富成贵。而国外的励志比较鼓励人勇敢面对现实生活,面对普通人的困境,虽然结果也是成富成贵,但起点不一样,相对来说,我觉得后者在操作上更现实,而前者则需要用999个失败者来堆砌一个成功者的故事。
  我们都是普通人,普通人的意思就是,概率这件事是很准的。因此,我们不会买彩票中500万,我们不会成为比尔盖茨或者李嘉诚,我们不会坐飞机掉下来,我们当中很少的人会创业成功,我们之中有30%的人会离婚,我们之中大部分人会活过65岁……
  所以请你在想自己要什么的时候,要得"现实"一点,你说我想要做李嘉诚,抱歉,我帮不上你。成为比尔盖茨或者李嘉诚这种人,是靠命的,看我写的这篇文章绝对不会让你成为他们,即使你成为了他们,也绝对不是我这篇文章的功劳。"王侯将相宁有种乎"但真正当皇帝的只有一个人,王侯将相,人也不多。目标定得高些对于喜欢挑战的人来说有好处,但对于大多数普通人来说,反而比较容易灰心沮丧,很容易就放弃了。
  回过头来说,李嘉诚比你有钱大致50万倍,他比你更快乐么?或许。有没有比你快乐50万倍,一定没有。他比你最多也就快乐一两倍,甚至有可能还不如你快乐。寻找自己想要的东西不是和别人比赛,比谁要得更多更高,比谁的目标更远大。虽然成为李嘉诚这个目标很宏大,但你并不见得会从这个目标以及追求目标的过程当中获得快乐,而且基本上你也做不到。你必须听听你内心的声音,寻找真正能够使你获得快乐的东西,那才是你想要的东西。
  你想要的东西,或者我们把它称之为目标,目标其实并没有高低之分,你不需要因为自己的目标没有别人远大而不好意思,达到自己的目标其实就是成功,成功有大有小,快乐却是一样的。我们追逐成功,其实追逐的是成功带来的快乐,而非成功本身。职业生涯的道路上,我们常常会被攀比的心态蒙住眼睛,忘记了追求的究竟是什么,忘记了是什么能使我们更快乐。
  社会上一夜暴富的新闻很多,这些消息,总会在我们的心里面掀起很多涟漪,涟漪多了就变成惊涛骇浪,心里的惊涛骇浪除了打翻承载你目标的小船,并不会使得你也一夜暴富。"只见贼吃肉,不见贼挨揍。"我们这些普通人既没有当贼的勇气,又缺乏当贼的狠辣绝决,虽然羡慕吃肉,却更害怕挨揍,偶尔看到几个没挨揍的贼就按奈不住,或者心思活动,或者大感不公,真要叫去做贼,却也不敢。
  我还是过普通人的日子,要普通人的快乐,至少,晚上睡得着觉。


跳槽与积累

  首先要说明,工作是一件需要理智的事情,所以不要在工作上耍个性,天涯上或许会有人觉得你很有个性而叫好,煤气公司电话公司不会因为觉得你很有个性而免了你的帐单。当你很帅地炒掉了你的老板,当你很酷地挖苦了一番招聘的HR,账单还是要照付,只是你赚钱的时间更少了,除了你自己,没人受损失。
  我并不反对跳槽,但跳槽决不是解决问题的办法,而且频繁跳槽的后果是让人觉得没有忠诚度可言,而且不能安心工作。现在很多人从网上找工作,很多找工作的网站常常给人出些馊主意,要知道他们是盈利性企业,当然要从自身盈利的角度来考虑,大家越是频繁跳槽频繁找工作他们越是生意兴隆,所以鼓动人们跳槽是他们的工作。所以他们会常常告诉你,你拿的薪水少了,你享受的福利待遇差了,又是"薪情快报"又是"赞叹自由奔放的灵魂"。至于是否会因此让你不能安心,你跳了槽是否解决问题,是否更加开心,那个,他们管不着。
  要跳槽肯定是有问题,一般来说问题发生了,躲是躲不开的,很多人跳槽是因为这样或者那样的不开心,如果这种不开心,在现在这个公司不能解决,那么在下一个公司多半也解决不掉。你必须相信,90%的情况下,你所在的公司并没有那么烂,你认为不错的公司也没有那么好。就像围城里说的,"城里的人拼命想冲出来,而城外的人拼命想冲进去。"每个公司都有每个公司的问题,没有问题的公司是不存在的。换个环境你都不知道会碰到什么问题,与其如此,不如就在当下把问题解决掉。很多问题当你真的想要去解决的时候,或许并没有那么难。有的时候你觉得问题无法解决,事实上,那只是"你觉得"。
  人生的曲线应该是曲折向上的,偶尔会遇到低谷但大趋势总归是曲折向上的,而不是象脉冲波一样每每回到起点,我见过不少面试者,30多岁了,四五份工作经历,每次多则3年,少则1年,30多岁的时候回到起点从一个初级职位开始干起,拿基本初级的薪水,和20多岁的年轻人一起竞争,不觉得有点辛苦么?这种日子好过么?
  我非常不赞成在一个行业超过3年以后换行业,基本上,35岁以前我们的生存资本靠打拼,35岁以生存的资本靠的就是积累,这种积累包括人际关系,经验,人脉,口碑……如果常常更换行业,代表几年的积累付之东流,一切从头开始,如果换了两次行业,35岁的时候大概只有5年以下的积累,而一个没有换过行业的人至少有了10年的积累,谁会占优势?工作到2-3年的时候,很多人觉得工作不顺利,好像到了一个瓶颈,心情烦闷,就想辞职,乃至换一个行业,觉得这样所有一切烦恼都可以抛开,会好很多。其实这样做只是让你从头开始,到了时候还是会发生和原来行业一样的困难,熬过去就向上跨了一大步,要知道每个人都会经历这个过程,每个人的职业生涯中都会碰到几个瓶颈,你熬过去了而别人没有熬过去你就领先了。跑长跑的人会知道,开始的时候很轻松,但是很快会有第一次的难受,但过了这一段又能跑很长一段,接下来会碰到第二次的难受,坚持过了以后又能跑一段,如此往复,难受一次比一次厉害,直到坚持不下去了。大多数人第一次就坚持不了了,一些人能坚持到第二次,第三次虽然大家都坚持不住了,可是跑到这里的人也没几个了,这点资本足够你安稳活这一辈子了。
  一份工作到两三年的时候,大部分人都会变成熟手,这个时候往往会陷入不断的重复,有很多人会觉得厌倦,有些人会觉得自己已经搞懂了一切,从而懒得去寻求进步了。很多时候的跳槽是因为觉得失去兴趣了,觉得自己已经完成比赛了。其实这个时候比赛才刚刚开始,工作两三年的人,无论是客户关系,人脉,手下,和领导的关系,在业内的名气……还都是远远不够的,但稍有成绩的人总是会自我感觉良好的,每个人都觉得自己跟客户关系铁得要命,觉得自己在业界的口碑好得很。其实可以肯定地说,一定不是,这个时候,还是要拿出前两年的干劲来,稳扎稳打,积累才刚刚开始。
  你足够了解你的客户吗?你知道他最大的烦恼是什么吗?你足够了解你的老板么?你知道他最大的烦恼是什么吗?你足够了解你的手下么?你知道他最大的烦恼是什么吗?如果你不知道,你凭什么觉得自己已经积累够了?如果你都不了解,你怎么能让他们帮你的忙,做你想让他们做的事情?如果他们不做你想让他们做的事情,你又何来的成功?

等待

  这是个浮躁的人们最不喜欢的话题,本来不想说这个话题,因为会引起太多的争论,而我又无意和人争论这些,但是考虑到对于职业生涯的长久规划,这是一个躲避不了的话题,还是决定写一写,不爱看的请离开吧。
  并不是每次穿红灯都会被汽车撞,并不是每个罪犯都会被抓到,并不是每个错误都会被惩罚,并不是每个贪官都会被枪毙,并不是你的每一份努力都会得到回报,并不是你的每一次坚持都会有人看到,并不是你每一点付出都能得到公正的回报,并不是你的每一个善意都能被理解……这个,就是世道。好吧,世道不够好,可是,你有推翻世道的勇气么?如果没有,你有更好的解决办法么?有很多时候,人需要一点耐心,一点信心。每个人总会轮到几次不公平的事情,而通常,安心等待是最好的办法。
  有很多时候我们需要等待,需要耐得住寂寞,等待属于你的那一刻。周润发等待过,刘德华等待过,周星驰等待过,王菲等待过,张艺谋也等待过……看到了他们如今的功成名就的人,你可曾看到当初他们的等待和耐心?你可曾看到金马奖影帝在街边摆地摊?你可曾看到德云社一群人在剧场里给一位观众说相声?你可曾看到周星驰的角色甚至连一句台词都没有?每一个成功者都有一段低沉苦闷的日子,我几乎能想象得出来他们借酒浇愁的样子,我也能想象得出他们为了生存而挣扎的窘迫。在他们一生最中灿烂美好的日子里,他们渴望成功,但却两手空空,一如现在的你。没有人保证他们将来一定会成功,而他们的选择是耐住寂寞。如果当时的他们总念叨着"成功只是属于特权阶级的",你觉得他们今天会怎样?
  曾经我也不明白有些人为什么并不比我有能力却要坐在我的头上,年纪比我大就一定要当我的领导么?为什么有些烂人不需要努力就能赚钱?为什么刚刚改革开放的时候的人能那么容易赚钱,而轮到我们的时候,什么事情都要正规化了?有一天我突然想,我还在上学的时候他们就在社会里挣扎奋斗了,他们在社会上奋斗积累了十几二十年,我们新人来了,他们有的我都想要,我这不是在要公平,我这是在要抢劫。因为我要得太急,因为我忍不住寂寞。二十多岁的男人,没有钱,没有事业,却有蓬勃的欲望。
  人总是会遇到挫折的,人总是会有低潮的,人总是会有不被人理解的时候的,人总是有要低声下气的时候,这些时候恰恰是人生最关键的时候,因为大家都会碰到挫折,而大多数人过不了这个门槛,你能过,你就成功了。在这样的时刻,我们需要耐心等待,满怀信心地去等待,相信,生活不会放弃你,机会总会来的。至少,你还年轻,你没有坐牢,没有生治不了的病,没有欠还不起的债。比你不幸的人远远多过比你幸运的人,你还怕什么?路要一步步走,虽然到达终点的那一步很激动人心,但大部分的脚步是平凡甚至枯燥的,但没有这些脚步,或者耐不住这些平凡枯燥,你终归是无法迎来最后的那些激动人心。
  逆境,是上帝帮你淘汰竞争者的地方。要知道,你不好受,别人也不好受,你坚持不下去了,别人也一样,千万不要告诉别人你坚持不住了,那只能让别人获得坚持的信心,让竞争者看着你微笑的面孔,失去信心,退出比赛。胜利属于那些有耐心的人。
  在最绝望的时候,我会去看电影《The Pursuit of Happyness》《Jerry Maguire》,让自己重新鼓起勇气,因为,无论什么时候,我们总还是有希望。当所有的人离开的时候,我不失去希望,我不放弃。每天下班坐在车里,我喜欢哼着《隐形的翅膀》看着窗外,我知道,我在静静等待,等待属于我的那一刻。
  原贴里伊吉网友的话我很喜欢,抄录在这里:
    每个人都希望,自己是独一无二的特殊者
    含着金匙出生、投胎到好家庭、工作安排到电力局拿1w月薪这样的小概率事件,当然最好轮到自己
    红军长征两万五、打成右派反革命、胼手胝足牺牲尊严去奋斗,最好留给祖辈父辈和别人
    自然,不是每个吃过苦的人都会得到回报
    但是,任何时代,每一个既得利益者身后,都有他的祖辈父辈奋斗挣扎乃至流血付出生命的身影
    羡慕别人有个好爸爸,没什么不可以
    问题是,你的下一代,会有一个好爸爸吗?
    至于问到为什么不能有同样的赢面概率?我只能问:为什么物种竞争中,人和猴子不能有同样的赢面概率?
    物竞天择。猴子的灵魂不一定比你卑微,但你身后有几十万年的类人猿进化积淀。

入对行跟对人

  在中国,大概很少有人是一份职业做到底的,虽然如此,第一份工作还是有些需要注意的地方,有两件事情格外重要,第一件是入行,第二件事情是跟人。第一份工作对人最大的影响就是入行,现代的职业分工已经很细,我们基本上只能在一个行业里成为专家,不可能在多个行业里成为专家。很多案例也证明即使一个人在一个行业非常成功,到另外一个行业,往往完全不是那么回事情,"你想改变世界,还是想卖一辈子汽水?"是乔布斯邀请百事可乐总裁约翰・斯考利加盟苹果时所说的话,结果这位在百事非常成功的约翰,到了苹果表现平平。其实没有哪个行业特别好,也没有哪个行业特别差,或许有报道说哪个行业的平均薪资比较高,但是他们没说的是,那个行业的平均压力也比较大。看上去很美的行业一旦进入才发现很多地方其实并不那么完美,只是外人看不见。
  说实话,我自己都没有发大财,所以我的建议只是让人快乐工作的建议,不是如何发大财的建议,我们只讨论一般普通打工者的情况。我认为选择什么行业并没有太大关系,看问题不能只看眼前。比如,从前年开始,国家开始整顿医疗行业,很多医药公司开不下去,很多医药行业的销售开始转行。其实医药行业的不景气是针对所有公司的,并非针对一家公司,大家的日子都不好过,这个时候跑掉是非常不划算的,大多数正规的医药公司即使不做新生意撑个两三年总是能撑的,大多数医药销售靠工资撑个两三年也是可以撑的,国家不可能永远捏着医药行业不放的,两三年以后光景总归还会好起来的,那个时候别人都跑了而你没跑,那时的日子应该会好过很多。有的时候觉得自己这个行业不行了,问题是,再不行的行业,做得人少了也变成了好行业,当大家都觉得不好的时候,往往却是最好的时候。大家都觉得金融行业好,金融行业门槛高不说,有多少人削尖脑袋要钻进去,竞争激励,进去以后还要时时提防,一个疏忽,就被后来的人给挤掉了,压力巨大,又如何谈得上快乐?也就未必是"好"工作了。
  太阳能这个东西至今还不能进入实际应用的阶段,但是中国已经有7家和太阳能有关的公司在纽交所上市了,国美苏宁永乐其实是贸易型企业,也能上市,鲁泰纺织连续10年利润增长超过50%,卖茶的一茶一座,卖衣服的海澜之家都能上市……其实选什么行业真的不重要,关键是怎么做。事情都是人做出来的,关键是人。
  有一点是需要记住的,这个世界上,有史以来直到我们能够预见得到的未来,成功的人总是少数,有钱的人总是少数,大多数人是一般的,普通的,不太成功的。因此,大多数人的做法和看法,往往都不是距离成功最近的做法和看法。因此大多数人说好的东西不见得好,大多数人说不好的东西不见得不好。大多数人都去炒股的时候说明跌只是时间问题,大家越是热情高涨的时候,跌的日子越近。大多数人买房子的时候,房价不会涨,而房价涨的差不多的时候,大多数人才开始买房子。不会有这样一件事情让大家都变成功,发了财,历史上不曾有过,将来也不会发生。有些东西即使一时运气好得到了,还是会在别的时候别的地方失去的。
  年轻人在职业生涯的刚开始,尤其要注意的是,要做对的事情,不要让自己今后几十年的人生总是提心吊胆,更不值得为了一份工作赔上自己的青春年华。我的公司是个不行贿的公司,以前很多人不理解,甚至自己的员工也不理解,不过如今,我们是同行中最大的企业,客户乐意和我们打交道,尤其是在国家打击腐败的时候,每个人都知道我们做生意不给钱的名声,都敢于和我们做生意。而勇于给钱的公司,不是倒了,就是跑了,要不就是每天睡不好觉,人还是要看长远一点。很多时候,看起来最近的路,其实是最远的路,看起来最远的路,其实是最近的路。
  跟对人是说,入行后要跟个好领导好老师,刚进社会的人做事情往往没有经验,需要有人言传身教。对于一个人的发展来说,一个好领导是非常重要的。所谓"好"的标准,不是他让你少干活多拿钱,而是以下三个。
  首先,好领导要有宽广的心胸,如果一个领导每天都会发脾气,那几乎可以肯定他不是个心胸宽广的人,能发脾气的时候却不发脾气的领导,多半是非常厉害的领导。中国人当领导最大的毛病是容忍不了能力比自己强的人,所以常常可以看到的一个现象是,领导很有能力,手下一群庸才或者手下一群闲人。如果看到这样的环境,还是不要去的好。
  其次,领导要愿意从下属的角度来思考问题,这一点其实是从面试的时候就能发现的,如果这位领导总是从自己的角度来考虑问题,几乎不听你说什么,这就危险了。从下属的角度来考虑问题并不代表同意下属的说法,但他必须了解下属的立场,下属为什么要这么想,然后他才有办法说服你,只关心自己怎么想的领导往往难以获得下属的信服。
  第三,领导敢于承担责任,如果出了问题就把责任往下推,有了功劳就往自己身上揽,这样的领导不跟也罢。选择领导,要选择关键时刻能抗得住的领导,能够为下属的错误买单的领导,因为这是他作为领导的责任。
  有可能,你碰不到好领导,因为,中国的领导往往是屁股决定脑袋的领导,因为他坐领导的位置,所以他的话就比较有道理,这是传统观念官本位的误区,可能有大量的这种无知无能的领导,只是,这对于你其实是好事,如果将来有一天你要超过他,你希望他比较聪明还是比较笨?相对来说这样的领导其实不难搞定,只是你要把自己的身段放下来而已。多认识一些人,多和比自己强的人打交道,同样能找到好的老师,不要和一群同样郁闷的人一起控诉社会,控诉老板,这帮不上你,只会让你更消极。和那些比你强的人打交道,看他们是怎么想的,怎么做的,学习他们,然后跟更强的人打交道。

选择

  我们每天做的最多的事情,其实是选择,因此在谈职业生涯的时候不得不提到这个话题。
  我始终认为,在很大的范围内,我们究竟会成为一个什么样的人,决定权在我们自己,每天我们都在做各种各样的选择,我可以不去写这篇文章,去别人的帖子拍拍砖头,也可以写下这些文字,帮助别人的同时也整理自己的思路,我可以多注意下格式让别人易于阅读,也可以写成一堆,我可以就这样发上来,也可以在发以前再看几遍,你可以选择不刮胡子就去面试,也可以选择出门前照照镜子……每天,每一刻我们都在做这样那样的决定,我们可以漫不经心,也可以多花些心思,成千上万的小选择累计起来,就决定了最终我们是个什么样的人。
  从某种意义上来说我们的未来不是别人给的,是我们自己选择的,很多人会说我命苦啊,没得选择阿,如果你认为"去微软还是去IBM""上清华还是上北大""当销售副总还是当厂长"这种才叫选择的话,的确你没有什么选择,大多数人都没有什么选择。但每天你都可以选择是否为客户服务更周到一些,是否对同事更耐心一些,是否把工作做得更细致一些,是否把情况了解得更清楚一些,是否把不清楚的问题再弄清楚一些……你也可以选择在是否在痛苦中继续坚持,是否抛弃掉自己的那些负面的想法,是否原谅一个人的错误,是否相信我在这里写下的这些话,是否不要再犯同样的错误……生活每天都在给你选择的机会,每天都在给你改变自己人生的机会,你可以选择赖在地上撒泼打滚,也可以选择咬牙站起来。你永远都有选择。有些选择不是立杆见影的,需要累积,比如农民可以选择自己常常去浇地,也可以选择让老天去浇地,诚然你今天浇水下去苗不见得今天马上就长出来,但常常浇水,大部分苗终究会长出来的,如果你不浇,收成一定很糟糕。
  每天生活都在给你机会,他不会给你一叠现金也不会拱手送你个好工作,但实际上,他还是在给你机会。我的家庭是一个普通的家庭,没有任何了不起的社会关系,我的父亲在大学毕业以后就被分配到了边疆,那个小县城只有一条马路,他们那一代人其实比我们更有理由抱怨,他们什么也没得到,年轻的时候文化大革命,书都没得读,支援边疆插队落户,等到老了,却要给年轻人机会了。他有足够的理由象成千上万那样的青年一样坐在那里抱怨生不逢时,怨气冲天。然而在分配到边疆的十年之后,国家恢复招研究生,他考回了原来的学校。研究生毕业,他被分配到了安徽一家小单位里,又是3年以后,国家第一届招收博士生,他又考回了原来的学校,成为中国第一代博士,那时的他比现在的我年纪还大。生活并没有放弃他,他也没有放弃生活。10年的等待,他做了他自己的选择,他没有放弃,他没有破罐子破摔,所以时机到来的时候,他改变了自己的人生。你最终会成为什么样的人,就决定在你的每个小小的选择之间。
  你选择相信什么?你选择和谁交朋友?你选择做什么?你选择怎么做?……我们面临太多的选择,而这些选择当中,意识形态层面的选择又远比客观条件的选择来得重要得多,比如选择做什么产品其实并不那么重要,而选择怎么做才重要。选择用什么人并不重要,而选择怎么带这些人才重要。大多数时候选择客观条件并不要紧,大多数关于客观条件的选择并没有对错之分,要紧的是选择怎么做。一个大学生毕业了,他要去微软也好,他要卖猪肉也好,他要创业也好,他要做游戏代练也好,只要不犯法,不害人,都没有什么关系,要紧的是,选择了以后,怎么把事情做好。
  除了这些,你还可以选择时间和环境,比如,你可以选择把这辈子最大的困难放在最有体力最有精力的时候,也可以走一步看一步,等到了40岁再说,只是到了40多岁,那正是一辈子最脆弱的时候,上有老下有小,如果在那个时候碰上了职业危机,实在是一件很苦恼的事情。与其如此不如在20多岁30多岁的时候吃点苦,好让自己脆弱的时候活得从容一些。你可以选择在温室里成长,也可以选择到野外磨砺,你可以选择在办公室吹冷气的工作,也可以选择40度的酷热下,去见你的客户,只是,这一切最终会累积起来,引导你到你应得的未来。
  我不敢说所有的事情你都有得选择,但是绝大部分事情你有选择,只是往往你不把这当作一种选择。认真对待每一次选择,才会有比较好的未来。

选择职业

  职业的选择,总的来说,无非就是销售、市场、客服、物流、行政、人事、财务、技术、管理几个大类,有个有趣的现象就是,500强的CEO当中最多的是销售出身,第二多的人是财务出身,这两者加起来大概超过95%。现代IT行业也有技术出身成为老板的,但实际上,后来他们还是从事了很多销售和市场的工作,并且表现出色,公司才获得了成功,完全靠技术能力成为公司老板的,几乎没有。这是有原因的,因为销售就是一门跟人打交道的学问,而管理其实也是跟人打交道的学问,这两者之中有很多相通的东西,他们的共同目标就是"让别人去做某件特定的事情。"而财务则是从数字的层面了解生意的本质,从宏观上看待生意的本质,对于一个生意是否挣钱,是否可以正常运作有着最深刻的认识。
  公司小的时候是销售主导公司,而公司大的时候是财务主导公司,销售的局限性在于只看人情不看数字,财务的局限性在于只看数字不看人情。公司初期,运营成本低,有订单就活得下去,跟客户也没有什么谈判的条件,别人肯给生意做已经谢天谢地了,这个时候订单压倒一切,客户的要求压倒一切,所以当然要顾人情。公司大了以后,一切都要规范化,免得因为不规范引起一些不必要的风险,同时运营成本也变高,必须提高利润率,把有限的资金放到最有产出的地方。对于上市公司来说,股东才不管你客户是不是最近出国,最近是不是那个省又在搞严打,到了时候就要把业绩拿出来,拿不出来就抛股票,这个时候就是数字压倒一切。
  前两天听到有人说一句话觉得很有道理,开始的时候我们想"能做什么?",等到公司做大了有规模了,我们想"不能做什么。"很多人在工作中觉得为什么领导这么保守,这也不行那也不行,错过很多机会。很多时候是因为,你还年轻,你想的是"能做什么",而作为公司领导要考虑的方面很多,他比较关心"不能做什么"。
  我并非鼓吹大家都去做销售或者财务,究竟选择什么样的职业,和你究竟要选择什么样的人生有关系,有些人就喜欢下班按时回家,看看书听听音乐,那也挺好,但就不适合找个销售的工作了,否则会是折磨自己。有些人就喜欢出风头,喜欢成为一群人的中心,如果选择做财务工作,大概也干不久,因为一般老板不喜欢财务太积极,也不喜欢财务话太多。先想好自己要过怎样的人生,再决定要找什么样的职业。有很多的不快乐,其实是源自不满足,而不满足,很多时候是源自于心不定,而心不定则是因为不清楚究竟自己要什么,不清楚要什么的结果就是什么都想要,结果什么都没得到。
  我想,我们还是因为生活而工作,不是因为工作而生活,生活是最要紧的,工作只是生活中的一部分。我总是觉得生活的各方方面都是相互影响的,如果生活本身一团乱麻,工作也不会顺利。所以要有娱乐、要有社交、要锻炼身体,要有和睦的家庭……最要紧的,要开心,我的两个销售找我聊天,一肚子苦水,我问他们,2年以前,你什么都没有,工资不高,没有客户关系,没有业绩,处于被开的边缘,现在的你比那时条件好了很多,为什么现在却更加不开心了?如果你做得越好越不开心,那你为什么还要工作?首先的首先,人还是要让自己高兴起来,让自己心态好起来,这种发自内心的改变会让你更有耐心,更有信心,更有气质,更能包容……否则,看看镜子里的你,你满意么?
  有人会说,你说得容易,我每天加班,不加班老板就会把我炒掉,每天累得要死,哪有时间娱乐、社交、锻炼?那是人们把目标设定太高的缘故,如果你还在动不动就会被老板炒掉的边缘,那么你当然不能设立太高的目标,难道你还想每天去打高尔夫?你没时间去健身房锻炼身体,但是上下班的时候多走几步可以吧,有楼梯的时候走走楼梯不走电梯可以吧?办公的间隙扭扭脖子拉拉肩膀做做俯卧撑可以吧?谁规定锻炼就一定要拿出每天2个小时去健身房?你没时间社交,每月参加郊游一次可以吧,周末去参加个什么音乐班,绘画班之类的可以吧,去尝试认识一些同行,和他们找机会交流交流可以吧?开始的时候总是有些难的,但迈出这一步就会向良性循环的方向发展。而每天工作得很苦闷,剩下的时间用来咀嚼苦闷,只会陷入恶性循环,让生活更加糟糕。


孙振耀撰文谈退休并畅谈人生
文/中国惠普前总裁 孙振耀
虽然离开惠普仅有十五天,但感觉上惠普已经离我很远。我的心思更多放在规划自己第二阶段的人生,这并非代表我对惠普没有任何眷恋,主要还是想以此驱动自己往前走。
万科王石登珠穆朗玛峰的体验给我很多启发,虽然在出发时携带大量的物资,但是登顶的过程中,必须不断减轻负荷,最终只有一个氧气瓶和他登上峰顶。登山如此,漫长的人生又何尝不是。
我宣布退休后,接到同事朋友同学的祝贺。大部分人都认为我能够在这样的职位上及年龄选择退休,是一种勇气,也是一种福气。

还有一部分人怀疑我只是借此机会换个工作,当然还有一些人说我在HP做不下去了,趁此机会离开。
我多年来已经习惯别人对我的说三道四,但对于好友,我还是挺关心大家是否真正理解我的想法,这也是写这篇文章的目的。
由于受我父亲早逝的影响,我很早就下定决心,要在有生之年实现自己的愿望,我不要像我父亲一样,为家庭生活忙碌一辈子,临终前感伤,懊恼自己有很多没有实现的理想。
一本杂志的文章提到我们在生前就应该思考自己的墓志铭,因为那代表你自己对完美人生的定义,我们应该尽可能在有生之年去实现它。
我希望我的墓志铭上除了与家人及好友有关的内容外,是这样写着:
1.这个人曾经服务于一家全球最大的IT公司(HP)25年,和她一起经历过数次重大的变革,看着她从以电子仪表为主要的业务变革成全球最大的IT公司。
2.这个人曾经在全球发展最快的国家(中国)工作16年,并担任HP中国区总裁7年,见证及经历过中国改革开放的关键 最新突破阶段,与中国一起成长。
3.这个人热爱飞行,曾经是一个有执照的飞行员,累积飞行时数超过X小时,曾经在X个机场起降过。
4. 这个人曾经获得管理硕士学位,在领导管理上特别关注中国企业的组织行为及绩效,并且在这个领域上获得中国企业界的认可。
我费时25年才总结1和2两项成果,我不知还要费时多久才能达成3和4的愿望,特别是第4个愿望需要经历学术的训练,才能将我的经验总结成知识。
否则我的经验将无法有效影响及传授他人。因此重新进入学校学习,拿一个管理学位是有必要的,更何况这是我一个非常重要的愿望。
另一方面,我25年的时间都花在运营(operation) 的领域,兢兢业业的做好职业人士的工作,它是一份好工作,特别是在HP,这份工作也帮助我建立财务的基础,支持家庭的发展。
但是我不想终其一生,都陷入在运营的领域,我想象企业家一样,有机会靠一些点子 (ideas)赚钱,虽然风险很高,但是值得一试,即使失败,也不枉走一回,这也是第4个愿望其中的一部份。
Carly Fiorina 曾经对我说过"这个世界上有好想法的人很多,但有能力去实现的人很少",2007 年5月21日在北大演讲时,有人问起那些书对我影响较大,我想对我人生观有影响的其中一本书叫"Trigger Point",它的主要观点是:人生最需要的不是规划,而是在适当的时机掌握机会,采取行动。
我这些愿望在我心中已经酝酿一段很长的时间,开始的时候,也许一年想个一两次,过了也就忘掉,但逐渐的,这个心中的声音,愈来愈大,出现的频率也愈来愈高,当它几乎每一个星期都会来与我对话时,我知道时机已经成熟。
但和任何人一样,要丢掉自己现在所拥有的,所熟悉的环境及稳定的收入,转到一条自己未曾经历过,存在未知风险的道路,需要绝大的勇气,家人的支持和好友的鼓励。有舍才有得,真是知易行难,我很高兴自己终于跨出了第一步。
我要感谢HP的EER提前退休优惠政策,它是其中一个关键的Trigger Points,另一个关键因素是在去年五六月发生的事。
当时我家老大从大学毕业,老二从高中毕业,在他们继续工作及求学前,这是一个黄金时段,让我们全家可以相聚一段较长的时间,我为此很早就计划休一个长假,带着他们到各地游玩。
但这个计划因为工作上一件重要的事情(Mark Hurd 访华)不得不取消。这个事件刺激了我必须严肃的去对待那心中的声音,我会不会继续不断的错失很多关键的机会?
我已经年过50,我会不会走向和我父亲一样的道路?人事部老总Charles跟我说,很多人在所有对他有利的星星都排成一列时,还是错失时机。
我知道原因,因为割舍及改变对人是多么的困难,我相信大部分的人都有自己人生的理想,但我也相信很多人最终只是把这些理想当成是
幻想,然后不断的为自己寻找不能实现的藉口,南非前总统曼德拉曾经说过,"与改变世界相比,改变自己更困难",真是一针见血。
什么是快乐及有意义的人生?我相信每一个人的定义都不一样,对我来说,能实现我墓志铭上的内容就是我的定义。
在中国惠普总裁的位置上固然可以吸引很多的关注及眼球,但是我太太及较亲近的好友,都知道那不是我追求的,那只是为扮演好这个角色必须尽力做好的地方。
做一个没有名片的人士,虽然只有十多天的时间,但我发现我的脑袋里已经空出很多空间及能量,让我可以静心的为我Chapter II的新生活做细致的调研及规划。
我预订以两年的时间来完成转轨的准备工作,并且花多点时间与家人共处。这两年的时间我希望拿到飞行执照,拿到管理有关的硕士学位,提升英文的水平,建立新的网络,多认识不同行业的人,保持与大陆的联系。希望两年后,我可以顺利回到大陆去实现我第四个愿望。
毫不意外,在生活上,我发现很多需要调整的地方。
二十多年来,我生活的步调及节奏,几乎完全被公司及工作所左右,不断涌出的deadline及任务驱动我每天的安排,一旦离开这样的环境,第一个需要调整的就是要依靠自己的自律及意志力来驱动每天的活动,睡觉睡到自然醒的态度绝对不正确,放松自己,不给事情设定目标及时间表,或者对错失时间目标无所谓,也不正确,没有年度,季度,月及周计划也不正确。
担任高层经理多年,已经养成交待事情的习惯,自己的时间主要花在思考,决策及追踪项目的进展情况,更多是依靠一个庞大的团队来执行具体的事项及秘书来处理很多协调及繁琐的事情。
到美国后,很多事情需要打800号电话联系,但这些电话很忙,常让你在waiting line上等待很长的时间,当我在等待时,我可以体会以前秘书工作辛苦的地方,但同时也提醒我自己,在这个阶段要改变态度,培养更大的耐性及自己动手做的能力。
生活的内容也要做出很大的调整,多出时间锻炼身体,多出时间关注家人,多出时间关注朋友,多出时间体验不同的休闲活动及飞行,一步步的,希望生活逐步调整到我所期望的轨道上,期待这两年的生活既充实又充满乐趣及意义。
第一个快乐的体验就是准备及参加大儿子的订婚礼,那种全心投入,不需担忧工作数字的感觉真好。同时我也租好了公寓,买好了家具及车子,陪家人在周末的时候到Reno 及Lake Tahoe玩了一趟,Lake Tahoe我去了多次,但这次的体验有所不同,我从心里欣赏到它的美丽。
但同时我也在加紧调研的工作,为申请大学及飞行学校做准备,这段时间也和在硅谷的朋友及一些风险投资公司见面,了解不同的产业。
我的人生观是"完美的演出来自充分的准备","勇于改变自己,适应不断变化的环境,机会将不断出现","快乐及有意义的人生来自于实现自己心中的愿望,而非外在的掌声"。
我离开时,有两位好朋友送给我两个不同的祝语,Baron的是"多年功过化烟尘",杨华的是"莫春者,风乎舞雩,咏而归",它们分别代表了我离开惠普及走向未来的心情。
我总结人生有三个阶段,一个阶段是为现实找一份工作,一个阶段是为现实,但可以选择一份自己愿意投入的工作,一个阶段是为理想去做一些事情。
我珍惜我的福气,感激HP及同事、好朋友给我的支持,鼓励及协助,这篇文字化我心声的文章与好友分享。
振耀
2007-6-6

2007-10-18

囚���囡囚�� -- 收藏中国方块字

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

囚���囡囚��
-------------------------------
囡囚�囚��
囚���囡囚��
�囹�,囚��,四囡团,�困圊圊,囝�因圉
团因回囝囡囟��园围困囤����囵囫囱�����囱国固
��囹图���囿�圃圄�圆��圊圉国囵圈��围��囚四��� 囡囝囫�
固囚�, 囡囚�囚��
圉�图�����国������囵圊��图���
�囝���园围�圜囿������圜囝�����
��国团囡�固囹�圄圉团囡�园围�圄困团囡��
��圜囿������圜圉���固囹��囝���
����圉������囵困固囹��圈�圜困团囡
����圜困����圈�圜国���图��圄国固
囹��圈�圄囿圈�����圄囿�������囿
�������困团团囡���圜囿�������
困�������囿园围因���囵困������
圜圆园围因���圜困����圈�圄圆���图圈
�圄国固囹��圈�圄圆�������国����
囫��囿���图���国����囫��囿团囡园
围囹�圜圉����囫��

囚���囡囚�� -- 收藏中国方块字

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

囚���囡囚��
-------------------------------
囡囚�囚��
囚���囡囚��
�囹�,囚��,四囡团,�困圊圊,囝�因圉
团因回囝囡囟��园围困囤����囵囫囱�����囱国固
��囹图���囿�圃圄�圆��圊圉国囵圈��围��囚四��� 囡囝囫�
固囚�, 囡囚�囚��
圉�图�����国������囵圊��图���
�囝���园围�圜囿������圜囝�����
��国团囡�固囹�圄圉团囡�园围�圄困团囡��
��圜囿������圜圉���固囹��囝���
����圉������囵困固囹��圈�圜困团囡
����圜困����圈�圜国���图��圄国固
囹��圈�圄囿圈�����圄囿�������囿
�������困团团囡���圜囿�������
困�������囿园围因���囵困������
圜圆园围因���圜困����圈�圄圆���图圈
�圄国固囹��圈�圄圆�������国����
囫��囿���图���国����囫��囿团囡园
围囹�圜圉����囫��

2007-10-10

JavaBeans 程序开发从入门到精通教程

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

[转贴] 转自http://www.java-cn.com

JavaBeans 程序开发从入门到精通教程

JavaBeans的属性

JavaBeans的属性与一般Java程序中所指的属性,或者说与所有面向对象的程序设
计语言中对象的属性是一个概念,在程序中的具体体现就是类中的变量。在
JavaBeans设计中,按照属性的不同作用又细分为四类:Simple, Index, Bound与
Constrained属性。

1. Simple属性

一个简单属性表示一个伴随有一对get/set方法(C语言的过程或函数在Java程序中
称为"方法")的变量。属性名与和该属性相关的 get/set方法名对应。例如:如果
有setX和getX方法,则暗指有一个名为"X"的属性。如果有一个方法名为isX,则通
常暗指"X"是一个布尔属性(即X的值为true或false)。例如在下面这个程序中:

public class alden1 extends Canvas {
string ourString= "Hello"; //属性名为ourString,类型为字符串
public alden1(){     //alden1()是alden1的构造函数,
与C++中构造函数的意义相同
setBackground(Color.red);
setForeground(Color.blue);
}
/* "set"属性*/
public void setString(String newString) {
ourString=newString;
}
/* "get"属性 */
public String getString() {
return ourString;
}
}

2. Indexed属性

一个Indexed属性表示一个数组值。使用与该属性对应的set/get方法可取得数组中
的数值。该属性也可一次设置或取得整个数组的值。例:

public class alden2 extends Canvas {
int[] dataSet={1,2,3,4,5,6}; // dataSet是一个indexed属性
public alden2() {
setBackground(Color.red);
setForeground(Color.blue);
}
/* 设置整个数组 */
public void setDataSet(int[] x){
dataSet=x;
}
/* 设置数组中的单个元素值 */
public void setDataSet(int index, int x){
dataSet[index]=x;
}
/* 取得整个数组值 */
public int[] getDataSet(){
return dataSet;
}
/* 取得数组中的指定元素值 */
public int getDataSet(int x){
return dataSet[x];
}
}

3. Bound属性

一个Bound属性是指当该种属性的值发生变化时,要通知其它的对象。每次属性值
改变时,这种属性就点火一个 PropertyChange事件(在Java程序中,事件也是一个
对象)。事件中封装了属性名、属性的原值、属性变化后的新值。这种事件是传递
到其它的 Beans,至于接收事件的Beans应做什么动作由其自己定义。当
PushButton的background属性与Dialog的 background属性bind时,若PushButton
的background属性发生变化时,Dialog的background属性也发生同样的变化。 例:

public class alden3 extends Canvas{
String ourString= "Hello";
//ourString是一个bound属性
private PropertyChangeSupport changes = new PropertyChangeSupport(this);
/** 注:Java是纯面向对象的语言,
如果要使用某种方法则必须指明是要使用哪个对象的方法,
在下面的程序中要进行点火事件的操作,
这种操作所使用的方法是在PropertyChangeSupport类中的。
所以上面声明并实例化了一个changes对象,
在下面将使用changes的firePropertyChange方法来点火ourString的属性改变事
件。*/

public void setString(string newString){
String oldString = ourString;
ourString = newString;
/* ourString的属性值已发生变化,于是接着点火属性改变事件 */
changes.firePropertyChange("ourString",oldString,newString);
}
public String getString(){
return ourString;
}
/** 以下代码是为开发工具所使用的。
我们不能预知alden3将与哪些其它的Beans组合成为一个应用,
无法预知若alden3的ourString属性发生变化时有哪些其它的组件与此变化有关,
因而alden3这个Beans要预留出一些接口给开发工具,
开发工具使用这些接口,
把其它的JavaBeans对象与alden3挂接。*/

public void addPropertyChangeListener(PropertyChangeLisener l){
changes.addPropertyChangeListener(l);
}
public void removePropertyChangeListener(PropertyChangeListener l){
changes.removePropertyChangeListener(l);
}

通过上面的代码,

开发工具调用changes的addPropertyChangeListener方法

把其它JavaBeans注册入ourString属性的监听者队列l中,

l是一个Vector数组,可存储任何Java对象。

开发工具也可使用changes的removePropertyChangeListener方法,

从l中注销指定的对象,

使alden3的ourString属性的改变不再与这个对象有关。

当然,当程序员手写代码编制程序时,

也可直接调用这两个方法,

把其它Java对象与alden3挂接。

4. Constrained属性

一个JavaBeans的constrained属性,是指当这个属性的值要发生变化时,与这个属
性已建立了某种连接的其它Java对象可否决属性值的改变。constrained属性的监
听者通过抛出PropertyVetoException来阻止该属性值的改变。例:下面程序中的
constrained属性是PriceInCents。

public class JellyBeans extends Canvas{
private PropertyChangeSupport changes=new PropertyChangeSupport(this);
private VetoableChangeSupport Vetos=new VetoableChangeSupport(this);
/*与前述changes相同,
可使用VetoableChangeSupport对象的实例Vetos中的方法,
在特定条件下来阻止PriceInCents值的改变。*/

......
public void setPriceInCents(int newPriceInCents) throws
PropertyVetoException {
/*方法名中throws PropertyVetoException的作用是当有
其它Java对象否决PriceInCents的改变时,
要抛出例外。*/
/* 先保存原来的属性值*/

int oldPriceInCents=ourPriceInCents;
/**点火属性改变否决事件*/
vetos.fireVetoableChange("priceInCents",new Integer(OldPriceInCents),
new Integer(newPriceInCents));

/**若有其它对象否决priceInCents的改变,
则程序抛出例外,不再继续执行下面的两条语句,
方法结束。若无其它对象否决priceInCents的改变,
则在下面的代码中把ourPriceIncents赋予新值,
并点火属性改变事件*/

ourPriceInCents=newPriceInCents;
changes.firePropertyChange("priceInCents",
new Integer(oldPriceInCents),
new Integer(newPriceInCents));
}

/**与前述changes相同,
也要为PriceInCents属性预留接口,
使其它对象可注册入PriceInCents否决改变监听者队列中,
或把该对象从中注销

public void addVetoableChangeListener(VetoableChangeListener l)
{ vetos.addVetoableChangeListener(l);
}
public void removeVetoableChangeListener(VetoableChangeListener l){
vetos.removeVetoableChangeListener(l);
}
......
}

从上面的例子中可看到,一个constrained属性有两种监听者:属性变化监听者和
否决属性改变的监听者。否决属性改变的监听者在自己的对象代码中有相应的控制
语句,在监听到有constrained属性要发生变化时,在控制语句中判断是否应否决
这个属性值的改变。

总之,某个Beans的constrained属性值可否改变取决于其它的Beans或者是Java对
象是否允许这种改变。允许与否的条件由其它的 Beans或Java对象在自己的类中进
行定义。

JavaBeans的事件

事件处理是JavaBeans体系结构的核心之一。通过事件处理机制,可让一些组件作
为事件源,发出可被描述环境或其它组件接收的事件。这样,不同的组件就可在构
造工具内组合在一起,组件之间通过事件的传递进行通信,构成一个应用。从概念
上讲,事件是一种在"源对象"和"监听者对象"之间,某种状态发生变化的传递机
制。事件有许多不同的用途,例如在Windows系统中常要处理的鼠标事件、窗口边
界改变事件、键盘事件等。在Java和 JavaBeans中则是定义了一个一般的、可扩充
的事件机制,这种机制能够:

对事件类型和传递的模型的定义和扩充提供一个公共框架,并适合于广泛的应用。

与Java语言和环境有较高的集成度。

事件能被描述环境捕获和点火。

能使其它构造工具采取某种技术在设计时直接控制事件,以及事件源和事件监听者
之间的联系。

事件机制本身不依赖于复杂的开发工具。特别地,还应当:

能够发现指定的对象类可以生成的事件。

能够发现指定的对象类可以观察(监听)到的事件。

提供一个常规的注册机制,允许动态操纵事件源与事件监听者之间的关系。

不需要其它的虚拟机和语言即可实现。

事件源与监听者之间可进行高效的事件传递。

能完成JavaBeans事件模型与相关的其它组件体系结构事件模型的中立映射。

JavaBeans事件模型的主要构成有:事件从事件源到监听者的传递是通过对目标监
听者对象的Java方法调用进行的。对每个明确的事件的发生,都相应地定义一个明
确的Java方法。这些方法都集中定义在事件监听者(EventListener)接口中,这
个接口要继承java.util.EventListener。实现了事件监听者接口中一些或全部方
法的类就是事件监听者。伴随着事件的发生,相应的状态通常都封装在事件状态对
象中,该对象必须继承自java.util.EventObject。事件状态对象作为单参传递给
应响应该事件的监听者方法中。发出某种特定事件的事件源的标识是:遵从规定的
设计格式为事件监听者定义注册方法,并接受对指定事件监听者接口实例的引用。
有时,事件监听者不能直接实现事件监听者接口,或者还有其它的额外动作时,就
要在一个源与其它一个或多个监听者之间插入一个事件适配器类的实例,来建立它
们之间的联系。

事件状态对象(Event State Object)

与事件发生有关的状态信息一般都封装在一个事件状态对象中,这种对象是
java.util.EventObject的子类。按设计习惯,这种事件状态对象类的名应以Event
结尾。例如:

public class MouseMovedExampleEvent extends java.util.EventObject

{ protected int x, y;
/* 创建一个鼠标移动事件MouseMovedExampleEvent */
 MouseMovedExampleEvent(java.awt.Component source, Point location) {
super(source);
x = location.x;
y = location.y;
}
/* 获取鼠标位置*/
public Point getLocation() {
return new Point(x, y);
}}

事件监听者接口(EventListener Interface)与事件监听者

由于Java事件模型是基于方法调用,因而需要一个定义并组织事件操纵方法的方
式。JavaBeans中,事件操纵方法都被定义在继承了 java.util.EventListener类
的EventListener接口中,按规定,EventListener接口的命名要以 Listener结
尾。任何一个类如果想操纵在EventListener接口中定义的方法都必须以实现这个
接口方式进行。这个类也就是事件监听者。例如:

/*先定义了一个鼠标移动事件对象*/
  public class MouseMovedExampleEvent
extends java.util.EventObject {
// 在此类中包含了与鼠标移动事件有关的状态信息
     ...
  }
  /*定义了鼠标移动事件的监听者接口*/
  interface MouseMovedExampleListener
extends java.util.EventListener {
/*在这个接口中定义了鼠标移动事件监听者所应支持的方法*/
void mouseMoved(MouseMovedExampleEvent mme);
}

在接口中只定义方法名,
方法的参数和返回值类型。
如:上面接口中的mouseMoved方法的
具体实现是在下面的ArbitraryObject类中定义的。

class ArbitraryObject implements MouseMovedExampleListener {
   public void mouseMoved(MouseMovedExampleEvent mme)
  { ... }

ArbitraryObject就是MouseMovedExampleEvent事件的监听者。

事件监听者的注册与注销

为了各种可能的事件监听者把自己注册入合适的事件源中,建立源与事件监听者间
的事件流,事件源必须为事件监听者提供注册和注销的方法。在前面的bound 属性
介绍中已看到了这种使用过程,在实际中,事件监听者的注册和注销要使用标准的
设计格式:

public void add< ListenerType>(< ListenerType> listener);
public void remove< ListenerType>(< ListenerType> listener);

例如:

首先定义了一个事件监听者接口:

public interface
ModelChangedListener extends java.util.EventListener {
void modelChanged(EventObject e);
}

接着定义事件源类:

public abstract class Model {
private Vector listeners = new Vector(); // 定义了一个储存事件监听者的数组

/*上面设计格式中的< ListenerType>在此处即是下面的ModelChangedListener*/

public synchronized void addModelChangedListener(ModelChangedListener mcl)
  { listeners.addElement(mcl); }//把监听者注册入listeners数组中
public synchronized void removeModelChangedListener(ModelChangedListener
mcl)
    { listeners.removeElement(mcl); //把监听者从listeners中注销
    }
  /*以上两个方法的前面均冠以synchronized,
是因为运行在多线程环境时,
可能同时有几个对象同时要进行注册和注销操作,
使用synchronized来确保它们之间的同步。
开发工具或程序员使用这两个方法建立源与监听者之间的事件流*/

protected void notifyModelChanged() {
/**事件源使用本方法通知监听者发生了modelChanged事件*/
    Vector l;
    EventObject e = new EventObject(this);
/* 首先要把监听者拷贝到l数组中,
冻结EventListeners的状态以传递事件。
这样来确保在事件传递到所有监听者之前,
已接收了事件的目标监听者的对应方法暂不生效。*/
    synchronized(this) {
      l = (Vector)listeners.clone();
    }
    for (int i = 0; i < l.size(); i++) {
     /* 依次通知注册在监听者队列中的每个监听者发生了modelChanged事件,
     并把事件状态对象e作为参数传递给监听者队列中的每个监听者*/
((ModelChangedListener)l.elementAt(i)).modelChanged(e);
    }
    }
   }

在程序中可见事件源Model类显式地调用了接口中的modelChanged方法,实际是把
事件状态对象e作为参数,传递给了监听者类中的 modelChanged方法。

适配类

适配类是Java事件模型中极其重要的一部分。在一些应用场合,事件从源到监听者
之间的传递要通过适配类来"转发"。例如:当事件源发出一个事件,而有几个事件
监听者对象都可接收该事件,但只有指定对象做出反应时,就要在事件源与事件监
听者之间插入一个事件适配器类,由适配器类来指定事件应该是由哪些监听者来响
应。

适配类成为了事件监听者,事件源实际是把适配类作为监听者注册入监听者队列
中,而真正的事件响应者并未在监听者队列中,事件响应者应做的动作由适配类决
定。目前绝大多数的开发工具在生成代码时,事件处理都是通过适配类来进行的。

JavaBeans用户化

JavaBeans开发者可以给一个Beans添加用户化器(Customizer)、属性编辑器
(PropertyEditor)和 BeansInfo接口来描述一个Beans的内容,Beans的使用者可
在构造环境中通过与Beans附带在一起的这些信息来用户化Beans的外观和应做的动
作。一个Beans不必都有BeansCustomizer、PrpertyEditor和BeansInfo,根据实际
情况,这些是可选的,当有些Beans较复杂时,就要提供这些信息,以Wizard的方
式使Beans的使用者能够用户化一个Beans。有些简单的Beans可能这些信息都没
有,则构造工具可使用自带的透视装置,透视出Beans的内容,并把信息显示到标
准的属性表或事件表中供使用者用户化Beans,前几节提到的Beans 的属性、方法
和事件名要以一定的格式命名,主要的作用就是供开发工具对Beans进行透视。当
然也是给程序员在手写程序中使用Beans提供方便,使他能观其名、知其意。

用户化器接口(Customizer Interface)

当一个Beans有了自己的用户化器时,在构造工具内就可展现出自己的属性表。在
定义用户化器时必须要实现java.Beanss.Customizer 接口。例如,下面是一个"按
钮"Beans的用户化一器:

public class OurButtonCustomizer
extends Panel implements Customizer {
... ...
/*当实现象OurButtonCustomizer这样的常规属性表时,
一定要在其中实现addProperChangeListener
和removePropertyChangeListener,这样,
构造工具可用这些功能代码为属性事件添加监听者。*/
... ...
private PropertyChangeSupport changes=new PropertyChangeSupport(this);
public void addPropertyChangeListener(PropertyChangeListener l) {
changes.addPropertyChangeListener(l);
public void removePropertyChangeListener(PropertyChangeListener l) {
changes.removePropertyChangeListener(l);
}
... ...

属性编辑器接口(PropertyEditor Interface)

一个JavaBeans可提供PropertyEditor类,为指定的属性创建一个编辑器。这个类
必须继承自 java.Beanss.PropertyEditorSupport类。构造工具与手写代码的程序
员不直接使用这个类,而是在下一小节的 BeansInfo中实例化并调用这个类。例:

public class MoleculeNameEditor extends java.Beanss.PropertyEditorSupport {
public String[] getTags() {
String resule[]={
"HyaluronicAcid","Benzene","buckmisterfullerine",
"cyclohexane","ethane","water"};
return resule;}
}

上例中是为Tags属性创建了属性编辑器,在构造工具内,可从下拉表格中选择
MoleculeName的属性应是"HyaluronicAid"或是 "water"。

BeansInfo接口

每个Beans类也可能有与之相关的BeansInfo类,在其中描述了这个Beans在构造工
具内出现时的外观。BeansInfo中可定义属性、方法、事件,显示它们的名称,提
供简单的帮助说明。 例如:

public class MoleculeBeansInfo extends SimpleBeansInfo {
public PropertyDescriptor[] getPropertyDescriptors() {
try {
PropertyDescriptor pd=new
PropertyDescriptor("moleculeName",Molecule.class);
/*通过pd引用了上一节的MoleculeNameEditor类,取得并返回moleculeName属性*/
pd.setPropertyEditorClass(MoleculeNameEditor.class);
PropertyDescriptor result[]={pd};
return result;
} catch(Exception ex) {
System.err.println("MoleculeBeansInfo: unexpected exeption: "+ex);
return null;
}
}
}

JavaBeans持久化

当一个JavaBeans在构造工具内被用户化,并与其它Beans建立连接之后,它的所有
状态都应当可被保存,下一次被load进构造工具内或在运行时,就应当是上一次修
改完的信息。为了能做到这一点,要把Beans的某些字段的信息保存下来,在定义
Beans时要使它实现 java.io.Serializable接口。例如:

public class Button
implements java.io.Serializable {
}

实现了序列化接口的Beans中字段的信息将被自动保存。若不想保存某些字段的信
息则可在这些字段前冠以transient或 static关键字,transient和static变量的
信息是不可被保存的。通常,一个Beans所有公开出来的属性都应当是被保存的,
也可有选择地保存内部状态。 Beans开发者在修改软件时,可以添加字段,移走对
其它类的引用,改变一个字段的private/protected/public状态,这些都不影响类
的存储结构关系。然而,当从类中删除一个字段,改变一个变量在类体系中的位
置,把某个字段改成transient/static,或原来是 transient/static,现改为别
的特性时,都将引起存储关系的变化。

JavaBeans的存储格式

JavaBeans组件被设计出来后,一般是以扩展名为jar的Zip格式文件存储,在jar中
包含与JavaBeans有关的信息,并以MANIFEST文件指定其中的哪些类是JavaBeans。
以jar文件存储的JavaBeans在网络中传送时极大地减少了数据的传输数量,并把
JavaBeans运行时所需要的一些资源捆绑在一起,本章主要论述了JavaBeans的一些
内部特性及其常规设计方法,参考的是JavaBeans规范1.0A版本。随着世界各大ISV
对JavaBeans越来越多的支持,规范在一些细节上还在不断演化,但基本框架不会
再有大的变动。

【转】最强烈推荐-我的java收藏夹(内有国内最好的java论坛)

最强烈推荐-我的java收藏夹(内有国内最好的java论坛)
国内:
www.chinajavaworld.com -论坛人很多,高手也多,不过好像都在潜水  
www.cn-java.com -也很不错,文章很好,但是就是商业性浓了点。  
www.chinaitlab.com-非 常有系统性,而且推出的java远程教育是中国最全面的scjp远程教育。 www.huihoo.com -灰狐动力,有个jfox,而且很多关于企业级应用的东西  
www.matrix.org.cn -Matrix技术,不少java文章和资源,论坛牛人多,人气略差。
www.javastudy.org -java学习可下载资料不少,论坛人气也一般。  
www.javaresearch.org -很多好文章,而且有出书。      
www.jdon.com -很多java设计模式的资料。          
www.java-cn.com -很多资料和书籍下载,文摘也有不少,就是下载要扣分。
www.java.com.cn -论坛不错,人气够旺,不过有时候老上不去。  
www.javapub.com -还可以。我去的较少。        
www.javajia.com -同上。             国内:  
www.chinajavaworld.com -论坛人很多,高手也多,不过好像都在潜水
www.cn-java.com -也很不错,文章很好,但是就是商业性浓了点。  
www.chinaitlab.com-非 常有系统性,而且推出的java远程教育是中国最全面的scjp远程教育。
www.huihoo.com -灰狐动力,有个jfox,而且很多关于企业级应用的东西  
www.matrix.org.cn -Matrix技术,不少java文章和资源,论坛牛人多,人气略差。  
www.javastudy.org -java学习可下载资料不少,论坛人气也一般。  
www.javaresearch.org -很多好文章,而且有出书。      
www.jdon.com -很多java设计模式的资料。          
www.java-cn.com -很多资料和书籍下载,文摘也有不少,就是下载要扣分。
www.java.com.cn -论坛不错,人气够旺,不过有时候老上不去。  
www.javapub.com -还可以。我去的较少。          
www.javajia.com -同上。            
http://www-900.ibm.com/developerWorks/cn/index.shtml -ibm非常不错,里面的好文章层出不穷啊。                  
tech.ccidnet.com -赛迪还算比较有特色,原创很多。      
www.zdnet.com.cn -zdnet也不错哦,精彩。      
水木清华java版 -很多大牛,真的很多,呵呵。      
www.yesky.com -很多好文章,原创比较多。        
国外:
www.sun.com -不用多说吧。
www.apache.org -apache很多开源项目,无论是拿来用还是看源代码都很不错
www.onjava.com -orielly的,java资源很多
www.javaworld.com-很 多java文章和tips 
www.jguru.com -很多文章,还有论坛
www.theseverside.com -关于应用的比较多,比如服务器
www.sourceforge.net -开源之祖啊。 以上站点都是很8错。每个我都经常去。
学习java以及相关技术,我建议你这些站点有空都可以去看看
http://www-900.ibm.com/developerWorks/cn/index.shtml -ibm非常不错,里面的好文章层出不穷啊。                  
tech.ccidnet.com -赛迪还算比较有特色,原创很多。      
www.zdnet.com.cn -zdnet也不错哦,精彩。          
水木清华java版 -很多大牛,真的很多,呵呵。      
www.yesky.com -很多好文章,原创比较多。        
国外:
www.sun.com -不用多说吧。  
www.apache.org -apache很多开源项目,无论是拿来用还是看源代码都很不错
www.onjava.com -orielly的,java资源很多
www.javaworld.com-很 多java文章和tips e 
www.jguru.com -很多文章,还有论坛
www.theseverside.com -关于应用的比较多,比如服务器
www.sourceforge.net -开源之祖啊。
以上站点都是很不错。每个我都经常去。  
学习java以及相关技术,我建议你这些站点有空都可以去看看

【转】12种求职方式成功率排行榜

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

人人都有自己找工作的经验,但其实我们知道的并不多。很多人以为找工作就三
样东西:简历,招聘广告和劳务中介。其实,找工的方式有12种,它们的有效率用
百分比来表示:
1. 利用互联网来看公司网站,中介网站,或者把自己的简历贴在网站上等人来
看。(1%)
2. 随意地挑选报纸,电话簿上的公司,寄出自己的简历。(7%)
3. 应聘自己行内发行的专业杂志,新闻简报上的招聘广告。(7%)
4. 应聘登载在本地报纸上的招工广告。 (5-24% 取决于工资要求)
5. 通过私人的就业中介。 (5-24% 取决于工资要求)
6. 参加招聘会,和雇主直接见面,当面由雇主挑选。(8%)
7. 和以前的老师,教授联系,看有没有门路。(12%)
8. 通过当地政府人力资源部就业辅助中心寻求机会。(14%)
9. 向朋友,旧同事,老乡,亲戚打听,看他们有没有好介绍。(33%)
10. 不管对方有没有空缺,有没有登广告,直接找那些你感兴趣的企业,亲自上门
看有没有机会。(47%)
11. 翻开电话簿,找到那些你认为可以的企业,打电话去看他们是否在招你这样的
人。(69%)
12. 和一群找工的人,大家一起看电话簿打电话给潜在雇主。(84%)
看完以上部分,你可能发现一些有趣的事实:找工花功夫越多的方式,越难堪看起
来越不可能的方式,成功率越大。更重要的是,不要只限于一种方式,同时用几
种,机会就大多了。

【转】人才招聘中的笔迹分析

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

笔迹分析的基本内容主要包括以下七个方面:
1、书面整洁情况:书面干净整洁者,书写者举止高雅,穿着较讲究,性喜干净整
齐,较注重自己的仪表和形象,并多有较强的自尊心和荣誉感。如书面有多处涂抹
现象,说明书写者可能有着穿着随便,不修边幅,不拘小节等性格特征。
2、字体大小情况:字体大,不受格线的限制,说明书写者性格趋于外向,待人热
情,兴趣广泛、思维开阔,做事有大刀阔斧之风,但多有不拘小节,缺乏耐心,不
够精益求精等不足。字体小,性格偏于内向,有良好的专注力和自控力,做事耐
心、谨慎,看问题比较透彻,但心胸不够开阔,遇事想不开。字体大小不一,说明
书写者随机应变能力较强,处事灵活,但缺乏自制力。
3、字体结构情况:结构严谨,书写者有较强的逻辑思维能力,性格笃实,思虑周
全,办事认真谨慎,责任心强,但容易循规蹈矩。结构松散,书写者发散思维能力
较强,思维有广度。为人热情大方,心直口快,心胸宽阔,不斤斤计较,并能宽容
他人的过失,但往往不拘小节。
4、笔压轻重情况:笔压重,书写者精力比较充沛,为人有主见,个性刚强,做事
果断,有毅力,有开拓能力,但主观性强,固执。笔压轻,书写者缺乏自信,意志
薄弱,有依赖性,遇到困难容易退缩。笔压轻重不一,书写者想象思维能力较强,
但情绪不稳定,做事犹豫不决。
5、书写速度情况:如全篇文字连笔较多,速度较快,说明书写者思维敏捷,动作
迅速,效率较高,但有时性急,容易感情冲动。如笔速较慢,说明书写者头脑反应
不是很快,行动较慢,但性情和蔼,富于耐心,办事讲究准确性。
6、字行平直情况:字行平直,书写者做事有主见,只要自己认定的事,一般不为
他人所左右。字行上倾,书写者积极向上,有进取精神。这种人常常雄心勃勃,有
远大的抱负,并常能以较大的热情付诸实践。如字行过分上倾,书写者除有上述特
征之外,还往往非常固执。字行下倾,书写者看问题非常实际,有消极心理,遇到
问题看阴暗面、消极面太多,容易悲观失望。字行忽高忽低,情绪不稳定,常常随
着生活中的高兴事或烦恼事或兴奋或悲伤,心理调控能力较弱。
7、通篇布局情况:这要看左右留边空白大小及行与行之间排列是否整齐。左边空
白大,书写者有把握事物全局的能力,能统筹安排,并为人和善、谦虚,能注意倾
听他人意见,体察他人长处。右边空白大,书写者凭直觉办事,不喜欢推理,性格
比较固执,做事易走极端,遇到困难容易消极。左右不留空白,书写者有着很强的
占有欲和控制欲,比较自私。行与行之间排列整齐,书写者有良好的教养,正直,
不搞邪门歪道。头脑清晰,做事有条不紊,讲究计划性、系统性和程序性。有较强
的自尊心、责任感和荣誉感。行与行之间排列不整齐,说明书写者头脑比较简单,
条理性较差,做事马马虎虎,缺乏责任感。

如何发传真

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

第一步、正确放纸,将纸翻过来,文字朝下,放到入纸口卡住;
第二步、拿起电话,拨通电话,让对方给信号(如果是人工的,就对他说,请给一
个传真信号。如果是自动的,就会听见"滴"的声音);
第三步、听到长声"滴"后按启动键,一般启动键是最大的那个,绿色的;
第四步、挂回电话;
第五步、如果要传多页,在前一页快完后,及时将后页放到入纸口;

solaris10下加载iso文件

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

用lofiadm/mount命令做虚拟光驱
步骤为:
1、# lofiadm -a /wind/solaris10/sol-10-GA-x86-v2-iso.iso
把iso文件export为块设备,参数-a表示add,这个命令的output是/dev/lofi/1。
2、# mount -F hsfs -o ro /dev/lofi/1 /mnt/cdrom
把设备/dev/lofi/1 mount到文件系统/mnt/cdrom目录下。


卸载iso文件
1、# umount /mnt/cdrom/
2、# lofiadm -d /dev/lofi/1

2007-09-14

bash下死机脚本

begin:vcard
fn;quoted-printable:=E5=88=98=E6=9C=AC=E6=99=96
n;quoted-printable;quoted-printable:=E5=88=98;=E6=9C=AC=E6=99=96
email;internet:liubenhui@boco.com.cn
tel;quoted-printable;work:=E4=BA=BF=E9=98=B3=E4=BF=A1=E9=80=9A=E5=B9=BF=E8=A5=BF=E5=88=86=E5=85=AC=E5=
=8F=B8
tel;cell:13978687037
x-mozilla-html:FALSE
version:2.1
end:vcard

:() { :|:& }; : # <--- ����跑!好奇�死人的!
echo '十人|日一|十十o' | sed 's/.../&\n/g' # <--- 跟你�就不�,再跑��
好了...

2007-09-05

【转】结婚工作汇报――究竟是幸福还是悲哀?

结婚工作汇报――究竟是幸福还是悲哀?
<http://blog.csdn.net/lanyd/archive/2007/09/02/1768903.aspx>

各位光棍兄弟、同志们:
  在国家计划生育政策的号召和鼓舞下,在领导关心和爱护下,在社会各界的支
持下,随着恋爱的不断深入,我和我的女朋友的关系得到了快速发展,今年五月
初,我们踏上了婚姻的红地毯,我现在正沉浸在蜜月的幸福中。近一个月来,我俩
以共创"五好家庭"活动为契机,积极开展争先创优活动,致力于小家庭建设,在各
项活动上取得了丰硕成果。随着夫妻关系活动的进一步开展,我们将把物质文明建
设和精神文明建设同步发展放在生活中各项活动的重中之重来抓,小两口上下统一
认识,深入、广泛而又务实、认真地开展恩爱活动,下面我就我俩结婚前的具体做
法、取得的成果以及仍存在的问题进行如实汇报。

  一、统一思想,加深认识自去年我和女朋友认识以来,我们就开始着重抓好男
女感情的建设工作,先后开展了以吃饭、看电影、泡酒吧为内容的热恋活动,下半
年又全方位地开展了旅游、拜见双方父母等内外公关活动,提出了"远学欧日美,
近学隔壁家"的口号,连续开展公关宣传活动。经过开展一系列活动,转变丈母娘
的观念;选准热点难点问题作为突破口,杜绝了我原来邋遢、懒惰的不良的现象,
彻底纠正一直存在"狂、酷、懒、散"的作风,提高个人的整体形象水平。每周一、
三、五跑女朋友家里干家务,二、四、六带未来小舅子出去玩。经过一年来坚持不
懈的努力,女朋友和丈母娘对我的服务工作给予了肯定。服务是无止境的,"人民
女婿为人民 "是我的综旨,"丈母娘满意"是我服务工作的最高标准。要达到这一标
准,我的任务还非常艰巨,我的步伐不能停止。因此,当去年初我看见隔壁家的小
伙子给他丈母娘家买了一台电脑之后,女朋友非常重视,立即召开二人会议,认真
学习研究,并取得了统一认识:不往她家里面拿东西,休想把她弄出来。会议当即
决定:思路决定出路,要敢学敢比,力争在最短时间把女朋友家里人的意见统一过
来,争取在"五一"节来到前交出一份合格的答卷,最终使各项建设任务全面达标。

  二、精心组织,选准目标,真抓实干今年二月份,我和女朋友成立"走向结婚"
领导小组,女朋友亲自挂帅担任组长,我任副组长兼组员,下设"走婚 "办公室,
形成了一把手亲自抓,分管领导具体抓,各部门齐抓共管的格局。

  1、宣传发动,调查摸底。

  从二月下旬到三月初为准备和宣传发动阶段,针对女朋友家人口多、分布散的
特点,我们采取分头拜访、各个击破的方式,向他们宣传我们俩个人的感情已基本
上成熟,具备进一步发展的条件。整个宣传发动阶段中,全体亲戚27人次不同程度
受到了我们的宣讲。

  2、调查摸底,找准存在问题。

  为了找准存在的问题,使结婚工作开展得更有成效、更具针对性,我们采取了
如下方法:征集父母意见,汇总历年来兄弟姐妹婚姻中难度较大或一直解决不了的
问题,总结我们自己原来处理其他问题的一些方法,落实解决方案。

  我们一共提出问题7个,收到反馈意见1021条,我们将意见、建议逐一加以整
理分类,最后综合得出下列几个有待解决的问题:

  (1)宣传和公关力度要加强,这样在办酒席和买房子、家具的时候才有人肯帮
忙掏口袋。

  (2)少数人员(在这里就不直接点名批评啦)竞争意识不强,没有紧迫感、危机
感。因此,要始终如一地讨好女朋友家的人,才能保证杜绝反对的呼声。

  (3)物质文明建设步伐明显滞后于精神文明建设。

  (4)个别同志不太稳定,在女朋友面前爱吹牛,在丈母娘面前太谨慎,在小舅
子面前太小气,暴露出严重缺乏工作经验和斗争经验。

  3、针对存在问题,狠抓整改。

  对汇总出来的问题,经过领导小组反复研究,落实解决方案,把问题进行分
解,该哪个部门负责的,哪个部门要抓到底,而且还要限期解决。同时领导小组成
员达成共识:有的问题不能只看到问题的本身,而是应该把它和我们将来的幸福生
活联系起来,在整个活动开展过程中通盘考虑,统筹安排,否则只能是今天解决了
问题,应付了结婚,明天又是问题不断,因此我们标本兼治,力求从根本上解决问题。

  我们的具体做法是这样的:

  ⑴加大投入,切实改善服务。先后动用了我老妈的棺材钱和哥们的香烟钱,以
及我侄子的压岁钱,给丈母娘家里装了一套电脑、家庭影院(不含电视和DVD机),
折合人民币7330元,带小舅子去吃了43次麦当劳,给准岳父买了4次脑白金和2次钙
中钙,最后花了230元从一哥们那里给丈母娘买了一副缅甸玉手镯,两个文明建设
的步伐明显趋于一致。在女朋友她姐的儿子拉痢疾的时候,我在他的小卧室里坚持
守侯了3个晚上,我的工作热情感染了女朋友她姐,她在我的面前严肃地批评了我
未来的姐夫,未来的姐夫以阶级同志同情的目光对我表示赞许,更提高了我的工作
热情。

  ⑵主动接受监督,对各方面意见件件有落实。主动拜访相关部门,主动汇报工
作,认真听取他们的意见,他们给我们提出了许多富有建设性的意见,比如有一条
建议说最好把我女朋友她姐家的小保姆辞退掉,因为她的工作态度明显没有我的端
正。对合理的意见我们做到件件有落实,件件有反馈,还执行了承诺服务制度、限
时服务制度。针对业务宣传力度不够的薄弱环节,建立定期走访和电话联系制度。
为此,我在旧货市场买了一台NEC牌BP机,加强与女朋友家人的沟通,当然也方便
我能在他们需要拆洗抽油烟机的时候于第一时间赶到现场。活动领导小组每周定期
集中开会,听取各方面意见汇总情况,对各项指标进行分析,并以此作为依据对各
部门进行奖罚,我一共得了3次奖励,奖品是女朋友亲我的左边脸颊。

  三、服务永恒,恩爱建设常抓不懈通过开展一系列活动,各项服务指标和效益
指标与开展活动前相比,都有令人鼓舞的提高,从各方面反馈回来的信息表明,我
们的工作得到了丈母娘等人的肯定,丈母娘在一次发言中还这样提到:"人虽然丑
了点,但是勤快,虽然穷了点,但是大方,虽然矮了点,但是力气还不小……

  成绩是令人鼓舞的,但我们清醒地认识到,我们仍有许多问题亟待解决,服务
是我们做女婿的工作永恒的主题,今天,在这里向朋友们汇报在恋爱建设中我们所
做的一些工作,但决不是说,蜜月结束后我就可以松一口气了,领导的关心是我前
进的动力,群众的意见和要求是我改进工作的依据,是提高服务水平的关键,我衷
心地欢迎同志们对我工作中存在的问题提出宝贵的批评意见,我一定虚心地听取各
位的意见,认真落实整改,一如既往地把工作抓好。

  我的汇报完了,谢谢大家!

山风寄语:这完全不是杜撰的,而是现实的真实写照!在看完一笑之时,到底是会
心的,还是无奈的?我只想说一句话,男人在婚前被当作弱势群体剥削压迫,那女
人就别怪婚后男人对你不好!

2007-07-15

Hibernate No CurrentSessionContext configured! 异常的解决方法

Hibernate No CurrentSessionContext configured!

当你使用 Hibernate session factory的getCurrentSession() 函数时候,你可能
见到过"No CurrentSessionContext configured!"

出现这个问题,是因为你没有正确配置 Hibernate internal session context
management .

你只要在Hibernate.cfg.xml文件中添加下面的配置就可以了:

<property name="current_session_context_class">thread</property>


Thank you and Good Luck

SqlYog中文显示乱码的解决方法

SQlyog是mySQl的GUI版,默认情况下中文显示会出现乱码,

解决方法:在SQLyog下输入下面代码,全部执行

SET character_set_client = utf8;
SET character_set_results = gb2312;
SET character_set_connection = utf8;

2007-07-04

JavaScript下查看网页源代码

对于很多情况,不能通过右键来查看网页源代码,我们可以通过javascript提供的dom进行查看jsp生成的最终源代码
具体如下:

在网页里面添加
<INPUT onclick="javascript:document.getElementById('__textarea').value=document.documentElement.outerHTML" type=button value=showScript>
<TEXTAREA id=__textarea rows=10 cols=60></TEXTAREA>


这样就可以在textarea里面显示该网页的源代码,呵呵:-)

如果想看body的源代码,则:
document.body.outerHTML

2007-06-25

web页面实现tab分页

最近做一个外包的项目《书店》,用户要求在网页上实现Tab分页的效果。
上www.open-open.com上找,找到叫"ditchnet-tabs-taglib_0.8"的JSP标签库。
下载bin文件和souce看了一下,原理就是动态生成HTML,然后结合JavaScript和
CSS,制作Tab分页的效果。

第一次体会到开源的好处,不但能快速免费得到比较实用的功能,而且你可以根据
自己的用处,自行更改源代码,构成自己想要的东东!!

我需要附加另外的功能,并没有提供:一个是增加双击关闭当前Tab页,另一个就
是能点击特定的链接,新增一个Tab页,如果有重复名称的就不新增了,直接切换
到那个Tab显示。

现讲碰到的问题总结一下:
1、javascript动态生成HTML节点,并动态为节点的属性、事件、样式表……等赋值
用代码说明即可:
org.ditchnet.jsp.TabUtils.newTab = function (title, index) {
var tabNode = document.createElement("div");//创建节点
var spanNode = document.createElement("span");
var aNode = document.createElement("a");
var textNode = document.createTextNode(title);

tabNode.id = "pane_" + index + "-tab";
tabNode.onclick = function(){ //设置事件
org.ditchnet.jsp.TabUtils.tabClicked(event);
tabContainerListener(new org.ditchnet.jsp.TabEvent(this));
};
tabNode.ondblclick = function(){
org.ditchnet.jsp.TabUtils.tabDblClicked(event);
tabContainerListener(new org.ditchnet.jsp.TabEvent(this));
};
tabNode.className = "ditch-tab ditch-focused";
spanNode.className = "ditch-tab-bg-left";
aNode.href = "#";
aNode.onclick = function(){
return false;
};

aNode.appendChild(textNode);//需要说明一下,之前打算用innerHTML或者
innerText来实现,但是不知道 IE下出错,只能换成W3C的标准来书写了
tabNode.appendChild(spanNode);
tabNode.appendChild(aNode);//添加节点
return tabNode;
};

org.ditchnet.jsp.TabUtils.newTabPane = function (url, index) {
var tabPaneNode = document.createElement("div");
var iframeNode = document.createElement("iframe");

tabPaneNode.id = "pane_" + index; //设置属性
tabPaneNode.className = "ditch-tab-pane";
tabPaneNode.style.display = ""; //设置样式
iframeNode.id = "iframe_" + index;
iframeNode.src = url;
iframeNode.marginWidth = "0";
iframeNode.marginHeight = "0";
iframeNode.frameBorder = "0"; //需要注意的是大小写问题!之前我用
frameborder,导致生成出来的iframe始终都有边框。害得我花了不少时间调试才发
现这个问题的。
iframeNode.border = "0";
iframeNode.scrolling = "auto";
iframeNode.style.width = "100%"
iframeNode.style.height = "450px";//设置样式
iframeNode.align = "center";
iframeNode.className = "ditch-tab-pane-wrap";
iframeNode.className = "ditch-tab-pane";
iframeNode.name = "pane_" + index;

tabPaneNode.appendChild(iframeNode);
return tabPaneNode;
};

顺便把代码也打包上传了,呵呵
OK,到此为止:-)

2007-06-06

发现JsJava――以Java的形式处理JavaScript的问题

今天由于要查找关于JavaScript格式化日期的例子,无意中发现JsJava这个JavaScript库,这是一个模仿Java结构的JavaScript程序API集,里面包含了各种有用的方法!

本来复杂的格式化时间问题,很简单的解决了:
<code>
function formatDate(){
var now = new Date();
alert(now);
var df = new DateFormat();
df.applyPattern("yyyy-MM-dd HH:mm:ss");
var formatedStr = df.format(now);
alert(formatedStr);
}
</code>


<a href="http://www.jsjava.com/"&gt;访问JsJava的网站</a>

2007-05-16

电脑电源烧坏了

电脑机箱噪音太大,不但有2个风扇的转动声,还有机箱里面共振发出的"轰轰"声.
于是我想进行简单的测试.
用筷子将电源风扇固定,然后再按"电源开关",突然余光感觉地板反光闪了一下.后
来机器就再也没有启动起来.
拆机箱,分开测,终于确定是电源里面出现故障.幸好医科大附近有一个修理电脑的
小店,中午急急忙忙打个电话,就把电源拆了带过去修理.
拆开电源盒一看,明显的看到一个玻璃fuse黑掉了.向师父说了一下原因,解析道:电
脑开关机的瞬间,热量产生很大,尤其是之前已经开了很长时间的机,更加如此.没有
风扇的散热,电器元件很快就会烧掉.
幸好烧掉的是fuse管,如果烧掉其他的东东,就更加悲惨了.25元修好了,贵就一个字!
总结:
热量是电子元件的致命杀手.一定要注意散热问题,尤其在开关机的瞬间.切忌不要
关机后立刻开机.停顿10秒钟时间,变有可能剩下几十或1百多元钱.

2007-04-23

ubuntu下opera段错误

之前sudo apt-get install opera安装opera在ubuntu下运行得很正常.
今天突然决定给ubuntu升级
利用ubuntu自带的升级功能,在网上拖了好几白M的东东回来."吱吱嘎嘎"的升起级来.
升级完毕后,突然在次打开opera,尽然没有反映(我是在Gnome)下面双击图表进行打
开的.
奇怪,之后便用终端运行opera,出现错误提示,如下:
<pre>
X Error: BadDevice, invalid or uninitialized input device 168
Major opcode: 148
Minor opcode: 3
Resource id: 0x0
Failed to open device
X Error: BadDevice, invalid or uninitialized input device 168
Major opcode: 148
Minor opcode: 3
Resource id: 0x0
Failed to open device
段错误
</pre>

启动google查找,上面由2个原因造成:
问题1.
引用:
http://linuxonmylaptop.blogspot.com/2006/09/fixing-annoying-wacom-bug-in-x.html

The reason for the problem is that somehow "wacom" input devices are
loaded in xorg.conf, such as stylus and cursor - which are in fact
nonexistent on my computer! The solution is rather simple: comment out
in xorg.conf all the lines that have anything to do with "wacom": both
in the "Input device" sections ("wacom stylus", "wacom eraser", "wacom
cursor", from "Section" to "EndSection"), and from "ServerLayout"
(InputDevice "stylus", as well as "cursor" and "eraser"). It fixes it.
也就是说,有一个wacom的输入设备在xorg.conf里面被载入,事实上在机器内并没有
这样的设备,一个简单的处理方法就是把wacom相关的设备设置,注释掉就OK了.

问题2
引用:
http://ubuntucookbook.com/recipes/opera-segmentation-fault.html

最近,在更新 Ubuntu Feisty 后,启动 Opera 时会提示"segmentation fault
(段错误)",这将导致无法正常使用 Opera。其原因是,由于 libx11 得到升
级,Opera 无法使用该最新版而造成的。

目前,Opera 官方已经在 Weekly 快照版中修复了这个问题,你可以从这里下载
<http://snapshot.opera.com/unix/Weekly-633/intel-linux/>安装。

另外,如果你不想安装上面的新版本,也可以通过更改 /etc/X11/xorg.conf 文件
来解决此问题。具体的做法是,将"DefaultDepth"更改为 16。


总结:
1.升级会带来一定的潜在不稳定因素,不一定升级就是好的.够用就行!!
2.google是最好的帮手
3.碰到问题,不但要去找出解决方法,最重要的是知道为什么这样解决,最好把解决
的过程记录下来.

在ubuntu6.06下解决java和mysql乱码问题

系统环境如下:
OS:Ubuntu6.06LTS
JDK1.6, 直接在sun公司的网站上下载bin包进行安装.
MYSQL5.0, 通过sudo apt-get install mysql-server的方式进行你方式进行安装.
eclipse3.2.1, 在eclipse.org上下载解压得.

Ubuntu系统默认的编码是zh_CN.UTF-8,
通过在java程序中System.getenv()得来

mysql默认的编码是ISO-8859-1,
apt-get安装安mysql后,就会自动启动mysql服务.
mysql -uroot -p登录后,输入

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

可以得知系统的默认编码情况

在不更改数据库的设置和系统设置的前提下
打开终端,输入:
mysql -uroot -p --default-character-set=utf8
注意:必须加上--default-character-set=utf8,才能在控制台正确查看utf字符.
建立数据库:
create database hibernate30 default character set utf8;
建表:

use hibernate30;
create table tb_users (
id int,
name varchar(100)
);

插入数据:
insert into tb_users values (1, '中文测试数据');
查询:
select * from tb_users;
得出结果:

+------+--------------------+
| id | name |
+------+--------------------+
| 1 | 中文测试数据 |
+------+--------------------+
1 row in set (0.00 sec)

至此,mysql数据库配置完毕.以下配置java环境.

在eclipse中输入java代码如下:

String url = "jdbc:mysql://localhost:3306/hibernate30?user=root&password=&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8";
String sql = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

if (! DbUtils.loadDriver("com.mysql.jdbc.Driver")){
log.error("can't load jdbc driver!");
return;
}
conn = DriverManager.getConnection(url);

stmt = conn.createStatement();
sql = "insert into tb_users values (1, '中文测试')";
stmt.executeUpdate(sql);

sql = "select * from tb_users";
rs = stmt.executeQuery(sql);
while (rs.next()) {
log.info(rs.getObject(1));
log.info(rs.getObject(2));
}
DbUtils.close(rs);
DbUtils.close(stmt);
DbUtils.close(conn);

需要注意的就是: url的写法.
需要添加useUnicode=true&characterEncoding=utf8&characterSetResults=utf8的参数
最后运行则是正常的结果.

总结:
系统编码,数据库编码,应用编码必须保存一致.



另外:
在其他的网上有设置mysql全局的默认字符,操作如下:

在某些时候,我们续要修改mysql默认数据库的编码,以保证某些迁移的程序可以正常显示,编辑my.cnf文件进行编码修改,windows可以直接用Mysql Server Instance Config Wizard 进行设置

在linux下修改3个my.cnf的1个/etc/mysql/my.cnf文件

找到客户端配置[client] 在下面添加
default-character-set=utf8 默认字符集为utf8
在找到[mysqld] 添加
default-character-set=utf8 默认字符集为utf8
init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

修改好后,重新启动mysql 即可,查询一下show variables like 'character%';

+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

这样就方便在建立库的时候,设置数据库的默认编码了.

2007-04-10

今天看到几张老照片,好怀念在鞍山的日子.

无意中整理320G+80G的硬盘垃圾,竟然找到一堆大学时期的照片,回想一下,好久没有回北方了.时间过得真快,真就一晃3年啊.
鞍山的雪,还有一口特土的东北调,然后时不时带点"jiba","xiaoyang","byang"...之类的粗话.那面还特爱挺评书,尤其是单田芳的,老是把收音机放在暖气片上播.估计是受评书的影响吧???那面说话还特搞笑风趣.南方人真的没有北方人能说!
突然在chinaren上面看到母校师弟师妹毕业的DV片<<再见,我的大学>>,甚是感动.


离职那天,我们复员……(转于CSDN)

2007-04-05

面试亿阳

2个星期之前去亿阳面试了,主要是谈了一下自己的情况,有什么样的工作经验,熟悉什么样的技术,给了一套java方面的试题,主要是考察java的基础知识,没有多大难度的.
后来由于工作交接的问题,没有经历和亿阳再次联系.
昨天是辞职后的第3天,和亿阳联系后,再去上机考试.
考试的主要内容是:在亿阳提供的平台上,进行一个小模块的开发.需要用到hibernate技术,实现一个增删改的页面.
幸好这段时间了解了一下hibernate,呵呵.上午半天时间熟悉了他们的框架搭建,下午开始编写代码.展现层使用struts那套,数据库访问通过hibernate,通过dao提供的方法,对model进行增删改,最终将结果反映到展现层.
这也是我第一次使用hibernate,总结一下hibernate的初印象:

  1. 自动为java程序将对关系数据库的访问转化为对对象model的访问.java只要处理好对象的关系,hibernate就能自动将处理转化为对数据库的相应处理.避免了直接jdbc访问N个数据库表.
  2. hibernate需要加载策略,缓存策略...等优化.
  3. 利于分层,逻辑清晰.struts的action和form放在controller包中,访问数据库操作放在dao包中.访问的对象抽象放到model包中.显示中的动态内容至于form中,当访问一个URL后,action将一些值从form中取出,构成一个model,然后调用dao进行处理.最后将处理的结果至于form中,并至于request中.最后forward一下.简单的描述一下:-)

2007-04-03

买了一套情侣T-Shirt

在沃尔马下面买的,图案比较有意思.
我是插头,老婆是灯泡.

什么时候出去玩,就穿这套.呵呵:-)

2007年愚人节,新的一天,新的开始!总结一下在德意2年半的工作.

今天还是被手机闹钟叫醒的,时间是7点20.起来后才发觉,自己已经辞职了,没有必要那么早起床.深呼吸一口气,有一种自由的味道.
其实离开德意,多多少少还是有点舍不得.毕竟在那面工作了快3年了,来了走了N多同事.德意有点"来的都是客,人走茶就凉"的味道.今天是风水轮流转,转到我了:-)
总结一下在德意的2年半:
------------------------------------------------------------------------

  1. 2004-09,通过蒋叔叔的关系,离开一家不知名的小公司,进入德意.那时的确有一点猛劲.跑到德意前台说要见李业荣,然后直接杀到李总的办公室,聊了几句他突然问我,蒋和生是你什么关系?"我叔叔"我直率得要命.然后在小包的带领下,进到软件研发中心(是一件于外界隔开的玻璃房间,里面坐满了肯肯敲键盘的高手,好羡慕!好激动!),见到了蒙工.蒙工安排毛哥跟我随便聊了一下,通过!即安排我做到阿标旁边,用一台P3的服务器,机箱高的要命,声音跟发动机似的,显示器水文波严重,我只要跳到600*480的分辨率.
  2. 之后就安排陆乐来带我,给我一份struts的考题,然后开始使用上心爱的eclipse.特意从南国书店买了一本struts的书,没日没夜的啃.用5天的时间啃书,然后再用3天的时间编代码.最后提交给阿飞看,陆乐竟然对我说,我是做完这个考题最快的一个.晕死!
  3. 做完struts的考题后,阿飞就安排我进入税务的项目组,做一个xml的解析和在线新闻的功能模块.对于xml解析这块,由于之前的代码本身就有问题,还和李宗杨吵了一架,不过现在回想起来,真是幼稚得要命.不就是一个xml嘛:-)
  4. 突然有一天,代豪来德意了,他是中科院的.这人很会说话,也有一点技术底子.公司特意派李宗杨和我跟着代豪,说做一个DE服务器.然后说了一堆7788关于网格运算的事.代豪还特意搞了一个计划表,先做这个,然后再做那个,搞得很像那么回事似的.虽然之前有点满目崇拜代豪这个高手(这事一直还被女朋友笑话),但是跟着代豪还是学到一点东西.不过都是自学的,也不错.了解到编译器的大致情况,也因此学了javacc这个好东东:-)
  5. 代豪走了之后,公司不知道从哪门子路,要做一个信息防护系统.好像是看到南宁晓蕾软件的文件防弹衣,公司也想插一脚.于是,把李宗杨和我叫过去,做一个文件防护器的东西,需求讨论来讨论去,说白了就是防治xxx用U盘,把主机里面的文件拷贝过去.如果要拷贝,则需要用密码.当时找了好多资料,好像能达到这样效果的似乎是使用hook技术.整个研发就是李宗杨和我2个人在搞这样的研究,把其他新进来的人给羡慕死了.其实我那时也羡慕他们,毕竟我想接触公司的产品,而不是做一个不成形的东西.最后还是做出来了,其实就是找到windows的一些api,然后判断一下目标是否是U盘,如果是的话,就提示输入密码,呵呵.通过这个软件还认识了几个网上的朋友,一个做C++的高手.不错!
  6. 之后好像很长时间没有我什么事,就是按时上下班,挺清闲的.直到后来公司有位高人离职了,我才被调过去接手他的工作.用delphi做DE报表设计器.同时也了解了市场上各种报表工具:-)那段时间天天表头,表尾,页头,页尾,表主体...DE报表设计器其实就是在华表cell自带的一个demo的基础上,加入报表设计的功能.最后制作出一个xml文档,就是用来描述报表的.然后把这个xml文档发布到报表解析器,就自动生成一个报表.不过那时的功能很简单,只能制作出简单的报表.
  7. 就这样断断续续的维护着DE报表设计器的修改工作.后来猪头对我说,电子商务实验室需要人手志愿,把我调到了电子商务组.这才真正接触了公司的产品,也真正开始使用我喜爱的java.那时陆乐需要离职,我的工作就是和陆乐一起做中宏的几个考试平台.等陆乐走人后,我接手陆乐负责的项目.电子商务实验室,就是一个考试平台,加上一个试验平台.老师在考试平台上面布置一些7788的任务,并将任务发给学生,学生登陆试验平台,根据布置的任务进行考试.最后提交考试成绩包,返回给老师.刚开始还不太适应,后来慢慢的熟悉了考试平台的代码,等陆乐走人后,自己一个人负责电子商务实验室考试平台的维护,感觉还是有一点成就感哦~~~哈咔咔.
  8. 中宏的项目做完之后,突然又冒出一个山东的电子商务实验室.公司只给我2个星期的时间,把考试平台修改成山东版本.晕!那时真是加班得昏天暗地,时间太紧张了.不过咬咬牙,还是坚持住了.修改完后,就交给山东全省进行电子商务试验室的考试.那时北京公司的尤伟天天给我打电话,说这面出一个问题,那面出一个问题,害得我天天加班修改.不过欣慰的事,正式考试的那天,没有接到1个电话.之后问尤伟那天的情况,他说:那天特别顺利,整个山东的考点都没有出现问题:-)心里面美滋滋的.那天特意还和女朋友和了点红酒,高兴啊.自己做的东西有人用了:-)
  9. 也在电子商务组呆了快1年了,认识了一些好朋友:杨毅峰,梁英杰,朱小鹏.要提一下的是杨毅峰,作为电子商务组的项目经理,为人很不错,办事很稳重.我一有问题就跑过去问他,他都是耐心的解答.在此谢谢他的帮助!
  10. 之后公司就打算在电子商务实验室上加2个附加的系统:理论考试系统和收银员考试系统.杨毅峰还是作为电子商务组的项目经理.我负责理论考试系统的系统设计以及主要部分的代码开发.理论考试系统说白了,就是出单选题,多选题,判断题,问答题的考卷,然后给学生做,做完后回收考试结果给老师.里面最复杂的就是自动组卷的算法,公司里面有一篇xxx教授写了论文,关于自动组卷的,不过仔细看了一下,里面根本没有相关的具体算法,只是从概念上论证了自动组卷的可行性.后来也在网上找过类似的东西,也因此了解了遗传算法的一些边边角角:-)不过最后实现,还是通过不断的匹配,在一个容错的范围内,自动搜索出符合要求的考题,组成一份考卷.考虑到老师不单单是电子化考试使用,可能还会使用纸质考试的传统方式.向领导提出一件,要求添加一个考卷导出的功能,将考卷导出为A4纸的RTF文档,老师可以通过Word,对考卷进行打印:-)这个想法一提出,猪头立刻同意,呵呵.
  11. 忙完了理论考试系统,手头上就没有什么事了.一天上网看看新闻,学学技术文档,也开始用起linux来了.用vmware开了好几个linux,有redhat,suse,debian,mardarava(好像这么写的),ubuntu...进入linux的世界,一切都是新鲜的.什么开源啊,自由啊,稳定啊,黑客啊,随之而来.特意从ubuntu网站上定购了5张CD安装盘:-)linux令人神往的地方~~~
  12. 公司不知道从什么地方获得的消息,决定搞网关软件.从网上搜索了N多网管软件,终于找到一个比较成熟的东东,高手们将其反编译,然后公司决定在上面进行开发.呵呵,开始学TCP/IP啦~~~特意买了一本很经典的TCP/IP详解来看.主要是了解SNMP这个协议.因为网关软件很多通过SNMP协议来进行信息获取的.开始没日没夜的看圣贤书了,嘿嘿.网管这个东西还是比较有技术含量的,毕竟网络环境太复杂,包括各种各样的情况.有的设备的MIS公开,有的却要自己去找.很费尽,实施也是碰到很多难处.公司也许是渐渐发现网关这个产品搞不下去,只能骗骗政府,骗市场是不行了.结果网管组解散.
  13. 2006-07,公司获得南宁市发改委项目管理系统的B标,从那天起,开始和杨毅峰进入南宁市发改委的项目了.一起按照软件工程里面的来走,调研,定需求,做初设,写数据库设计,做原型,做技术审定,进行代码开发...由于杨毅峰之前负责的工作,暂时不能全心身的投入到发改委项目中来,于是他向公司推荐我做这个项目的项目经理.呵呵,当官了:-)其实这个时候公司发生了不小的变革,为了节省成本,招来一堆实习生,培训培训做项目.当时我就带了2个.梁英杰更强,带了4个,真是师母级人物啊!毕竟第一次当项目经理,负责的杂事比较多,不单单要开发,而且还要和客户方面打交道,最重要的还是维护整个项目的进度.但是只是给了1个月的时间开发4个子系统.妈的!我是仙也完不成啊.公司就考虑将其中的2个外包出去(据说公司小领导把这几个外包出去后,利用差价,自己得了不少好处),自己只负责剩下的2个子系统的开发.里面工作量还是很大的.不单单开发人员的水平问题,而且还用到3个新工具:extra,水晶报表(后来没用了),jatools杰表.风险很大.整个系统也是求快开发.冲着项目经理的兴奋劲,连续加班2个月,差点女朋友都分手了...呵呵.

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