2006年1月19日星期四

使用Blogger.com来做博客主机服务

  Google的产品向来以简洁却功能强大而著称。Blogger.com虽然是收购来的,依然秉承这种传统。在我使用Blogger.com的过程中,也有这种感觉,Blogger.com没有多余而花哨的功能,必要的功能一个都不差。虽然Blogger.com的博客地址blogspot被防火墙封了,无法使用,但是Blogger.com提供了一种很独特的服务,可以将博客的静态页面通过FTP发布到你的个人主机上。

  例如,用户在Blogger.com上的默认Blog地址显然无法从国内访问,但是如果你有一个虚拟主机空间,或者其他支持FTP的空间,那么Blogger.com可以将这个地址上的日志文件全部发布到你的虚拟主机空间上去。

  具体的方法是:登陆你的Blogger帐号,进入控制面板,更改设置,在“发布”选项卡中点击FTP的超级链接,然后录入FTP服务器地址,FTP用户名和密码。点保存设置后,就可以发布了,这时Blogger.com会将你的整个站发布到你指定的主机上。

  这种博客服务我还是第一次见到,其他的BSP都没有提供这种服务,其好处是,不用安装任何软件,即使你的虚拟主机只支持静态HTML文件,也可以用这种方法快速生成一个功能强大的Blog站点。当然,如果主机支持PHP的话,我还是建议使用WordPress来建立Blog站点。

2006年1月18日星期三

免费Windows Live Domain Service服务

  发现了一个微软提供的很有用的服务-Windows Live Domain Service服务。

  Windows Live是微软刚刚开通的一个网站,它将作为Windows产品的在线服务网站,提供微软的各种最新服务。

  Windows Live Domain Service相当于一个免费电子邮件功能,用的是Hotmail系统,但是使用的电子邮件却是用户自己注册的域名邮件,不用安装任何脚本,也不需要耗费自己的空间,只需要在域名解析设置里设置一下邮件的MX地址,就可以用Hotmail稳定的服务来建立以自己的域名为后缀的邮局了。

  Windows Live Domain Service的服务内容包括:

  - 为每个域名创建至多20个邮箱;

  - 每个邮箱跟Hotmail一样拥有250M空间;

  - 使用任何上网的电脑查看邮件;

  - 垃圾邮件过滤系统;

  - 邮件病毒扫描功能;

  - 和MSN Messenger、MSN Spaces等其它服务无缝连接。

  要启用这项服务也非常简单,登录Passport并按照提示修改你所要使用的域名MX Records(Mail Exchange Records)就可以认证并管理你的邮局了。修改MX信息前要先将原有的MX信息全部删除,然后再增加新的MX记录。

  校验MX成功后,就可以建立一个新的邮件帐号,在MSN账户管理服务输入一些个人信息,根据里面的提示,一步步设置,最后,用这个新的邮件帐号登录Hotmail.com,就可以在Hotmail下使用你自己域名的邮件地址了。初期邮箱地址是2M空间,据说一个月后会自动升级为25M。

  初步测试,用这个信箱给国外地址发送邮件非常快,Hotmail的立刻就可以收到,不过邮件底部有MSN的几行广告。

  这个信箱的使用规则和所有Hotmail信箱一样,如果90天不使用,系统会自动关闭信箱。

  总的来说,Hotmail信箱的垃圾邮件过滤功能还算不错,就是容量太小,速度感觉也不快,而且没有SMTP和POP3,感觉不如Gmail爽,真希望Gmail也能开通这样的功能。

2006年1月17日星期二

