• devise 相关问题 at 2011年11月27日

    #10 楼 @Jsiguo 设置了 root 之后出现了什么错误呢?

    PS:其实 devise 这个 gem 非常复杂,我也玩不转,我觉得还是自己写用户认证逻辑比较好,现在有 ActiveModel::SecurePassword 这个模块,已经处理了最麻烦的那部分。

  • devise 相关问题 at 2011年11月27日

    undefined local variable or method `root_path'

    是否有在路由中设置 root?

  • devise 相关问题 at 2011年11月27日

    把完整的 Log 贴出来

  • 现在默认参数是跑一次 bundle,rails new 的时候有个参数可以指定不跑 bundle,可以查下文档。中国的网络对开发者真是悲剧。

  • 我认可 linus 式的独裁管理,能实质把握网站走向的其实就是@huacnlee。现在一点问题是功能加太快,有点糙。社区/wiki/文章也许要分别指定负责人才行。

  • 者也的代码还维护吗 at 2011年11月26日

    #14 楼 @wxianfeng Gemfile.lock 已经锁定了

  • 求教 cache 的用法 at 2011年11月26日

    #10 楼 @aNdReW_Qx 赞同。过早使用缓存会得不偿失,比如——在这个加个 xx 功能吧?不行,这样缓存就失效了/要重大修改,那还是放到别的地方吧或者不要提供了——这种情况出现。

  • 求教 cache 的用法 at 2011年11月26日

    #8 楼 @aNdReW_Qx idendity_map 是同一对话内有效,存到外部的 cache 就可以各个会话共享(这时候对象序列化速度有可能成为瓶颈)。

  • 求教 cache 的用法 at 2011年11月26日

    另一种思路是对象缓存,在 ITeye 大量使用。比如 User.find id,这种调用都是从 memcached 获取对象的,好处是缓存一次,到处调用。Twitter 放出的资料来看也是偏向这种,行缓存(数据)+ 列缓存(timeline)+片段缓存

  • 求教 cache 的用法 at 2011年11月26日

    条件允许的话用 redis 或者 memcached 比较好,用数据库字段缓存意义不大。像现在的一条回复,不单是文本的格式处理重复耗时,而且 user 信息的读取还会导致 1 + N 查询,另外还有 @ mention 的查询。这时候最好的方案就用片段缓存,把一条回复片段 cache 起来,这样一来数据库里面做缓存做优化就失去作用了。所以说缓存要后加,找到瓶颈才出手。

  • Account 菜单问题 at 2011年11月26日

    悬停效果在触摸为主的终端体验很不好的,除非有精力另外开发一套移动界面(Twitter 是靠 APP)

    1. 已经配置 server_name www.kennx.net,跟访问 http://localhost/rails/info/properties 没啥关联阿
    2. 怎么两个 passenger_enabled?花括号怎么没闭合?
  • 求教 cache 的用法 at 2011年11月26日
    1. 可以,甚至页面缓存
    2. 都可以设置最大内存占用
  • 找回密码功能严重不好用 at 2011年11月25日

    用户名现在不区分大小写了

  • Rails 怎么排好 HTML 代码 at 2011年11月25日

    http://haml-lang.com/ 另一个选择

  • Rails 怎么排好 HTML 代码 at 2011年11月25日

    #5 楼 @KennX 缩进要求编码的人设置好编辑器,或者用 haml,Slim 这样的模板语言生成 html。编辑器还有自动排版。

  • #12 楼 @hooopo 速度应该不够,以前我一个页面用一个缓存数组避免 1 + N 查询,后来去掉这个数组,马上慢了 150+ 毫秒。mongodb 跟内存数据库的速度还是差一个数量级,将工具用到它被设计用于的地方。

  • Rails 怎么排好 HTML 代码 at 2011年11月25日

    是指样式?建议用 Twitter Bootstrap。

  • Test::Unit 还是 Rspec at 2011年11月25日

    #18 楼 @cqpx 确定测试框架之后会全力补上测试

  • Test::Unit 还是 Rspec at 2011年11月25日

    #16 楼 @fredwu Rspec 就是一个岛(Test::Unit 是另一个),然后这个岛上很明显竖了个牌子:这里有个叫做 Cucumber 的东西,如果你没接触过,哎呀都不好意思跟别人说了。

    然后第一个跑题的不是我,是 #2 楼

  • Test::Unit 还是 Rspec at 2011年11月25日

    #14 楼 @fredwu Ruby 包容各式的框架,但是 Rspec 和 Cucumber 走太近了(主要是 Rspec 那本书)。

  • Test::Unit 还是 Rspec at 2011年11月25日

    #6 楼 @fredwu

    Module ContentExample
      def test_should_acts_as_content
        assert ...
      end
    end
    
    Class PostTest < ActiveSupport::TestCase
      include ContentExample
    end
    

    shared context 直接写个 method 调用好了(只有 let)。

    这个例子没有 rspec 的 shared_examples 和 shared_context 强大,但我觉得这个优点不足以驱逐 Rails 自带的测试框架,因为我见过 Rails 升级时 Rspec 的各种不兼容(Rspec 竟然有两个大版本)。

    还有一个强烈反感 Rspec 的是因为 Cucumber,同样的测试覆盖度,用上 Cucumber 代码量要大 5 倍,很多还是工具生成的,我想到 Java。而偏偏 Rspec 社区就和 Cucumber 绑上了。Rspec 的书上来就写 Cucumber,然后社区一直怂恿:你用 Rspec?你喜欢 BDD?来吧,用 Cucumber 让你的 BDD 更酷。开发者主导的项目,Cucumber 除了给脚上绑上铅块我看不到任何好处,而且我很怀疑产品设计人员根本不会写 Cucumber,最终就是 BDD 爱好者自娱自乐。

  • Test::Unit 还是 Rspec at 2011年11月25日

    #7 楼 @cqpx 都占用了 rake 的默认任务(记忆中,不确定)。每个开发者测试时候要敲两次命令是个负担。

  • Test::Unit 还是 Rspec at 2011年11月25日

    #2 楼 @southwolf DSL 的魅力是简化本来复杂的逻辑。但是 Test::Unit 本身就不复杂,非常直观,倒是转到 Rspec 要把思维扭个弯。然后这两套测试组件的可读性取决于熟练程度。

  • Code smell in Ruby-China code base at 2011年11月24日

    #47 楼 @xdite 这是开发环境还是生产环境?看了下日志没有相差这么悬殊阿

  • Code smell in Ruby-China code base at 2011年11月24日

    #43 楼 @huacnlee 哦,看了 mention_user_logins 的 cache,cache 更好。其实可以把整个评论片段 cache。

  • Code smell in Ruby-China code base at 2011年11月24日

    #43 楼 @huacnlee n+1 可以打开 identity map 缓解

  • Code smell in Ruby-China code base at 2011年11月24日

    #37 楼 @huacnlee 确实,我也烦恼 codecampo 在公司和回家看的不一样

  • Code smell in Ruby-China code base at 2011年11月24日

    #31 楼 @huacnlee V2EX 发帖量大,所以换浏览器,链接的 visited 状态不同问题不大,因为基本都有新帖,而且样色不要太亮。现在 ruby-china 发帖量也很大了,可以考虑这个方案。

  • #11 楼 @fredwu 我选择这样写

    test 'Given I'm on the homepage, Then I should be able to sign in as user "test" with password "test' do
      ...
    end