Liu 的个人资料唯有仰望是真实的照片日志列表更多 工具 帮助

日志


2007/12/31

Happy New Year Everyone:)

在此7上8下之际,看到朋友们大家都在写年末盘点,我也跟风盘点盘点:

1,工作上进步不大,还需努力

2,住的地方换了一下,和farui一起租,虽然房子夏天太热,其它住的还不错

3,感情上没啥靠谱的事,光光的又过了一年

4,渐渐没有音讯的老朋友,身边的新朋友,大家都很好,所以过的满开心

08年是到北京的第7个年头了,看看同学朋友大家都过得很充实很幸福,清清楚楚的压力,

08年要更加努力了,逆风更适合飞翔。

2007/12/28

这几天的流水帐

工作很忙,为什么总有做不完的事呢:P

法国美女回来了,今天带着家属给我们来,挺不错

伟哥脱光了,百度的福利啊,真是好啊。。。。。。!!!!!!

阿专生日吃的很爽,不过后来给大王搞机器都没和大家说什么话,阿专,生日快乐:)

大王同学的gg也回来了,从此水果又毒害了一个我们的同学

小熊携mm出现,很cute的小couple啊

周2游1km花了1小时,被大娘今天cll的b4了,她只花了50分钟:(

我的iphone到北京了,太感谢大娘了,美女就是人缘好,顺带着我都被照耀到~~

活跃的大牛们啊,大家没事再努力努力,全面破解1.1.2啊,咱也跟下时尚impossible is nothing.

2007/12/27

2007最值得珍藏的MSN签名(zz)

 

    TOP1 人生的最大遗憾莫过于错误地坚持了不该坚持的,轻易地放弃了不该放弃的……  
     TOP2 新式morning call——生前何必久睡,死后自会长眠   
     TOP3 使你疲劳的不是远方的高山,而且是你鞋里面的一粒砂子   
     TOP4 有时在饭堂排队打饭时最大的欣慰不是前面的人越来越少而是后面等的人越来越多   
     TOP5 逆风的方向,更适合飞翔。我不怕万人阻挡,只怕自己投降   
     TOP6 酒,装在瓶里像水,喝到肚里闹鬼,说起话来走嘴,走起路来闪腿,半夜起来找水,早上起来后悔,中午酒杯一端还是挺美。   
     TOP7 你要不理我我就成包子了…而且还是天津最有名的…嘿嘿…   
TOP8 妈妈说人最好不要错过两样东西,最后一班回家的车和一个深爱你的人
     TOP9 我问一个在深圳工作了二十年的朋友:“如果你死后,你的墓志铭打算写点啥?”他说:“我解决了住房问题!”   
     TOP10 那天看到一位大妈在烧纸,边烧边嘟囔着:收到了全都买基金吧~~   
     TOP11 学问之美,在于使人一头雾水;诗歌之美,在于煽动男女出轨;女人之美,在于蠢得无怨无悔;男人之美,在于说谎说得白日见鬼   
   TOP12 如果你看到面前的阴影,别怕,那是因为你的背后有阳光 
     TOP13 诸葛亮出山前,也没带过兵!凭啥我就要工作经验?   
     TOP14 本人made in china,出厂日期1981年X月X日,长180cm,净重67kg。采用人工智能,各部分零件齐全,运转稳定,经二十多年的运行,属信得过产品。该产品手续齐全,无限期包退包换。现因发展需要,诚招志同道合者共同研制开发第二代产品,有意者请联系!   
     TOP15 干掉熊猫,我就是国宝!   
     TOP16 我能容忍身材是假的,脸是假的,胸是假的,臀是假的!!!但就是不容忍钱是假的!!!!   
     TOP17 脱机的人永远不知道联机的人等了她多久……   
     TOP18 紧 急 通 知:请准备一寸彩照,身份证复印件,学历复印件,个人简历,送到国家航天局,据可靠消息,为庆祝中秋,要招聘嫦娥!(自带兔子)   
     TOP19 命运负责洗牌,但是玩牌的是我们自己!   
     TOP20 问世间情为何物,不过一物降一物~   
     TOP21 如果中了一千万,我就去买30套房子租给别人,每天都去收一次房租。哇咔咔~~充实!   
     TOP22 上帝欲使人灭亡,必先使其疯狂;上帝欲使人疯狂,必先使其买房   
TOP23 我们走得太快,灵魂都跟不上了……   
     TOP24 问:你喜欢我哪一点?答:我喜欢你离我远一点!   
     TOP25 你看得见我打在屏幕上的字,却看不到我掉在键盘上的泪   
     TOP26 大师兄,你知道吗?二师兄的肉现在比师傅的都贵了   
   TOP27 很久很久以前,谎言和真实在河边洗澡,谎言先洗好,穿了真实的衣服离开,真实却不肯穿谎言的衣服。后来,在人们的眼里,只有穿着真实衣服的谎言,却很难接受赤裸裸的真实
     TOP28 忙碌是一种幸福,让我们没时间体会痛苦,奔波是一种快乐,让我们真实的感受生活,疲惫是一种享受,让我们无暇空虚,愿你的生活多姿多彩,永远开心!  
     TOP29 在非洲,瞪羚每天早上醒来时,他知道自己必须跑的比最快的狮子还快,否则就会被吃掉.狮子每天早上醒来时,他知道自己必须追上跑得最慢的瞪羚,否则就会被饿死.不管你是狮子还是瞪羚,当太阳升起时,你最好开始奔跑   
     TOP30 任盈盈教令狐冲弹琴,后来她爱上了令狐冲;岳灵珊教林平之武功,后来她爱上了林平之;小龙女教杨过武功,后来她爱上了杨过;老顽童教瑛姑武功,后来他爱上了瑛姑;但是,怎么没有一个教我课的女老师或是女助教爱上我呢?   
     TOP31 听说女人如衣服,兄弟如手足,回想起来,我竟然七手八脚地裸奔了19年!   
     TOP32 骑白马的不一定是王子,他可能是唐僧;带翅膀的也不一定是天使——妈妈说,那是鸟人 

TOP33 爱一个人就是在拔通电话时,忽然不知道说什么好,原来只是想听听那熟悉的声音,原来真正想拔动的只是自已心底深处的一根弦
     TOP34 老虎不发威,你当我是hello kitty啊!小驴不发威,你以为我是史努比啊!   
     TOP35 怀才就像怀孕,时间长了才能看出来   
     TOP36 来瓶82年的矿泉水   
      TOP37 过错是暂时的遗憾,而错过则是永远的遗憾! 
     TOP38 小时候我以为自己长大后可以拯救整个世界,等长大后才发现整个世界都拯救不了我.......

TOP39 跌倒了,爬起来再哭~~~
     TOP40 联:忆往昔,红米饭,南瓜汤,老婆一个,小孩一帮.下联:看今朝,白米饭,王八汤,小孩一个,老婆 一帮   
     TOP41 这世上最累的事情,莫过于眼睁睁看着自己的心碎了,还得自己动手把它粘起来   
     TOP42 事业是国家的,荣誉是单位的,成绩是领导的,工资是老婆的,财产是孩子的,错误是自己的   
     TOP43 学士上面是硕士,硕士之后是博士,博士后面还有博士后,那博士后后面呢?如果你够勇敢再读两年那就是勇士,再读5年是壮士,再读7年是烈士,烈士以后呢?教育部会推出圣斗士,读满2年是青铜的 5年是白银的 7年是黄金的。毕业后愿意再读上去的女孩,有机会考出雅典娜!!!   
TOP44 好的爱情是你透过一个男人看到世界,坏的爱情是你为了一个人舍弃世界  
     TOP45 今天你醒来,枕边躺着一只蚊子,旁边有一封遗嘱:我奋斗了一晚,你的脸皮厚的让我无颜活在这个世上。主啊!宽恕他吧,我是自杀的!   
     TOP46 上班无聊吗?抛硬币玩吧,正面就上网,反面就睡觉,竖起就工作,倾斜就努力工作,摔粉碎了就申请加班,如果摔出两枚,那就天天摔!   
     TOP47 同志们:别炒股,风险太大了,还是做豆腐最安全!做硬了是豆腐干,做稀了是豆腐脑,做薄了是豆腐皮,做没了是豆浆,放臭了是臭豆腐!稳赚不亏呀     

  TOP48 我终究没能飙得过那辆宝马,只能眼看着它在夕阳中绝尘而去,不是我的引擎不好,而是我的车链子掉了  
     TOP49 通知:近来秋寒已至,请同志们做好防御工作,有老公的抱老公 ,有老婆的抱老婆,暂时没有的请抱暖水瓶,实在没有暖水瓶的,请抱煤气罐(注意要点燃)。请勿乱抱鸡鸭等动物,以防禽流感。该南飞的南飞,该换毛的换毛,实在不行的就冬眠   
    TOP50 还能冲动,表示你还对生活有激情,总是冲动,表示你还不懂生活

ruby 1.9 release啦!!!

顺便贴rubyconf的视频地址,以下转载自

http://pluskid.lifegoo.com/?p=235

RubyConf 2007 video 释出!

December 26, 2007 – 8:10 pm

rubyconf-logo2

RubyConf 2007 演讲的全部视频最近由 Confreaks 公司公布(Creative Commons Attribution-ShareAlike license)出来,可以在这里在线观看或者下载 AVI 格式(H.264)的视频。

这么多牛人的怎么多精彩的演讲,真是令人激动啊!我把他们下载下来了,这样离线的时候也可以看。我还把他们传到了 88 CompLang 版的 FTP 上,校内的朋友们可以直接去那里下载。 :)

