rubyconfchina

第一次参加这类活动,ruby之父matz先生的出席,受到了所有关心ruby和rails的开发程序员的追捧。

由于matz的翻译晚到了,所以把我的演讲提前到了第一个。第一次面对300+人演讲,好紧张。上一次演讲还是一年前的论文答辩。之前准备的比较充分,所以总体感觉还行。daniel后来和我说,演讲的ppt还是不要放太多的代码,吸取经验。

之后matz的演讲是通过翻译来表达的,还不错,讲了很多关于ruby语言创始的事情,经济危机使得工作无所事事,于是诞生了ruby,呵呵,不知道今年的经济危机是不是又会给我们带来一种新的语言呢?

robbin演讲介绍了javaeye架构,包括web server, cache memory, db server等等。网站是如何从简单的部署环境,遇到性能瓶颈之后是如何一点点解决的。

陆亦斌介绍了不少rails开发中的陷阱,主要是由于并发带来的问题,这些倒是之前很少会考虑的问题。

郑晔带来了thoughtwork中使用ruby的经验,从DSL到JRuby。

TonyI则介绍了如何使用ruby on rails开发企业/政府项目,强调的是文档。

之后maxime带来了10来分钟的关于scrum的介绍,用的可是中文演讲哦,great!

Koz介绍了日本地方政府对ruby的支持,不过中文实在不敢恭维。

最后王浩飞介绍了SAP公司内部的BlueRuby项目,一个为ABAP web应用开发ruby虚拟机。

今天还是收获不少的,看到这么多充满的ruby爱好者,还看到了杭州的老同事。希望以后有更多的机会参加这类会议!

Posted in  presentation


导入联系人列表的类库

上个月在google code上发布了一个导入联系人列表的类库,http://code.google.com/p/contact-list,获取用户的msn和邮箱联系人列表,支持的邮箱包括hotmail, gmail, yahoo, sohu, sina, 163, 126, tom和yeah。算是之前一段时间的小成果吧。

不过由于这个类库的原理是使用抓取网页来分析联系人列表的,所以会因为邮箱网页的改版而无法正确获取联系人列表。 在写代码的时候就碰到过Hotmail改版的情况,所以这个类库是需要不断改版的。还好在发布之前特意写好了测试脚本,很容易找到哪个邮箱出问题了。

今天收到一个用户的email,说他的新浪和搜狐好像无法导入,我回来test了一下,发现新浪和搜狐没问题,倒是yahoo出问题了。于是给他回信,让他把log4j的level设置成debug,然后把调试信息发给我。现在有了用户的反馈,有点小压力,要好好维护好这个类库。

Posted in  contact-list


郁闷的一天

昨天开始转到一个新的项目,搭建环境遇到了问题,job_server总是起不来,看上去像是链接不到数据库的问题。Aaron帮忙看了也没什么结果,postgres之前是compile出来的的,改成port装和dmg装都没用。

早上把ruby的版本从1.8.6改成1.8.7,居然成功了,不过好像不是很稳定。于是索性决定重装系统,因为这台电脑几易其手,从maxime,到scott,再到nini,最后留给了我,正好早上maggie买了两根2G的内存给我,全部重新开始。话说Mac的内存真是小,两根拼起来才是普通内存的大小。当然过程可想而知,装系统,配开发环境,一天就这样折腾掉了,还好Mac的port很好用,和Ubuntu的apt-get一样,就是速度慢得忍受不了。还好结果很满意,job_server一下子就起来了,其它程序也都没问题,跑起来很顺利。

不过还是很郁闷,一天没做什么事呢

Posted in  life


用SSH做sock5代理

在伟大的GFW之下,我的itunes再也无法订阅feedburner上的podcasts了,真的很无奈。

还好前不久在hostmonster上开通了SSH账号,于是开始翻墙

ssh -D8938 username@domain.com

于是,只要设置本地的Socks5代理为127.0.0.1:8938即可

再次下载到feedburner上的podcasts,太好了!

Posted in  linux


css sprite

前文提到通过压缩合并js和css来减少HTTP请求,同样的,也可以通过合并image来减少HTTP请求。

方法很简单,就是通过css的background来设置标签的背景,包括背景图片的文件名,是否平铺,从图片的哪个位置开始显示,图片显示的宽度和高度。我们可以把所有的图片都合并在一个图片里,然后用background来截取显示。

这样,只需要进行一次HTTP请求就能拿到网站很多的图片了,而且合并之后图片的大小也比原来图片大小的总和要小得多,减小了网络开销。

当然这样做也是有代价的,主要是网站的可维护性下降了,要修改图片会变得比较麻烦。其次,不能直接使用image标签,需要使用div+css来显示。所以你需要在网站的性能和可维护性之间做出权衡。

另外,像背景平铺这样的工作,通过css sprite是做不到的,必须使用单独的image

Posted in  css


Fork me on GitHub