• 我为什么就学不会编程 at 2012年05月04日

    运维是一个典型的充满重复劳动的工作,找找工作中任何一个有重复性的事情,编程搞定,然后重写这段程序,让别人能傻瓜化的使用,再收集别人的需求完善,不断重构,写上 10 万行代码以后你就不会问这个问题了

  • Ruby 1.9 中文处理 at 2012年05月04日

    #8 楼 @TsingHan CSI 是指 Character Set Independent?松本那本书里面讲的应该很清楚了,java 之类的语言一开始就限定了所谓内部编码,虽然看起来很好,但是实际上受制于内部编码本身的局限性,当 unicode 被扩展以后,java 社区就不得不开发 code point 相关的 api,而且这个 api 出来的太晚,以至于很多基础类库都没有做好准备,会有潜在问题。 而 ruby 一开始没有限定,所以开发者都必须明确一点:string 本质上是字节数组,这样,开发者要决定一些和编码相关的东西。到了 1.9,ruby 标准库为开发者提供了一些便利条件,但是主动权仍然在开发者手里,这也是 ruby 哲学所一直倡导的原则

  • 代码写的太乱了,这样的 girl 不要

  • #3 楼 @huacnlee 简化一下 File.readlines(fname).uniq

  • Class create new object 疑问 at 2012年05月01日

    这个笔误还真没注意到,估计是看的时候“眼花”成 java 了。话说我觉得 ruby 最漂亮的地方之一就是没有了 new 这个关键字

  • 升级 Ubuntu 12.04 后的杯具 at 2012年04月28日

    #3 楼 @lgn21st 现在升级早就不用命令行了,都是升级管理器提醒,然后点点按钮就行。不过话说回来,新版本通常有各种小问题,所以我一般是 7 月升级 04 版,12 月升级 10 版,做一个普通用户,坚决不当小白鼠

  • Linux 如何挂载分区 at 2012年04月28日

    symbol link 不能完全代替 mount,现代的 mount 命令支持 bind 方式

    ~ $ sudo mount --bind /home/john/some_folder1 /home/john/some_folder2
    ~ $ cat /etc/mtab | grep some_folder
    /home/john/some_folder1 /home/john/some_folder2 none rw,bind 0 0
    
    
    
  • [双飞燕] 闭包和绑定疑问 at 2012年04月28日

    问题已经回答的很完整了,我来佩服一下大伙动作快吧

  • 关于结对编程的效果 at 2012年04月28日

    结对编程很累的,不过我很少遇到工程师的排斥,lz 不如试试从提高 code review 的频度开始?

  • 这个贴子提到很多次“心理”,会让人对心理学产生很多误解的,说几点供参考:

    1. 现代心理学不是机械地看待问题,而是客观地看待问题。心理学和经济学有些类似,因为涉及到主观世界,所以有一段时间研究还停留在“公说公有理、婆说婆有理”的扯淡阶段,但是现在自身的科学性已经明显提高了
    2. 宗教也罢、哲学也罢,可以用来调整心态,但是心理问题并非与生理无关,心理治疗的方法很多,有了严重的心理问题最好还是请教专业人士,必要时要使用药物
    3. 弗洛伊德在外界名气很大,但其理论在心理学研究领域已被基本摈弃,所以不提也罢,如果有兴趣了解现代心理学,可以看看《进化心理学》
    4. 森田疗法只是一种心理治疗手段,如果不对症自然无效,这个和是否上升到所谓“悟”的阶段并没什么关系

    补:实际上我觉得楼主讲的其实不是什么心理,而是一个人的自我修养,回复这些是为了避免大家对心理学和心理治疗有误解

  • config.threadsafe!: JUST DO IT at 2012年04月26日

    #3 楼 @Saito 这个要求过强了,web 开发中,主要还是要区分清楚 request 之间的数据,很多代码本来就不会重入,所以不必要求可重入性

  • #25 楼 @Saito 我现在是 vagrant 负责搞定 rvm 和 ruby,其它全都是 puppet 负责维护,但是 puppet 脚本是项目代码的一部分,是否通过 puppet server 则不一定

  • #21 楼 @ruohanc vagrant 好像说过一次,现在已经有很多人在用了,这是昨天刚写的一点小结 http://fsword.github.com/blog/2012/04/26/vagrantshi-yong-bu-zou-zong-jie/

  • #22 楼 @Saito 你在搞 chef?我在用 puppet

  • 还有 return 的问题,ruby 支持 non-local-return

  • 一个关于 self 的问题 at 2012年04月26日

    #10 楼 @ptmagic obj.some_method(1,2)这里方法 some_method 的接收者就不是你自己阿(是 obj) 私有方法的关键是不能用 self 去调用,只能写在公开方法中被调用,这样就天然保证了它对外不可见,比如对于这样的类定义:

    class A
        public
            def pub_method
            end
        private
            def pri_method
            end
    end
    
    
    

    你可以这样:

    a = A.new
    a.pub_method
    
    
    

    但是对于私有方法则不能:

    a = A.new
    a.pri_method # 这样写违反原则 “private方法不能显式指定接收者”
    pri_method    # 这样是就变成调用外面某个名叫pri_method的函数了,事与愿违
    
    
    

    这样导致的结果就是:如果你想调用 pri_method,那就必须放在 class A ... end 这段代码里面

    class A
        public
            def pub_method
                pri_method # 这样写才正确,于是确保了私有方法的私有性
            end
        private
            def pri_method
            end
    end
    
    
    
    
  • 一个关于 self 的问题 at 2012年04月25日

    #7 楼 @ptmagic obj.some_method(1,2) 这就叫明确指定接收者 some_method(1,2)这叫不指定接收者,但是 ruby 中所有的方法调用都有接收者,所以这里实际上有一个隐含的接收者 self

  • 给这个节点添个树叶吧 at 2012年04月25日

    erlang 很流行阿?

  • 可惜啦,我晚上 9 点半才到杭州

  • 一个提议 at 2012年04月24日

    #10 楼 @yedingding ruby tuesday 没话题了?不会吧,之前不是说过如果没有明确 topic 就一起读源码么? 我这个帖子说的应该更偏重于 ruby 基础,至于其它工作,我们可以同步展开

  • 一个提议 at 2012年04月24日

    #26 楼 @ruohanc 有名字不就行了,当当、淘宝都可以找的

  • 这句话看不懂,求助 at 2012年04月24日

    当你设计一个类的时候,你需要考虑它有哪些内部状态,以及它是如何将这些(内部)状态表现给外界(这个类的“用户”)的。负责记录内部状态的就是实例变量。而所谓外部状态,就是用对象的方法来暴露给外界的结果(为了便于区分,这类方法我们称之为“属性”,除此以外的方法称为一般方法)。这两种状态其实并不需要特别严格的留意,但是用“外部状态”这个词可以告诉人们,这是(你设计的)那个类的对外“表现”(而不是内部实现)

    ......累死了,以后翻译的事情要谨慎

  • #6 楼 @huacnlee 也许你需要的是一个数据字典表,用 type 分开,然后后台维护

  • Is Node.js Better? at 2012年04月24日

    #12 楼 @hooopo 顶一下老赵的 jscex,这个东西非常有价值,我一直很奇怪 node 社区的人为什么不重视这个方面,很难想象大伙会如此没眼光

  • 一个提议 at 2012年04月23日

    #1 楼 @huacnlee 嗯,我大概后半周才能回去

  • <=> 这个符号是什么意思? at 2012年04月23日

    可以 google 一下,搜索关键词:ruby, 比较运算符