O documento apresenta uma oficina sobre Ruby on Rails ministrada por Guilherme Vinicius. Ele começa se apresentando e explicando seus objetivos para a oficina de despertar curiosidade, contribuir para a comunidade e aprender/ensinar. Em seguida, ele discute conceitos básicos de Ruby on Rails como a linguagem Ruby, o framework Rails, história, filosofia, versões, código exemplo e comandos.
7. Quem sou eu ?
Guilherme Vinicius Moreira
sábado, 4 de junho de 2011
8. Quem sou eu ?
Guilherme Vinicius Moreira (Harry)
sábado, 4 de junho de 2011
9. Quem sou eu ?
Guilherme Vinicius Moreira (Harry)
Desde 2007 em desenv. de Software
sábado, 4 de junho de 2011
10. Quem sou eu ?
Guilherme Vinicius Moreira (Harry)
Desde 2007 em desenv. de Software
Desde 2010 com Rails
sábado, 4 de junho de 2011
11. Quem sou eu ?
Guilherme Vinicius Moreira (Harry)
Desde 2007 em desenv. de Software
Desde 2010 com Rails
SEMPRE WEB!!!
sábado, 4 de junho de 2011
12. Quem sou eu ?
Guilherme Vinicius Moreira (Harry)
Desde 2007 em desenv. de Software
Desde 2010 com Rails
SEMPRE WEB!!!
@guivinicius
gui.vinicius@gmail.com
sábado, 4 de junho de 2011
32. Filosofia
“ ... estou trabalhando para fazer o Ruby
uma linguagem natural, não simples. ”
sábado, 4 de junho de 2011
33. Filosofia
“ ... estou trabalhando para fazer o Ruby
uma linguagem natural, não simples. ”
“ Ruby é simples na aparência, mas é
muito complicada internamente, igual o
corpo humano. ”
sábado, 4 de junho de 2011
52. “Hello World”
Java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
sábado, 4 de junho de 2011
53. “Hello World”
Java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
sábado, 4 de junho de 2011
61. Funções
def welcome(name)
return "Welcome, " + name
end
puts welcome("Harry")
# => Welcome, Harry
sábado, 4 de junho de 2011
62. Funções
Parênteses opcionais
def welcome(name)
return "Welcome, " + name
end
puts welcome "Harry"
# => Welcome, Harry
sábado, 4 de junho de 2011
63. Funções
Return automático
def welcome(name)
"Welcome, " + name
end
puts welcome "Harry"
# => Welcome, Harry
sábado, 4 de junho de 2011
64. Funções
Interpolação
def welcome(name)
"Welcome, #{name}"
end
puts welcome "Harry"
# => Welcome, Harry
sábado, 4 de junho de 2011
65. Classes
class Fixnum
def welcome(name)
self.times {
puts "Welcome, #{name}"
}
end
end
5.welcome("Harry")
sábado, 4 de junho de 2011
66. Classes
class Pessoa
def chora
puts "#{self.class} chorando"
end
end
class Aluno < Pessoa
def reprova!
puts "Aluno reprovado!"
end
end
aluno = Aluno.new
aluno.reprova! # => Aluno reprovado!
aluno.chora # => Aluno chorando
sábado, 4 de junho de 2011
67. Mais código!
[14, 35, -7, 46, 98].min
[14, 35, -7, 46, 98].max
4.times { |n| puts "Happy Birthday #{n==2 ? "dear Tony" : "to You"}" }
Array.new(6).collect {rand 60}.sort
sábado, 4 de junho de 2011
105. Filosofia
Convention over Configuration (CoC)
Don’t Repeat Yourself (DRY)
sábado, 4 de junho de 2011
106. Filosofia
Convention over Configuration (CoC)
Diminuir o número de decisões do desenvolvedor.
Ganhando simplicidade, sem perder o a flexibilidade.
Don’t Repeat Yourself (DRY)
sábado, 4 de junho de 2011
107. Filosofia
Convention over Configuration (CoC)
Diminuir o número de decisões do desenvolvedor.
Ganhando simplicidade, sem perder o a flexibilidade.
Don’t Repeat Yourself (DRY)
Reutilização de código.
sábado, 4 de junho de 2011
108. MVC
Lógica
Controller
Visualização
Model View
Dados
sábado, 4 de junho de 2011
109. Versões
3.1.x RC1
3.0.7
sábado, 4 de junho de 2011
110. Versões
3.1.x RC1
3.0.7
sábado, 4 de junho de 2011
126. Receita de Bolo
rails new app
rails g scaffold MODEL FIELD:TYPE
rake db:migrate
rails server
sábado, 4 de junho de 2011
127. Receita de Bolo
rails new app
rails g scaffold MODEL FIELD:TYPE
rake db:migrate
rails server
http://localhost:3000/model (plural)
sábado, 4 de junho de 2011