4月 282013
 

去年彭博社和《纽约时报》因为分别报道国家领导人家族巨额财产而遭到屏蔽。彭博社和NYT官员在周五举行的Google Big Tent上表示他们对作出发表文章的决定并不后悔,因为是别无选择 。彭博社首席内容官Norman Pearlstine说,如果他们不这么做将会失去信誉,在中国资讯被认为属于国家,他认为在不久的未来这种观点不会改变。《纽约时报》前主编Bill Keller则说,从长期看,他们将赢得中国人的忠诚和信任。

1月 042012
 

作者:路云飞

  做网站的最高境界其实是做文化。文化是个什么东西,文化其实是一种人群情感的载体;它代表的是价值认同、喜欢、怀念、习惯和依赖;也就是互联网上最值钱的东西——网友的心智资源。

  大多数草根站长一直在走的误区

  我们一直在走入一个误区,每天都在焦急的看流量,看为什么我的网站流量还没上来啊,百度怎么还没收录我啊;其实最重要的是你要换位思考:一个进入你网站的新网友,他来到这里能够收获什么,网站的粘着力才是新站最最需要重视的东西;任何网站初期搜索引擎都不可能给你很高的权重,内心焦急也是没有用的;应该保持着钓鱼的心态,耐心的蹲点,不要坐15分钟没有鱼上钩,看到别人钓了条大鱼就坐不住了,要么不想钓,要么就是换一个地方;人家钓到大鱼(比如听说某某草根网站每月赚了一万,自己心里就那个急啊),应该去想想人家虽然现在成功了,之前也是走了很多弯路,每个人都要经历这个过程;而不要眼红,引起自责“为什么我没成功,是不是我很笨啊,是不是我没有买上万元的站群软件啊,是不是我投入资金太少了啊”;其实要做一个真正意义上的站群,没有七万以上的投资,是不可能的,这对于大多数草根站长而言,是没有这个条件的。 Continue reading »

7月 142011
 

原则1 减少HTTP请求数

构造请求、等待响应需要时间,因此请求数量越少越好。减少请求的总体思路就是合并资源,减少显示一个页面需要的文件数。

1. Image Map

通过设置<img>标签的usemap属性与使用<map>标签可以在一幅图片上切分出多个区域,指向不同的链接。比起使用多幅图片分别构造链接减少了请求数。

2. CSS Sprite(CSS贴图整合/贴图拼合/贴图定位)

通过设置元素的background-position样式做到。一般用于界面图标。典型的可以参考TinyMCE编辑器上方的那些小按钮。多个小图实质是从一个统一的大图通过不同的偏移量裁剪而来,这样加载界面上的众多按钮实际上只要请求一次(请求大图一次),从而减少HTTP请求数。 Continue reading »

4月 262011
 

网站的访问速度和性能对用户体验来说是非常重要的。如果你的网站访问非常的慢,你不仅会失去用户,而且更可怕的是你会失去潜在的客户。像Google这样的互联网巨头也会把网站访问速度作为排名的一个参数。因此当你需要优化网站速度时,你需要考虑方方面面,每个毫秒。这里对改进网站性能提出一些基础和普遍的建议。

1、如果可能的话,延迟加载一些内容

可以使用Ajax来按需加载部分内容。比如一个相册,可以在用户浏览页面时先出缩略图,当用户点击了,然后异步请求原图并展示,这样用户如果只需要看几张图片,就不需要等待所有图片都加载下来。这种开发模式叫做延迟加载。 Continue reading »

4月 012011
 

王康 xmw2.blog.chinaunix.net

老鸟请直接看开启压缩进阶篇。

菜鸟还是慢慢随着老夫的思路看吧,哇哈哈。

什么是压缩?

大家还记得我们第一次接触winzip软件吗?非常神奇,一个文件,经过winzip压缩后,大小可以压缩成原来的30%左右。记得当年,很多文件,都是压缩后才可以放到自己的软盘中。

而对于网站,也有这样的压缩技术,可以让你的网页中的文本类文件瘦身,在用户完全不知情的情况下,通过gzip和deflate压缩程序有效减少了网页,让用户更快的打开网站。

压缩有多大用处?

通过一个小小的测试软件,我对新浪、网易等门户网站进行了访问。

大家可以明显的看到,网易和新浪的首页,经过压缩后,都缩小了70%以上。 Continue reading »

4月 012011
 

王康 xmw2.blog.chinaunix.net

其他不再赘述,发挥二的性格,我们直奔主题。

用户打开网站的整个流程中,DNS解析时第一环,当用户输入域名并敲回车后,windows系统调用DNS client,寻找到用户配置或者自动分配的DNS IP,之后就开始整个解析过程。

DNS解析,变快有意义吗?

