Looking forward to change

Archive for April, 2009

买正品鞋就去番茄树

by Daniel Lv on Apr.30, 2009, under Life

phpqEKSJj

番茄树是一个专门卖运动鞋的网站,无意中通过朋友得知这里,于是开始了一段非常有趣的经历。

phpxdPJrF

消费需要拉动,更需要冲动,尤其是买鞋的人看到番茄树这样简洁,并且前端体验极佳好的网站后…而我从来没有在线购买过运动鞋的经验,因为担心买到假货。抱着试试看的心里我在番茄树下了订单,结果遇到了可爱的500错误,无法完成付款。通过邮件,我结识到了番茄树的站长蚂蚁同学。并互相交换了Blog链接^_^

蚂蚁同学非常投缘,当天晚上我们直聊天到深夜,期间蚂蚁很快的修复了系统错误,指导我作一次小白,测试一下他的整个付款系统,哈哈,乐意之极。原来蚂蚁同学是原豆瓣的前端工程师,现在自己作startup创业,蚂蚁是个及其靠谱的人,作的东西也很靠谱。我们都是作web开发,话题特别多…我很喜欢类似这样的网站,作自己喜欢的东西,比如你喜欢鞋,去做个番茄树,你喜欢相机,去做个锐意…而不是大而全没有什么特色,比如淘宝。人一生工作时间全部大概只有30多年,我不要浪费时间作自己不喜欢的事情,如果我喜欢一样东西,那么我就要去作跟他有关的事情,过程一定是快乐的。反过来,如果我要买一样东西,我更愿意去那些有同样爱好的人聚集的地方挑选,听听那些小专家的意见,交流一下大家对彼此都喜欢的事物的看法。蚂蚁同学是前者,而我则作了后者。希望在不久的将来,我也去充当前者,做一个自己喜欢的东西,并分享快乐给大家。

最后Show一下我的新战靴,哈哈:

新战靴

1 Comment :, more...

25日,杭州,Rails聚会后记

by Daniel Lv on Apr.28, 2009, under Life

真应了那句老话,上有天堂,下有苏杭。杭州有风景,有小吃,还有美女。。。

缘起:三月份shanghaionrails聚会时,杭州的Devon就问过我我,什么时候也到杭州搞一次聚会阿?答复四月份一定到杭州拜访,当Devon在GTalk问及具体啥时候来时,就开始了这次在group上发起活动以及最终成行。

Group上的讨论非常踊跃,大家献计献策,并订下了最终活动的宗旨: 游山玩水,吃喝玩乐。

25日早上8点半,在上海火车南站和来自Honeywell的Linus碰头(Linus不光大名如雷贯耳,而且是测试领域的专家哦,在rails之外,大量使用ruby进行集成测试以及UI前端测试,以后有前端测试方面的问题,可以向Linus请教了:-)),乘坐9点半的D5657次列车前往杭州,期间接到来自南京的Jason的电话,告知要从南京方向赶赴杭州,会路经上海,着实佩服Jason对本次活动的热情。一路跟Linus相谈甚欢,11点抵达杭州。

杭州火车站地下广场的出租车不好叫,我们乘坐大巴到武林广场,一路游荡到西湖边,先热热身,12点抵达柳浪闻莺对面的淘咖啡。来自酷学软件的Devon早已在那里等候多时,来自无锡天狗软件的Koz和Sophia同时抵达,于是在陶咖啡的一个包厢中,我们边品着咖啡(啤酒)边开始了本次活动的自由讨论环节,期间陆续到来的有酷学的研发团队成员小星,柱子,还有杭州的Ash(陈建明),来自theplant的孙凤君,孙凤民。大家聊天的话题从Rails技术开始,到3G领域的机遇,在到上海与杭州的Rails社区八卦,跑题到大家的共同爱好如美剧,以及个人的光辉经历等等,程序员生活等等话题,期间气氛热闹异常。直到下午三点,来自南京的Jason抵达,我们离开淘咖啡,开始了绕西湖骑行的活动。

现在正是玩杭州西湖的日子,天气非常好,一点也不热,西湖边上出租自行车价格便宜量又足,于是大部队人手一车开始shanghaionrailsonhangzhou的游行活动,啥也不说了,上图:

hangzhouonrails_01

左边的帅哥是来自Honeywell的linus,前面介绍过。右边的壮汉是酷学的柱子,今年刚刚毕业,不过已经玩Rails两年多了(玩Rails的经验比我长),linux的资深用户。(补:柱子是我的老乡,也是青岛人:-))

hangzhouonrails_02

