Palestra no Grupo Sou Java

Post on 12-Nov-2014

4,854 views 0 download

Tags:

description

Palestra sobre como aproveitar o poder de Ruby integrado à excelente tecnologia da plataforma Java. Especialmente voltado ao assunto de TDD/BDD, testes, Cucumber, RSpec.

transcript

Introdução ao Rubypowered 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

1Monday, March 23, 2009

1993

“Matz”

Monday, March 23, 2009

2001

“Prag Dave”

Monday, March 23, 2009

2004

“DHH”

Monday, March 23, 2009

2006

Charles Nutter

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

0 50 100150

200

Python 2

Ruby 1.9

Perl

JRuby

Python 3

PHP

Ruby 1.8.6

x mais lento que C++

Monday, March 23, 2009

1Monday, March 23, 2009

2Monday, March 23, 2009

Instalando JRuby

jruby.codehaus.org

Monday, March 23, 2009

dist.codehaus.org/jrubyMonday, 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

activerecord-jdbc-adapter

activerecord-jdbcmysql-adapter

activerecord-jdbcpostgresql-adapter

activerecord-jdbcsqlite3-adapter

cucumber

glassfish

jdbc-mysql

jdbc-postgres

jdbc-sqlite3

jetty-rails

jruby-openssl

nifty-generators

rails

rspec

rspec-rails

warbler

webrat

ZenTest

jruby -S gem install ...

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

2Monday, March 23, 2009

3Monday, 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

3Monday, March 23, 2009

“to be continued ...”

Monday, March 23, 2009

4Monday, 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

4Monday, March 23, 2009

5Monday, 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

0 50 100150

200

Python 2

Ruby 1.9

Perl

JRuby

Python 3

PHP

Ruby 1.8.6

x mais lento que C++

Monday, March 23, 2009

5Monday, March 23, 2009

6Monday, 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