SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
It is easy to program in Ruby,
but Ruby is not a simple language

Linguagem de programação
www.ruby-lang.org/pt
Novembro de 2013
Quais linguagens de
programação vc
conhece?
Java, C (#,++,Objective), PHP, Delphi, ...
Elas são parecidas?
declaração de variáveis, sintaxe dos
comandos, marcação de blocos, marcação
de fim de linha
Ruby é um pouco
diferente!
;-)
#definindo
class MinhaClasse
def fala
puts "Ola mundo!"
end
end

#aplicando
objeto = MinhaClasse.new
objeto.fala
Tradicional “Olá mundo” em Ruby!
#definindo
class MinhaClasse
def fala
puts "Ola mundo!"
end
end
#aplicando
ou apenas isso!
objeto = MinhaClasse.new
objeto.fala

Tradicional “Olá mundo” em Ruby!
#definindo
class MinhaClasse
def fala(frase, numero=1)
puts numero.times {puts
frase}
end
end
#aplicando
objeto = MinhaClasse.new
objeto.fala("ola mundo")
objeto.fala "ruby ", 3
Tradicional “Olá mundo” em Ruby!
Sou
➔ Desenvolvedor
➔ Professor (:active => false)
➔ Acredito na Linguagem Ruby
➔ @MarceloBohn
Ruby agora!
➔ Online: tryruby.org
➔ Nativo no OS X (Apple)
➔ Linux(free), Windows(Microsoft), …
➔ Ruboto no Android (Google)
➔ VM + Vagrant
Sobre a linguagem
➔
➔
➔
➔
➔
➔
➔
➔

Yukihiro Matsumoto - “Matz”
livre
primeira versão 1995
linguagem natural
standard library mais completa
menos código
tudo é objeto
marcação de final de linha
Sobre a linguagem
➔
➔
➔
➔
➔
➔
➔
➔

Yukihiro Matsumoto - “Matz”
livre
primeira versão 1995
linguagem natural
standard library mais completa
menos código
tudo é objeto o/
marcação de final de linha :-)
Linguagem interpretada

ruby arquivo.rb
Console de testes

irb
OBS: RVM ( Ruby Version Manager )
Variáveis Objetos (duck typing)
v = 1
v.class
v.object_id
v.methods
v = “um”
v.class
v = (1..5)
Ruby style
v = “bem vindo”
v.upcase
v[0..2]
1.to_s
“5”.to_i
[1,2,3,4].reverse
3.times { print “Ruby! ” }
Familiar X Novo
Condicionais

Laços

➔ if

➔ for

➔ unless

➔ while

➔ case

➔ each
➔ map
Familiar X Novo
Array
a = []
a << 1
a << “texto”
a << (1..5)
a += [3,4]
s = “bem vindo”
s[1..5]

Hash
h = {}
h[:a] = 1
h[:b] = “a”
Reescrever classe da linguagem
(monkey patching)

class Fixnum
def dobra
self.*2
end
end
1.dobra
Reescrever classe da linguagem
(monkey patching)

class TrueClass
def to_s
‘Sim’ if self
end
end
v = true
v.to_s
Vários comandos em uma linha
(1..5).to_a.reverse.
join('|').split('|').
map {|e| e.to_i.*2}
Pega o intervalo de número de 1 até 5,
converte em array, inverte a ordem, junta em
uma string, separa novamente em array,
multiplica todos elemente por dois
+ Ruby
➔ Meta-programação
➔ Testes
➔ Rhodes
➔ Ruby on Rails
Ruby on Rails
Happy conding!

