SlideShare uma empresa Scribd logo
1 de 171
Baixar para ler offline
Ruby on Rails
AkitaOnRails.com
 slideshare.net/akitaonrails
2008
2008
13 e 14
Outubro

2009
Ruby on Rails   2.3

 Ruby “MRI”     1.8

Ruby “Yarv”     1.9

   JRuby        1.3
Ruby on Rails   2.3

 Ruby “MRI”     1.8

Ruby “Yarv”     1.9

   JRuby        1.3
Ruby on Rails   2.3

 Ruby “MRI”     1.8

Ruby “Yarv”     1.9

   JRuby        1.3
Ruby on Rails   2.3

 Ruby “MRI”     1.8

Ruby “Yarv”     1.9

   JRuby        1.3
x mais lento que C++
x mais lento que C++
                0
                    50
                                  100
Python 2                                        150

 Ruby 1.9                                             200

     Perl

     JRuby

   Python 3

       PHP

   Ruby 1.8.6
Demo
http://github.com/FooBarWidget/rubystein
gem install gosu
Comunidade
peepcode.com




               Geoffrey
railsenvy.com




                Jason e Gregg
railscasts.com




                 Ryan Bates
guias.rubyonrails.pro.br




                           Pratik Naik
rubylearning.org




                   Satish Talim
rubyinside.com.br




                    Peter Cooper
why.nomedojogo.com




                     _why
Ruby on Rails
RUBY
Rails          ActiveSupport


        RUBY
ActionController
ActionPack
                      ActionView


  Rails             ActiveSupport


             RUBY
ActiveRecord
                      ActionController
  ActionPack
                        ActionView


    Rails             ActiveSupport


               RUBY
ActionMailer
ActiveRecord
                      ActionController
  ActionPack
                        ActionView


    Rails             ActiveSupport


               RUBY
ActiveResource          ActionWebService

                          ActionMailer
ActiveRecord
                        ActionController
  ActionPack
                          ActionView


    Rails               ActiveSupport


                 RUBY
Ruby Gems
Configurando
  Projeto
MVC
Configuração
3 Ambientes
Assets
Ferramentas
Suíte de Testes
Plugins
 Gems
Features
 Specs
ERB              HAML

                     RSpec
   test/unit
                    Cucumber

    Fixtures       Factory Girl


  HTTP Auth         Authlogic


Rails Generators Nifty Generators
ERB              HAML

                     RSpec
   test/unit
                    Cucumber

    Fixtures       Factory Girl


  HTTP Auth         Authlogic


Rails Generators Nifty Generators
ERB              HAML

                     RSpec
   test/unit
                    Cucumber

    Fixtures       Factory Girl


  HTTP Auth         Authlogic


Rails Generators Nifty Generators
ERB              HAML

                     RSpec
   test/unit
                    Cucumber

    Fixtures       Factory Girl


  HTTP Auth         Authlogic


Rails Generators Nifty Generators
ERB              HAML

                     RSpec
   test/unit
                    Cucumber

    Fixtures       Factory Girl


  HTTP Auth         Authlogic


Rails Generators Nifty Generators
Coisas que já vem
     no Rails
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
Autenticação     Suporte Ruby
    HTTP             1.9.1
                  Processamento
 Atom Builder
                     de Email
Parsers de XML,
                   i18n (básica)
     JSON
                      Rack
  Rake Tasks
                   Middlewares
                  Dispositivos de
Diversos Caches
                    Segurança
http://github.com/akitaonrails/fisl_10_demo
git checkout
   parte_x
Demo
Rails é Lento
Homepage: 331 ms
Homepage: 331 ms

Total: 5.45 s
PHP “puro”       331 req/s


 CakePHP        4 a 8 req/s*


Code Igniter   22 a 98 req/s*


Rails (2008)     88 req/s
PHP “puro”       331 req/s


 CakePHP        4 a 8 req/s*


Code Igniter   22 a 98 req/s*


Rails (2008)     88 req/s
PHP “puro”       331 req/s


 CakePHP        4 a 8 req/s*


Code Igniter   22 a 98 req/s*


Rails (2008)     88 req/s
PHP “puro”       331 req/s


 CakePHP        4 a 8 req/s*


Code Igniter   22 a 98 req/s*