有,呵呵,很多小型网站,DNS解析时间都接近0.5s,甚至我见过一个网站,需要1.2s才可以解析出结果的。这是个非常令人吃惊的数据,因为对于一般网站打开时间超过8s用户即将放弃访问,而对于电子商务网站,4s就是用户忍耐极限。而一般经过优化的小型网站,DNS解析时间都可以控制在200MS左右,而带宽在100M左右的网站,经过优化,DNS解析时间可以控制在50-100ms。

如何优化呢?

首先利用好TTL,因为要尽量多的让用户直接从运营商的DNS缓存中拿到A记录,这样才能保证最快,但是也要保证,当你的服务器出问题时,需要尽快的切换,所以,这个TTL设置也是有一些情况需要综合研究的。

1、 你肯定清楚,自己的服务器有没有多台或者备份。如无备份,那服务器宕机时,你只能生抗,所以,TTL时间对于你来说是越长越好,因为TTL短的目的是服务器发生问题时,可以及时切换,这个对于没有备份的网站基本利用不上。所以,你的TTL设置就是越长越好,当然了,也不能无限长,一般设置TTL 3600即可。

2、 如有备份或者多台服务器,会发生由于服务器宕机需要及时做切换,TTL时间越短,切换越及时,但是TTL时间越短,也就意味着运营商DNS经常缓存不住,一般用户,设置为TTL 600即可,如果对及时切换,要求特别苛刻的网站,设置TTL 120即可。 Continue reading »

3月 052011
 

有不少不喜歡網頁上有 Flash(尤其是那些動畫),所以 Firefox 上也有一個很出名的 add-on Flashblock。我個人也不喜歡網頁用上 Flash,但也不至於原教旨般的逢 Flash 必反 – 只要用得其所便可。

在我的印象中,香港政府的網站常有濫用 Flash 的情況,隨便在 Google 找一下,也找到五個值得批評的例子。

第五位

區議會
http://www.districtcouncils.gov.hk/front.html

我十分反對 Flash Intro Page ,但現在幾乎每個政府網站都有,也只好接受 – 至少它們還有一個 skip button。不過我要特別針對區議會以前用的這個 Flash Intro,不止是因為它很醜,最重要是它在 Firefox 中不懂得 resize,畫面小到字也看不到(在 1024×768 下就是上圖的樣子),其實就算到了 IE,那段轉簡體中文的文字也不清楚。 Continue reading »

12月 072010
 

作者:zhiyi.us

这一系列的最后一篇写给普通编程人员,如果不感兴趣可直接看本文最后几段。

开始设计代码结构之前,先回顾一下之前准备的事情:我们有负载均衡的WEB服务器,有主从DB服务器并可能分片,有缓存,有可扩展的存储。在组织代码的各个方面,跟这些准备息息相关,我一二三的列出来分别说,并且每一条都以“前面讲到”这个经典句式开头,为了方便对照。

别着急看经典句式,我思维跳跃了,插一段。实际开发中,我们总会在性能和代码优雅性上作折中。对于当今的计算机和语言解释器,多几层少几层对象调用、声明变量为Map还是HashMap这种问题是最后才需要考虑的问题,永远要考虑系统最慢的部分,从最慢的部分解决。例如看看你用的ORM是不是做了很多你用不到的事情,是不是有重复的数据调用。我们做的是web应用开发,不是底层框架API,代码易读易懂是保证质量很重要的一方面,你的程序是为了什么而设计,有不同的方法……算了,这个话题另起一篇文章来说,扯远了,想交流可关注我的微博 http://t.sina.com.cn/liuzhiyi,咱继续……

前面讲到,WEB 服务器是要做负载均衡的,图片服务器是要分开的。对于这点,代码在处理客户端状态时,不要把状态放到单机上,举例,不要用文件session,嗯,常识。如果有可能,最好在一开始就做好用户单点认证的统一接口,包括跨域如何判断状态、静态页面如何判断状态,需要登录时的跳转和返回参数定义,底层给好接口,应用层直接就用(可参考GAE的 user服务)。登录方面的设计要考虑移动设备的特性,比如电脑可以用浮动层窗口,但NOKIA自带的浏览器或UCWEB就无法处理这种表现形式,程序一定既能处理AJAX请求又能直接通过URL来处理请求。图片服务器分开,资源文件最好也布局到图片服务器,也就是WEB服务器只服务动态程序。虽然开发测试时稍微复杂(因为需要绝对URI才能访问),但将来页面前端优化上会轻松许多,并且你的WEB服务器IO优化也轻松许多。程序引用资源文件时,要有一个统一的处理方法,在方法内部可以自动完成很多事情,例如将css/js根据组合,拼成一个文件,或者自动在生成的URI后面加上QUERYSTRING,如果将来前端用了缓存服务,那生成QUERYSTRING是最简单的刷新服务端缓存和客户端缓存的办法。

前面讲到,数据库会有复制,可能会多主多从,可能会分片。我们程序在处理数据的过程中,最好能抽象出来单独放做一层。 Continue reading »