Framework de desenvolvimento web
www.rubyonrails.com.br
Apresentação
➔ Framework MVC
➔ Agilidade no desenvolvimento de aplicações
Web
➔ Gratuito
➔ Código aberto
➔ DRY (Don't Repeat Yourself)
Mundo sobre os trilhos
➔ Rails Console
➔ Migrations
➔ RubyGems
➔ ActiveRecord
➔ ActiveController
➔ ActiveView
Preparando a subida no vagão
➔ Development, Testing and Production
➔ Rails Generate ( Scaffold, ... )
➔ Rails sever
➔ Rails console
Iniciar a viagem
Quanto tempo vc demora para fazer um
CRUD?
CRUD
(Create, Read, Update e Delete)

rails new first_app
rails g scaffold product name:string active:
boolean price:decimal group:integer
rake db:migrate
rails s
Perguntas?
Obrigado!
Obrigado!
@MarceloBohn

Más contenido relacionado

La actualidad más candente

Ruby para programadores PHP
Ruby para programadores PHPRuby para programadores PHP
Ruby para programadores PHP
Juan Maiz
 
Introdução a Linguagem Ruby
Introdução a Linguagem RubyIntrodução a Linguagem Ruby
Introdução a Linguagem Ruby
Duda Dornelles
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBA
Luciano Borges
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao ruby
Francis Wagner
 
Conhecendo Ruby on Rails
Conhecendo Ruby on RailsConhecendo Ruby on Rails
Conhecendo Ruby on Rails
Sergio Henrique
 

La actualidad más candente (20)

Groovy
GroovyGroovy
Groovy
 
Ruby, Rails e Diversão (Campus Party Brasil 2009)
Ruby, Rails e Diversão (Campus Party Brasil 2009)Ruby, Rails e Diversão (Campus Party Brasil 2009)
Ruby, Rails e Diversão (Campus Party Brasil 2009)
 
Desvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
 
Ruby
RubyRuby
Ruby
 
Ruby para programadores PHP
Ruby para programadores PHPRuby para programadores PHP
Ruby para programadores PHP
 
Ruby, Simples e Expressivo
Ruby, Simples e ExpressivoRuby, Simples e Expressivo
Ruby, Simples e Expressivo
 
tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
 
Conhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java PlatformConhecendo a JSR 223: Scripting for the Java Platform
Conhecendo a JSR 223: Scripting for the Java Platform
 
Introdução a Linguagem Ruby
Introdução a Linguagem RubyIntrodução a Linguagem Ruby
Introdução a Linguagem Ruby
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
A Linguagem Ruby
A Linguagem RubyA Linguagem Ruby
A Linguagem Ruby
 
Apresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBAApresentação Ruby no Dojo da UFBA
Apresentação Ruby no Dojo da UFBA
 
Curso de introdução ao ruby
Curso de introdução ao rubyCurso de introdução ao ruby
Curso de introdução ao ruby
 
Ruby, Rails e Diversão
Ruby, Rails e DiversãoRuby, Rails e Diversão
Ruby, Rails e Diversão
 
Introdução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em RailsIntrodução á linguagem Ruby com aplicativo em Rails
Introdução á linguagem Ruby com aplicativo em Rails
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
Conhecendo Ruby on Rails
Conhecendo Ruby on RailsConhecendo Ruby on Rails
Conhecendo Ruby on Rails
 
Ruby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito maisRuby com Singleton class, Metaprogramação e muito mais
Ruby com Singleton class, Metaprogramação e muito mais
 
Curso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a AulaCurso PHP UNIFACS 2014.1 – 1a Aula
Curso PHP UNIFACS 2014.1 – 1a Aula
 

Similar a Apresentação ruby + rails

Ruby on rails gds 2011
Ruby on rails   gds 2011Ruby on rails   gds 2011
Ruby on rails gds 2011
JogosUnisinos
 
Começando com Ruby - III SEICOM
Começando com Ruby - III SEICOMComeçando com Ruby - III SEICOM
Começando com Ruby - III SEICOM
Kenner Kliemann
 

Similar a Apresentação ruby + rails (20)

Ruby
RubyRuby
Ruby
 
Shell script
Shell scriptShell script
Shell script
 
Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014Minicurso de Rails - WTISC 2014
Minicurso de Rails - WTISC 2014
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
Ruby on rails gds 2011
Ruby on rails   gds 2011Ruby on rails   gds 2011
Ruby on rails gds 2011
 
Começando com Ruby - III SEICOM
Começando com Ruby - III SEICOMComeçando com Ruby - III SEICOM
Começando com Ruby - III SEICOM
 
Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)Introdução ao Shell Script (versão estendida)
Introdução ao Shell Script (versão estendida)
 
Fpar aula5
Fpar aula5Fpar aula5
Fpar aula5
 
PHP GERAL
PHP GERALPHP GERAL
PHP GERAL
 
Minicurso Ruby on Rails
Minicurso Ruby on RailsMinicurso Ruby on Rails
Minicurso Ruby on Rails
 
Ruby - Criando código para máquinas e humanos
Ruby - Criando código para máquinas e humanosRuby - Criando código para máquinas e humanos
Ruby - Criando código para máquinas e humanos
 
Curso shell
Curso shellCurso shell
Curso shell
 
Active record
Active recordActive record
Active record
 
Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Groovy
GroovyGroovy
Groovy
 
Introdução ao Ruby
Introdução ao RubyIntrodução ao Ruby
Introdução ao Ruby
 
Perl Moderno, dia1
Perl Moderno, dia1Perl Moderno, dia1
Perl Moderno, dia1
 

Apresentação ruby + rails