• 这里到底要不要加 self? at 2012年04月17日

    #9 楼 @jiffies 嗯,我说的不准确,不过你还是先看书吧,上面说的很详细

  • 这里到底要不要加 self? at 2012年04月17日

    #7 楼 @jiffies 和 setter 关系不大,关键是 ruby 支持没有括号的方法调用,看“双飞燕”书里第 4.5.1 这部分的内容

  • #16 楼 @zw963 深有同感,见过很多这样的例子了,不过还是借用《三体》上的话鼓励一下楼主——“在这个宇宙里,再慢也有比你慢的,再快也有比你快的"

  • #4 楼 @yedingding 你这算自报名么?我去不了,可有链接供参考吗?

  • 使用 Rails 的阶段性总结. at 2012年04月17日

    DHH 以前好像说过,rails is not for beginner,台湾的那个兄弟(就是几年前总结 best practise 的那个,名字一时想不起来)也说过,如果你的思路和 DHH 一致,那么 rails 很爽,否则很困难。 至于 ruby,我一直觉得它最大的价值就是发明 DSL,几十年前的老程序员通过发明一种语言解决某个领域的一片问题,现在我们可以用 ruby 发明自己的 DSL,性质一样,只是更简单,而 rails 是其中名气最大的 DSL 集合。

  • #15 楼 @zw963 用 pry 的的 show-method 就行了,c 源码也能看一些

    $ pry -r ./config/environment
    [1] pry(main)> show-method Array#each
    
    From: array.c in Ruby Core (C Method):
    Number of lines: 11
    Owner: Array
    Visibility: public
    
    VALUE
    rb_ary_each(VALUE ary)
    {
        long i;
    
        RETURN_ENUMERATOR(ary, 0, 0);
        for (i=0; i<RARRAY_LEN(ary); i++) {
        rb_yield(RARRAY_PTR(ary)[i]);
        }
        return ary;
    }
    
    
    
  • web 最后会是怎么个死法? at 2012年03月18日

    另外楼主把 html/css/js 当成是 Web 开发的汇编语言比较偏颇,汇编语言其实可以看作是对硬件系统建立的一个软件层接口,这里面重要的是映射机器指令,对问题域的抽象很少,而 web 的各个标准则不同,它们反映的是对问题域的抽象。如果非要作类比,我觉得倒是可以和 lisp 这种语言作对比,因为后者反映的也是图灵机这种抽象

  • web 最后会是怎么个死法? at 2012年03月18日

    说 web 死了的人多了去了,但除了少数在 web 基础上做改进的牛人以外,大多数人其实没理解 web 的牛 X,以前发过帖子说过我对 REST 的佩服之处,这些正是 Web 的精华,从里面摘两句:

    REST本身不是架构,只是一种架构风格,理解它的时候要参考这个架构风格出现的环境所施加的约束条件。 
    
    REST的目的是“建立十年内不会过时的软件系统架构",所以它具备三个特点: 
    1. 状态无关 —— 确保系统的横向拓展能力 
    2. 超文本驱动,Fielding的原话是”hypertext-driven" —— 确保系统的演化能力 
    3. 对 resource 相关的模型建立统一的原语,例如:uri、http的method定义等 —— 确保系统能够接纳多样而又标准的客户端 
    
    从另外一个角度看,第一条保证服务端独立演化,第三条保证客户端独立演化,第二条保证应用本身的自由演化,这实在是一个极具抽象能力的方案。 
    
    
  • #28 楼 @geekontheway 这个比 @hysios 的差一些:chars 比 split 的语义更清晰,而且很可能性能更好,flatten 在 join 之前用是多余的

  • 楼主在杭州吗?我之前在旺旺群里提过一个想法,在 ruby tuesday 的时候可以时不时加入一次源码阅读的活动,阅读的对象可以就是这些 gem,当然组织这样的活动需要预先稍作准备,但是大家轮流负责应该问题也不大

  • 测试无效的问题 at 2012年03月17日

    #6 楼 @hooopo 应该与此无关,drb 就是 distributed ruby - ruby 的远程调用框架,我这个例子里面,如果 rspec 通过 drb 框架驱动的用例,其运行环境是在 spork fork 出来的进程里面,关掉 drb 以后则是独立启动的进程,这两者的差异应该就是 rails 环境是否重新装载了

  • #24 楼 @zw963 忍不住再回复一下,看来象 string 和 list 这样的基础 api 还要深挖,这个例子绝对适合拿出来 show 一下 ruby style

  • Ruby Tuesday 深圳 at 2012年03月17日

    不错阿,深圳的兄弟们加油

  • 测试无效的问题 at 2012年03月17日

    续:今天重新试验了一下,发现可能是 spork 没有重新装载的问题,修改代码以后如果完整的跑一下 rspec 是没有问题的,但是如果用--drb 单独跑指定的那个测试用例的话,就会出现前面的问题,关掉--drb 单独跑那个 spec(这时环境重新装载)也没有问题

    BTW:我改一下帖子标题

  • 测试无效的问题 at 2012年03月17日

    看来是我没说清楚,应该用 dup 而不是 clone,这个我们都知道,我的问题是,rake spec 在代码为 clone 的情况下依然会通过测试,这个就很郁闷了,那我还怎么相信我的测试集呢

  • @hysios 的代码很棒阿,使用 api 特别恰当,学习一下

  • #22 楼 @hhuai unity 后续是否还会成为 ubuntu 的缺省配置还不确定

  • #17 楼 @poshboytl 这个写法挺有趣的,非常醒目

  • 真正要写注释的地方是比较少的(比如各种 API,就比较有必要),其它的所谓需要写注释的地方很多可以通过 extract method 来解决

  • #7 楼 @ruby_sky 这个就比较无奈了,看来还要请高校的同学们想办法了

  • #4 楼 @ruby_sky ruby.taobao.org 有没有墙?

  • [上海] 如果你是 Geek at 2012年03月14日

    楼主的要求很吸引人阿,加上 Pro Git/Github的经历,各种关注吧

  • #12 楼 @skandhas 嗯,是我说错了,这里没有利用尾递归优化,不过我之前的测试看到,每个 Fiber 的成本是 10K 而不是 4K,难道是 32 位和 64 位不同?

    另外,又试了一下,确实和 open files 无关,我调低了参数也是一样不会 crash,我是 64 位,不知道 @hooopo 是不是 32 位,不过我还是不能理解这个和进程空间有关,这么 4K/Fiber 的加上去,怎么会撑爆进程空间(用户空间至少有 2G)呢?

  • #4 楼 @huacnlee 缩进确实很不好搞,主要是两个层次上的缩进互相影响,我也感觉做不完美,目前的思路是尽量用 helper