我虽然还没有来得及看所有的演讲,但是随便看了几个都是非常有趣的(当然,也是非常精彩的),我这里随便介绍一两个,相信你一定也会喜欢的!

Hurting Code for Fun and Profit

Ryan Davis 带来的精彩演讲,他的 slides 很多都是手绘的,从下图可以看到:

hurt_code

演讲的开始他先讲了一个故事,这是一个关于 Legacy Code 的故事,一个程序员到了一家公司,开始处理一堆 Legacy Code ,找出他们的依赖关系,最后是一团糟,于是程序员生气了,干掉了创造这些 Legacy Code 的人(如上图),然后自己进了监狱。这个结局不好,另一个方法是什么呢?

程序员到了一家公司,开始处理一堆 Legacy Code ,找出他们的依赖关系,最后一团糟,于是程序员生气了,但是,不是去找创造 Legacy Code 的程序员出气,而是直接“Hurt the legacy code”,给代码动手术,大整一番,最后世界美好了!从这个故事中,我们学到了:

hurt_code2

然而…… Code won’t.

然后他才开始自我介绍:My name is Ryan, and I like to hurt code…

hurt_code3

Oh yeah! 对 Code 动粗不会进监狱! :D

可惜这个演讲的视频似乎没有把整个演讲收录进来。 :(

Advanced Ruby Class Design

Jim Weirich 的演讲让我们相信:计算机语言确实会影响你的思考方式。在 Ruby 里面我们会如何思考呢?他给了三个例子:

  1. Master of Disguise: 他以 FileList 为例(来自他创造的 Rake )来讲述了这个话题。FileList 就像一个 Array ,然而它和 Array 有一些本质区别,比如,它通过一个文件通配符构造,并且只在必要的时候才会利用通配符找出匹配的文件(而不是在构造的时候)。Jim 给我们对比了通常的(比如,在 Java 中)继承的方法和更加 “Ruby” 的 Delegate 的方法。
  2. The Art of Doing Nothing: 这次的例子是 XML Builder ,这也是来自于他自己项目的代码,这里他为我们讲述了 Ruby 的 DSL 构建中一个极为重要的角色:BlankSlate 。
  3. Parsing without Parsing: 这次的例子虽然不是来自于实际的项目,但是也非常吸引人。在说明 parse 多么费力的时候,Jim 做了一个调查,问台下多少人写过 parser ,结果是很多人举手。他接着又问写 parser 是否很有趣,大家都说很有趣。他说,恩,至少写一个 parser 是非常费力的。接着想了下,再问,有多少人写过 Ruby (这种复杂度的) parser ?这下目的达到了,几乎大家都沉默,可是紧接着又大家都笑了起来,这个时候 Jim 指着坐在第一排的 Matz (Ruby 之父)说:“Man, you can raise your hand.” :)

