back to CATS home


Welcome to OSCON 2006 - Tutorials day one (Ruby, Rails)

User: jarcher
Date: 4/25/2007 3:15 pm
Views: 12592
Rating: -6    Rate [





Hello everyone, and welcome to the first entry from OSCON 2006. Monday and Tuesday are pre-conference tutorial sessions, and I opted to attend The Ruby Guidebook and Rails Guidebook. Unfortunately, through some weird quirk of events, I ended up going to the hospital this morning due
to a kidney stone that my body decided to pass starting at 5am. I got out of the hospital by 11am, and managed to catch the trailing end of the Ruby session. I did catch the Rails session, and learned a few interesting things. Some high-level bullet points to pay attention to:
* Large high-volume web applications are currently using Ruby on Rails.
* Rails uses idioms that make out-of-box installation and implementation fairly simple for about 80% of what you need to do with any average web application. The last 20% is your job.
* Rails is out-of-box model-view-controller and is set up to implement unit testing. Ruby makes unit testing very very simple.
* There are lots of options for the view portions of the application using template files that can convert to html, xml, javascript, very very simply.
* Using rails, you can create object models very simply that tie right to the database with only a few lines of code, including data validation.
* 'Scaffolding' makes creating web apps very simple and very rapid, but it's really not meant to be kept for the final application. Just like real-world scaffolding, it's meant to be thrown away in the end.
* there are some cool mechanisms for updating data models and database tables incrementally using 'migration' files that allow you to not only update, but roll back changes.
* There are 'Dark Alleys' to be aware of -- things that are being deprecated out of Rails, such as 'components', 'engines', and the XML-RPC/SOAP component.
* Deployment should not be cgi. Use FastCGI and look into servers such as LightTPD, Mongrel, WEBrick, and Apache.
* Check out 'Capistrano', an automated deployment architecture in rails.
* Plugin architecture is the right means to add things into rails.
I can give more details if there's interest on any of the subject covered in the talk, and eventually O'Reilly will have the slides up on their site.