2009年4月8日星期三

Google App Engine支持Java

  据Google App Engine官方博客报道,Google App Engine现在开始增加对Java的支持,这是继GAE开放注册并支持Python之后,Google App Engine支持的第二种开发语言。

  Java是目前流行的开发语言,在企业软件中应用广泛,Google App Engine支持Java后,将会吸引大批Java应用程序迁移到Google App Engine平台,使得Google App Engine的应用更为广泛。

  Google App Engine支持标准的Java应用,开发者也可以安装Google Plugin for Eclipse,可以提供App Engine API和其他相关类包,如Java Servlet API, JDO and JPA, javax.cache等。

  登录Google App Engine即可看到申请Java的链接,目前Google将开通前一万个申请者的Java支持,所以,赶快点这里申请吧。

2009年4月7日星期二

宽屏显示下的网站网页宽度

  当前的前端设计师有一个苦恼,就是用户屏幕显示分辨率的各不相同,并不能只按照一个模式设置网站的宽度,特别对于宽屏用户来说更为烦恼。

  根据我的博客上月统计,1024×768分辨率的用户只占到50%,并且在逐月下降,而1280-1440这三个分辨率的用户则达到了35%,如果按照这个速度发展下去,明年就会超过1024分辨率,这说明,使用17寸普屏的用户正在加速减少,而17、19寸宽屏用户正在稳步逐步增加,这给前端设计师的一个考验是,不能只考虑1024×768分辨率的用户了,要想想大屏幕宽屏用户的浏览体验了。

数据统计

  Google Reader是一个典型的内容阅读性质的网站,用户在上面阅读时间非常之长,那么,Google的前端设计师是怎么考虑这个问题的呢?

  大家可以做一个实验,在19寸宽屏下,如果网站页面全文显示,铺满整屏,那么阅读的时候,眼睛需要从左转到右,才能阅读完一行,屏幕越大,这种效果越明显,因此,一个让用户大量阅读的网站,为了照顾好读者的眼睛,在大屏幕宽屏下,也不应该全屏铺开的显示文字内容。

  在1024×768分辨率下,使用Google Reader时,会发现内容是全屏显示的,但是,使用19寸宽屏在1440×900分辨率下打开Google Reader,会发现这时并没有宽屏显示内容,右边留出了一大块空白,如下图显示。

宽屏显示下的网站网页宽度

  使用工具测量宽屏下Google Reader的内容显示像素,结果是955个像素,很有趣的数字。

  我在《更改博客页面宽度到960像素》一文中已经提到了,现在的网页设计的行业标准应该就是950/960像素宽度,这个宽度应该是人眼在不转动的情况下能看到的极限了,实际阅读区域正文的宽度是650像素,Google Reader的这个设计很有意思。

  在Google搜索引擎中,搜索结果的显示宽度确是另外一个数字580像素,这是又一种内容宽度设计,Google这么做的原因估计是为了更好的显示右侧广告。

  我的博客最初使用的是778像素这个宽度,在2008年的那次改版后,修改为878像素宽度,主要是为了修改方便,直接加了100像素,正文区域的阅读宽度是668像素,左侧侧栏宽度是200像素。不过,今年的改变,我的博客的整体宽度修改为960,正文区域的宽度是728像素,728的宽度仅仅为了好放Google AdSense而已。

微软停止Windows XP和Office 2003主流支持服务

  据新浪科技报道,微软已宣布自2009年4月14日起放弃对Windows XP和Office 2003的主流支持服务,微软对两个产品的支持将转换为延展支持服务。

  根据微软标准的政策,主流的技术支持向每一个用户提供免费的补丁,修复安全漏洞和软件瑕疵。然而,在延期的技术支持中,非安全性的热补丁仅提供给与微软签署技术支持合同的企业。

  微软在2001年10月25日推出Windows XP,在2003年11月推出了Office 2003,按照微软的习惯做法,对一项产品的主流支持服务期限为5年,然后转成5年的延展支持服务期。微软Office 2003的上一次升级还是在2007年9月,当时推出了Service Pack 3(SP3)服务包。微软Windows XP的最后一次升级是在2008年5月。

  微软这项政策对于中国用户产生的影响是巨大的,根据我先前的统计数据,Windows XP和Office 2003都是目前国内主流应用,两者配合的非常好,如果微软不再给个人用户提供免费安全补丁,那将使的中国互联网变成一个真正的“黑客天堂”。

