Loading...

Archive for June, 2007

    AD: 猛买 | 快递查询 | Jobsdigg | 很棒的男装店

生日

05年开始写blog,这是我在blog上过的第二个生日。去年的18岁生日时写过这样一篇文章:生日,打死了5只蚊子。翻来看看,blog就是好,让我以前的日子都历历在目。

先说一个笑话:

那是我18岁生日那天,我当时住在家里,但我父母晚上不在,所以我把女朋友找来,想过个浪漫独处的夜晚。办完事后,我们躺在床上,听到有电话声从楼下传来,我提议我们玩骑马游戏下楼去接电话。既然我们不想漏接这通电话,当然没时间穿衣服了。当我们走完楼梯,灯忽然亮了!一大群人喊? 「Surprise!」
我一大家子的亲戚,我的姑姑阿姨、叔叔舅舅、祖父母、表弟妹、还 有我的朋友…都站在那儿!我跟我女友被这震惊、难堪又漫长的一刻吓呆了。
从此以后,我的家人 再也没人为我办这种surprise party。

哈哈,我的生日没有女朋友,过得也及其平淡。 不过一大早起来就惦记着Jello同学两个月前答应的彩信,一直到晚上也没等来。后来才得知不知为什么(可能网络有问题了),让JelloMM发不过来,打10086也没能解决。唉,只能说POPO这家伙运气太好了。

祝福的短信很快地撑爆了我的手机,到了晚上,SIFE的俊胜用毛笔写了一幅字给我(我们的俊胜帅哥真的好厉害), 内容是:世事殊同齐感慨,人生苦短尽风流──啧啧。

Candy

现在用FF访问牛扑,在地址栏右端会有一个“”的图标。今天给牛扑上的新图书做了一个Feed输出,输出最近增加的19条图书。为什么是19条呢?哈,因为今天是我19岁生日。

如果你在用抓虾,可以添加频道时输入“http://www.niupu.com/”,就可以订阅到了。下一步看情况要不要做按照Tag输出的Feed。

真实的Feed地址其实是:http://feeds.feedburner.com/niupu

蛋糕

昨天去Ases的毕业生Party,那边搬来了一个硕大的蛋糕,蜡烛燃起来的时候分外漂亮。我问同桌的一个女孩大概要花多少钱,她说这么大的也就200吧。

从小开始,我就很希望在生日上能吃到一次蛋糕。 小学5年级一个同学生日时我吃到了一种一块钱一个巴掌大小的“蛋糕”,后来许多日子里许多朋友的生日,纷纷地吃到了蛋糕。但我从来也没有在自己的生日上吃到过。

晚上收到了第一个生日的祝福,在电话里不由地就说起来这个关于蛋糕的愿望。明天就是我的19岁生日了,可惜,早已过了喜欢吃蛋糕的年纪。

我不喜欢计组

很抱歉下周二的沙龙我不想做了,本来打算聊一些电子商务方面的知识,但因为下周有一个比较BT的实验课考试,而我现在还没有摸到门道,所以需要好好准备一下。这门课就是计算机组成原理。

我真的怀疑一个老师居然能把课讲到这种地步,我也确实上课容易走神,但一个学期的课上下来一点感觉都没有这还是第一次。我不喜欢这门课,我将来又不会做物理层的工作。传说中学校的“首富”告诉我们嵌入式有千般好处,但我实在对这些和COM口扯上关系的东西提不起兴趣。

当然,Livid也说,到了一定的程度再回去读计算机的组成会让自己有很大的提升,因为基本的数学、物理以及中断的原理不会改变。我不知道我什么时候才会有兴趣返回去看看,而且,不仅是我一个人,我周围的很多人都觉得这门课是天书。

缓存的效率

今天尝试着在牛扑的三个页面上用了缓存:tag页面,分类页面以及图书信息页面。中午没吃饭,把它搞了出来。刚刚放上去的时候,缓存之后的页面效率很高,基本上比原来的查询提高了一个数量级。