百度开始放狗咬人了

  在Keso的Blog上发现一篇有趣的文章,标题是:Keso-中国互联网最大的卖国贼,文章作者署名是“百度”,全文如下。

  此贴并非人身攻击。请TW论坛尊重此贴。KESO是美国google最狂热的热爱者和追随者。作为中国互联网领域最有影响力之一的博客,他对google在中国的扎根与繁衍作出了作出了极大的舆论宣传贡献。无人不知他是google最狂热fans.崇拜和痴迷没有错。爱google没有错。好东西是人就会喜欢。2005年是百度遭受“百年痛骂”的一年。在业界臭名远扬。源头在于KESO和刘韧反百度的文章。证据在他们的博客和专栏里。凡是google的东西都是好的,拉的屎都是香的。凡是百度的东西,看不惯就要嘲笑。就要批判。就要与google相比。就要百度下不了台。百度的内部刊物出炉第一时间逞送KESO御览。KESO第一时间写文嘲笑。不知道是一什么心态。如果百度死了,KESO就是最开心的一个。在你心里百度比不上google,完全可以善意的提醒,写文章指出其存在的问题。而却是一味的嘲讽。完全引导业界舆论倾向google。所以KESO就是一个在中国提倡google,反对百度的人。

  原帖地址是:http://forum.techweb.com.cn/index.php?showtopic=8173

  我想,做为在美国注册、美资控股的地地道道的美国企业百度公司,如果将评价Google和Baidu的IT精英都攻击为“卖国贼”,那只能令人对百度更加失望。一家公司如果从骨子里就开始邪恶起来,那真是说什么都是对牛弹琴了。

  是的,我们的确赞扬Google,那是因为Google的信条“Don't be evil”至今都没有改变过,我们看到的Google是一家真正令人敬佩的年轻企业,这些是其它中国互联网公司所永远无法理解的。

  百度要是真的想要从良,那么就应该拿出自己的实际行动来证明,实际上KESO对于百度的评价很多都是正面的,是希望百度能够越来越好的,比如下面的附文,希望百度能够理解KESO的苦口婆心,实际上是希望百度不要在一条不归路上越走越远。

  附文:KESO:百度在变,但真的可以从良吗?

  这只是我的一种感觉,问问周围的人,似乎也都有类似的感觉,那就是百度在变。无论是“金苹果”全球创想大赛,还是印度洋海啸赈灾公益广告,似乎都在透露着一点什么,即百度正在试图让自己成为一个有责任感的企业。

  原本对百度的印象并不好,有几个原因。2001年,百度作为新浪的搜索提供商,忽然爆出欠费停机事件,实际上是百度急于从后台走到前台的一次表演,但给人的感觉是,这家企业有点无赖。接着,百度推出竞价排名,让厂商花钱购买搜索结果。竞价排名原本也没什么,GOTO.com(即后来的Overture)就已经开始做这事儿了,但李彦宏把它升华成了“自信心定律”,又叫“搜索引擎第三定律”,这就有点“邪恶”的味道了。这个第三定律实际上是对李彦宏前两条定律,即相关性定律和人气质量定律的一种反动。2002年我曾在《敬佩Google》这篇文章中说过:

  事实上,他们所谓的自信心与其所推崇的先进技术是相互抵触的。一个原本搜索排名就名列前茅的网站,不会为获得一个更高的排名而付费,肯付费的,一定是排名落后的网站。落后的网站通过付费获得的较高的排名,让再先进的技术都变得毫无意义。出卖搜索结果,实际上是在出卖用户对搜索结果公正性和科学性的信任,或者说,是金钱对技术的嘲弄。

  实际上,百度搜索的技术优势,正是被无节制的竞价排名给破坏了。再后来,百度与3721的插件之争,百度搜索联盟等举措,进一步强化了我对它“邪恶”的印象。邪恶可能是中国互联网公司的常态,他们相信,不邪恶就无法获得利益,自己不邪恶就无法阻击竞争对手的邪恶。

  我说不清从什么时候开始,百度给我的感觉开始出现变化,这是一种让我感到高兴的变化。在解决了生存问题以后,百度开始着手解决自己的形象问题了。我想,Google的存在,可能是这种变化的一个主要诱因。像Google那样从公司一成立,就把“Don't be evil”写进自己的信条的企业,毕竟不多。当一个企业开始关心自己的公众形象,无论如何都算是一件好事,是值得赞许的。

  当我越来越多的朋友,纷纷成了百度的员工,当百度最大竞争对手的资深员工,也心甘情愿地跳槽到百度,可能反映出某种文化的感召力。

  做一家赚钱的企业不易,做一家既赚钱又令人尊敬的企业,更难。随着百度对中国互联网的影响力越来越大,百度所肩负的责任也越来越大。在用户和钱谁是上帝这个问题上,大部分国内企业会毫不犹豫地选择钱。因此即使他们明明知道自己在作恶,为了钱他们仍然要坚持作恶。如果李彦宏彻底想明白了短期利益与长期利益的关系问题,百度就有可能从邪恶的中国企业中脱颖而出,跃进到一个崭新的层次。

  大多数中国企业,也希望改善一下自己的公众形象,所以他们常常自己不再直接作恶,而是暗中怂恿别人替它作恶。这样的例子很多,几乎所有的网站联盟、广告联盟、移动梦网,都是这样的操作手法。其实,这只是一种小算计,是利用别人人性的弱点来为自己谋取利益。最终损害的,仍是企业的形象。

  百度已经搜罗了一大批出色的技术人员,它应该有能力为中国网民提供更好的产品和技术,更好的用户体验。这是一件令人充满期待的事儿。

  还从来没有有一家中国企业能让人由衷地敬佩,现在,百度面前就摆着这样一个机会。
 