来自杭州萧山的Ash,带头大哥级别,资深程序员(高手中的高手,大拿中的大拿),现在是一个Freelance的软件咨询师,是做到真正财务自由,有房有车有老婆孩子,开心编程快乐生活的程序员典范,值得每一个人向他学习,从始至终,都能从Ash脸上看到一种成熟,成功的表情,向Ash致敬。

hangzhouonrails_03

来自酷学软件的小星,热情,活泼,人见人爱的帅哥,美女们小心处之。。。

hangzhouonrails_04

左边就是酷学的Devon,此次杭州活动的杭州地区负责人。右边是来自日本的Koz,现在在无锡成立了一家“天狗软件”公司,是shanghaionrails的老朋友了,希望他的公司在中国取得成功!

hangzhouonrails_05

左边是来自无锡天狗的Sophia小姐,右边是来自南京的Jason。有人说Sophia小姐像天使,我同意,但是他们在讨论什么,我们不得而知。。。

hangzhouonrails_06

这是我们自行车的阵势,很强大!

hangzhouonrails_07

theplant的孙凤民,此君精通技术和日语,是作Merb的哦。他的公司也正在高速发展,求贤若渴哦。

hangzhouonrails_08

此人是我,我十分怀疑我不太上相,囧….

hangzhouonrails_11

全家福1,人物从左至右依次是:Jason,孙凤民,我,Linus,Sophia,Koz,柱子,小星,Devon,Ash。由孙凤君拍摄。背景是西湖旁边的太子湾,非常的漂亮,很多人在那里拍摄婚纱照哦。

hangzhouonrails_10

全家福2,孙风君站在我的左边,感谢孙凤君全程拍照,期间向他请教了不少关于数码单反相机的问题:-)

hangzhouonrails_12

杭州小吃,要数知味观,座落在西湖边,去得时候可谓人山人海,生意真好。我们在二楼露天阳台找到一个角落,三张桌子拼起来,开始大快朵颐各种杭州小吃,喝啤酒,海阔天空。只留下杯盘狼藉,哈哈。

晚餐后,大家仍然回到西湖,在夜幕中漫步在西湖畔,观音乐喷泉,赏西湖夜景,并逐一送别各位朋友,当天聚会在这里告以段落。

-EOF-

后记,晚上跟Linus,Jason同宿,第二天玩兴不减,继续租车骑行玩了杨公堤,爬了雷锋塔。中午重游旧地去了4年前在杭州工作时,印象深刻的一家特色饭馆,在宝諔路体育馆路路口西北角的一家“卜家野鱼馆”,小店仍然建在,生意貌似更加兴隆了,菜色美味价格实惠,点了最爱的“妈妈红烧肉”,推荐给朋友们并得到了一致的赞许,照例要问服务员这道菜是怎么作的阿?照例仍然问不出答案,下午打到回上海,一次完美的杭州之行结束。

此文同时发布在shanghaionrails官方网站上。

4 Comments :, , , more...

今天是我的大日子(3)

by Daniel Lv on Apr.21, 2009, under Life

每年的4月20日都是我的大日子,今天是我从事软件开发两周年兼用ROR开发两周年纪念日。
有日志为证:今天是我的大日子(1)今天是我的大日子(2).

毕业5年,从事近三年的硬件设备工程师工作,由于热爱计算机,毅然转行投身软件行业又是两年,回头看,甚至感觉有点不可思议。如果现在一个人问我,你作软件开发几年了,我可以毫不羞涩的拍胸脯说,我有两年以上的软件开发经验啦!哈哈,历数一下这几年的工作生活变迁吧:

  • 2004年7月1日,加入syntax公司,成为一名数码印刷机设备工程师
  • 2005年1月10日,到杭州开始为期11个月的外驻现场服务
  • 2005年11月22日,到南京开始为期半年的外驻现场服务
  • 2006年5月14日,到西安开始为期5个月的外驻现场服务
  • 2006年10月10日,到苏州开始为期3个月的外驻现场服务
  • 2007年3月8日,回到上海
  • 2007年4月20日,加入red.com中国公司,专职ROR开发
  • 2007年x月x日,参加shanghaionrails组织,成为活跃会员
  • 2008年4月7日,加入ELC Technology公司,专职ROR开发
  • 2008年5月,参加了张江双语演讲俱乐部
  • 2008年6月,拥有第一台MacBook,从此成为Mac fans ^_^
  • 2008年8月,送表弟出国念书,并亲临现场观看奥运足球比赛
  • 2008年8月28日,入手一辆捷安特ATX 750,成为自行车爱好者
  • 2008年10月8日,在shanghaionrails第五次会议上第一次作主持人
  • 2009年3月8日,搬家,研究如何装修毛胚房 ^_^
  • 2009年3月14日,在shanghaionrails第六次会议上第二次作主持人

