• Like
  • Save
Ruby Software Architecture
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Ruby Software Architecture


RubyCampLyon presentation on Software Architecture in a Ruby world

RubyCampLyon presentation on Software Architecture in a Ruby world

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide
  • 1. train your developers 2. don't overdo 3. secure what's important _to users_, even if that means: "don't do some tests" 4. Your frameworks and plugins are likely to be boggus, fix them
  • SOLID SRP (never more than one reason for a class to change) OC Principle (O for extension, C for modification) Liskov Substitution (OK to use derived class without knowing it) Interface Segregation (not depend on what you don't need) Dependency inversion (based on abstraction)


  • 1. Ruby Software Architecture All you ever wanted to know but were too afraid too ask
  • 2. Agenda
      • Developing with Ruby for a living
      • Rails 3 Architecture
      • Build your stack from the ground up
  • 3. Developing with Ruby for a living Or how to make it profitable
  • 4. Potatoe Patatoe
      • Not different from other languages
      • Prepare to explain "why Ruby"
      • Talk $ (€ does also work)
      • Hide behind Twitter (:
  • 5. All about Ruby
      • Cut the "voodoo" crap
      • Aim for Productivity
      • Aim for Maintenance Zero
      • Try, if possible, to contribute
  • 6. Rails 3: Railties and Engines They ate their own dog food
  • 7. Rails 3
      • Layered architecture
    • (Rails has always been that way)
      • The "Great decoupling"
      • Embed (Rack) applications
      • All about Railties and Engines
  • 8. How does it work
      • Initializers
        • Post
        • After
      • Generators
      • Migrations
      • load_paths, eager_load_paths, ...
      • Rails.*
  • 9. Living examples FTW
      • Devise
      • Authr3
      • Radiant's extensions (soon :))
      • Spawn yours http://github.com/josevalim/enginex
  • 10. From the ground up Some hints to get your started
  • 11. From the ground up
      • DRY accross projects
      • "Make or Reuse"
      • Make it extendable (rock SOLID)
      • Using Rails? Architecture still matters
  • 12. Ruby's here for us
      • Meta Programming
      • DSLs
      • Dynamic module inclusion
      • Famous projects, excellent code