• @zw963 考去吧,不难的,稍微过一遍喜鹊书和 API。注意考试是 1.8.7 版本的。

  • #56 楼 @kewin 更新啥意思。Rails 3.2 的?部署跟这个差不多的。

  • #15 楼 @Macrow 嘿嘿,那里是最差的,很多反面的例子。AntiPattern

  • #23 楼 @zw963 考完就有结果的,通过了阿,那个图片上不写的 90。

  • 所有的语言都要尽量避免在循环内部修大幅改循环继续或停止的算法和条件。 C/Java 的循环基本上就是 ++ 或者 --

    如果一个 loop 写成这样,就很难搞

    for(int i = 0; i < 100;i++){
      int x,y,z
      if( ... ){
        ....
        i+= 2x-y+z^
      }else{
       .....
       i-= x+3y
      }
     i-=2
    } 
    

    你的例子中,a 内部的元素就是循环继续或停止的条件。

    不然很头疼的,比如跟你的例子相似,改一个地方就麻烦了:

    a=[1,2,3,4,5,6,7,8,9]
    a.each do |i|
      a << i
    end
    
  • #15 楼 @ery 支持 sublime text 2,我个人觉得比 textmate 好,可惜插件是 python 写不是 ruby.

    同样也支持 vim,vim 的感觉就像在做文本手术,很多东西不如 sublime 方便,比如项目内查找需要用 ack 或者 grep 插件,sublime 可以直接 Command + Shift + F,但是这两个东西还是值得投资学习的,因为命令行也能用。

  • #8 楼 @heliang7 我弄了个 rails 开发的 vim 的配置https://github.com/hisea/dotvim

  • 如何使用 pry debug unit test at 2012年06月09日

    #2 楼 @heliang7 用法都一样,不只是 test, server 也可以这样来 debug.

  • 工作换得比我还勤

  • #54 楼 @hlcfan 嘿嘿,是的,这个帖子就是很久以前的

  • visudo

    然后加一行

    railsu ALL=(ALL) ALL

  • #2 楼 @poshboytl puma 不错,但还得期待 1.9 版本的 Rubinius 2.0

  • #52 楼 @gaicitadie 我知道 python 3 是想推动语言发展啊,可是社区不跟进,导致 python3 现在出来 3,4 年了吧,还没普及。django 还是再用 2.6 或者 2.7. 如今 Python 3 不仅没有甩掉历史的包袱,自己的定位也很尴尬。

    我用过一点 Python, 个人还是很喜欢 python 3 的改变的。

  • #50 楼 @zw963

    我本来不想回复这个问题的,每个语言都有语法糖,不能横向比较,比如让 Python 搞个 attr_reader 方法,估计一两页都写不完。可以看这里http://c2.com/cgi/wiki?PythonRubyAttrComparison

    不过既然你问了,我也来个邪恶的吧: Hash[*(s.length.odd? ? s.concat(' '): s).each_char].keys.join,如果 Hash[] 能自动处理单数的参数,这个就会短很多了

    Hash[*s.each_char].keys.join

  • #48 楼 @hooopo 是其实 Rails 也不是那么爱掐架,Yahuda 我觉得也很 Nice. DHH 也没怎样,就是有点蔫儿坏,聪明人再蔫儿坏,就麻烦了。。

  • #16 楼 @hooopo 可能我这个也算 debug,不过 Ruby 里面,我不怎么设置断点罢了,不过无论怎么使用,Pry 真的是个好东西。

  • #45 楼 @dotnil #43 楼 @zw963

    其实 DHH 这个人我觉得很有意思,他就喜欢揶揄别人,可能很多人看他有些攻击性 (如果你 follow 他的 twitter 就知道了),可能导致人认为 Ruby 喜欢掐架。

    我觉得最经典的是这个:https://www.djangoproject.com/snakesandrubies/

    2005 年,他跟 Adrian Holovaty,Django 的创始人之一接受采访的视频。 我当时看感觉 Adrian 很谦逊,印象最深就是有一段。

    Adrian 在介绍 Python 只有且最好只有一个解决方案的哲学的时候,就被 DHH 揶揄,说有且最好只有一个的话,为什么 Python 有那么多 Web Framework.

    当时我觉得 DHH 太坏了。哈哈

    不过后来我也经常揶揄身边用 Python 的朋友,有且最好只有一个最佳方案,那怎么 Python 有那么多版本啊。。。还互相不兼容。。。

  • #45 楼 @dotnil 我个人觉得掐架才好,最早的时候左派右派的来历就是在法国,他们议政就是一伙在左边,一伙在右边,然后掐架。

    现在左派右派反而成了贬义词了,好像中派才好,没了掐架,成了一言堂。

    好像扯远了,不说政治。很多时候掐架讨论的,尤其是多种孰优孰劣的讨论,对于很多人尤其是新手来说,其实是个开阔思路的过程,每种方法的优劣都有正反两方说了,剩下的就是你自己理解加选择了。

    反过来,去年我去 QCon,听了三个公司构架部署的演讲,Facebook, Netflix, 还有另外一个稍小点的公司,忘记叫什么了,大家说的都一样,都是类似的架构差不多的的部署方案,当然没什么不好,可能也说明这是目前最好的方案,但是对于抱着学习态度的我来说,稍微有些失望。。

  • #14 楼 @ery

    我经常用,可以用来探索数据库里 model 之间的关系。可以用来测试 model 的方法,等等吧。

  • #26 楼 @ery 男孩,呵呵

  • #21 楼 @chinacheng 恩,一岁多一点了

  • 求助 关于 pry 的使用 at 2012年05月31日

    #2 楼 @heliang7

    哈哈,说错了,是到我们 rails 项目里。

  • 求助 关于 pry 的使用 at 2012年05月31日

    @heliang7

    到你 Rails 项目里面的 Gemfile 添加这个

    gem 'pry-rails'

    然后试试 rails c

  • #31 楼 @bony

    是的,而且 Ruby 有很多名字不同做到的事情完全一样的方法,比如 map 跟 collect

    ary.map {|x| x*x } 是类似于函数式语言,把一个 lambda map 到里面去。

    ary.collect(&:name) 或者 ary.collect {|x| x.name} 是把元素的 name 属性 collect 出来。

    Ruby 跟 Python 语言的哲学就不一样。

    Python: There should be one-- and preferably only one --obvious way to do it. Python 讲究只有且最好只有一种而且最明显的解决方式

    而 Ruby

    Ruby inherited the Perl philosophy of having more than one way to do the same thing.

    —Yukihiro Matsumoto (Matz) , The Philosophy of Ruby

    所以 @gaicitadie 在讨论 Python 跟 Ruby 谁好谁坏之前,我们得先讨论哲学。

    在我看来,一个人的哲学观点就来自于这个人的人生观,世界观,价值观。

    如果你喜欢 一个问题 只有且最好只有一种 解决方法,那么 Python 当然会适合你的思维。

    而我,一直都觉得 事固有违经而合道,反道而适权者 这话很有道理。同一个问题或者物体都有多面性,不同的情况可以用不同的方法来实现同样的事情,所以 Ruby 适合我的思维。

    如果抛开语言设计的这些哲学思维来对比两个语言,就好像你喜欢宝马,在嘲笑路虎的底盘太高,喜欢 曼联 揶揄 湖人 队员太少一样。

  • 你是 vim 党还是 emacs 党? at 2012年05月31日

    #61 楼 @zw963 恩,很多时候还花钱折腾,选择编辑器这个上面,为了尝试 Rails 开发,还花钱买了 RubyMine。虽然最后觉得太厚重没有用,但是现在还是有 RubyMine4 的 License.

  • #10 楼 @ery 对了,忘记说了,虽然我不用 pry 做为 debugger, 我把 pry 弄成 console.

    到你 Rails 项目里面的 Gemfile 添加这个

    gem 'pry-rails'

    然后试试 rails c

  • 自己当爸爸了才知道,儿子成长的路上总有纠结彷徨郁闷困惑的时候。 当爸爸的从来不会怪他。调皮捣蛋之后儿子还是儿子。

  • 你是 vim 党还是 emacs 党? at 2012年05月31日

    #58 楼 @zw963 我换编辑器不算快了,不如暗黑 3 上角色换得快,第一天就完了 3 个人物,现在我有四个人物不同职业,最高 42,最低 19,来找最顺手的。

    哈哈,

    还有上班,最近设计一个 api 服务器,尝试了很多 framework 跟 gem 的组合了,sinatra 单独,sinatra + rable/grape. Rack, Rack + Rabl/Grape.

  • 你是 vim 党还是 emacs 党? at 2012年05月31日

    #58 楼 @zw963 呵呵,你误解我了。

    我用 rails 以来一直在用 textmate/sublime, 以前用 emacs 主要是开发 Haskell 跟 pvs,

    自从两三个月之前我决定尝试别的工具开始,我就打算停止 sublime 的使用,Emacs 跟 Vim 强制使用两个星期来写 Ruby/Rails 的应用。

    rails 有 rails 的 workflow, 跟我之前写 haskell 跟 pvs 是不一样的。 就像现在如果要开发 J2EE,我可能还是会用 Eclipse, 开发 iOS 我会用 XCode. Emacs 当然也可以开发 J2EE 跟 iOS,但不一定时最佳选择。

    所以说,我强制自己尝试不同的东西一段时间。一是学习,二是找到适合自己而且适合手头工作的工具,我觉得程序员就像木工,木工的工具盒里永远不可能只有一个工具,能在对的时间用好对的工具才好。

    可能我不了解 emacs 的精髓,也可能不了解 vim 的精髓,甚至不了解 textmate/sublime 的精髓,其实了不了解对我意义也不大,对我来说编辑器就是编辑器,了解用编辑器写的代码的精髓更重要。编辑器我只看顺不顺手,效率高不高。深入进去也是多方面的,很多 Vim 或者 Emacs 的新手可能装很多 plugin,用久了反而越用越简单,插件越来越少,我想这就是由简入深易,由深入简难吧。

    尽管这样我还是都用过,而且我学新工具的时候再不适应也要坚持一两个星期,来体会。我觉得只是了解不够,了解了精髓也不够,需要一段时间的时间来实战。比如你说你了解 Vim,可是不会用,哪你怎么这么确定 Vim 不如 Emacs 适合自己呢。更怎么知道哪个适合我呢。我喜欢 Emacs 的 kill ring, 喜欢多线程,喜欢 vim 的那种文本手术的感觉,这都是我自己自身使用的体会。

    毛主席说过,要知道梨子的滋味需要自己尝一尝。