SlideShare ist ein Scribd-Unternehmen logo
1 von 118
Downloaden Sie, um offline zu lesen
Introdução ao Ruby
                         powered by JRuby

Monday, March 23, 2009
AkitaOnRails.com




Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Pequena introdução

                           Instalando o Ambiente

                         Apresentando a Linguagem

                            Testando com Ruby

                              Rails on JRuby

                               Aprendendo

Monday, March 23, 2009
Pequena introdução

                           Instalando o Ambiente

                         Apresentando a Linguagem

                            Testando com Ruby

                              Rails on JRuby

                               Aprendendo

Monday, March 23, 2009
Pequena introdução

                           Instalando o Ambiente

                         Apresentando a Linguagem

                            Testando com Ruby

                              Rails on JRuby

                               Aprendendo

Monday, March 23, 2009
Pequena introdução

                           Instalando o Ambiente

                         Apresentando a Linguagem

                            Testando com Ruby

                              Rails on JRuby

                               Aprendendo

Monday, March 23, 2009
Pequena introdução

                           Instalando o Ambiente

                         Apresentando a Linguagem

                            Testando com Ruby

                              Rails on JRuby

                               Aprendendo

Monday, March 23, 2009
Pequena introdução

                           Instalando o Ambiente

                         Apresentando a Linguagem

                            Testando com Ruby

                              Rails on JRuby

                               Aprendendo

Monday, March 23, 2009
1
Monday, March 23, 2009
“Matz”




                         1993
Monday, March 23, 2009
“Prag Dave”




                         2001
Monday, March 23, 2009
“DHH”



                          2004
Monday, March 23, 2009
Charles Nutter



                              2006
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
“Tornar as coisas simples
                   fáceis e as coisas
                 complexas possíveis”
                         Filosofia Ruby




Monday, March 23, 2009
Monday, March 23, 2009
x mais lento que C++




Monday, March 23, 2009
x mais lento que C++


                         0   50              100
                                                         150
                                                               200
     Python 2


      Ruby 1.9


           Perl

          JRuby

        Python 3

             PHP

        Ruby 1.8.6




Monday, March 23, 2009
1
Monday, March 23, 2009
2
Monday, March 23, 2009
Instalando JRuby

                         jruby.codehaus.org




Monday, March 23, 2009
dist.codehaus.org/jruby
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
cd /opt/local


             wget http://dist.codehaus.org/jruby/1.2.0/
             jruby-bin-1.2.0.zip


             unzip jruby-bin-1.2.0.zip


             ln -s jruby jruby-bin-1.2.0


             mv jruby/ruby/lib/ruby/gems jruby_gems


             ln -s jruby/ruby/lib/ruby/gems jruby_gems


Monday, March 23, 2009
cd /opt/local


             wget http://dist.codehaus.org/jruby/1.2.0/
             jruby-bin-1.2.0.zip


             unzip jruby-bin-1.2.0.zip


             ln -s jruby jruby-bin-1.2.0


             mv jruby/ruby/lib/ruby/gems jruby_gems


             ln -s jruby/ruby/lib/ruby/gems jruby_gems


Monday, March 23, 2009
cd /opt/local


             wget http://dist.codehaus.org/jruby/1.2.0/
             jruby-bin-1.2.0.zip


             unzip jruby-bin-1.2.0.zip


             ln -s jruby jruby-bin-1.2.0


             mv jruby/ruby/lib/ruby/gems jruby_gems


             ln -s jruby/ruby/lib/ruby/gems jruby_gems


Monday, March 23, 2009
cd /opt/local


             wget http://dist.codehaus.org/jruby/1.2.0/
             jruby-bin-1.2.0.zip


             unzip jruby-bin-1.2.0.zip


             ln -s jruby jruby-bin-1.2.0


             mv jruby/ruby/lib/ruby/gems jruby_gems


             ln -s jruby/ruby/lib/ruby/gems jruby_gems