2009年4月6日星期一

企业邮件沟通技巧

  电子邮件有很多用途,用于联系贸易业务、亲朋好友之间的通信等,但是作为工作场合的业务沟通,电子邮件提供了很多的便利,同时也带来了很多风险。在所有的沟通方式中,电子邮件是最难控制的,最容易达到你不想传递的对象。如何在企业里使用好邮件,相信也是大家经常感到比较困惑的问题,下面是我们企业和部门内部规范的一些邮件沟通技巧,相信这些技巧对于其他企业也同样适用。

  一、邮件格式

  1、邮件一定要注明标题,很多人是以标题来决定是否继续详读信件的内容。此外,邮件标题应尽量写得具描述性,或是与内容相关的主旨大意,让人一望即知,以便对方快速了解与记忆。

  2、如果不是经常交流的对象,记得写邮件抬头称呼对方,以示礼貌,并引起主要收件人的关注。

  3、收件人尽量用中文姓名全称,避免只显示个人邮箱帐号。

  二、哪些事情需要发送邮件

  1、正式工作报告;

  2、难以简单用口头表达说明清楚的事项;

  3、知识推荐和信息传递;

  4、没有见面交流条件的其他交流内容;

  总结:可以用口头交流解决的,尽量不使用邮件。

  三、邮件发送对象

  1、寻求跨门支持的邮件,一般主送给寻求支持的人,抄送给他的直接上级;同时抄送本部门的直接上级;这样往往可以获得支持部门的更好的支持;

  2、项目通报类的邮件,主送给项目小组成员,抄送给项目小组成员的直接上级、项目主要领导;

  3、工作计划的发送对象,经理人的工作计划主送工作计划的下达对象,抄送直接上级、间接上级、部门内部相关经理人。为保持部门内部计划对外的一致性,部门内部计划原则上只有一个计划可以跨部门传达,特殊情况可以根据需要处理。

  选择邮件发送对象的时候避免以下现象

  1、在对外沟通中,非重要的一般性的沟通,避免为了知会的需要将邮件抄送给包括直接和间接经理;

  2、避免将同一个主题的讨论内容多次反复发给全部收件人、抄送人,用见面直接交流代替。

  3、避免将细节性的讨论意见发送给公司高级管理人员,特别是可以判断高级管理人员不能深入了解的业务细节。

  四、邮件沟通支持

  1、如果遇到在邮件发送时对内容、措辞、发送人有任何疑问,可以向直接上级寻求沟通支持;

  2、如果在沟通中发生意见分歧,沟通双方首先应换位思考,尽量用见面沟通或电话沟通解决分歧;

  3、充分发挥个人的主动性,避免将一般性的沟通工作交给上级去做(这样降低了沟通效率);

  五、邮件内容

  1、如果带有附件,尽量在邮件正文对附件内容进行总结,避免收件人一一打开附件才能知悉沟通事项;

  2、控制邮件正文字数,确保邮件正文层次清晰、内容明确,避免长篇大论。

  六、沟通确认和反馈

  1、对重要沟通事项,在发送邮件后最好电话提醒对方引起关注;

  2、重要会议通知再回前向与会人员提醒开会时间;

  3、如果重要邮件发出去后石沉大海,不一定是对方不重视,尝试再次提醒;

  每个人都会遇到沟通无效的情况,没有有效的沟通,很多工作将寸步难行,希望以上分享可以让大家沟通更轻松,工作更上一层楼!也欢迎大家分享个人的工作沟通体会。

2009年4月4日星期六

