和往年一样,RubyConfChina今年也顺利举办,前三届里某只去过2010那届,这次已经是第4届了;还清晰地记得2010年那届过去完全是因为在家里附近,所以去打了一个酱油,最大的收获不是ruby,也不是web开发或者其他技术方面的收获,反倒是发现自己的英语、日语听力还行,包括老外的现场presetation基本都能无障碍地听懂。

今年RubyConfChina则更有一些目的性——参加一年一度中国最大的Ruby社区的活动,时隔两年,自己多多少少有一些成长,所以这次去就不是像上次那样酱油味十足了;总体来说,某给本届RubyConfChina的评价还是非常高的——比某些扯淡的所谓大会要好的多,哦不,拿这两者比较反而对RubyConf是失礼吧——按照一句进来流行的话说,都是干货,其中部分看标题似乎没有多少兴趣,但因为会场安排的原因错听了几场感觉还是有所收获的。

当然因为赞助商的加入,广告和宣传是少不了了,进场前每个人在ThoughWorks那里可以换取一些赠品(以及宣传资料),另外还有其他一些赞助商的广告XDD CloudFoundry的活动,上传应用就可以换取卫衣的活动由于当天晚上折腾了一会儿没成功所以只能放弃orz

某听的主要是以下几场

第一天

  • Matz的ruby2.0和mruby的介绍
  • JesseZhang的How CloudFoundry Dit it (这个讲了不少架构实现和思想上的分享)
  • 黄志敏的JRuby@OpenFeint (这篇对JRuby的介绍使用使得某一定程度上对Java有些好感了)
  • FredWu的如何通过一些小聪明成为一个更优秀的Ruby程序员 (英语讲的稍快了一点,不过一些点子是值得学习和借鉴的)
  • 陈金洲的Ruby On Rails创业小团队全技术桟指南 (这篇讲的很风趣,尤其是域名和备案那里XDD)
  • 王益善的Ruby Arduino Hacking (硬件的折腾总是很有趣的XD)
  • 马海波的互联网创业,没有设计师,如何设计 (非常受用的技巧和经验,本来以为平淡无奇的标题党的感觉)
  • 王松林(来自富士电机)的轻量ruby的导入与评价 (浓浓的日系会社开发风格的slideXDD 也窥探了mruby的前景)

第二天

  • 蔡望勤的用Rails/Sinatra实现企业智能能源云服务 (其实更多的是创业团队的技术和服务选型上的经验分享)
  • David Tian的Ruby On Rails在VMWare Mozy云备份服务中的应用 (学到更多的是保守策略以及持续升级更新的重要性)
  • 张禾的Ruby元编程 (某一直以为只有像Rails里的AR是比较明显的metaprogramming的例子,这里介绍了很多mp的原理,用法,原则以及best paractise,由于内容较多所以基本都是一笔带过,很开眼界)
  • TerryTai的How we test our projects (这个算个人觉得最有趣的一篇了,当问到全场”有多少人是给自己项目写测试的时候”,某都不好意思不举手了…这么多人都有测试是意想不到的,看来ruby社区还真是习惯好啊XD)
  • 张金柱的DSL for DSL (本来以为是标题党,听完后异常兴奋,完全切实可行,并且大大节省时间)
  • SaitoWu的How Gitlab works (听完前一个就打算离场的,不过主要是看到saito真身所以就留下来一听究竟,Gitlab也是一个提供Git Private Repo服务的产品,不过区别是面向企业内部自己搭建,因为之前一直有看github以及鄙厂内部也做了一个类似的东西,所以停下来基本没门槛,也了解了一下这种需求,很靠谱的产品)

开场matz的演讲虽然不算很精彩,但对某来说还是很受用的,作为ruby之父,之前他有提到自己怎么会想到要写ruby,而如今ruby2.0以及未来ruby的前景,也抛出了一些信息;比较有趣的就是嵌入式mruby了,footprint很小,有400K,但还没有达到一些嵌入式设备的要求,例如富士电机提到的自动售货机希望能达到100K,相对于直接写C的代码来说,如果有mruby能让开发速度以及bug数量明显减少,对于目前一个产品开发希望提高受益以及降低成本来说是非常值得一试的。

而matz在介绍ruby2.0前,给大家也提出了一个观点,如何做一个语言的设计者——不要理解错了,这里的语言并不仅仅指编程语言——开发一个开源软件、组件、甚至API都可以算作是语言的设计者,他举了一个例子让某会心一笑——”之前在米国的RubyConf上一个开发者和演讲者在语言沟通上因为说的语言不同无法沟通,到提问的时候提问者写了一段ruby代码,演讲者就明白什么意思并用代码回答了他”,非常有趣的一个例子,我们需要开阔思路,切勿局限在编程语言的思路上,而是聚焦在解决问题和美感的多个层面上看待这个事情本身。

今年参加过的一些技术活动里,RubyConfChina算是收获最大的,给自己也定了一些实践与学习目标,如果都能执行并吸收成为自己的知识,应该会感觉更棒吧XDD

以下一些技术点或者信息是某本次大会上觉得值得自己去一试的(目前还没开始)

  • event driven AIO (来自CloudFoundry的实现里提到的一点)
  • HSL来表达一种颜色,显然比RGB对于人来说更加直观和科学 (sass/scss是支持的XD)
  • 在敏捷开发等一些思维、方法上的一些收获
    • 每日晨会很重要—— daily morning standup makes members think the project’s status, target, problem and solution.
    • 自动化测试、部署真的很重要
    • 可以借用一些工具来做UX的设计,例如axure和sketch
    • 开发环境、测试环境和生产环境的隔离,某是知道也在做,但是UAT这个词还真是第一次听
    • code review中可以看一下gerrit
    • 自动化build等任务,可以交由hudson和jenkins-ci等
    • ruby的metaprogramming里,每个class有个单一的class叫做eigenclass,继承关系从这个点出发理解,能比较好的理解mp
    • 单元测试和集成测试的一些策略,主要在Terry的那篇演讲里
    • 重构rails代码的时候可以用rails-best-practise这个gem尝试看看
    • 持续升级、持续部署、持续交付的重要性,如果长时间不做,到时候会需要偿还技术债务(tech debate)
    • DSL for DSL里可以用QOR-DSL
    • pull-request的做法其实就和linux kernel开发里提交patch的做法一致—— format patch/apply --check/am

后续更多slide和大会的视频可以关注ruby-china.org

__END__