Monday, March 23, 2009
cd /opt/local


             wget http://dist.codehaus.org/jruby/1.2.0/
             jruby-bin-1.2.0.zip


             unzip jruby-bin-1.2.0.zip


             ln -s jruby jruby-bin-1.2.0


             mv jruby/ruby/lib/ruby/gems jruby_gems


             ln -s jruby/ruby/lib/ruby/gems jruby_gems


Monday, March 23, 2009
cd /opt/local


             wget http://dist.codehaus.org/jruby/1.2.0/
             jruby-bin-1.2.0.zip


             unzip jruby-bin-1.2.0.zip


             ln -s jruby jruby-bin-1.2.0


             mv jruby/ruby/lib/ruby/gems jruby_gems


             ln -s jruby/ruby/lib/ruby/gems jruby_gems


Monday, March 23, 2009
Monday, March 23, 2009
export JRUBY_HOME=/opt/local/jruby

                 export $JRUBY_HOME/bin:$PATH




Monday, March 23, 2009
jruby -S gem install ...

                   activerecord-jdbc-adapter             jetty-rails

                   activerecord-jdbcmysql-adapter        jruby-openssl

                   activerecord-jdbcpostgresql-adapter   nifty-generators

                   activerecord-jdbcsqlite3-adapter      rails

                   cucumber                              rspec

                   glassfish                              rspec-rails

                   jdbc-mysql                            warbler

                   jdbc-postgres                         webrat

                   jdbc-sqlite3                          ZenTest



Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Instalando
                          Netbeans

                           netbeans.org



Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Netbeans + VIM =
                        jVI

                         jvi.sourceforge.net



Monday, March 23, 2009
Monday, March 23, 2009
2
Monday, March 23, 2009
3
Monday, March 23, 2009
Ruby, a linguagem




Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Quase tudo é um objeto

                         Classes Abertas, Módulos, Mixins

                         Parâmetros flexíveis de métodos

                         Duck Typing: “envio de mensagens”

                               Blocos, Fechamentos

                               IRB: Interpreted Ruby

Monday, March 23, 2009
Quase tudo é um objeto

                         Classes Abertas, Módulos, Mixins

                         Parâmetros flexíveis de métodos

                         Duck Typing: “envio de mensagens”

                               Blocos, Fechamentos

                               IRB: Interpreted Ruby

Monday, March 23, 2009
Quase tudo é um objeto

                         Classes Abertas, Módulos, Mixins

                         Parâmetros flexíveis de métodos

                         Duck Typing: “envio de mensagens”

                               Blocos, Fechamentos

                               IRB: Interpreted Ruby

Monday, March 23, 2009
Quase tudo é um objeto

                         Classes Abertas, Módulos, Mixins

                         Parâmetros flexíveis de métodos

                         Duck Typing: “envio de mensagens”

                               Blocos, Fechamentos

                               IRB: Interpreted Ruby

Monday, March 23, 2009
Quase tudo é um objeto

                         Classes Abertas, Módulos, Mixins

                         Parâmetros flexíveis de métodos

                         Duck Typing: “envio de mensagens”

                               Blocos, Fechamentos

                               IRB: Interpreted Ruby

Monday, March 23, 2009
Quase tudo é um objeto

                         Classes Abertas, Módulos, Mixins

                         Parâmetros flexíveis de métodos

                         Duck Typing: “envio de mensagens”

                               Blocos, Fechamentos

                               IRB: Interpreted Ruby

Monday, March 23, 2009
JRuby, a integração




Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
JIRB = Java IRB

                                   import java

                              isEmpty() == empty?

                              Classes Finais Abertas

                         Anonymous Inner Class = Blocos

                         Conversão automáticos de Tipos

Monday, March 23, 2009
JIRB = Java IRB

                                   import java

                              isEmpty() == empty?

                              Classes Finais Abertas

                         Anonymous Inner Class = Blocos

                         Conversão automáticos de Tipos

Monday, March 23, 2009
JIRB = Java IRB

                                   import java

                              isEmpty() == empty?

                              Classes Finais Abertas

                         Anonymous Inner Class = Blocos

                         Conversão automáticos de Tipos