屏蔽百度爬虫的方法

  在百度C2C产品“百度有啊”即将上线的时候,淘宝网站曾经屏蔽百度搜索爬虫,禁止百度搜索引擎抓取淘宝网站的网页内容,淘宝官方的解释是“杜绝不良商家欺诈”。

  在技术层面,淘宝屏蔽百度的方法是,在网站的robots.txt文件中加上如下内容:

User-agent: Baiduspider
Disallow: /

  但实际上这种方法并不能完全屏蔽百度的爬虫,至今在百度上输入site:taobao.com还是可以看到内容,要不要索引网站,还是由百度说了算,要是遵守robots协议,那才不会索引,因此要想完全屏蔽百度的爬虫,需要在.htaccess中加入一些语句才可以,下面介绍两种方法。

  方法1:

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^Baiduspider [NC]
RewriteRule .* - [F]

  方法2:

SetEnvIfNoCase User-Agent "^Baiduspider" bad_bot

<Limit GET POST>
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</Limit>

  当然,对于普通中文网站来说,还是不建议屏蔽百度的爬虫,通常情况下做一些大型的英文网站,才有必要这么做,以节省流量。

中国类Twitter微博客网站分析

  专业的博客服务在中国还没有看到黎明的曙光,微型博客(Micro-blogging)却似乎有后来居上之势,越来越吸引人们的眼球,以Twitter为首的一批微博客服务正形成席卷全球之势,走向更为广泛的大众。

  那么中国的微博客服务前景如何呢?Twitter在中国扮演什么角色?中国本土的微博客服务商,例如饭否、叽歪的、做啥、滔滔、以及后起之秀嘀咕,谁能在这个市场上成为最后的胜利者呢?

  对于Twitter在中国的发展前景,我不看好,因为Twitter在中国并没有走向大众群体,并且在中国也没有什么影响力,因为没什么人在使用。

Twitter

  在中国,使用Twitter的用户群都非常小众,数量很有限,基本上集中在互联网从业者这样一个很小的圈子内,大量的非专业用户极少使用Twitter,这导致Twitter并没有像国外那样在大众之中迅速普及,这方面的原因是很多的。

  Twitter进入中国带有很多天生的缺陷:无中文界面,速度慢,域名不好记,没有一个好的中文名字,不支持短消息更新(国际短信一元一条),不支持树状讨论界面,不支持照片上传和彩信等等。这其中,中文界面是最为关键的一个因素,因为很多中国人根本不懂英文,不习惯用英文,因此有一个中文界面对于网站在网民中的普及非常重要,这也决定了这个网站能否真正走向中国大众。

  从功能上讲,类似FriendFeed的聚合网站以及社交网站Facebook都逐步增强了类Twitter的功能,吸引着Twitter的用户转移阵地,而Twitter在这方面的动作却几乎没有,这也带给众多第三方网站很多机会。

  总之,国内的类Twitter微博客网站的机会很多,看怎么把握了,如果一个互联网企业能从产品创新过渡到需求创新,发现广大中国用户更多的潜在需求或可能需求,通过重新定位、重新细分开创全新市场,那么这个企业在中国微博客市场开拓自己的蓝海并非不可能的事情。

2009年4月2日星期四

IIS网站服务器性能优化指南

  Windows Server自带的互联网信息服务器(Internet Information Server,IIS)是架设网站服务器的常用工具,它是一个既简单而又麻烦的东西,新手都可以使用IIS架设一个像模像样的Web站点来,但配置、优化IIS的性能,使得网站访问性能达到最优状态却不是一件简单的事情,这里我就介绍一下如何一步一步的优化你的IIS服务器。

  服务器端环境,我们以Windows Server 2003的IIS6.0为例,客户端环境为Mozilla Firefox 3.0,同时安装Yahoo的YSlow扩展。

  YSlow是Yahoo开发者团队发布的一款基于Firebug的插件。用于分析网页,并根据一些高性能网站的规则进行相应的评级打分,对于网页性能优化有很好的帮助作用,告诉你那些部分影响了你的网页速度,并告诉你如何基于某些规则而进行优化。我们对于IIS的优化策略就是基于YSlow的。

  使用安装了YSlow的Firefox打开目标网站,然后点击YSlow图标,点击Performance,如下图所示。