advanced_ruby_class_design

这个被说得很不好意思的就是 Matz 吗? :p

advanced_ruby_class_design2

总之是非常有趣,绝对物有所值:你能看到 Ruby 社区里最牛的人为你讲述他们心目中 Ruby 最吸引人的地方。而且演讲都生动有趣,不会睡着(我曾经看 SICP 的教学视频睡着了 -,-bb),还能练习英语听力,并学习大师们的演讲(和做 slides 的)技巧,还等什么呢?它就在这里,让你的鼠标点击来得更猛烈些吧! :D

2007/12/24

被IE咬到

被咬到, 所以只能平安夜空着肚子晕着脑袋调bug, 更过意不去的是还有两个垫背的......

problem #1,  innerHTML property is read/write for all objects except the following, for which it is read-only: COL, COLGROUP, FRAMESET, HEAD, HTML, STYLE, TABLE, TBODY, TFOOT, THEAD, TITLE, TR. The property has no default value. 于是只好createElement, and insert into the DOM.

problem #2, setAttribute("colSpan", not "colspan", colspan not work on IE.

2007/12/18

换风格换心情

跟大王风换space theme, 期待有所改变

最近工作忙的要死掉了,身体还不时闹个小别扭

很多的事不靠谱,看到很多人觉得不靠谱,不过看到最不靠谱的人还是我自己