Monday, March 23, 2009
JIRB = Java IRB

                                   import java

                              isEmpty() == empty?

                              Classes Finais Abertas

                         Anonymous Inner Class = Blocos

                         Conversão automáticos de Tipos

Monday, March 23, 2009
JIRB = Java IRB

                                   import java

                              isEmpty() == empty?

                              Classes Finais Abertas

                         Anonymous Inner Class = Blocos

                         Conversão automáticos de Tipos

Monday, March 23, 2009
JIRB = Java IRB

                                   import java

                              isEmpty() == empty?

                              Classes Finais Abertas

                         Anonymous Inner Class = Blocos

                         Conversão automáticos de Tipos

Monday, March 23, 2009
3
Monday, March 23, 2009
“to be continued ...”




Monday, March 23, 2009
4
Monday, March 23, 2009
Testando Java com
                   Ruby

                              jtestr.codehaus.org
                         github.com/akitaonrails/jtestr

Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
test/unit

                            RSpec

                             dust

                         Expectations

                         Ant, Maven

                           Eclipse

Monday, March 23, 2009
test/unit

                            RSpec

                             dust

                         Expectations

                         Ant, Maven

                           Eclipse

Monday, March 23, 2009
test/unit

                            RSpec

                             dust

                         Expectations

                         Ant, Maven

                           Eclipse

Monday, March 23, 2009
test/unit

                            RSpec

                             dust

                         Expectations

                         Ant, Maven

                           Eclipse

Monday, March 23, 2009
test/unit

                            RSpec

                             dust

                         Expectations

                         Ant, Maven

                           Eclipse

Monday, March 23, 2009
test/unit

                            RSpec

                             dust

                         Expectations

                         Ant, Maven

                           Eclipse

Monday, March 23, 2009
Cucumber, Rspec
                      & cia.

       gem install cucumber rspec rspec-rails webrat hpricot


Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Netbeans apenas como Editor

                             Terminal - a melhor opção

                            RSpec, melhor suíte de teste

                   Cucumber, melhor teste de aceitação

                         Webrat, mais simples que Selenium

                    Para a próxima: Fixtures vs Factories

Monday, March 23, 2009
Netbeans apenas como Editor

                             Terminal - a melhor opção

                            RSpec, melhor suíte de teste

                   Cucumber, melhor teste de aceitação

                         Webrat, mais simples que Selenium

                    Para a próxima: Fixtures vs Factories

Monday, March 23, 2009
Netbeans apenas como Editor

                             Terminal - a melhor opção

                            RSpec, melhor suíte de teste

                   Cucumber, melhor teste de aceitação

                         Webrat, mais simples que Selenium

                    Para a próxima: Fixtures vs Factories

Monday, March 23, 2009
Netbeans apenas como Editor

                             Terminal - a melhor opção

                            RSpec, melhor suíte de teste

                   Cucumber, melhor teste de aceitação

                         Webrat, mais simples que Selenium

                    Para a próxima: Fixtures vs Factories

Monday, March 23, 2009
Netbeans apenas como Editor

                             Terminal - a melhor opção

                            RSpec, melhor suíte de teste

                   Cucumber, melhor teste de aceitação

                         Webrat, mais simples que Selenium

                    Para a próxima: Fixtures vs Factories

Monday, March 23, 2009
Netbeans apenas como Editor

                             Terminal - a melhor opção

                            RSpec, melhor suíte de teste

                   Cucumber, melhor teste de aceitação

                         Webrat, mais simples que Selenium

                    Para a próxima: Fixtures vs Factories

Monday, March 23, 2009
4
Monday, March 23, 2009
5
Monday, March 23, 2009
JRuby on Rails


                          tomcat, glassfish, jetty, jboss


Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
JRUBY_VERSION


                                       JDBC


                                     Warbler


                              Problema: gems nativas

                         Para a próxima: JNDI, cluster, etc

Monday, March 23, 2009
JRUBY_VERSION


                                       JDBC


                                     Warbler


                              Problema: gems nativas

                         Para a próxima: JNDI, cluster, etc

