SlideShare une entreprise Scribd logo
1  sur  61
Télécharger pour lire hors ligne
merb
       &
  f l e x i b i l t y
p e r f o r m a n c e
Me
Matt
   Aimonetti                 Me

irc:   m a t t e t t i
http://github.com/mattetti
Matt
don’t work
 for Engine Yard

                   Matt
don’t work
 for Engine Yard

                   Matt
Consultant               Me
based in San Diego, CA
http://ma-agile.com/training
Blogs:
   http://merbist.com

   http://railsontherun.com
“It’s also worth mentioning that
there shouldn’t be doubt in
anybody’s mind at this point that
Ruby itself is slow. It’s great that
people are hard at work on faster
implementations of the language,
but right now, it’s tough.”


             Alex Payne, Twitter
I for one am scared of Ruby
because ... it's known to be
slow, so if you become The Next
MySpace, you'll be buying 5
times as many boxes as the .NET
guy down the hall.
              Joel Spolsky
Rails is for the vast majority of
web applications Fast Enough... I
just happen to care much more
about free developer cycles and
am willing to trade the former for
the latter.

          David Heinemeier
              Hansson
Ruby is so embarrassing.
Rails is slow
Ruby is slow
“The slowest programming
  language in the world”
What does the community
         say?
Hardware cost
       >
Development cost
¡we program faster!
¿srly?
benchmarks someone?
raw PHP:
 331 rps
raw PHP:
     331 rps
     cake PHP:
3.6 rps / 8 rps(eaccelerator)
raw PHP:
        331 rps
       cake PHP:
  3.6 rps / 8 rps (eaccelerator)



      code igniter:
21.5 rps / 98.2 rps     (eaccelerator)
raw PHP:
        331 rps
       cake PHP:
  3.6 rps / 8 rps (eaccelerator)



      code igniter:
21.5 rps / 98.2 rps     (eaccelerator)



        Rails:
        88 rps
Rails with 1 mongrel
              is
       pretty close to
the fastest PHP framework.
what about merb?
hello world benchmarks
      baseline results
Merb




merb requests per second
Merb        Static HTML




requests per second
Merb     Static HTML    PHP




  requests per second
Merb router     Merb controller   Sinatra   Rails   CakePHP




              requests per second
We don’t need to be embarrassed
Ruby might be slow at
fibonacci benchmarks
       who cares?
Ruby is fast at
real life web benchmarks
      that’s what matters!
stop saying Ruby is slow
      because that’s not true
what about merb?
because that’s why you’re here
merb is fast
merb is flexible
$ merb-gen app app-name

               merb stack
  merb-action-args           dm-core
    merb-assets            dm-aggregates
     merb-cache            dm-migrations
    merb-helpers           dm-timestamps
     merb-mailer             dm-types
     merb-slices           dm-validations
     merb-auth
merb-param-protection
  merb-exceptions
$ merb-gen very_flat app-name


                                        1 file

Merb::Router.prepare do
  match('/').to(:controller => 'very-flat-app', :action =>'index')
end

class VeryFlatApp < Merb::Controller
  def index
    quot;Hi, I am 'very flat' Merb application. I have everything in one single file
and well suited for dynamic stub pages.quot;
  end
end
$ merb-gen flat app-name


                      4 files
application.rb - controllers & actions
config/framework.rb - framework config
config/init.rb - app settings
views/view_name.html.erb - action view
$ merb-gen core app-name



same as merb stack app
   no dependencies
   when you don’t want DM
     when you use JRuby
when you want an opt-in solution
http://flickr.com/photos/ezzyponchi/283381271/   http://bonluxat.com




                     merb is modular
http://flickr.com/photos/24567277@N00/2374743628/
                                                   merb is agnostic
merb can be opinionated
merb   recycling
merb has an api
Merb has a bright future for the
  people who are not satisfied by the
         fixed ways in Rails.

   I think that Merb will give users
      more freedom in a Ruby-ish
         way of programming.



matz likes merb
$ sudo gem install merb --development

     $ merb-gen app my-first-app

     $ merb-gen resource article
      title:string,author:string



         getting started
merb 2.0
admin interface
e sy



rapid prototyping
swiftiply
e sy



rapid deployment
Ruby 1.9 + i18n/l10n
2.0 schedule?
in less than 12 months
questions?

Contenu connexe

Tendances

Scale like a pro with Gearman
Scale like a pro with GearmanScale like a pro with Gearman
Scale like a pro with Gearman
Amal Raghav
 
All I want for Matz-mas
All I want for Matz-masAll I want for Matz-mas
All I want for Matz-mas
Andrew Grimm
 
Coldfusion
ColdfusionColdfusion
Coldfusion
Ram
 

Tendances (15)

Scale like a pro with Gearman
Scale like a pro with GearmanScale like a pro with Gearman
Scale like a pro with Gearman
 
All I want for Matz-mas
All I want for Matz-masAll I want for Matz-mas
All I want for Matz-mas
 
Why I Love TorqueBox (And Why You Will Too)
Why I Love TorqueBox (And Why You Will Too)Why I Love TorqueBox (And Why You Will Too)
Why I Love TorqueBox (And Why You Will Too)
 
