He we go again, day 2 is starting.
Rails the right tool for the job? by Mike Clark.
Mike will address the following aspects of Rails:Sweet spots, Honey Pots, Tar Pits. Rails is a full-stack web framework, no need to choose the different parts of the stack it's ready to go from the start. It's Quick and Clean, like Martin Fowler would say. Mike adds quicker than J2EE and cleaner than PHP.
The sweet spot: database backed web applications, green-field development, open-minded team, following the rails way.
Honey Pots is when you get into Rails because it's sweet, but then you get stuck. In other words the not so sweet spots: Legacy, Internationalization, messaging systems, heavy use of threading.
Tar Pits two phase commits, off the shelf components, obfuscation, client installations, corporate standards.
Active Record Demystified by Marcel Molina Jr.
An in-depth tour of connection adapters, ActiveRecord::Base#save, and ActiveRecord::Base.find.
Building UI Frameworks by Bruce Williams.
Bruce worked on a large system with many views. Views are tedious and are time consuming to develop and took a large portion of the development of the 90000 Ruby code application they wrote. I will not talk about components, engines, markaby. Bruce will shares some of his frustrations and challenges. Views are hard to read, are hard to learn (ruby, rails, html, css, javascript+prototype). He extensively explain the difficulties that are faced when doing view development and mentions that it's all about
Pain Management.. He continues by showing some examples and concepts to ease that pain by using simply_helpful plugin, DSL for controllers, and block helpers than render partials.
Rake Your Secret Weapon by Jim Weirich.
Burried Treasure by Dave Thomas
Tips and Tricks for Ruby & Rails Development. Dave goes through these following Rails goodies:
- with_scope
- with_options
- returning
- &:xx - The Blockinator %w{ cat dog }(&:upcase) or users.map(&:name)
- Lookup Constants
- Formatting dates and number
- Enumerable extensions (i.e. group_by)
- Arrays: in_groups_of, to_sentence
- Strings: at, from , to, first, last, each_char
- Subversion integration: script/generate model mymodel --svn (adds it automatically to subversion)
- The Console: app.get, app.response, helper, irb for default object, ActiveRecord::Base.logger = Logger.new STDOUT
- Routing: >>irb ActionController::Routing::Routes; puts routes
- TextMate: ctrl-h on a method to shows the rdoc. ctrl-shift-apple-s on an ActiveRecord shows the schema information. Code Completion.