Monday, March 23, 2009
JRUBY_VERSION


                                       JDBC


                                     Warbler


                              Problema: gems nativas

                         Para a próxima: JNDI, cluster, etc

Monday, March 23, 2009
JRUBY_VERSION


                                       JDBC


                                     Warbler


                              Problema: gems nativas

                         Para a próxima: JNDI, cluster, etc

Monday, March 23, 2009
JRUBY_VERSION


                                       JDBC


                                     Warbler


                              Problema: gems nativas

                         Para a próxima: JNDI, cluster, etc

Monday, March 23, 2009
x mais lento que C++




Monday, March 23, 2009
x mais lento que C++


                         0   50              100
                                                         150
                                                               200
     Python 2


      Ruby 1.9


           Perl

          JRuby

        Python 3

             PHP

        Ruby 1.8.6




Monday, March 23, 2009
5
Monday, March 23, 2009
6
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
Monday, March 23, 2009
“Especialista de
              uma coisa só é um
              amador em todo o
                   resto.”

Monday, March 23, 2009
Obrigado!
                         akitaonrails.com




Monday, March 23, 2009

Weitere ähnliche Inhalte

Ähnlich wie Palestra no Grupo Sou Java

The Enterprise Strikes Back
The Enterprise Strikes BackThe Enterprise Strikes Back
The Enterprise Strikes BackBurke Libbey
 
Promiscuous Drupal
Promiscuous DrupalPromiscuous Drupal
Promiscuous DrupalJeff Eaton
 
Parsing for Fun and Profit
Parsing for Fun and ProfitParsing for Fun and Profit
Parsing for Fun and ProfitPatchSpace Ltd
 
The Craftsman Developer In An Agile World
The Craftsman Developer In An Agile WorldThe Craftsman Developer In An Agile World
The Craftsman Developer In An Agile WorldOpenAgile Romania
 
High Performance Ruby - E4E Conference 2013
High Performance Ruby - E4E Conference 2013High Performance Ruby - E4E Conference 2013
High Performance Ruby - E4E Conference 2013Charles Nutter
 
When Ruby Meets Java - The Power of Torquebox
When Ruby Meets Java - The Power of TorqueboxWhen Ruby Meets Java - The Power of Torquebox
When Ruby Meets Java - The Power of Torqueboxrockyjaiswal
 
2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009
2009, o ano do Ruby on Rails no Brasil - CaelumDay 20092009, o ano do Ruby on Rails no Brasil - CaelumDay 2009
2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009Caue Guerra
 
Plugin Memcached%20 Study
Plugin Memcached%20 StudyPlugin Memcached%20 Study
Plugin Memcached%20 StudyLiu Lizhi
 
Charla ruby nscodermad
Charla ruby nscodermadCharla ruby nscodermad
Charla ruby nscodermadnscoder_mad
 

Ähnlich wie Palestra no Grupo Sou Java (12)

The Enterprise Strikes Back
The Enterprise Strikes BackThe Enterprise Strikes Back
The Enterprise Strikes Back
 
Promiscuous Drupal
Promiscuous DrupalPromiscuous Drupal
Promiscuous Drupal
 
Parsing for Fun and Profit
Parsing for Fun and ProfitParsing for Fun and Profit
Parsing for Fun and Profit
 
Conférence Tic 09
Conférence Tic 09Conférence Tic 09
Conférence Tic 09
 
Ruby AST Tools
Ruby AST ToolsRuby AST Tools
Ruby AST Tools
 
The Craftsman Developer In An Agile World
The Craftsman Developer In An Agile WorldThe Craftsman Developer In An Agile World
The Craftsman Developer In An Agile World
 
High Performance Ruby - E4E Conference 2013
High Performance Ruby - E4E Conference 2013High Performance Ruby - E4E Conference 2013
High Performance Ruby - E4E Conference 2013
 
When Ruby Meets Java - The Power of Torquebox
When Ruby Meets Java - The Power of TorqueboxWhen Ruby Meets Java - The Power of Torquebox
When Ruby Meets Java - The Power of Torquebox
 