Approaching unknown unknowns: CMF for the masses
Approaching unknown unknowns: CMF for the massesApproaching unknown unknowns: CMF for the masses
Approaching unknown unknowns: CMF for the masses
 
N tier web applications
N tier web applicationsN tier web applications
N tier web applications
 
Avoiding API Library Antipatterns
Avoiding API Library AntipatternsAvoiding API Library Antipatterns
Avoiding API Library Antipatterns
 
Opal chapter 4_a_new_hope
Opal chapter 4_a_new_hopeOpal chapter 4_a_new_hope
Opal chapter 4_a_new_hope
 
Opal - Ruby Style!! Ruby in the browser
Opal - Ruby Style!!  Ruby in the browserOpal - Ruby Style!!  Ruby in the browser
Opal - Ruby Style!! Ruby in the browser
 
Desert Code Camp 2014: C#, the best programming language
Desert Code Camp 2014: C#, the best programming languageDesert Code Camp 2014: C#, the best programming language
Desert Code Camp 2014: C#, the best programming language
 
PHP Files: An Introduction
PHP Files: An IntroductionPHP Files: An Introduction
PHP Files: An Introduction
 
Coldfusion
ColdfusionColdfusion
Coldfusion
 
Webpack & EcmaScript 6 (Webelement #32)
Webpack & EcmaScript 6 (Webelement #32)Webpack & EcmaScript 6 (Webelement #32)
Webpack & EcmaScript 6 (Webelement #32)
 
Why PHP is (so much) more better than Ruby?
Why PHP is (so much) more better than Ruby?Why PHP is (so much) more better than Ruby?
Why PHP is (so much) more better than Ruby?
 
From java-to-ruby-book-summary
From java-to-ruby-book-summaryFrom java-to-ruby-book-summary
From java-to-ruby-book-summary
 
The Once And Future Script Loader (v2)
The Once And Future Script Loader (v2)The Once And Future Script Loader (v2)
The Once And Future Script Loader (v2)
 

Similaire à Merb presentation at ORUG

Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
Paul Pajo
 
Mongrel Handlers
Mongrel HandlersMongrel Handlers
Mongrel Handlers
nextlib
 
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentation
web25
 
Flickr and PHP - Cal Henderson
Flickr and PHP - Cal HendersonFlickr and PHP - Cal Henderson
Flickr and PHP - Cal Henderson
kangaro10a
 
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentation
eraz
 
Merb Presentation
Merb PresentationMerb Presentation
Merb Presentation
gueste4d7fc
 

Similaire à Merb presentation at ORUG (20)

Merb For The Enterprise
Merb For The EnterpriseMerb For The Enterprise
Merb For The Enterprise
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
 
Practical Intro Merb
Practical Intro MerbPractical Intro Merb
Practical Intro Merb
 
Merb Camp Keynote
Merb Camp KeynoteMerb Camp Keynote
Merb Camp Keynote
 
Merb + Nanite
Merb + NaniteMerb + Nanite
Merb + Nanite
 
Introducing Merb
Introducing MerbIntroducing Merb
Introducing Merb
 
Merb
MerbMerb
Merb
 
Merb The Super Bike Of Frameworks
Merb The Super Bike Of FrameworksMerb The Super Bike Of Frameworks
Merb The Super Bike Of Frameworks
 
Exploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQLExploring Ruby on Rails and PostgreSQL
Exploring Ruby on Rails and PostgreSQL
 
Mongrel Handlers
Mongrel HandlersMongrel Handlers
Mongrel Handlers
 
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentation
 
Intro to Merb
Intro to MerbIntro to Merb
Intro to Merb
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
 
When To Use Ruby On Rails
When To Use Ruby On RailsWhen To Use Ruby On Rails
When To Use Ruby On Rails
 
Flickr and PHP - Cal Henderson
Flickr and PHP - Cal HendersonFlickr and PHP - Cal Henderson
Flickr and PHP - Cal Henderson
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 
Merb Plugins 101
Merb Plugins 101Merb Plugins 101
Merb Plugins 101
 
Flickr Architecture Presentation
Flickr Architecture PresentationFlickr Architecture Presentation
Flickr Architecture Presentation
 
Ruby on Rails : First Mile
Ruby on Rails : First MileRuby on Rails : First Mile
Ruby on Rails : First Mile
 
Merb Presentation
Merb PresentationMerb Presentation
Merb Presentation
 

Plus de Matt Aimonetti

Macruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich KilmerMacruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich Kilmer
Matt Aimonetti
 

Plus de Matt Aimonetti (7)

Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010
 
2D Video Games with MacRuby
2D Video Games with MacRuby2D Video Games with MacRuby
2D Video Games with MacRuby
 
Future Of Ruby And Rails
Future Of Ruby And RailsFuture Of Ruby And Rails
Future Of Ruby And Rails
 
Rails3: Stepping off of the golden path
Rails3: Stepping off of the golden pathRails3: Stepping off of the golden path
Rails3: Stepping off of the golden path
 
Macruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich KilmerMacruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich Kilmer
 
MacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meet
 
Lazy Indexing
Lazy IndexingLazy Indexing
Lazy Indexing
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Merb presentation at ORUG