• http://book.douban.com/subject/10511550/

    这本书楼主要的都有了,edx 有相应的教程,搜索 cs169。

    不足的地方是 javaScript 讲的很少(js 才是大技能。。。)。 再就是这本书更注重的是传授一种方法,以及尽可能让你理解最重要的东西(比如测试只讲了 mock,stub 之类的,rspec 中的 it 都直接被作者跳过了,作者觉得这个可以自己学吧?)

    优点是全、精、简。 全,敏捷开发,BDD,TDD,Git, js,团队合作,重构,设计模式,优化都有讲。 感觉敏捷开发需要有个全貌,要不然很多东西连不起来,比如为什么要选择敏捷?为什么随后要跟着 BDD 和 TDD。 精简,这本书解释 js 是面向对象语言,就用了两句话,js 有对象这种机制。但没有继承,继承跟面向对象没关系,是大家使用 java 产生的误解。有一篇 blog 为了解释这个问题说了上千字。 讲 ruby 的时候,直接从三个大特点切入,一切都是对象,一切都是方法,一切都是元编程。比如数据库的查询,只告诉了你一个 where,剩下的自己查文档。 讲 ruby,常用的 methods 都列出来了,够用了,在不想把 ruby 写得很魔幻的前提下。

  • 👍

  • 非常赞同楼主的观点!用 rails 和 ruby 就是为了快速开发和迭代。遇到性能问题,首选就是买服务器。

    想请问,楼主关于单元测试,是怎么看?单元测试和开发(这里包括维护和 debug,团队交流)速度是一个什么样的关系? 谢谢!

  • 《架构腐化之谜》随想 at 2013年12月29日

    人脑的能力其实还是挺可悲的,"the number of chunks of information you can remember accurately with no memory degradation is only one",所以学习新动,分解问题就很重要,如果都连在一起。。。就很困难。

    有一种处理 legacy code 的方法,是一边写 character test,一边重构。代码乱了,感觉除了功力深的,没发写,所以要重构。然后写完了,可以把测试当文档用。 当然写测试,也需要很好的能力。。。

  • Is Ruby Fast Yet? at 2013年12月29日

    有人说以前机器很贵的时候,机器的时间比较贵重,要用汇编,要用命令行,当机器变得便宜的时候,人的时间变得更加重要,于是出现了图形界面。

    使用 ruby 其实也假设了,更多的考虑程序员的感受,而不非机器。

  • 呃,有个故事是说美国看了中国的教育之后,预言没几年,中国就会超越美国呢。。。这么多年过去了。。

    中国的问题不是钱的问题。国民时期有多少大师级的人物出现?呵呵。也别拿人口说事,日本人口密度更大。

  • 读好书非常重要啊! at 2013年12月16日

    觉得不同的书有不同的阅读方法,同一本书,不同的部分,读法也不同。

    这本书,没什么事情的时候,用来快速阅读,只挑感兴趣的或者不熟悉的地方。之后就摆着当资料,需要的时候用来查找。

    楼主提到的书,数了下,读了 7 本,嘿嘿。

  • #7 楼 @bhuztez 呃。。。没学过 E。黑 ruby 的不也不少嘛。。。 #8 楼 @knwang 我一直把函数编程理解为,如果想要 sort,好的,你告诉我如何 compare。 数据决定怎么做,而不是做什么。 至于元驱动编程,就不知道是什么了。。。

  • #1 楼 @bhuztez #2 楼 @edokeh 觉得那篇文章逼格很高!!!

  • #3 楼 @reus #4 楼 @guyanbiao 我还得再想想。。。功力不够啊。。。

  • 像我这 at 2013年12月14日

    觉得 ruby 给我带了很多东西,就是不用,也非常非常受益。

    能说我是写 rails 的时候,连页面都懒得刷的人嘛。。。

  • ruby,rails,js at 2013年12月14日

    #3 楼 @lgn21st 我胡乱说的的。。。很没条理。如果换个词可能会好一些。JavaScript 太随便了,什么都是随随便便的感觉,让那些功能变得比较鸡肋。ruby 很用心,把这些强大的功能变得非常好用、可读。

    还有就是觉得很多人说 ruby 是魔法语言,但觉得 ruby 对可读性的关注远远多余对魔法性的关注。

    对 ruby 理解的确实不好。但其实对 JavaScript,django 理解的也不怎么样。。。

  • ruby,rails,js at 2013年12月14日

    #1 楼 @bhuztez 哈哈。。。其实这个东西没怎么用过,就知道他是个巨牛逼的东西。。。

  • 哈哈。。。支持下!

  • 觉得 java 这种语言重点在于设计,python/ruby 在持续的重构。 如果问题已知,需求已知,用 java 进行设计,自然设计一下会好不少。 敏捷开发很大程度上假定了,需求不确定,问题不确定这种情况(事实也应该如此。。。)。如果在这种情况下,瀑布流之类的,就不再适,因此要用 BDD 保证做正确的事,和 TDD,保证正确性。 无论是完整的 TDD,还是完整的敏捷开发,都要求持续性的重构(10 几行就可以重构一次)。 测试是为了让你不断折腾,测试覆盖的越好,你改代码改的越舒服,就算是红掉了,也很容易定位。

    有个牛人说,legacy code 分两种,一种有测试的,一种是没测试的。我承认我跑题了。。。

  • 我觉得组团围观才是我们的作风!

  • 。。。

  • 顶一下!

  • 关于 backbone 的源码 at 2013年11月15日

    #16 楼 @zj0713001 还真没这么用过!学习了!

  • 关于 backbone 的源码 at 2013年11月15日
    image : first.isImage && first.image,
    

    我写过这种,达到目的了,但不知道这样做好吗。。。

    我重构的时候想到的,嘿嘿

  • 最近在看 functional programing javascript(走着其实刚开始的想法是写一个能浏览器上跑的 scheme,但不知为啥 scheme 那么漂亮,js 那么丑。。。),觉得 functional programing 是把大的问题分解为小的问题,既,由大到小的的思维方式,觉得这样的思维方式更好一些,当然只是觉得,没什么依据。

    觉得 ruby 带给我最大的感触是,给精简提供一种可能。我会学着把代码写的干净,学着把代码的结构搞好。

    ruby 很灵活,但 rails 有些地方却很资质,比如 routes,远没有 django 的灵活。但带了很多便利。觉得 ruby 的灵活,和 rails 的一些 configuration 是非常有意思的组合。

  • 觉得很多问题,都是因为,1,缺少运动,2,缺少睡眠。3,吃多了。 我就是这样。。。

  • SimpleCov 的覆盖是 statement coverage。说的是,每个语句是否有执行而已,比较容易。还有 branch coverage,path coverage 之类的。

  • ruby parser 的问题吧?

  • 循环可以用递归代替

  • #9 楼 @liwei78 我做过跆拳道教练,嘿嘿。

  • 关于中文与英文的先进性 at 2013年10月18日

    #49 楼 @bhuztez ....恩,这个倒是 #53 楼 @hooluupog stack 垛,干草堆。regular expression 规则的表达方式。

  • 关于中文与英文的先进性 at 2013年10月18日

    权重 在英语里面是 weight, 正则表达 regular expression。比如栈 和 stack,比如 queue 和队列。 这些似乎都是英文比中文更好理解。 英文是靠声音编码,一样也是可以组合。

  • ...