但是下午出去办了很多事情,晚上和徐老师聊了很久,再回来看牛扑,程序的效率已经让我惨不忍睹。一个简单的图书信息页面都在几十秒才能出来,而且是使用缓存之后──为什么呢? 原因在于缓存的文件太多了。

现在那个缓存目录下,大概有几万个文件。想像一下ZendCache需要在这几万个文件中准确找出那个对应的缓存文件,然后判断它是不是过期了,这中间的开销不亚于从百万级别的数据库中来检索(因为数据库的检索是可以进行优化的)。 现在那里边的文件已经多到我使用rm命令都删除不了了,相当恐怖。

当然,上次PHP之父Rasmus 说,缓存可以有很多层次。其实用ZendCache适合做通用的缓存,在缓存内容比较少的时候效率提升很明显。但是文件数目的增多会使效率急剧下降,所以,控制一个较短的lifetime可以算一个解决的办法了。

另外,牛扑上的图书目录所用的缓存就很稳定。看来这些东西还是应该自己好好去实践一下。通用的缓存架构不一定是提升效率的稻草。

Cache

最近在研究PHP中的缓存,在牛扑上一个简单的图书信息页面(比如这个)都要进行至少9次数据库查询,而其中大部分东西都是在相当长一段时间不会变的,所以把这些内容缓存出来是很必要的。其实现在的牛扑一部分内容是有缓存的,当然效果很好,但缓存没有大规模使用,会限制整站的速度。于是我开始找一种通用的缓存机制,果然被我找到了,那就是ZF中的Zend_Cache。

其实缓存的概念在很多地方都有,CPU中有一级缓存二级缓存,缓存的存在大大提高了信息交换的速度(当然,和命中率有关),其实是一种空间换时间的办法。空间换时间的思路在编程中也有,特别是在做ACM时,对解法要求的效率很高,这些时候“空间换时间”的思想往往会对解题有很大帮助。

Zend_Cache是包含在ZendFramework中的,我查看了一下官方文档,发现介绍的比较简单。后来找到了Babel的程序,才看到了实例。V2EXCore.php中有这样一段:

if ($o = $this->cs->get(‘babel_top_wealth’) && $cached) {
echo $o;
} else {
ob_start();
/*output sth.*/
$o = ob_get_contents();
ob_end_clean();
$this->cs->save($o, ‘babel_top_wealth’);
echo $o;
}

其中$this->cs是一个初始化好的缓存类。在这里,思路是这样,如果缓存”babel_top_wealth”命中,就输出,如果没有命中,就通过ob_start()/ob_get_contents()获得输出的内容,然后保存到缓存。坦白说,这个比我以前自己写的缓存类好使多了。

现在唯一的问题是,缓存很多的话查找也是一个问题。牛扑上的50W本书假如有10W本进入缓存,估计需要的空间在1G左右。这个时候,到底是数据库的速度快呢,还是利用程序的逻辑从磁盘上读的速度快呢?

有曲线了,不容易啊

今天早上上blog,发现Alexa排名从575555升到了459973(当然,现在到Alexa去查还是575555)。一下又涨了这么多,于是就去Alexa看了看,惊讶地发现上面居然有流量曲线了。这个东西可是我盼星星盼月亮才看到啊。

虽然流量还很小。看这个页面上说,估计最近的排名还会有大幅提升,说实话最近blog流量又提高了一个级别。看样子可以稳定在10万左右。

再看看Fenng 的:http://alexa.com/data/details/traffic_details?url=dbanotes.net,还是很有差距啊。

无题

禁用了Tag插件。一方面,它的bug太严重,经常一不小心就把加好的Tag丢了;另一方面,它影响了WP的搜索功能,使搜索的结果少了不少──实在 不知道是为啥。当然,我写的RemoteV2插件是基于Tag的,也不能用了。

今天老爸打来电话,说,他的一个同学的孩子在太原读书,被捅死了。杀人的居然是浙江传媒的男生(情杀)。说那个浙江的男生在网上认识了一个山西女生 ,于是跑到山西和那个女生一起住。不巧的是那个女生有BF,于是她的BF成了刀下鬼。我真的挺好奇──众所周知,浙江传媒的美女数不胜数,居然有男生看不上那边的女生,看上了一个山西的MM,还由此闹出命案,NND真是奇迹。