YSlow

  其中Performance Grade为YSlow对你网站的评级,A(100分)为最高,F为最低,后面列出如何进行修改,下面我以IIS 6.0为例介绍一下如何进行优化网站性能。

  1、减少HTTP请求数量

  这主要是修改网站代码,减少外部图片、CSS、JS等文件数量,手动合并多个CSS/JavaScript文件。IIS那里不用设置。

  2、使用CDN

  对于小网站来说,这个就免了吧。当然有钱人可以试试,可以从技术上解决用户访问网站响应速度慢的问题。

  3、启用内容过期

  对于静态文件启用内容过期可以提高访问性能。首先网站的目录要划分合理,图片、CSS、JavaScript均放在单独目录下,然后在IIS中选择目录,点属性-HTTP头,启用内容过期,可以选择30天后过去,这样,用户浏览器将比较当前日期和截止日期,以便决定是显示缓存页还是从服务器请求更新的页,由于图片、CSS、JS通常变化较少,因此基本上都从本地缓存读取,从而加快显示速度。

启用内容过期

  4、启用Gzip压缩

  HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如Gzip等压缩HTML、JavaScript或 CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。

  使用方法是,右击“网站”->“属性”,选择“服务”。在“HTTP压缩”框中选中“压缩静态文件”,“临时目录”建议单独设置另一个盘的目录下。

启用Gzip压缩

  之后,IIS管理器中,右击“Web服务扩展”->“增加一个新的Web服务扩展”,在“扩展名”中输入“HTTPCompression”,添加“要求的文件”为C:WINDOWSsystem32inetsrvgzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中“设置扩展状态为允许”。

启用Gzip压缩

  最后,使用文本编辑器打开C:WindowsSystem32inetsrvMetaBase.xml,在HcFileExtensions中增加需要压缩的静态文件后缀名,默认为HTML和TXT文件,建议再添加上js、css等,不要添加图片或ZIP等已经被压缩的文件。

  5、将样式文件放在头部

  这是基本的HTML代码风格,将所有的CSS文件都放在HTML页面的头部。

  6、将脚本文件放在尾部

  这也是基本的HTML代码风格,将所有的JavaScript文件都放在HTML页面的尾部。

  7、避免CSS表达式

  这点很简单,因为大多数人从来不用CSS表达式。

  8、使用外部的JavaScript和CSS

  将所有的JavaScript和CSS都做成外部文件的形式进行引用,这主要是为了让这些文件可以被浏览器缓存起来,参见第三点的介绍。

  9、减少DNS查询

  域名的DNS查询会带来额外的访问开销,减少页面内文件的主机域名数量,一个页面的主机域名保持在2-4个以内,这样就不会降低页面的装入速度。

  10、压缩JavaScript文件

  压缩脚本文件,删除不必要的字符,可以改善加载时间,目前有很多JavaScript文件的压缩工具,我这里有一个GUI界面的JS压缩工具供下载。

  11、避免重定向

  网页的重定向会带来额外的运行开销,因此要避免页面进行重定向跳转操作。

  12、删除重复脚本

  一个页面两次包含同一个JavaScript文件会影响加载的性能,因此需要将重复的脚本文件删除。

  13、配置ETag

  这是一个令人迷惑的问题。理论上说将服务器的ETag删除会提高HTTP请求的性能,但是按照微软官方提供的修改方法配置IIS 6.0,并没有实际效果,最终我使用了一个第三方的DLL文件,以ISAPI的方式实现了删除ETag的功能。

  经过上面这些网站前端重构和WEB服务器的配置修改,我们的页面结构就变得更加规范,重构的页面大多都会取得不错的YSlow的评分,总体来说性能提升了不少。对于最终用户来说,也会明显感受到访问网站速度变快了很多,网站的浏览体验得到了较好的提升。

  参考书籍:高性能网站建设指南 —— 电子工业出版社出版