Z-Blog 1.5静态补丁插件下载

  今天在Z-Blog 1.5 60108版本的基础上增加了静态化补丁插件,静态化补丁插件需要修改原版的三个文件:c_system_event.asp 、c_system_lib.asp 、c_system_base.asp。

  此版本的静态化补丁支持自定义分类目录名,在“分类管理”里编辑目录属性的“别名”,修改为英文目录名,如果想保留原有静态化补丁的目录名,那么将“别名”修改为cat_1、cat_2等等即可。请再执行静态化补丁前一定要修改此项内容,否则将无法生成静态化目录。

  使用和安装这个补丁很简单,一般用户使用下面3个操作就可以安装好静态化补丁:

  1、下载原版Z-Blog 1.5 60108

  2、下载月光静态化补丁1.5。将补丁里的三个ASP文件覆盖到原版目录下,catbuild目录放到PLUGIN目录下。

  3、确认“分类管理”里的目录属性的“别名”已经设置为英文目录名。

  4、重新进行文件重建操作,然后进入“插件管理”,点击“静态分类目录文件生成”。

  此时Z-BLOG的目录文件就被静态化了。

  手工修改

  如果你的ZBLOG是自己修改过的版本,那么可以使用下面的操作手动进行静态化修改。其操作较为复杂,不建议使用。

c_system_event.asp 文件的修改:

676行修改为:

strArchives=strArchives & "<li><a href="""& ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & Year(dtmYM(i)) & "_" & Right("00"&Month(dtmYM(i)),2) &  "." & ZC_STATIC_TYPE & """>" & Year(dtmYM(i)) & " " & ZVA_Month(Month(dtmYM(i))) & " (" & objRS(0) & ")" +"</a></li>"

c_system_base.asp文件的修改:

494-497行修改为:

 s=ZC_STATIC_DIRECTORY & "/" &y&"_"&Right("00"&(m-1),2) & "." & ZC_STATIC_TYPE
 t=ZC_STATIC_DIRECTORY & "/" &y&"_"&Right("00"&(m+1),2) & "." & ZC_STATIC_TYPE
 If m=1 Then s=ZC_STATIC_DIRECTORY & "/" &(y-1)&"_12" & "." & ZC_STATIC_TYPE
 If m=12 Then t=ZC_STATIC_DIRECTORY & "/" &(y+1)&"_01" & "." & ZC_STATIC_TYPE

500行修改为:

 strCalendar=strCalendar & "<p class=""y""><a href="""&ZC_BLOG_HOST &s&""">&lt;&lt;</a>  <a href="""& ZC_BLOG_HOST &ZC_STATIC_DIRECTORY & "/"&y&"_"&right("00"&m,2)& "." & ZC_STATIC_TYPE&""">"&y&"·"&m&"</a>  <a href="""&ZC_BLOG_HOST &t&""">&gt;&gt;</a></p>"

c_system_lib.asp文件的修改:

33行修改为:

Url = ZC_BLOG_HOST & ZC_STATIC_DIRECTORY & "/" & Alias & "." & ZC_STATIC_TYPE

1372行修改为:

s=ZC_BLOG_HOST & "catalog.asp?"& t &"page=1"

1391行修改为:

s=ZC_BLOG_HOST & "catalog.asp?"& t &"page="& i

1402行修改为:

s=ZC_BLOG_HOST & "catalog.asp?"& t &"page="& intAllPage

2006年1月15日星期日

通过Google Maps Mashup能完成的25件事

  通过Google Maps Mashup能完成的25件事,Google Maps所产生的创意无限,在生活中的价值也日渐展现,一起来看。

  1. 计算你旅行的行程或者折扣 http://www.gmap-pedometer.com

  2. 查看世界各地的时间 http://www.qlock.com/time/gmaps?map=1

  3. 分享地球各地资讯 http://www.wikimapia.org

  4. 测量地区面积 http://www.acme.com/planimeter

  5. 使用任何地图定制自己的Google maps http://www.maplib.net

  6. 在地图上贴上自己的项目 http://www.panoramio.com

  7. 查看地球下面的情景 http://www.zefrank.com/sandwich/tool.html

  8. 在美国找人 http://www.personmaps.com

  9. 检查各地天气 http://www.weatherbonk.com

  10. 寻找附近星巴克 http://www.findbyclick.com/coffee_s.html

  11. 发现Ebay房地产交易情况 http://www.2realestateauctions.com

  12. 寻找机场的停车场 http://www.aboutairportparking.com

  13. 创建活动线路 http://www.walkjogrun.net

  14. 观看旅行录像 http://virtualtourism.blogspot.com/

  15. 在美国寻找快餐店 http://www.hardtoremember.org/fastfood/food.php

  16. 翻译美国邮政编码 http://maps.huge.info/zip.htm

  17. 通过邮编查看本地新闻 http://mibazaar.com/localnews/index.html

  18. 了解和避免疫情 http://www.healthmap.org

  19. 了解交通状况 http://supergreg.hopto.org/google-yahoo/

  20. 做出自己谷歌mashup地图 http://www.communitywalk.com

  21. 避免交警探头 http://www.photoenforced.com/us.html

  22. 寻找廉价加油站 http://www.mapgasprices.com

  23. 检查日落或者日出时间 http://www.earthtools.org

  24. 货币兑换 http://www.gchart.com/currency.php

  25. 换个地方生活 http://www.housingmaps.com

遭遇猎头公司

  猎头公司对于我来说是很陌生的,以前我常把它看成是“猪头公司”,现在,第一次有猎头公司给我打电话,我也很惊讶,同时感慨也颇多。

  从职业发展目标看,我的未来会是什么样?我是否会在目前的企业里做一辈子呢?我以前曾经思考过,但是随着年龄的增大,这些事情我想的也越来越少了。我可能缺少年轻人那种无所畏惧的冒险精神,我现在做事情总会思前想后,企业的忠诚度我也不想多谈,我曾经想过要换一个公司,可以应该找什么样的工作合适,包括什么公司背景、什么职位、什么薪酬相匹配?即使在深圳这样的地方,年薪超过十万的职位也并不是那么好找,如果我辞职后自己单独创业,以我过去一年来的经验看,很难达到我目前的薪水。目前做网站做的我心灰意冷,过两个月托管到期后我打算卖掉一台服务器,就留下一台服务器了,而且我也不打算再在这一块继续做下去了。

  如果放弃自己创业,那跳槽倒其他企业又如何呢?虽然我们公司的总体工资水平并不算高,可干了这么多年,累计下来我目前的工资也不算特别低。跳槽对于我来说是一个非常苦难的选择。我自己也思考了很多很多。

  后来看到一篇人力资源方面的文章,讲了三点方法规避跳槽风险,让我也深有同感。

  如何最大程度地规避跳槽风险?

  首先要对行业和企业进行考察,对自己想要从事行业的动态做一个调查,看看此行业是否处于上升势头;要看准所选的企业是否在顺利成长,只有企业成长了,个人才有发展的空间。

  其次,对自己职位的基本走向要清晰,要对自己以后的职位发展方向大和发展高度有一个明确的预期。这样才能最大程度地减小跳槽成本。

  再次,不要唯“高薪”是图。过高的薪水也代表着过高的要求,如果你的水平达不到这样的要求,说明薪水里有“水分”,不想让跳槽后的薪水“缩水”,就要对自己的“价位”有正确评估。

  因此,如果猎头公司的委托方是一家不错的企业,那么跳槽所引来的风险就会降低一些,因为这对于双方来说都是价值的交换。

  最后,上网搜索了一下关于猎头公司的文章,发现有一篇不错的文章,帖出来保存一下。

  附录:你是猎头公司的眼中“盯”吗?

  顾名思义,猎头公司(HEADHUNTING COMPANY)“猎”的是“头”,是第一流的人才,是人中之杰也!如果猎头公司瞄上了你,那么恭喜恭喜!这说明你一定是非常优秀,事业成功,前程看好。但是且慢-你可有与猎头公司打交道的经验?你能够从猎头云山雾罩般的温柔轰炸里识别出设下的陷阱吗?你能分辨得出正规专业的猎头公司与混乱无序的猎头公司之间的区别吗?最关键的是,你知道自己到底该值多少钱吗?在猎头面前,你要如何表现自己,才能提高你的身价?!

  知己知彼,百战不殆;先摸摸猎头公司的底子,套套他们的虚实,看看他们到底有什么花招,是不是一家可以值得信赖的公司

  无论你有没有被猎头公司挖过的经验,了解猎头公司的如何运作总是有必要的。为此我们专门与全球十大猎头公司的TAO国际公司总裁PHILIPPE TIRAULT作了一次深入而细致的讨论,谈话中,TIRAULT为我们揭开了猎头“猎人”的神秘面纱。

  真正的高级猎头,最重要的特征是采用“直接接触”的工作方式。当一笔业务开始时,猎头公司的灵魂人物--顾问们首先深入了解委托方,摸透其企业文化、公司结构、需求,然后指导研究队伍进行系统的目标搜索,找到一长串的候选人才名单。接下来,就要分别与这些人才进行个人间的接触--直接接触。猎头通过不断地打电话、旁敲侧击、观察、研究简历等种种方法多方位地了解候选人才。然后逐步缩小范围,候选人才名单缩短。接下来要面试,给予综合评估,最后只有最合适的几个候选人才被递交到求才的公司,并最终确定其中一个,有时甚至全部落空!一个高层的案例,这样一番运作下来,打500到1000个电话是家常便饭。

  正是因为猎头公司采用这种直接接触的有效方式,一般的外界人士根本不知道猎头公司究竟是“搞什么鬼”,好像忽然就把人挖走了。这也是它之所以与普通的人才市场、职业介绍所截然不同的地方。

  如此说来,猎头公司并不像我们以前所想像的那样“鬼鬼祟祟”,不过,如今的猎头公司鱼目混珠,也是不争的事实。无论你是个多优秀的人才,落在一家极其糟糕透顶的猎头公司手里,恐怕也是前途暗淡无光。可是如果真的是家正规专业的公司,确实能使你如虎添翼,锦上添花。但关键的问题是:如何识别猎头公司正规与否? 当然,最有效的一招就是到猎头公司走一走,看看公司的办公地点、设施、规模、人员素质、办事水准。正宗的猎头公司总是选择交通便利、设施齐全的商务中心落户。你还可以和猎头人员们打打交道,掂掂他们的斤两。研究研究猎头公司的工作方法,询问一下它开展工作的计划,正宗的猎头公司说出来的东西会比较专业。再要考察它的收费制度,正规的猎头公司只向求才公司收取费用,而不会要候选人才一分钱,它们根据协议首先获得部分资金,工作取得进展后取得进一步收入。猎头公司的背景也很重要,比较好的猎头公司多半隶属大型国际猎头集团,拥有全球搜索的能力,全球网络和支持、国际规范化操作,这样的猎头公司应该是可以信任的。

  好的猎头公司首先生意会很好,这句话看来很蠢,但你不必笑得太响亮。在当前许多猎头公司纷纷关门大吉的时候,能够保持稳定良好状态的猎头公司必定是真正的强者。好的猎头公司通过深入的接触,能真正了解求才公司的需求,很贴心地找到老板要的人才:不仅专业和技术能力出色,而且个性、文化背景也都同等重视。好的猎头公司一定是融会东西方文化、业务能力覆盖全球的跨国公司的一分子,并且在全球范围内有着广泛的合作关系。

  突然有一天,你接到一个来自猎头公司的神秘电话,说他们是如何如何地欣赏你的超人才华,而且一个要比你现在的职位不知高多少倍的职位在等待着你,你不由自主地得意洋洋或者欣喜若狂,但是事实真的如此吗?

  看起来你是处于被“猎”者的地位,但你的心情应该像是垂钓者看到鱼线的浮标有了不平常的振动时的感觉。可是奉劝你只用一秒钟的时间开心一下就好了,无论怎样,总是喜讯临门嘛。让紧张的情绪见鬼去,可别冒冒失失地将这种情绪带到办公室里去。公司上班时间谈论这种话题是太不妥当的,你敢保证你的同事没在竖起耳朵听吗?就请人家等你下班后打电话到家里吧。你一定比我更懂得在同事面前怎样表现得若无其事了。

  要提醒的一点是,猎头公司找到→你的这一步只还是一种可能性。如果你误认为是如下这种情况--现在猎头公司要拉我去一家XX公司去任高职,我去不去呢?--你就大错特错了。

  你要知道,真正专业的大猎头公司受求才公司所托,会搜遍每一个可能存在合适人才的角落,初选出一个长名单(也许几十、也许上百),然后通过直接接触的方式,筛选出一个短名单,再经面试等多重考察,直到交给求才公司时是最难取舍的几位候选人,最后才敲定惟一的大才子。既然如此,你现在的阶段,还只在长名单上,竞争会很厉害,还有很多像你这样的优秀人才呢。那么,接下去就请稍微表现一下你的才干和自信吧!

  你的简历,就是你展示给别人的第一印象。一个好的印象,接下去将会事半功倍;反之,则有可能前功尽弃。所以,花点时间,用用脑子,写一份漂亮的简历比什么都重要。

  第一印象往往是致命的。简历关通不过,后面什么机会都没了,请务必精心完成你的简历。TAO上海办公室的负责人STEVEN GU的忠告是:真实客观地描述你的经历。

  好的猎头公司,会对候选者的简历作精细的考察,所以想在一个专业的猎头人员面前玩一些花样是徒劳无益的。举个简单的例子来说,张先生1991年5月-1994年2月在B公司工作,1994年9月-1999年10月在C公司工作,他想将1994年2-9月这段空白时间忽略过去,就采用模糊的手法,写成:1991年-1994年在B公司工作,1994年-1999年在C公司工作。虽然这只是一个很小的问题,但会给人造成不好的印象,搞类似的小动作对你而言价值不大、损失不小,不用多说吧。STEVEN GU认为一份成功的简历写作要简单、明了,突出重点,不求面面俱到,但务必实事求是,不夸大、不隐瞒,也不撒谎。

  现在你的名字被层层筛选,从长名单上换到了短名单上,而且你接到了希望面试的通知,你准备如何表现,才能得到面试者的肯定和欣赏呢?

  面试,是证明你是否最佳人选的决定性时刻。经过搜索、选出长名单、约见、初审简历等等程序后,合格的人选要进入下一步,那就是面试,它是目前是否录取某人的决定性参考信息来源。

  面试好比一道求证题,猎头公司的目的是要小心求证你的适合性,既然如此,你就来个斗转星移大法,“以彼之道、还施彼身”好了--证明你就是最佳人选! 厉害的猎头会消弭紧张于无形,在让你保持轻松心态的同时,仔细地察看你的一举一动、一言一笑,并且用种种问题考验你、试探你。这些问题有的很专业,有的却很家常,像老朋友聊天似的。但你千万要保持警惕呀,从你的脚踏进猎头公司大门那一刻起,到离开猎头公司大门的那一刻前,都是“不安全”的,应当总是保持在“警戒”状态。

  比如迟到了,老到的猎头会安慰你:“呀,路上很堵吧?”有的老兄趁机就下台阶:“是啊,是啊,真是不好意思。”人家也不会再说什么,但是心里却会多打上一个问号:连这种会面都迟到,他的能耐真的很强吗?你可以参考STEVEN GU的这句话:“我们不会放过任何细节。”

  所以一个成功的面试,你想要做到无懈可击,就得事先收集求才公司和猎头公司的资料,争取尽可能多的了解。“知彼知己,百战不殆”这句话之所以被说烂了,实在是因为它蕴含着至理。论证中最重要的部分是证明自己的专长和经验是求才者最需要的,但是切忌拿自己的这些优点往职位描述的要求上一条条去套。你的任务是证明你有你所说的这些能力,让面试者确信你、欣赏你,条条道道的对照是面试者的事儿。对于工作机会,你还要表现出浓厚的兴趣和强大的自信心。另外,请保持亲切的态度和笑容,遇到疑问和争执的时候,千万不要表现得暴跳如雷或者死乞白赖。还有,优雅合身但是却不张扬的衣着是必须的。

  最后我们该谈一谈每个人都非常非常在意,却又经常不知道该如何张口与人谈的事儿了--您的薪水问题。怎么才能不动声色地将你的价钱升到你希望的位置,又不会引起对方的反感,不给人留下一个唯利是图的小人印象,这中间还真有些学问呢!

  “韩信用兵,多多益善”,对您来讲,薪水自然是愈高愈好,可做生意哪有不讨价还价的呢?你要多挣一点,求才公司想少出一点,猎头公司就在中间摆摆平。你并没有和求才公司打交道的机会和必要,就把信息透露给猎头好了。但是首先你要对自己的实力有个清醒的认识和评估:现在像我这样专业、水平和工作经验的人紧不紧缺?在外企中这类人员平均收入水准处于什么位置?求才公司的发展状况和方向怎样?它对我这类人才的需求急迫程度如何?我有哪些独特的优势?这些问题弄清楚了,你就能做到有的放矢,知道什么时候该以退为进,什么时候该按兵不动,什么时候却该乘胜追击。

  人们往往会高估自己,你也要小心。别忘了,无论是猎头公司还是大公司的经理,他们对人才收入的行情是很有数的。千万不要在讨价还价中给人造成你对收入的兴趣过于浓厚这样的印象,否则……

  白领和猎头公司打交道,最重要在于两个“信”--自信和信任:对自己的能力深具信心,同时,对中介的猎头公司充分信任。如此,你就能俘获眼前的良机,或者也能在不远的将来获得很好的机会。
 

2006年1月13日星期五

ASP无组件上传的原理

  无组件上传一直是困扰大家的一个问题。其实原理非常简单,核心就是分析字符串。不过,实际操作时,却困难重重。其中的关键问题还是大家往往对原理的剖析不够深入,或是因为过程过于繁琐。

  客户端HTML使用post表单的方法上传文件,要浏览上传附件,我们通过<input type="file">元素,但是一定要注意必须设置form的enctype属性为"multipart/form-data"。

  后台asp程序中,以前获取表单提交的ASCII 数据,非常的容易。但是如果需要获取上传的文件,就必须使用Request对象的BinaryRead方法来读取。BinaryRead方法是对当前输入流进行指定字节数的二进制读取,有点需要注意的是,一旦使用BinaryRead 方法后,再也不能使用Request.Form 或 Request.QueryString 集合了。结合Request对象的TotalBytes属性,可以将所有表单提交的数据全部变成二进制,不过这些数据都是经过编码的。首先让我们来看看这些数据是如何编码的,有无什么规律可循,编段代码,在代码中我们将BinaryRead读取的二进制转化为文本,输出出来,在后台的upload.asp中(注意该示例不要上传大文件,否则可能会造成浏览器死掉)。

  要实时反映进度条,实质就是要实时知道当前服务器获取了多少数据?再回想一下我们实现上传的过程,我们是通过Request.BinaryRead(Request.TotalBytes)来实现的,在Request的过程中我们无法得知当前服务器获取了多少数据。所以只能通过变通的方法了,如果我们可以将获取的数据分成一块一块的,然后根据已经上传的块数我们就可以算出来当前上传了多大了!也就是说,如果我1K为1块,那么上传1MB的输入流就分成1024块来获取,例如我当前已经获取了100块,那么就表明当前上传了100K.当我提出分块的时候很多人觉得不可思议,因为他们都忽略BinaryRead方法不仅是可以读取指定大小,而且可以连续读取的。

  通过Request.BinaryRead获取提交数据,分离出上传文件后,根据数据类型的不同,保存方式也不同:对于二进制数据,可以直接通过ADODB.Stream对象的SaveToFile方法,将二进制流保存成为文件。对于文本数据,可以通过TextStream对象的Write方法,将文本数据保存到文件中。

  对于文本数据和二进制数据,是可以方便的相互转换的,对于上传小文件来说,两者基本上没什么差别。但是两种方式保存时还是有一些差别的,对于ADODB.Stream对象,必须将所有数据全部装载完才可以保存成文件,所以使用这种方式如果上传大文件将很占用内存,而对于TextStream对象,可以在文件创建好后,一次Write一部分,分多次Write,这样的好处是不会占用服务器内存空间,结合上面分析的分块获取数据原理,我们可以每获取一块上传数据就将之Write到文件中。我曾做过试验,同样本机上传一个200多MB的文件,使用第一种方式内存一直在涨,到最后直接提示计算机虚拟内存不足,最可恨是即使进度条表示文件已经上传完,但是最终文件还是没有保存上。而使用后一种方法,上传过程中内存基本上无什么变化。

  原理基本上是说清楚了,但是实际代码要比这复杂的多,要考虑很多问题,最麻烦在分析数据那部分,对于每一块获取的数据,要分析是不是属于描述信息,是表单项目还是上传的文件,文件是否已经上传结束……

  相信根据上面的描述,您也可以开发出您自己功能强大的无组件上传组件。