晚上社团联合会聚餐,我就要退了,再也不是什么部长了。喝了很多酒,这俩年来玩得很开心。我怀疑是不是喝醉了,我可是从来都没有醉过啊。

我不是个创业者

在SIFE的一个朋友某天和我说,他认识一个工商大学的人,很喜欢”创业“,说有空介绍我们俩认识一下。我连忙推辞,但好像在他们眼中我也是一个立志创业的人,这一片好意,我怎么也推不掉。

最近我的好几个朋友都开始了自己新的项目,Vega的新公司在上海虹口区开张了,Allen的体育社区也日渐完善,Zhou的视频网站也已启动,据说blogcn的老大会给他们钱。至于MrTech,在我认识Huony前已经注册成了公司,前段时间终于推出了他们的产品。

前些日子在杭州还发生了件事就是贝壳网倒闭了,有人说,现在社会的浮躁很容易让人有做老板的冲动。但,真正能做起来的还是少数。我的感觉就是,在这个时代,”创业“这个词已经被曲解了,一个个小青年,穿个西装,凭一个自命不凡的创意,去召集一批”人才“,声势浩大开始”创业“,已经屡见不鲜。我在HDU以前就接触过,一个连完善的商业模式都拿不出来的团队,已经制定好了一系列的”公司守则“。自然,最后只有黯然收场。

之前我写过这样一篇文章:创业,又见创业。 我的想法是,开始做一个项目的成本已经很小了,你可以很轻松地把自己的项目启动起来,哪怕没有很多钱。但我好像对”创业“这个词并没有足够的理解。

今天中午徐旭初老师突然找我,让我有些意外。坐在他身边大概聊了个把小时, 谈到他想开始的一个项目。看着眼前这个和我父亲差不多年纪的老师满满的激情,想着曾经的学长们和我谈起”徐旭初“这个名字时那份崇敬,这种奇妙的感觉仿佛去年10月坐在开复的身边。我思考良久终于答应加入这样一个十足厉害的团队,另一方面,徐老师提供的机会也不是每个人都会有。于是今年夏天我的去向又成了不确定的问号。

不过,徐老师说”山西人爱赚小钱“我真的不大同意。当年晋商的生意遍布大江南北,乔致庸”汇通天下“就在上个世纪。只是,现在的山西人没有与时俱进。不过其中还是有不少出色的商人──就包括我GF的家族,里面的商人也很有眼光。我自己现在确实是在赚小钱,但是不代表将来也在赚小钱。

我不是什么创业者,我所能做的只是玩。牛扑一直做到现在的开销除去我的人力就再也没有了(感谢智勇让我用这样一个好域名)如果服务器算上的话也只用了100多块钱──当然,它还不够大,它还不够精致。但我认为,要想把一个项目坚持做下去,保持低的开销是很重要的。生存->积累->壮大。我没有很多钱,有的只是一个可以驾驭技术的脑瓜。

Babel和SEO

用babel的时间加起来其实只有3天,但是它真的太好用了我忍不住就要写它。

很早的时候我用Google搜索blogkid,发现我的blog排在第一,紧跟在后面的就是V2EX上我的主页。坦白说,我在V2EX并没有什么大的响动,主页上内容也不多,但不知道为什么,就是能排到前面。

前天装好了InHDU,昨天就发现百度收录已经有145条了——这么快。牛扑在放上去一周之后百度收录只有25条,当然,我自己没有什么SEO的经验。如果能有牛扑的数据量+babel的SEO,那就所向披靡了,哈哈哈哈。

所以下一步我挺想把牛扑的用户界面改装一下做成Babel的样子,初步的研究表明,babel程序生成的页面虽然有很多链接,但是分布相当合理;不同的目录安排不同的内容(这个牛扑也做到了啊) ;还有一点,在V2EX Lab也谈到了:“尽可能地符合 W3C 标准是我们的目标之一”——符合标准的网页更受引擎喜欢。

慢慢来,慢慢来,暑假里好好改进一下牛扑。