Você está na página 1de 118

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

Você também pode gostar