闷骚的羡慕着别人的每一点小幸福,努力想为什么不会发生在自己身上,完全没自信

看到某法国美女说归属感问题,想到生命不能承受之轻,浮在空中,飘啊飘,看不到着落,又飘的很辛苦,像是上面又有铺天的乌云压着,喘不过气。

2007/12/13

大规模、高流量互联网站性能调优的22条准则(zz)

转载自http://icyriver.net/?p=26, 作者应该是yahoo中国的工程师,新加的6条规则中,flush head的方法挺有趣,yahoo自己改了一个yapache, 所以这些事情也比较好做,其它几个rules我想也都是这个jj带的team经过研究辛苦总结出来的,yahoo能够open and share这么有价值的东东,真是赞,顺便赞一下他们的YUI和围绕之的开放的开发社区, 虽然我还没有看完所有的代码,但是YUI theater里面所有的东东都翻了个遍,收获真不少。

呵呵,站在巨人的肩上,事情就是不一样。在我工作的公司力推yahoo这些东西,虽然还没有全面深入大家,但是已经改进的部分确实能够看到不错的效果。

这篇文章使我想到了同在yahoo中国的jiggle jj, 那天还在smth上看到说iphone的事呢,要是看pdf的效果不错的话,我也考虑烧了,能够在各种等待的时间上看些东东,穷人也有穷人的方法管理利用时间:)

关于大规模、高流量Web2.0网站性能调优的14条准则,已近成了业界web2.0网站前端优化的准则,国内外也有很多文章书籍介绍这些准则。14条准则其实是美国雅虎Performance部门这几年的工作成果之一,他们还研究并提出了许多有效的网站性能调优技术。美国Performance团队负责将雅虎产品和应用改进得更快、更好、更有效率。

Tenni

Audience

上周美国Yahoo! Performance部门的技术经理Tenni来到中国雅虎的Office。在Yahoo!之前,Tenni曾在IBM的普适计算(Pervasive Computing)部门工作过,该部门致力于开发高性能的企业移动解决方案。

在北京温特莱中心,我负责接待了Tenni,并和她探讨了许多互联网站性能调优方面的问题,收获良多。除了这14条准则,他们最近又提出了8条新的准则。这篇blog的读者则有幸先看到这些准则。注意:转载本文时,请务必注明出处–http://icyriver.net/?p=26

(Tenni Theurer毕业于加利福尼亚大学的计算机科学专业,说点8卦的东西:她告诉我,她母亲很小就从台湾去了美国,但却是一个pure Chinese,非常爱国,每次听到别人说中国在怎么不好,就会很生气。Tenni外表看起来很Chinese,但基本上是一个ABC,中文说得很少。中午我们吃饭的时候,她指着皮蛋教会了我们,这个叫thousand-year-old eggs。)

1。Make Fewer HTTP Requests

(尽量减少http请求数量)

首先面临的一个问题是把所有的 JavaScript 与 CSS 放到一个文件中好呢,还是分割成多个文件 ?

