• 今年的 RubyConf China at 2013年06月14日

    #64 楼 @luikore 现场会有这个条件么?根据以往的经验,无线资源好像比较难,视频压制的问题如果不是很紧急,我们可以事后来做,其实压制本身问题不大,但是切文件需要有一个人统一安排

  • 今年的 RubyConf China at 2013年06月11日

    party 感觉挺好的,另外去年最后一天下午的自由交流也很好,只是这次最好不要几个讲师同时上去答疑,感觉效果不佳

  • 这种“回退”就是在否认历史,如果有其他人也在用你的 remote,你 push 以后将他置于何地呢?

    所以,如果仅仅你自己在使用,那么强制 push,命令是 @yesmeck 说的 git push -f 如果是与人合作,更漂亮的做法是 revert,给个例子供参考

    当前的 commit 记录

    $ git log
    commit e7c8599d29b61579ef31789309b4e691d6d3a83f
    Author: fsword <[email protected]>
    Date:   Sat Jun 8 14:27:11 2013 +0800
    
        补充后续计划和调整方案
    
    commit d501310d245fe50959e8bcc1f5465bb64d67d1c8
    Author: fsword <[email protected]>
    Date:   Fri Jun 7 14:36:49 2013 +0800
    
        完成基本的设计
    
    ...
    

    决定放弃最近提交的 e7c8599d29b61579ef31789309b4e691d6d3a83f

    git revert e7c8599d29b61579ef31789309b4e691d6d3a83f
    

    现在查看 log,发现多了一次 commit,其内容就是回到了原来的那个阶段

    commit 7752d450a91a4c9663f5cd03f7ef3ff6d4848a12
    Author: fsword <[email protected]>
    Date:   Tue Jun 11 01:35:58 2013 +0800
    
        Revert "补充后续计划和调整方案"
    
        This reverts commit e7c8599d29b61579ef31789309b4e691d6d3a83f.
    
    commit e7c8599d29b61579ef31789309b4e691d6d3a83f
    Author: fsword <[email protected]>
    Date:   Sat Jun 8 14:27:11 2013 +0800
    
        补充后续计划和调整方案
    
    commit d501310d245fe50959e8bcc1f5465bb64d67d1c8
    Author: fsword <[email protected]>
    Date:   Fri Jun 7 14:36:49 2013 +0800
    
        完成基本的设计
    
    ...
    

    比较一下,发现已经和提交前一样了

    $ git diff d501310d245fe50959e8bcc1f5465bb64d67d1c8
    $
    
  • #9 楼 @CloneIDEA 我也听说过类似的故事,当时我还刚毕业,同租一个兄弟所在公司有个女工程师,部队背景,有军衔,那时已经是核心开发,安全、嵌入式领域几乎没有盲点,惊为天人。

  • 如果是临时方案,可以用 mongodb 搞,前提是你熟悉类似 mysql 这样关系数据库的设计(否则会把 mongodb 当做避难所,然后在关系数据上掉进坑里)。

    如果是希望做一个生命周期超过 1 年的东西,并且暂时不太着急,建议寻求相关工具团队的专业帮助,让他们直接给你需要的东西,详细情况可以上班时候打我手机

  • good job!

  • #5 楼 @alsotang 太汗了,没有一种技术敢说同时并发多少都能撑住这句话的

  • Language style at 2013年06月08日

    #11 楼 @Rei 是的,强制缩进最大的价值就是用格式简化了语义,这个是有意义的。 看看 lisp 就知道,括号之所以很多,是因为没有换行作为语义。而有了缩进语义,我们就可以简化作用域关键字了

  • #13 楼 @bhuztez 问题是“少”不等于“要降价”,他对这个关键环节一带而过,然后就是说该怎么对待降价的股票,这是典型的忽悠

  • #8 楼 @bhuztez 这种话一定要追究他的逻辑,一般一较真就完蛋。 比如楼主的经历,逻辑链条如下: 你是在彰显自己的个性 -> 国内用的不多 -> 学 ruby 会贬值 + 学 ruby 找不到工作

    实际上呢?

    • 楼主是不是真的只是为了彰显个性? 我们不知道,这个判定是草率的
    • 彰显个性不好吗?也不知道,正面反面的例子都有
    • 彰显个性与国内用得不多有冲突么?还是不知道,因为楼主可能找美式/日式企业
    • 国内用得不多意味着会贬值么?一般物以稀为贵,企业少就会卖不掉你的能力,但是国内 ruby 程序员也很少,所以是否贬值没法确定

    这些话一听之下感觉来势汹汹,其实架不住推敲。

    也有些人被戳穿以后会辩解——“不要那么较真嘛”,faint,你想影响我的人生,我还不能较真?

  • 加内存或者优化,如果要优化,首先明确资源消耗在哪里,其它就容易了 内存分析我一般也就是 ObjectSpace 一下

  • 支持一下

  • 我测试了一下,貌似服务本身没问题,你用的哪个 gem?是不是还没有同步过来?

  • #1 楼 @xds2000 昨天也曾 google 到这个页面,不过我只是验证了一下 raw_connection 这个方式,发现不兼容 rails3 就放弃了

    目前的解决办法,不是很漂亮,先图个能干活吧

    s="insert into `history_products`(#{attrs}) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
    whole_sql = ActiveRecord::Base.send(:replace_bind_variables, s, dd.attributes.values)
    ActiveRecord::Base.connection.execute whole_sql
    
  • 对 stub 和 mock 的理解 at 2013年05月31日

    #16 楼 @aptx4869 #18 楼 @knwang 集成情况比较复杂,webapp 和 js app 的情况只是其中之一,不过,即使是这种场景,也符合一般性规律——mock 推迟了集成。 @knwang所说的“推迟协作者固化”我不是完全理解,这不是协同规约要做的事么?大家约定一个接口,然后各自演化,和是否使用 mock 没有关系

  • 对 stub 和 mock 的理解 at 2013年05月30日

    #12 楼 @xds2000 mock 掉的那个东西,未来需要再进行集成测试或者说联调,不但增加了测试成本,而且还会给人系统没问题的错觉。 一般来说,所有的问题都是越早发现越好,包括那些推迟到联调阶段的问题,所以才要持续集成,也正因为如此,应该尽可能减少不必要的 mock

  • Ruby 的方法调用好像野马 at 2013年05月30日

    #10 楼 @alsotang 总有取舍的,不过这也谈不上不好,并不是说 FP 就天生高人一等

  • 关于 inject 方法 at 2013年05月30日

    #2 楼 @alsotang 有些小区别,:* 参数是在库的层面上变成 proc 的 #3 楼 @youseke 大致上是这样

  • Ruby 的方法调用好像野马 at 2013年05月30日

    #8 楼 @zgm 这个和面向什么没关系,楼主的问题在于去掉括号有可能让人混淆方法本身方法的一次调用,不过 ruby 里面是不存在方法本身这个对象的,所以在这个地方就没法函数第一性,这是它为此付出的代价

  • 对 stub 和 mock 的理解 at 2013年05月30日

    一般来说,能够直接验证,就不要用 mock,原因很简单:mock 推迟了集成

  • 关于 inject 方法 at 2013年05月30日

    和 inject 没关系,甚至和这种缩写的语法糖也没啥关系,实际上是一种设计上的一致性—— &导致 to_proc,例如:

    def hello &x
      # 这里的x就是一个block被to_proc了
    end
    

    所以 &:* 和下面是一样的

    $ irb
    irb(main):001:0> :*.to_proc
    => #<Proc:0x0000000253fe60>
    
  • Ruby 的方法调用好像野马 at 2013年05月30日

    恩,确实,ruby 的 method 并不是对象,需要变成 Proc,不过这么做可以大幅度简化敲代码的活动,ruby 比较重视节省程序员劳动

  • #47 楼 @leozwa 顶一下结对编程,这是我接触过最有效结果也最好的带人方式,没有之一

  • #32 楼 @zuozuo 从工程角度来看,预先学习或者研究到多深的层次是很难评估的,更多是靠学习型组织和培养每个人的学习习惯。而且,我所说的技术深度不见得多高也是相对而言,一般来说还是要比大多数普通码农高一些,但是研发中更多的问题涉及如何降低复杂性,如何协作,如何平衡研发效率、质量、成本、安全之间的关系,团队本身如何发展等等,研究这些问题比深入研究 GC 算法之类更有普遍性。

  • thoughtworks 的人,技术深度不见得多高,但是对于“研发是怎么回事”和“研发应该怎么做”是很有发言权的

  • #26 楼 @nuanshuidai 求助就求助,提“美女”干嘛呢?既然说了美女,就别怪后面的兄弟跑题了

  • 这两个都很不错,这种时候选择不是问题,立刻开始最重要,随便抓阄就可以了

  • 参考这个 http://ihower.tw/blog/archives/3949 其实看 doc 或者 源码 更靠谱

  • #16 楼 @hooopo #17 楼 @luikore 果然就是这个原因,hooopo 的例子不是很贴切,举个有 bang 的例子

    if names.compact!
      flash[:notice] = "名字有重复,已自动去重"
    end
    

    bang 方法可以用来区分状态是否变更,如果是链式调用,一般只关心变化结果,所以该用普通方法