服务器租用、域名注册必须注意的几点

1、一定要支持远程ssh,不然备份的时候你会郁闷死

2、一定要有独立IP,不然跟你同ip的非法网站会把你一起拖下水

3、一定要支持fsockopen()函数或者curl组件,不然你的Email系统将会处于最原始最落后的状态

4、一定要支持mod_rewrite,原因我就不说了

据我所知,同时满足1、2、3、4条件的服务器,国内只有独立主机才会有(租金大概5000~10000之间/年),独立主机的速度一般不错,可以考虑。一定不能用大陆的虚拟主机(虚拟空间),除非你是用来测试纯html的

再次强调:大陆的虚拟主机千万不要用,年轻的时候几乎用遍了国内的每一个知名的虚拟主机,包括中国频道,中资源,万网。。。。。。没有一个不是垃圾。国外3000G的空间才卖60美金一年,万网200M的垃圾空间要卖5000元。国外的mysql数据库免费无限量,国内的50M数据库就要另加400元一年,无耻到极点。更不用说ssh,独立IP等了。

如果你是一个中小型网站,需要租国外的主机,我推荐MediaTemple的DV系列,绝非广告。 IT知名博客TechCrunch就是用MediaTemple,我在国内的下载速度可以达到1.2M/s,可以国内的独立主机媲美。

关于域名,绝对不要注册.cn域名,.cn域名是中国人管的,只要是中国人管的东西,什么出问题那就欲哭无泪了。当年还比较出名的牛博网 (bullog.cn)被关,域名被强制指向一个低俗透顶的垃圾网站,谁干的? 万网干的,为什么万网有能力这么干?因为它是.cn。参考文章:《警告——不要在国内注册和使用CN域名》

此外,绝对不要用大陆的域名注册商。 即使是.com,只要你在国内注册,就有你的好看。 .com域名一夜之间改变了所有人和ip指向的事情,已经不是一次两次了,而且这种事情只有中国可以发生。你花了钱注册了域名,管理权却并不真正属于你。国内注册商里的任何一个员工都可以轻易的把你的域名所属权搞成别人的。

在国内,你注册了域名,如果某一天想更换注册商,那是非常痛苦的过程,因为更换的时候需要向国内的注册商请求一个“转移密码”才能完成,而这个转移密码,他们是不愿意告诉你的,于是你要像罪犯一样提交各种证件和证明。而在国外,只需一个按钮即可完成。

最后,国外的域名解析措施更加规范 ,可以指定多个子域名,自由设置A记录、CNAME、MX记录等,国内却限制多多

国外的域名注册商建议用godaddy.com,最保险。国外也有很多垃圾注册商 ,小心为妙。

公民生活与社区氛围

所有社区都希望用户每天主动来发起讨论,如何刺激这个欲望呢?

看托克维尔写的《论美国的民主》,提到,在美国结社和发表政治言论是非常简单的事情,所以很容易拉帮结派,为自己的利益呼吁和斗争。所以美国成就了一批全世界最活跃的人群。

社区也需要根据人的不同特点来鼓励拉帮结派,形成各自的小圈子,甚至鼓励互相斗争。

公民生活起来了,社区才会有归属感。

Firefox和IE的CSS兼容性问题漫谈

先从设置最小高度:min-height说起吧

对于某些内容可变的层(比如用户评论),我们希望它有个最小的高度(比如30px),这样的话,即使内容只有一行字,也不会太难看;同时又希望在内容比较多的时候,层的高度能自动撑开,也就是要求height: auto。这时候就可以设置css的min-height属性。min-height在Firefox里有效,但IE无法识别。可以使用下面这个解决方案:

.div_class{min-height:30px;height:auto !important;height:30px;}

第一行设置 min-height:30px;对Firefox有效;第二行height:auto !important;也对Firefox有效,后面紧跟的“!important”是Firefox专用的一个标记,带有这个标记的设置具有最高优先级,之后的设置都无效。所以第三行的height:30px对Firefox无效了;同时,由于IE无法识别min-height和“! important”,所以只有第三行有效,由于IE默认就是高度自适应的,所以即使设置了30px的高度,只要内容很多,也会自动撑开,不需要设置 height:auto。最后,上述代码产生如下效果:

对于Firefox,等同于:

.div_class{min-height:30px;height:auto;}

对于IE,等同于:

.div_class{height:30px;}

“!important” 是个非常好用的东西,如果你写过几个月的跨浏览器的CSS代码,就很容易被Firefox和IE之间的差别而感到恼火。比如padding属性就是一个例子。

假设这样一个层:

.div_name {width:100px;padding:10px;}

在IE里面,层的宽度是100px,四周的余空为10px;但是对于Firefox,层的宽度变成了100px+10px+10px=120px,对于宽度敏感的设计来说,整个就混乱了。怎么办呢?还是求助于“!important”吧。只要这样写就可以了:

.div_name {width:80px !important;width:100px;padding:10px;}
因为80+10+10=100。正好让宽度 变成100px。

有时候,我们给一个层加上边框 ,在Firefox里面也会出现宽度增加的情况,比如:

.div_name {width:100px;padding:10px;border:2px solid #ccc;}

上面这个层,在Firefox里面的实际宽度等于100+10+10+2+2=124px,因为边框也会增加宽度。怎么办呢,还是靠“!important”,这样写就可以了:

.div_name {width:76px !important;width:100px;padding:10px;border:2px solid #ccc;}

写CSS经常要做这样的计算,还要写很多!important,苦了设计师们,什么时候IE和Firefox的CSS标准统一就好了。

Mysql数据转移编码问题

MySql的字符集是越来越严格了,涉及到好几个层面的编码。

实用的来说,我们一般就用gb2312或者utf8两种编码(个人严重推荐utf8) ,下面以utf8为例说一下:

1、转移数据的时候,在Create table后面注明字符集为 utf8,数据库校验(collation)字符集为utf8_unicode_ci,比如:

CREATE TABLE `member` (
`id` int(7) NOT NULL auto_increment,
`account` varchar(50) default NULL,
`password` varchar(100) default NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;

2、客户端读写数据的时候,在select database前面加上SET NAMES ‘utf8′这个语句,这是为了告诉MySql连接校验(connection collation)的字符集也是utf8,比如:

$mysql->host=”localhost”;
$mysql->user=”foor”;
$mysql->pass=”bar”;
$mysql->db=”db”;
$mysql->connect();
mysql_query(”SET NAMES ‘utf8′”);
$mysql->select_db();

这样就搞定了,gb2312也是类似的修改这两层就可以了

A Long-tail case study

This morning when I opened google analytics, I was a little bit surprised that CAIMAI‘s daily unique visits increased by 30%, and 90% of visits came from Baidu search results. The interesting part is the 90% of leading keywords are very infrequent, such as:

  • The best Peking Roasted Duck
  • The best movie about mummified corpse
  • The most popular blood type in Taiwan
  • The best way of oral sex
  • Why people like panda
  • ….

Since CAIMAI is a Chinese web2.0 site for sharing the best stuff and best memories (similar to Bestuff.com) , everything could be found on it. That’s why so many wacky keywords work.

I immediately told myself:”WOW! This is a good case for long tail theory.”

But I was suddenly frustrated when I saw a 70% high bounce rate. Damn, Netflix is not like that. So What’s the difference?

There are official sites for Roasted Duck, and movie, and blood type analysis, and sex position, and panda. They are more professional & detailed than CAIMAI in this specific area. In contrast, there are scarcely any substitute for those hard-to-find DVDs which could be only found on Netflix ( Those add up to 21% of all sales).

Yeah. I guess substitutability is fatal weakness for a failed Long Tail model.