通过shanghaionrails,通过张江双语演讲俱乐部,通过入职的每一家公司,我都结识了到了很多朋友,你们是生活快乐的源泉。

从硬件工程师转行成为程序员,是源于自己对计算机的那种狂热和迫切的求知欲,随着从业时间的增长,我得到了另外一种副产品,就是两年的软件编程以及从业经验,在纪念日来临之际,我思考并总结,关于如何利用自己的经验?如何成为高手?

软件开发中积累到的经验不像在其他领域,我离开数码印刷领域已经两年多了,至今跟原公司的同事聊起来,发现原来学会的那些知识仍然是老样子,一点变化都没有。而身处软件行业,也许过个三五年,整个知识体系就可能被彻底更新。至少,传统行业中积累经验的一些思路在软件行业中并不适用,比如说我是ruby程序员,我的ruby语言经验在C语言中就不一定适用。强调自己有多少年软件编程经验是很荒唐的,如果一个人前5年学不好,后5年就能学好?他的10年经验就有价值?因为信息更新速度快,导致“经验”也更新快。其他行业的人也许周末出去逛逛,旅游,度假,平时下班回家看看电视,尽情享受生活。而身在软件领域的人,也许放松下来就有可能跟不上形式,为了保持自己的价值,就必须在工作之余花费大量时间学习新知识,以应付将来的挑战。打个不确切的比方,工作5年,前四年的经验跟一个刚刚入职一年,拥有最新最近一年经验的人相比,谁的经验更有价值?我在怀疑。

其实这个是一个伪命题,看过李笑来老师的文章后,一切释然。要正视经验这个东西,要理解何为经验,要明白如何正确的利用经验,的确随着从业时间增长,你无法拒绝不可避免的就一定会得到它,深刻认识“经验是有局限的”,时刻保持“警惕”,再此基础上积累,获取更多的经验对事业是有巨大帮助的,学习时刻检讨自己的行为,努力去获取“正真的经验”,坚持不懈,我相信我仍然能走的更高更远。

3 Comments : more...

has_many :through, Yes. belongs_to :through, No.

by Daniel Lv on Apr.15, 2009, under Geek

自从Rails出世以来,就提供了has_one,has_many,has_and_belongs_to_many,以及belongs_to这几种典型的模型关联关系。先说has_and_belongs_to_many:

has_and_belongs_to_many是一个好东西,仅用一张中间链表就模拟出了拟双向多对多的关系。而rails并没有就此止步,从rails1.1开始,添加了一个新的关联关系,即has_many :through。他仍然是habtm关系,但是更加优雅,让在后台默默无闻的中间链表从此有了自己的模型,主键,并可以扩充模型方法,用来实现更加优雅的的查询等…我自己一直把他认为是一种高级的habtm,并且尽量使用这种高级habtm,以保持灵活性,方便将来的扩充。

有下面一种场景:

class Shop < ActiveRecord
  belongs_to :city
  belongs_to :country, :through => :city
end

可以实现Shop#country么?答案是不可以。has_many和has_one都有:through了,belongs_to偏偏就没有,为了实现同等效果,我通常写这样的方法:

def country
  city.country
end

有点丑,不是么?这里解释了为什么RailsCore团队迟迟没有添加对belongs_to :through的支持,Rick Olson(来自RailsCore团队)这么说:

 
Because belongs_to is for a foreign key thats in the current table.
If you’re going :through a model, it’s not the same and has_one should
be used.
 

这已经是大概两年半以前的事情了,其实要优雅的处理这种情况很容易,使用ActiveSupport提供的delegate。但是在Rails2.3.2之前。我并不敢大胆这么用,因为如果你的delegate的目标对象不存在的话,调用delegate方法会出”NoMethodError”异常。所以,我被迫这样写:

def country
  city ? city.country : nil
end

好消息是从Rails2.3.2开始为delegate添加了一个新的参数:allow_nil,使得当委托对象不存在时直接返回nil,以后就可以大胆的用了:

delegate :country, :to => :city, :allow_nil => true
1 Comment :, , more...

缅怀我的iTouch

by Daniel Lv on Apr.13, 2009, under Life

很久没有更新Blog了.

我心爱的iTouch昨天离我而去了,基本故事就是去超市购物,回来的路上发现口袋空空,我的小iTouch就这样连招呼都不打就不辞而别了…

我想,我的iTouch一定是在暗示我一点什么 — 小道消息说,新版的iPhone将于6月份发布…

更新了wordpress的模版,不再使用华丽的Librio,而是替换成一个最接近默认模板的K2,关心blog的内容大于视觉效果了 ^_^

2 Comments :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!