It is easy to program in Ruby,
but Ruby is not a simple language

Linguagem de programação
www.ruby-lang.org/pt
Novembro d...
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
Tradicion...
#definindo
class MinhaClasse
def fala
puts "Ola mundo!"
end
end
#aplicando
ou apenas isso!
objeto = MinhaClasse.new
objeto...
#definindo
class MinhaClasse
def fala(frase, numero=1)
puts numero.times {puts
frase}
end
end
#aplicando
objeto = MinhaCla...
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 (Googl...
Sobre a linguagem
➔
➔
➔
➔
➔
➔
➔
➔

Yukihiro Matsumoto - “Matz”
livre
primeira versão 1995
linguagem natural
standard libra...
Sobre a linguagem
➔
➔
➔
➔
➔
➔
➔
➔

Yukihiro Matsumoto - “Matz”
livre
primeira versão 1995
linguagem natural
standard libra...
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[:...
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 ...
+ 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 Repe...
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
➔ Rail...
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:decim...
Perguntas?
Obrigado!
Obrigado!
@MarceloBohn
Apresentação ruby + rails
Upcoming SlideShare
Loading in …5
×

Apresentação ruby + rails

565 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
565
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Apresentação ruby + rails

  1. 1. 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
  2. 2. Quais linguagens de programação vc conhece? Java, C (#,++,Objective), PHP, Delphi, ...
  3. 3. Elas são parecidas? declaração de variáveis, sintaxe dos comandos, marcação de blocos, marcação de fim de linha
  4. 4. Ruby é um pouco diferente! ;-)
  5. 5. #definindo class MinhaClasse def fala puts "Ola mundo!" end end #aplicando objeto = MinhaClasse.new objeto.fala Tradicional “Olá mundo” em Ruby!
  6. 6. #definindo class MinhaClasse def fala puts "Ola mundo!" end end #aplicando ou apenas isso! objeto = MinhaClasse.new objeto.fala Tradicional “Olá mundo” em Ruby!
  7. 7. #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!
  8. 8. Sou ➔ Desenvolvedor ➔ Professor (:active => false) ➔ Acredito na Linguagem Ruby ➔ @MarceloBohn
  9. 9. Ruby agora! ➔ Online: tryruby.org ➔ Nativo no OS X (Apple) ➔ Linux(free), Windows(Microsoft), … ➔ Ruboto no Android (Google) ➔ VM + Vagrant
  10. 10. 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
  11. 11. 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 :-)
  12. 12. Linguagem interpretada ruby arquivo.rb Console de testes irb OBS: RVM ( Ruby Version Manager )
  13. 13. Variáveis Objetos (duck typing) v = 1 v.class v.object_id v.methods v = “um” v.class v = (1..5)
  14. 14. 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! ” }
  15. 15. Familiar X Novo Condicionais Laços ➔ if ➔ for ➔ unless ➔ while ➔ case ➔ each ➔ map
  16. 16. 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”
  17. 17. Reescrever classe da linguagem (monkey patching) class Fixnum def dobra self.*2 end end 1.dobra
  18. 18. Reescrever classe da linguagem (monkey patching) class TrueClass def to_s ‘Sim’ if self end end v = true v.to_s
  19. 19. 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
  20. 20. + Ruby ➔ Meta-programação ➔ Testes ➔ Rhodes ➔ Ruby on Rails
  21. 21. Ruby on Rails Happy conding! Framework de desenvolvimento web www.rubyonrails.com.br
  22. 22. Apresentação ➔ Framework MVC ➔ Agilidade no desenvolvimento de aplicações Web ➔ Gratuito ➔ Código aberto ➔ DRY (Don't Repeat Yourself)
  23. 23. Mundo sobre os trilhos ➔ Rails Console ➔ Migrations ➔ RubyGems ➔ ActiveRecord ➔ ActiveController ➔ ActiveView
  24. 24. Preparando a subida no vagão ➔ Development, Testing and Production ➔ Rails Generate ( Scaffold, ... ) ➔ Rails sever ➔ Rails console
  25. 25. Iniciar a viagem Quanto tempo vc demora para fazer um CRUD?
  26. 26. 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
  27. 27. Perguntas?
  28. 28. Obrigado!
  29. 29. Obrigado! @MarceloBohn

×