This post originated from an RSS feed registered with Java Buzz
by dion.
Original Post: Competitious on Rails Tech Talk
Feed Title: techno.blog(Dion)
Feed URL: http://feeds.feedburner.com/dion
Feed Description: blogging about life the universe and everything tech
Kris Rasmussen and Andy Holt from Competitious gave a SDForum tech talk on their experience with Rails.
They start out talking about their site Competitious and then jump into things. A few pseudo-quotes:
"Rails actually scales quite elegantly"
"Maintainability is an issue.... harder to debug"
"We chose Rails as I got tired writing configuration code". The component dream didn't work out for me in Java
"We built the first version of Competitious in 3 weeks"
Problems: refactoring is hard, heavy processes, takes work to make production ready, does not support some complex queries, fetches all the data, all the time, so it is easy to over-query the DB.
Production check list: use automatic deployment, filter_parameter_logging :password, store session in memory, cache data, make web server store the static files, security reviews (don't rely on with_scope).
Acts as everything: acts_as_notable, acts_as_loggable, acts_as_securable, acts_as_taggable, acts_as_mediable
Biggest performance issue: Waiting on other services: ObjectCache.cache(key, CACHE_TIME) { third_party_stuff } (Alexa goes down a lot)
Timeouts: status = Timeout::timeout(3) { Net::HTTP.get(url) }
Asynchronous Polling: startup a new process/thread to communicate with the third party service. Use backgroundDRb (lightweight)
JavaScript Templates: define_js_template("our.tmpl") / render_js_template. Share the view.