从减少网络请求的角度上考虑, 前者更好,后者差。但是从并行的角度考虑, IE 与 Firefox 默认情况下都只能同时从一个域请求两个资源. 这会在很多情况下给用户带来不良的使用体验–必须所有的文件都下载完毕才可以看到像样的页面. Flickr 采用了折衷的办法–在保持文件数量尽可能少的情况下,把 JavaScript 与 CSS 分成多个子文件. 这在开发上带来了复杂性,但是对性能的收益是巨大的。

2。Use a Content Delivery Network

(使用CDN)

3。Add an Expires Header

(在下载的css、js、image组件里增加过期时间)

4。Gzip Components

(对下载的组件进行压缩)

毫无疑问,对站点内容进行压缩是一个比较常用的 Web 优化手段.但是并不一定都能达到理想的效果.原因在于 mod-gzip 模块不但消耗服务器端 CPU 资源,也消耗客户端 CPU 资源. 而且, mod_gzip 压缩文件后创建的临时文件是放到磁盘上的,这也会给磁盘 IO 带来严重的问题.

Flickr 采用的是 Httpd 2.x 以后支持的 mod_deflate 模块.压缩操作都在内存中进行.mod_deflate 在 Httpd 1.x 是不可用的, 不过可以通过创建 RAM 盘的方式来间接提高性能.

当然, mod_gzip 到也不是一无是处, 对于预压缩的文件, 还是有好处的. 而且, 采用压缩的时候,也要注意策略. 图片文件压缩就没什么必要了(Flickr 上图像多, 而且压缩得不到什么好处). Flickr 只对JavaScript 和 CSS 进行压缩. mod_gzip 新一点的版本能够自动通过配置 mod_gzip_update_static 选项自动处理 预压缩的文件. Cal 也指出这个特性在一些旧版本的浏览器上会出问题.

压缩的另一个主要手段是内容的压缩. 针对 JavaScript 可以进行通过减少注释、合并空格、使用紧凑的语法等小技巧(Google 的所有脚本都非常难读,而且非常紧凑,思想类似).当然,经过这样处理的 JavaScript 可能带了很多括号不容易解析,Flickr 使用了 Dojo Compressor 来构建解析树。Dojo Compressor 开销很低,而且对于最终用户是透明的. JavaScript 的处理方法介绍过,CSS 处理则相对简单.通过简单的正则表达式替换(比如把多个空格替换为一个空格符), 最高可以获得 50% 的压缩比。

5。Put CSS components at the top of the page.

(css文件尽可能放在页面的最上面)

6。Put JS components as close to the bottom of the page as possible.

(js文件尽可能放在页面的最下面)

7。Avoid CSS Expressions

(在css文件中慎用表达式)

8。Make JavaScript and CSS External

(在外部包含js和css文件)

9。Reduce DNS Lookups

(减少请求中域名的解析次数)

10。Minify JavaScript

(js代码压缩)

11。Avoid doing redirects.

(避免重定向)

12。Remove Duplicates Scripts

(避免请求重复的js文件)

13。Configure ETags

(配置好ETag)

Flickr 的开发者充分利用了 Http 1.1 规范定义的 Etag 与 Last-Modified 机制 来提高 Caching 的效率. 值得注意的是,Cal 介绍了一个在负载均衡条件下的 e-Tag 小技巧. 即可以设定 Apache 通过文件调整时间与文件大小获得 E-Tag ,而默认情况下, Apache 是通过文件节点获取 e-Tag 的。当然,这也不是很完美,因为会影响 if-modified-since 。

但是有的网站的e-Tag,如yahoo,其产生规则是基于节点的。相同的css或js脚本在不同节点服务器上的e-Tag不同,所以如果有n个服务器,那么浏览器获得304应答消息的概率是1/n。

14。Make Ajax Cacheable

(缓存Ajax请求)

以下几点是新增的准则,还没有正式公布,所以大家要注意,转载本文时,请务必注明出处—http://icyriver.net/?p=26

15。Flush the Header

(先发送Header里的信息)

We improved the page load times by flushing the apache output buffer after the document HEAD was generated.This had two benefits.

First, the HEAD contains SCRIPT and LINK tags for scripts and stylesheets. By flushing the HEAD, those tags are received and parsed by the browser sooner, and in turn the browser starts downloading those components earlier.

Second, the HEAD is flushed before actually generating the search results. This is a win for any property doing a significant backend computation or especially making one or more backend web service calls.

16。Split Static Content Across Multiple Hostnames

(把较大的静态文件分割成不同域的请求)

