• 我是没有用过百度编辑器,不知道具体。但你既然觉得这个又难又好用,难道你只希望在这一个应用里面使用?下一个应用怎么办?难道又要重复这个过程?宝贵的时间都花在了处理这些价值很低的事情上面。为什么就不能稍微多费一点时间做一个 gem, 就算是私有的都好过没有。

  • @scriptfans 第一,我不认为第三方升级了你就一定要升级,你的网站又没有出问题,用得好好的,为什么非要赶趟?很多时候出问题就出在升级上面。第二,一定要升级的话,就算维护 gem 再难,也比在应用里面升级各个文件要容易得多。

    另外,我是非常反对把第三方的东西直接放到应用里面的,弄得 Git 历史一团糟。

  • 没有第三方资源的 gem 包自己写一个不就行了,值得费那么大劲喷么。开源的就放到 github 上,私有的就放到私有库里面。gem 核心也就是几行代码而已,其余都是 copy paste。

  • 不要读了几个博客就想当然认为你必然写得比别人好。别人的可能不好看,但至少能用。

    新人的话就稳妥一点,碰到哪里改进哪里,一点点地改善,至少还有人帮你盯着。

  • 我喜欢酱紫的 Hash at March 11, 2015

    如果你不需要团队,代码永远只是你自己维护,你爱怎么写怎么写。如果不是,请按惯例写。另外我也不认为你的写法好,第一,增加亢余定义,第二,对顺序有依赖,第三,本来是一个赋值被你改成了运算。

  • Vivaldi: Opera 的继承者 at March 09, 2015

    好啊,多谢!我从 5.0 起一直用 Opera, 非常好用。但自改用 Webkit 之后,新的 Opera 已经变得不伦不类了,还不如直接用 Chrome。这个 Vivaldi 看起来不错!

  • 你的row在 CSVRow 里面没有定义,所以到了row.key?..那一行就转到了 method_missing, 然后又没有定义,又调用 method_missing, 所以是一个死循环。加一个 attr_accessor :row 应该可以部分解决这个具体的 bug.

    但另外还有很多的问题。

    1. ActsAsSomething 这个命名惯例一般是用来做 module, 不用来做 class
    2. CSVEnumerate 多余,并且其中调用 csv_contents,高耦合。
    3. method_missing 在条件不符合时,最好报错或者 super
    4. ActsAsCSV 里面直接用 attr_reader 或者 attr_accessor 就好了,定义变量多余。
  • 其实最重要的是 1. 善于和人沟通,明白别人的意思和表达自己的思想。2. 善于分析和解决问题。3. 学习快。

    具体的知识都可以按照实际需要边做边学,不必要做为前置条件。

    抓紧时间做些有意义的事情吧,少年,不要成为知识的奴隶。

  • 永远不要在 master 上开发。

  • 第一,不需要参数,request 和 response 都是全局可用,直接定到@request@response变量。

    第二,你不需要在每个测试里面都包含 response success 的逻辑,有变化可能的情况写一下,做到有足够的信心就可以了。包含的东西那么多,你要什么都测那就不用写别的东西了。

    我看了一下你的测试文件,每个 example 里面的期待都有好几个,并且常常不关联,看起来不够清楚直接。

  • backbone

  • 没有。setTimeout 不是 Javascript 的基本函数,而是浏览器提供的 API,比如 node 里面就没有这个,而是用 nextTick。

  • Remote 之路 [2] at March 03, 2015

    @special 我们离开工作时就在公共频道更新,IM 一般是异步回复。这种及时回复最损害效率了。

  • Remote 之路 [2] at March 02, 2015

    其实远程不一定就是接外包,远程团队也是一种。

    就算是外包,更多的还是按时间计价。楼主貌似是纯粹按功能计价,而且是大块的功能,弄得自己太辛苦。

  • 有源码的看源码。没源码的不该你看,就不看。

  • jquery 表达式疑问 at February 28, 2015

    不是一个意思么。

  • jquery 表达式疑问 at February 27, 2015

    $("[rel!='link']")

    http://api.jquery.com/attribute-not-equal-selector/

    jQuery only, not a valid CSS selector though.

  • 闭包的写法应该用哪种 at February 26, 2015

    @mogodb 你说得很对。

    如果效果是要同时输出,楼主的两种写法都不好。呼叫一次 setTimeout 如果能达到效果,不用呼叫 10 次,因为 setTimeout 会与 call stack 交互,效果太强劲,能避免就避免。

    另外,这个场景不需要闭包,function 参数就足够了。

    按楼主要求同时输出:

    setTimeout(function() {
       for (var i = 0; i < 10; i++) {
         console.log(i);
       }
    }, 1000);
    

    如果每次都延迟一秒,按@lifuzho的写法好,略加修改

    for (var i = 0; i < 10; i++) {
        setTimeout(function(a) {
            console.log(a);
        }, 1000*i, i);
    }
    
  • 推荐个 商城的开源项目? at February 16, 2015

    觉得 Spree 里面 Ryan Bigg 写的部分很漂亮,尤其是 api 部分,基本是他一个人写的。其他的老代码不太敢恭维。

  • 买书不要去 Amazon, 可以注册 InformIT, Pragprog, Packt 等书商,经常有优惠券,还不定期有打折。

  • nokogiri 只是基础库,想要方便,你自己加一个 DSL wrapper 就行了,不需要抱怨。其实都不用重新思考,Capybara 就有类似的语法,加载合适的模块或者借鉴一下自己写都可以。

  • render file: 'foo.yml'

  • 关键看技术的头说话有多大分量。

  • 楼主说话好像有以“了”结尾的习惯,可能你是无意,但听起来是不太有礼貌。

  • vim

  • 为何 CDN 都要封呢? at January 28, 2015

    @mogodb 很多图片也是放 CDN 的,它们的主要目的应该是封图片,顺带把 assets 也封了。