还有些小贴士,初学者不一定知道。
RoR 项目的性能 tuning,首先看数据库。是否有足够多的 index。然后系统有没有用 caching(比如 memcached)。如果你用 mysql,有没有把它内置的 caching 打开。这个 caching 可能会提高性能数十倍。PostgreSql 也能 caching,稍微麻烦一点。
这些简单的办法弄完后,还是不好,可以用 ruby profiler 看一下,这个 bottleneck 到底在哪里。然后根据情况,针对性的给出方法来解决。
The answer is 0 for me. I'm using minitest. :-)
It's said that the minitest will be included as the default test framework in Rails 4. A single command would tell me if the migration from my rails 3 projects to rails4 is successful or not.
rake test
我原来开发组里有用 windows 做 RoR 项目的。他们遇到很多麻烦。包括 source control, unit test, deployment 等等问题。有的 GEM 在 windows 下根本就不能用。他们不得不 monkey patching。
我建议在可能的情况下,最好还是在 Unix like 的环境下 RoR 项目。
在 application_controller.rb 里面定义这个 method
# file application_controller.rb
private
def work
....
end
然后在你每个具体 controller 里面用它
# file xxxxxx_controller.rb
before_filter :work, :only => [:a1, :a2]
# file yyyyyyyy_controller.rb
before_filter :work, :only => [:b1, :b2]