If you have many (10 or more) components downloaded from a single hostname, it might be better to split those across two hostnames.

17。Reduce the Size of Cookies

(不要让Cookie内容过大)

Reduce the amount of data in the cookie by storing state information on the backend, and abbreviating names and values stored in the cookie. Set expiration dates on your cookies, and make them as short as possible.

18。Host Static Content on a Different Top-Level Domain

(把静态文件放在不同的顶级域名下)

19。Minify CSS

(Css代码压缩)

20。Use GET for XHR

(有XHR时使用GET请求)

Iain Lamb did a deep study of how using POST for XMLHttpRequests is inefficient, especially in IE. His recommendation: “If the amount of data you have to send to the server is small (less than 2k), I suggest you design your webservice / client application to use GET rather than POST。

21。Avoid IFrames

(尽量避免使用IFrame)

Don’t use SRC (set it via JS instead). Each IFrame takes 20-50ms, even if it contains nothing

22。Optimize images

(优化图片)

2007/12/4

六间房(6.cn)你可以再快那么一点点

用yslow比较了一下youtube和6.cn
youtube自己域名下的css/js均gzip, 均设置了expire headers,
6.cn既没有gzip也没有expire headers

youtube大多js写在页面最上面,少数写在页面底部
6.cn均写在页面顶部

youtube大多js进行了压缩
6.cn均没有压缩js

youtube的stats
youtube

6.cn的stats
6

不知道6.cn烧什么样的带宽,改善前端性能可能比改善后端付出的代价小很多,得到的效果可能会更明显的多,有牛认识6的人帮忙转达吧,省下的钱要是再能分我点就好啦,哈哈。

2007/12/3

爱情这回事2

在周六真人cs从4战区回来下上的路上,教练给我们说了一个故事
从峡谷到4战区大家是从一个很难上的狭长的峡谷上山的,路非常难走,路很细,石头多,很陡,还有不少的地方小石子很多,上来的时候大家走的满辛苦,下山的时候更是难走。
先介绍了地形,然后教练是这样讲的,他曾见证了一个非常浪漫的故事,是他见过得最浪漫的事情,之前有个北大的学生,他们来玩的时候,硬是把他mm背着爬上了这段路,他mm100多斤吧,因为脚受伤了,钢钎还没有去,上午玩的时候还在坚持,下午上山的时候就痛的不行了,不愿扔下的男生硬生生背着上到了4战区的。教练说,一路上有同学要换着背男生都拒绝了,大冬天的天气,上来后男生汗珠一个劲的掉。

想到前面贴的水母上幸福的小夫妻马小虎和馅饼四毛的故事,想到很多,不想说话。

2007/12/2

let's get more pro every day

感谢王亮大哥借我原版《Pro Javascript Techniques》看,还有很长一段时间来,从王亮那里学习到很多,非常感谢。

ProJS 这本书是jQuery项目的开发者John Resig写的,老实说,he is the guy and the book is the stuff, 如果你不知道javascript的references机制, type机制, scope, closure, 和context机制的话, 如果你不知道javascript中的OO是怎么工作的和怎么写很OO的代码的话,很不好意思出去说你懂javascript.

这里是http://jspro.org/toc/ TOC, 从语言的介绍,到如何编写模块化,可重用优雅代码,如何做debug和testing,从Unobtrusive Javascript,介绍了DOM, Events, 和CSS一起工作,提高Form的可用性,到最后的一个实用例子,建一个image gallery, 从ajax的介绍,然后主要是通过几个广泛被使用的例子,告诉大家这些功能如何优雅的实现,自己包括blog的自动载入下一页功能,autocomplete search的功能(最近正在改善我们公司的这个代码,之前的代码存在一些问题),还有建一个ajax wiki的例子。然后对javascript的明天和web的明天展望了一下,可以看出,web还是很有前途的,哈哈。

最后不得不说的是,我通常看书喜欢从背后先看起(有时看人也这样),这本书的appendix挺不错,详细的DOM和Events的reference, 然后是对几大浏览器的介绍。

书中有少数几个笔误,但是比一般书少很多,尤其是代码的错误。

我看到过不少的javascript的书,要么是太老,要么是太专注语言细节,而这本书和YUI theater中的东东是我最喜欢的,推荐大家看看。