Rails (2008)     88 req/s
PHP      Reload




Java   Persistente




Ruby     Misto
PHP      Reload




Java   Persistente




Ruby     Misto
PHP      Reload




Java   Persistente




Ruby     Misto
Performance
     !=
Escalabilidade
Performance
   Ghz
 “Vertical”
Escalabilidade
MultiCore
 “Horizontal”
Demo
Ferramentas
   Ágeis
Gerenciamento
Repositórios
Integração
 Contínua
Manutenção
Otimização
Muito mais!
Obrigado!
    akitaonrails.com
 github.com/akitaonrails
slideshare.net/akitaonrails

Mais conteúdo relacionado

Semelhante a Fisl 10

Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Daniel Lopes
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoEmerson Macedo
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
Ecossistema Ruby e Rails (Serpro BH)
Ecossistema Ruby e Rails (Serpro BH)Ecossistema Ruby e Rails (Serpro BH)
Ecossistema Ruby e Rails (Serpro BH)Daniel Lopes
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 
JavaScript Applications
JavaScript ApplicationsJavaScript Applications
JavaScript ApplicationsLuciano Costa
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVMWilliam Gouvea
 
Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Emerson Macedo
 
Minicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsMinicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsWakeUpSystems
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSEmerson Macedo
 
Heroku escalabilidade
Heroku escalabilidadeHeroku escalabilidade
Heroku escalabilidadeBruno Andrade
 
Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On RailsAlberto Leal
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercadoelliando dias
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nívelIgor Sobreira
 
TDC 2011 - HornetQ e SwitchYard
TDC 2011 - HornetQ e SwitchYardTDC 2011 - HornetQ e SwitchYard
TDC 2011 - HornetQ e SwitchYardSamuel Tauil
 

Semelhante a Fisl 10 (20)

Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)Filosofia Ruby e Rails (UFOP e Inforuso 2010)
Filosofia Ruby e Rails (UFOP e Inforuso 2010)
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - Introdução
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
Ecossistema Ruby e Rails (Serpro BH)
Ecossistema Ruby e Rails (Serpro BH)Ecossistema Ruby e Rails (Serpro BH)
Ecossistema Ruby e Rails (Serpro BH)
 
Apache e Java
Apache e JavaApache e Java
Apache e Java
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 
JavaScript Applications
JavaScript ApplicationsJavaScript Applications
JavaScript Applications
 
Linguagens Dinamicas na JVM
Linguagens Dinamicas na JVMLinguagens Dinamicas na JVM
Linguagens Dinamicas na JVM
 
O mundo visto de dentro do Ruby
O mundo visto de dentro do RubyO mundo visto de dentro do Ruby
O mundo visto de dentro do Ruby
 
Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010Beyond Ruby with NodeJS - RubyConf Brasil 2010
Beyond Ruby with NodeJS - RubyConf Brasil 2010
 
GUJavaSC - Java EE 7 In Action
GUJavaSC - Java EE 7 In ActionGUJavaSC - Java EE 7 In Action
GUJavaSC - Java EE 7 In Action
 
Minicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up SystemsMinicurso Ruby on Rails - Wake Up Systems
Minicurso Ruby on Rails - Wake Up Systems
 
Ruby e Rails
Ruby e RailsRuby e Rails
Ruby e Rails
 
RubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJSRubyMasters 2011 - Beyond Ruby with NodeJS
RubyMasters 2011 - Beyond Ruby with NodeJS
 
HTTP Monkey
HTTP MonkeyHTTP Monkey
HTTP Monkey
 
Heroku escalabilidade
Heroku escalabilidadeHeroku escalabilidade
Heroku escalabilidade
 
Prazer,Ruby On Rails
Prazer,Ruby On RailsPrazer,Ruby On Rails
Prazer,Ruby On Rails
 
ruby on rails e o mercado
ruby on rails e o mercadoruby on rails e o mercado
ruby on rails e o mercado
 
Python - Programando em alto nível
Python - Programando em alto nívelPython - Programando em alto nível
Python - Programando em alto nível
 
TDC 2011 - HornetQ e SwitchYard
TDC 2011 - HornetQ e SwitchYardTDC 2011 - HornetQ e SwitchYard
TDC 2011 - HornetQ e SwitchYard
 