2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009
2009, o ano do Ruby on Rails no Brasil - CaelumDay 20092009, o ano do Ruby on Rails no Brasil - CaelumDay 2009
2009, o ano do Ruby on Rails no Brasil - CaelumDay 2009
 
Memcached
MemcachedMemcached
Memcached
 
Plugin Memcached%20 Study
Plugin Memcached%20 StudyPlugin Memcached%20 Study
Plugin Memcached%20 Study
 
Charla ruby nscodermad
Charla ruby nscodermadCharla ruby nscodermad
Charla ruby nscodermad
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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 slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
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 Takeoffsammart93
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 organizationRadu Cotescu
 
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 WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Kürzlich hochgeladen (20)

Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
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
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

Palestra no Grupo Sou Java

  • 1. Introdução ao Ruby powered by JRuby Monday, March 23, 2009
  • 7. Pequena introdução Instalando o Ambiente Apresentando a Linguagem Testando com Ruby Rails on JRuby Aprendendo Monday, March 23, 2009
  • 8. Pequena introdução Instalando o Ambiente Apresentando a Linguagem Testando com Ruby Rails on JRuby Aprendendo Monday, March 23, 2009
  • 9. Pequena introdução Instalando o Ambiente Apresentando a Linguagem Testando com Ruby Rails on JRuby Aprendendo Monday, March 23, 2009
  • 10. Pequena introdução Instalando o Ambiente Apresentando a Linguagem Testando com Ruby Rails on JRuby Aprendendo Monday, March 23, 2009
  • 11. Pequena introdução Instalando o Ambiente Apresentando a Linguagem Testando com Ruby Rails on JRuby Aprendendo Monday, March 23, 2009
  • 12. Pequena introdução Instalando o Ambiente Apresentando a Linguagem Testando com Ruby Rails on JRuby Aprendendo Monday, March 23, 2009
  • 14. “Matz” 1993 Monday, March 23, 2009
  • 15. “Prag Dave” 2001 Monday, March 23, 2009
  • 16. “DHH” 2004 Monday, March 23, 2009
  • 17. Charles Nutter 2006 Monday, March 23, 2009
  • 20. “Tornar as coisas simples fáceis e as coisas complexas possíveis” Filosofia Ruby Monday, March 23, 2009
  • 22. x mais lento que C++ Monday, March 23, 2009
  • 23. x mais lento que C++ 0 50 100 150 200 Python 2 Ruby 1.9 Perl JRuby Python 3 PHP Ruby 1.8.6 Monday, March 23, 2009
  • 26. Instalando JRuby jruby.codehaus.org Monday, March 23, 2009
  • 30. cd /opt/local wget http://dist.codehaus.org/jruby/1.2.0/ jruby-bin-1.2.0.zip unzip jruby-bin-1.2.0.zip ln -s jruby jruby-bin-1.2.0 mv jruby/ruby/lib/ruby/gems jruby_gems ln -s jruby/ruby/lib/ruby/gems jruby_gems Monday, March 23, 2009
  • 31. cd /opt/local wget http://dist.codehaus.org/jruby/1.2.0/ jruby-bin-1.2.0.zip unzip jruby-bin-1.2.0.zip ln -s jruby jruby-bin-1.2.0 mv jruby/ruby/lib/ruby/gems jruby_gems ln -s jruby/ruby/lib/ruby/gems jruby_gems Monday, March 23, 2009
  • 32. cd /opt/local wget http://dist.codehaus.org/jruby/1.2.0/ jruby-bin-1.2.0.zip unzip jruby-bin-1.2.0.zip ln -s jruby jruby-bin-1.2.0 mv jruby/ruby/lib/ruby/gems jruby_gems ln -s jruby/ruby/lib/ruby/gems jruby_gems Monday, March 23, 2009
  • 33. cd /opt/local wget http://dist.codehaus.org/jruby/1.2.0/ jruby-bin-1.2.0.zip unzip jruby-bin-1.2.0.zip ln -s jruby jruby-bin-1.2.0 mv jruby/ruby/lib/ruby/gems jruby_gems ln -s jruby/ruby/lib/ruby/gems jruby_gems Monday, March 23, 2009
  • 34. cd /opt/local wget http://dist.codehaus.org/jruby/1.2.0/ jruby-bin-1.2.0.zip unzip jruby-bin-1.2.0.zip ln -s jruby jruby-bin-1.2.0 mv jruby/ruby/lib/ruby/gems jruby_gems ln -s jruby/ruby/lib/ruby/gems jruby_gems Monday, March 23, 2009
  • 35. cd /opt/local wget http://dist.codehaus.org/jruby/1.2.0/ jruby-bin-1.2.0.zip unzip jruby-bin-1.2.0.zip ln -s jruby jruby-bin-1.2.0 mv jruby/ruby/lib/ruby/gems jruby_gems ln -s jruby/ruby/lib/ruby/gems jruby_gems Monday, March 23, 2009
  • 37. export JRUBY_HOME=/opt/local/jruby export $JRUBY_HOME/bin:$PATH Monday, March 23, 2009
  • 38. jruby -S gem install ... activerecord-jdbc-adapter jetty-rails activerecord-jdbcmysql-adapter jruby-openssl activerecord-jdbcpostgresql-adapter nifty-generators activerecord-jdbcsqlite3-adapter rails cucumber rspec glassfish rspec-rails jdbc-mysql warbler jdbc-postgres webrat jdbc-sqlite3 ZenTest Monday, March 23, 2009
  • 44. Instalando Netbeans netbeans.org Monday, March 23, 2009
  • 48. Netbeans + VIM = jVI jvi.sourceforge.net Monday, March 23, 2009
  • 52. Ruby, a linguagem Monday, March 23, 2009
  • 56. Quase tudo é um objeto Classes Abertas, Módulos, Mixins Parâmetros flexíveis de métodos Duck Typing: “envio de mensagens” Blocos, Fechamentos IRB: Interpreted Ruby Monday, March 23, 2009
  • 57. Quase tudo é um objeto Classes Abertas, Módulos, Mixins Parâmetros flexíveis de métodos Duck Typing: “envio de mensagens” Blocos, Fechamentos IRB: Interpreted Ruby Monday, March 23, 2009
  • 58. Quase tudo é um objeto Classes Abertas, Módulos, Mixins Parâmetros flexíveis de métodos Duck Typing: “envio de mensagens” Blocos, Fechamentos IRB: Interpreted Ruby Monday, March 23, 2009
  • 59. Quase tudo é um objeto Classes Abertas, Módulos, Mixins Parâmetros flexíveis de métodos Duck Typing: “envio de mensagens” Blocos, Fechamentos IRB: Interpreted Ruby Monday, March 23, 2009
  • 60. Quase tudo é um objeto Classes Abertas, Módulos, Mixins Parâmetros flexíveis de métodos Duck Typing: “envio de mensagens” Blocos, Fechamentos IRB: Interpreted Ruby Monday, March 23, 2009
  • 61. Quase tudo é um objeto Classes Abertas, Módulos, Mixins Parâmetros flexíveis de métodos Duck Typing: “envio de mensagens” Blocos, Fechamentos IRB: Interpreted Ruby Monday, March 23, 2009
  • 66. JIRB = Java IRB import java isEmpty() == empty? Classes Finais Abertas Anonymous Inner Class = Blocos Conversão automáticos de Tipos Monday, March 23, 2009
  • 67. JIRB = Java IRB import java isEmpty() == empty? Classes Finais Abertas Anonymous Inner Class = Blocos Conversão automáticos de Tipos Monday, March 23, 2009
  • 68. JIRB = Java IRB import java isEmpty() == empty? Classes Finais Abertas Anonymous Inner Class = Blocos Conversão automáticos de Tipos Monday, March 23, 2009
  • 69. JIRB = Java IRB import java isEmpty() == empty? Classes Finais Abertas Anonymous Inner Class = Blocos Conversão automáticos de Tipos Monday, March 23, 2009
  • 70. JIRB = Java IRB import java isEmpty() == empty? Classes Finais Abertas Anonymous Inner Class = Blocos Conversão automáticos de Tipos Monday, March 23, 2009
  • 71. JIRB = Java IRB import java isEmpty() == empty? Classes Finais Abertas Anonymous Inner Class = Blocos Conversão automáticos de Tipos Monday, March 23, 2009
  • 73. “to be continued ...” Monday, March 23, 2009
  • 75. Testando Java com Ruby jtestr.codehaus.org github.com/akitaonrails/jtestr Monday, March 23, 2009
  • 79. test/unit RSpec dust Expectations Ant, Maven Eclipse Monday, March 23, 2009
  • 80. test/unit RSpec dust Expectations Ant, Maven Eclipse Monday, March 23, 2009
  • 81. test/unit RSpec dust Expectations Ant, Maven Eclipse Monday, March 23, 2009
  • 82. test/unit RSpec dust Expectations Ant, Maven Eclipse Monday, March 23, 2009
  • 83. test/unit RSpec dust Expectations Ant, Maven Eclipse Monday, March 23, 2009
  • 84. test/unit RSpec dust Expectations Ant, Maven Eclipse Monday, March 23, 2009
  • 85. Cucumber, Rspec & cia. gem install cucumber rspec rspec-rails webrat hpricot Monday, March 23, 2009
  • 89. Netbeans apenas como Editor Terminal - a melhor opção RSpec, melhor suíte de teste Cucumber, melhor teste de aceitação Webrat, mais simples que Selenium Para a próxima: Fixtures vs Factories Monday, March 23, 2009
  • 90. Netbeans apenas como Editor Terminal - a melhor opção RSpec, melhor suíte de teste Cucumber, melhor teste de aceitação Webrat, mais simples que Selenium Para a próxima: Fixtures vs Factories Monday, March 23, 2009
  • 91. Netbeans apenas como Editor Terminal - a melhor opção RSpec, melhor suíte de teste Cucumber, melhor teste de aceitação Webrat, mais simples que Selenium Para a próxima: Fixtures vs Factories Monday, March 23, 2009
  • 92. Netbeans apenas como Editor Terminal - a melhor opção RSpec, melhor suíte de teste Cucumber, melhor teste de aceitação Webrat, mais simples que Selenium Para a próxima: Fixtures vs Factories Monday, March 23, 2009
  • 93. Netbeans apenas como Editor Terminal - a melhor opção RSpec, melhor suíte de teste Cucumber, melhor teste de aceitação Webrat, mais simples que Selenium Para a próxima: Fixtures vs Factories Monday, March 23, 2009
  • 94. Netbeans apenas como Editor Terminal - a melhor opção RSpec, melhor suíte de teste Cucumber, melhor teste de aceitação Webrat, mais simples que Selenium Para a próxima: Fixtures vs Factories Monday, March 23, 2009
  • 97. JRuby on Rails tomcat, glassfish, jetty, jboss Monday, March 23, 2009
  • 101. JRUBY_VERSION JDBC Warbler Problema: gems nativas Para a próxima: JNDI, cluster, etc Monday, March 23, 2009
  • 102. JRUBY_VERSION JDBC Warbler Problema: gems nativas Para a próxima: JNDI, cluster, etc Monday, March 23, 2009
  • 103. JRUBY_VERSION JDBC Warbler Problema: gems nativas Para a próxima: JNDI, cluster, etc Monday, March 23, 2009
  • 104. JRUBY_VERSION JDBC Warbler Problema: gems nativas Para a próxima: JNDI, cluster, etc Monday, March 23, 2009
  • 105. JRUBY_VERSION JDBC Warbler Problema: gems nativas Para a próxima: JNDI, cluster, etc Monday, March 23, 2009
  • 106. x mais lento que C++ Monday, March 23, 2009
  • 107. x mais lento que C++ 0 50 100 150 200 Python 2 Ruby 1.9 Perl JRuby Python 3 PHP Ruby 1.8.6 Monday, March 23, 2009
  • 117. “Especialista de uma coisa só é um amador em todo o resto.” Monday, March 23, 2009
  • 118. Obrigado! akitaonrails.com Monday, March 23, 2009