Mais de Fabio Akita

Devconf 2019 - São Carlos
Devconf 2019 - São CarlosDevconf 2019 - São Carlos
Devconf 2019 - São CarlosFabio Akita
 
Meetup Nerdzão - English Talk about Languages
Meetup Nerdzão  - English Talk about LanguagesMeetup Nerdzão  - English Talk about Languages
Meetup Nerdzão - English Talk about LanguagesFabio Akita
 
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018Fabio Akita
 
Desmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SPDesmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SPFabio Akita
 
Desmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter GoianiaDesmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter GoianiaFabio Akita
 
Blockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7MastersBlockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7MastersFabio Akita
 
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
Elixir  -Tolerância a Falhas para Adultos - GDG CampinasElixir  -Tolerância a Falhas para Adultos - GDG Campinas
Elixir -Tolerância a Falhas para Adultos - GDG CampinasFabio Akita
 
Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017Fabio Akita
 
30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to Ruby30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to RubyFabio Akita
 
Uma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TIUma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TIFabio Akita
 
THE CONF - Opening Keynote
THE CONF - Opening KeynoteTHE CONF - Opening Keynote
THE CONF - Opening KeynoteFabio Akita
 
A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017Fabio Akita
 
Desmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - APDesmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - APFabio Akita
 
A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017Fabio Akita
 
A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017Fabio Akita
 
A Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech DayA Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech DayFabio Akita
 
A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016Fabio Akita
 
Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016Fabio Akita
 
Conexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização PrematuraConexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização PrematuraFabio Akita
 
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilThe Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilFabio Akita
 

Mais de Fabio Akita (20)

Devconf 2019 - São Carlos
Devconf 2019 - São CarlosDevconf 2019 - São Carlos
Devconf 2019 - São Carlos
 
Meetup Nerdzão - English Talk about Languages
Meetup Nerdzão  - English Talk about LanguagesMeetup Nerdzão  - English Talk about Languages
Meetup Nerdzão - English Talk about Languages
 
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
Desmistificando Blockchains p/ Developers - Criciuma Dev Conf 2018
 
Desmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SPDesmistificando Blockchains - 20o Encontro Locaweb SP
Desmistificando Blockchains - 20o Encontro Locaweb SP
 
Desmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter GoianiaDesmistificando Blockchains - Insiter Goiania
Desmistificando Blockchains - Insiter Goiania
 
Blockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7MastersBlockchain em 7 minutos - 7Masters
Blockchain em 7 minutos - 7Masters
 
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
Elixir  -Tolerância a Falhas para Adultos - GDG CampinasElixir  -Tolerância a Falhas para Adultos - GDG Campinas
Elixir -Tolerância a Falhas para Adultos - GDG Campinas
 
Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017Desmistificando Mitos de Tech Startups - Intercon 2017
Desmistificando Mitos de Tech Startups - Intercon 2017
 
30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to Ruby30 Days to Elixir and Crystal and Back to Ruby
30 Days to Elixir and Crystal and Back to Ruby
 
Uma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TIUma Discussão sobre a Carreira de TI
Uma Discussão sobre a Carreira de TI
 
THE CONF - Opening Keynote
THE CONF - Opening KeynoteTHE CONF - Opening Keynote
THE CONF - Opening Keynote
 
A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017A Journey through New Languages - Rancho Dev 2017
A Journey through New Languages - Rancho Dev 2017
 
Desmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - APDesmistificando Mitos de Startups - Sebrae - AP
Desmistificando Mitos de Startups - Sebrae - AP
 
A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017A Journey through New Languages - Guru Sorocaba 2017
A Journey through New Languages - Guru Sorocaba 2017
 
A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017A Journey through New Languages - Insiter 2017
A Journey through New Languages - Insiter 2017
 
A Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech DayA Journey through New Languages - Locaweb Tech Day
A Journey through New Languages - Locaweb Tech Day
 
A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016A Journey through new Languages - Intercon 2016
A Journey through new Languages - Intercon 2016
 
Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016Premature Optimization 2.0 - Intercon 2016
Premature Optimization 2.0 - Intercon 2016
 
Conexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização PrematuraConexão Kinghost - Otimização Prematura
Conexão Kinghost - Otimização Prematura
 
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilThe Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
 

Fisl 10