oficina ruby on rails fatec

168
Ruby on Rails Oficina por Guilherme Vinicius sábado, 4 de junho de 2011

Upload: guilherme-vinicius-moreira

Post on 15-Dec-2014

702 views

Category:

Technology


3 download

DESCRIPTION

Slides da Oficina de Ruby on Rails realizada na FATEC Sorocaba.

TRANSCRIPT

Page 1: Oficina Ruby on Rails Fatec

Ruby on RailsOficina

por Guilherme Vinicius

sábado, 4 de junho de 2011

Page 2: Oficina Ruby on Rails Fatec

Desculpas pela apresentação.=(

sábado, 4 de junho de 2011

Page 3: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 4: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 5: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 6: Oficina Ruby on Rails Fatec

Quem sou eu ?

sábado, 4 de junho de 2011

Page 7: Oficina Ruby on Rails Fatec

Quem sou eu ?

Guilherme Vinicius Moreira

sábado, 4 de junho de 2011

Page 8: Oficina Ruby on Rails Fatec

Quem sou eu ?

Guilherme Vinicius Moreira (Harry)

sábado, 4 de junho de 2011

Page 9: Oficina Ruby on Rails Fatec

Quem sou eu ?

Guilherme Vinicius Moreira (Harry)

Desde 2007 em desenv. de Software

sábado, 4 de junho de 2011

Page 10: Oficina Ruby on Rails Fatec

Quem sou eu ?

Guilherme Vinicius Moreira (Harry)

Desde 2007 em desenv. de Software

Desde 2010 com Rails

sábado, 4 de junho de 2011

Page 11: Oficina Ruby on Rails Fatec

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

Page 12: Oficina Ruby on Rails Fatec

Quem sou eu ?

Guilherme Vinicius Moreira (Harry)

Desde 2007 em desenv. de Software

Desde 2010 com Rails

SEMPRE WEB!!!

@[email protected]

sábado, 4 de junho de 2011

Page 13: Oficina Ruby on Rails Fatec

Quem são vocês ?

sábado, 4 de junho de 2011

Page 14: Oficina Ruby on Rails Fatec

Objetivos de hoje!

sábado, 4 de junho de 2011

Page 15: Oficina Ruby on Rails Fatec

Objetivos de hoje!

Despertar curiosidade

sábado, 4 de junho de 2011

Page 16: Oficina Ruby on Rails Fatec

Objetivos de hoje!

Despertar curiosidade

Contribuir para a comunidade Ruby / Rails

sábado, 4 de junho de 2011

Page 17: Oficina Ruby on Rails Fatec

Objetivos de hoje!

Despertar curiosidade

Contribuir para a comunidade Ruby / Rails

Aprender / Ensinar

sábado, 4 de junho de 2011

Page 18: Oficina Ruby on Rails Fatec

Ruby on Rails

sábado, 4 de junho de 2011

Page 19: Oficina Ruby on Rails Fatec

Ruby on Rails

Linguagem

sábado, 4 de junho de 2011

Page 20: Oficina Ruby on Rails Fatec

Ruby on Rails

Linguagem

Framework

sábado, 4 de junho de 2011

Page 21: Oficina Ruby on Rails Fatec

RUGBY

RUBY

sábado, 4 de junho de 2011

Page 22: Oficina Ruby on Rails Fatec

RUGBY

RUBY

sábado, 4 de junho de 2011

Page 23: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 24: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 25: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 26: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 27: Oficina Ruby on Rails Fatec

História

sábado, 4 de junho de 2011

Page 28: Oficina Ruby on Rails Fatec

1993 - 1995

História

sábado, 4 de junho de 2011

Page 29: Oficina Ruby on Rails Fatec

1993 - 1995

História

sábado, 4 de junho de 2011

Page 30: Oficina Ruby on Rails Fatec

1993 - 1995

História

Yukihiro Matsumoto, ou “Matz”

sábado, 4 de junho de 2011

Page 31: Oficina Ruby on Rails Fatec

Filosofia

sábado, 4 de junho de 2011

Page 32: Oficina Ruby on Rails Fatec

Filosofia

“ ... estou trabalhando para fazer o Ruby uma linguagem natural, não simples. ”

sábado, 4 de junho de 2011

Page 33: Oficina Ruby on Rails Fatec

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

Page 34: Oficina Ruby on Rails Fatec

Mas como ?

sábado, 4 de junho de 2011

Page 35: Oficina Ruby on Rails Fatec

Mas como ?

sábado, 4 de junho de 2011

Page 36: Oficina Ruby on Rails Fatec

Mas como ?

sábado, 4 de junho de 2011

Page 37: Oficina Ruby on Rails Fatec

Mas como ?

sábado, 4 de junho de 2011

Page 38: Oficina Ruby on Rails Fatec

Mas como ?

sábado, 4 de junho de 2011

Page 39: Oficina Ruby on Rails Fatec

Mas como ?

sábado, 4 de junho de 2011

Page 40: Oficina Ruby on Rails Fatec

Versões

1.9.2

1.8.7

REEsábado, 4 de junho de 2011

Page 41: Oficina Ruby on Rails Fatec

http://www.ruby-lang.org

sábado, 4 de junho de 2011

Page 42: Oficina Ruby on Rails Fatec

http://tryruby.org/

sábado, 4 de junho de 2011

Page 43: Oficina Ruby on Rails Fatec

http://www.jruby.org/

sábado, 4 de junho de 2011

Page 44: Oficina Ruby on Rails Fatec

http://www.macruby.org/

sábado, 4 de junho de 2011

Page 45: Oficina Ruby on Rails Fatec

http://rubini.us/

sábado, 4 de junho de 2011

Page 46: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 47: Oficina Ruby on Rails Fatec

E o código ?

sábado, 4 de junho de 2011

Page 48: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 49: Oficina Ruby on Rails Fatec

“Hello World”

Ruby

sábado, 4 de junho de 2011

Page 50: Oficina Ruby on Rails Fatec

“Hello World”

puts "Hello World"

Ruby

sábado, 4 de junho de 2011

Page 51: Oficina Ruby on Rails Fatec

“Hello World”

Java

sábado, 4 de junho de 2011

Page 52: Oficina Ruby on Rails Fatec

“Hello World”

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}

Java

sábado, 4 de junho de 2011

Page 53: Oficina Ruby on Rails Fatec

“Hello World”

public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}

Java

sábado, 4 de junho de 2011

Page 54: Oficina Ruby on Rails Fatec

“Hello World”

C

sábado, 4 de junho de 2011

Page 55: Oficina Ruby on Rails Fatec

“Hello World”

#include <stdio.h>

int main(){

printf(“Hello World\n”);return 0;

}

C

sábado, 4 de junho de 2011

Page 56: Oficina Ruby on Rails Fatec

“Hello World”

#include <stdio.h>

int main(){

printf(“Hello World\n”);return 0;

}

C

sábado, 4 de junho de 2011

Page 57: Oficina Ruby on Rails Fatec

“Hello World”

puts "Hello World"

Ruby

sábado, 4 de junho de 2011

Page 58: Oficina Ruby on Rails Fatec

“Hello World”

puts "Hello World"

Ruby

sábado, 4 de junho de 2011

Page 59: Oficina Ruby on Rails Fatec

puts "Hello World".class# => String

puts 1.class# => Fixnum

puts true.class# => TrueClass

puts nil.class# => Nilclass

sábado, 4 de junho de 2011

Page 60: Oficina Ruby on Rails Fatec

Funções

sábado, 4 de junho de 2011

Page 61: Oficina Ruby on Rails Fatec

def welcome(name) return "Welcome, " + nameend

puts welcome("Harry")# => Welcome, Harry

Funções

sábado, 4 de junho de 2011

Page 62: Oficina Ruby on Rails Fatec

def welcome(name) return "Welcome, " + nameend

puts welcome "Harry"# => Welcome, Harry

Funções Parênteses opcionais

sábado, 4 de junho de 2011

Page 63: Oficina Ruby on Rails Fatec

def welcome(name) "Welcome, " + nameend

puts welcome "Harry"# => Welcome, Harry

Funções Return automático

sábado, 4 de junho de 2011

Page 64: Oficina Ruby on Rails Fatec

def welcome(name) "Welcome, #{name}"end

puts welcome "Harry"# => Welcome, Harry

Funções Interpolação

sábado, 4 de junho de 2011

Page 65: Oficina Ruby on Rails Fatec

class Fixnum def welcome(name) self.times { puts "Welcome, #{name}" } endend

5.welcome("Harry")

Classes

sábado, 4 de junho de 2011

Page 66: Oficina Ruby on Rails Fatec

class Pessoa def chora puts "#{self.class} chorando" endend

class Aluno < Pessoa def reprova! puts "Aluno reprovado!" endend

aluno = Aluno.newaluno.reprova! # => Aluno reprovado!aluno.chora # => Aluno chorando

Classes

sábado, 4 de junho de 2011

Page 67: Oficina Ruby on Rails Fatec

[14, 35, -7, 46, 98].min[14, 35, -7, 46, 98].max

Mais código!

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

Page 68: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 69: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 70: Oficina Ruby on Rails Fatec

PRONTO AGORA VOCÊ JÁ É UM MESTRE NO RUBY!

sábado, 4 de junho de 2011

Page 71: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 72: Oficina Ruby on Rails Fatec

Quem ser bom em Ruby ou em qualquer outra coisa ?

sábado, 4 de junho de 2011

Page 73: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 74: Oficina Ruby on Rails Fatec

E as Gems ?

sábado, 4 de junho de 2011

Page 75: Oficina Ruby on Rails Fatec

E as Gems ?

Pacotes/Programas

sábado, 4 de junho de 2011

Page 76: Oficina Ruby on Rails Fatec

E as Gems ?

Pacotes/Programas

(Ruby) Gem == Jar (Java)

sábado, 4 de junho de 2011

Page 77: Oficina Ruby on Rails Fatec

E as Gems ?

Pacotes/Programas

(Ruby) Gem == Jar (Java)

rubygems

sábado, 4 de junho de 2011

Page 78: Oficina Ruby on Rails Fatec

E as Gems ?

Pacotes/Programas

(Ruby) Gem == Jar (Java)

rubygems

sudo gem install heroku

sábado, 4 de junho de 2011

Page 79: Oficina Ruby on Rails Fatec

http://rubygems.org/

sábado, 4 de junho de 2011

Page 80: Oficina Ruby on Rails Fatec

Curti e agora ?

Por onde começo ?

sábado, 4 de junho de 2011

Page 81: Oficina Ruby on Rails Fatec

http://www.google.com.br

sábado, 4 de junho de 2011

Page 82: Oficina Ruby on Rails Fatec

Ambientes ??

sábado, 4 de junho de 2011

Page 83: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 84: Oficina Ruby on Rails Fatec

Mac OS

sábado, 4 de junho de 2011

Page 85: Oficina Ruby on Rails Fatec

Mac OS

Linux

sábado, 4 de junho de 2011

Page 86: Oficina Ruby on Rails Fatec

Mac OS

Linux

Windows

sábado, 4 de junho de 2011

Page 87: Oficina Ruby on Rails Fatec

Mac OS

Linux

Windows

RVM

sábado, 4 de junho de 2011

Page 88: Oficina Ruby on Rails Fatec

Mac OS

Linux

Windows

RVM

RVM

sábado, 4 de junho de 2011

Page 89: Oficina Ruby on Rails Fatec

Mac OS

Linux

Windows

RVM

RVM

RubyInstaller

sábado, 4 de junho de 2011

Page 90: Oficina Ruby on Rails Fatec

Mac OS

Linux

Windows

RVM

RVM

RubyInstaller

Recomendados

sábado, 4 de junho de 2011

Page 91: Oficina Ruby on Rails Fatec

Mac OS

Linux

Windows

RVM

RVM

RubyInstaller

Recomendados

sábado, 4 de junho de 2011

Page 92: Oficina Ruby on Rails Fatec

Mac OS

Linux

Windows

RVM

RVM

RubyInstaller

Recomendados

sábado, 4 de junho de 2011

Page 93: Oficina Ruby on Rails Fatec

http://rubyinstaller.org/

sábado, 4 de junho de 2011

Page 94: Oficina Ruby on Rails Fatec

https://rvm.beginrescueend.com/

sábado, 4 de junho de 2011

Page 95: Oficina Ruby on Rails Fatec

Dúvidas ?

sábado, 4 de junho de 2011

Page 96: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 97: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 98: Oficina Ruby on Rails Fatec

História

sábado, 4 de junho de 2011

Page 99: Oficina Ruby on Rails Fatec

História

David Heinemeier Hansson

sábado, 4 de junho de 2011

Page 100: Oficina Ruby on Rails Fatec

História

David Heinemeier Hansson(DHH)

sábado, 4 de junho de 2011

Page 101: Oficina Ruby on Rails Fatec

História

David Heinemeier Hansson(DHH)

37signals

sábado, 4 de junho de 2011

Page 102: Oficina Ruby on Rails Fatec

História

David Heinemeier Hansson(DHH)

37signals

Basecamp

sábado, 4 de junho de 2011

Page 103: Oficina Ruby on Rails Fatec

História

David Heinemeier Hansson(DHH)

37signals

Basecamp

Rails (2004)

sábado, 4 de junho de 2011

Page 104: Oficina Ruby on Rails Fatec

http://basecamphq.com/

sábado, 4 de junho de 2011

Page 105: Oficina Ruby on Rails Fatec

Filosofia

Convention over Configuration (CoC)

Don’t Repeat Yourself (DRY)

sábado, 4 de junho de 2011

Page 106: Oficina Ruby on Rails Fatec

Filosofia

Convention over Configuration (CoC)

Don’t Repeat Yourself (DRY)

Diminuir o número de decisões do desenvolvedor.Ganhando simplicidade, sem perder o a flexibilidade.

sábado, 4 de junho de 2011

Page 107: Oficina Ruby on Rails Fatec

Filosofia

Convention over Configuration (CoC)

Don’t Repeat Yourself (DRY)

Diminuir o número de decisões do desenvolvedor.Ganhando simplicidade, sem perder o a flexibilidade.

Reutilização de código.

sábado, 4 de junho de 2011

Page 108: Oficina Ruby on Rails Fatec

MVC

Controller

Model View

Lógica

Visualização

Dados

sábado, 4 de junho de 2011

Page 109: Oficina Ruby on Rails Fatec

Versões

3.0.7

3.1.x RC1

sábado, 4 de junho de 2011

Page 110: Oficina Ruby on Rails Fatec

Versões

3.0.7

3.1.x RC1

sábado, 4 de junho de 2011

Page 111: Oficina Ruby on Rails Fatec

3.1.x

sábado, 4 de junho de 2011

Page 112: Oficina Ruby on Rails Fatec

3.1.x

MVC

sábado, 4 de junho de 2011

Page 113: Oficina Ruby on Rails Fatec

3.1.x

MVC

sábado, 4 de junho de 2011

Page 114: Oficina Ruby on Rails Fatec

3.1.x

MVC3.1.x

sábado, 4 de junho de 2011

Page 115: Oficina Ruby on Rails Fatec

3.1.x

MVC3.1.x

sábado, 4 de junho de 2011

Page 116: Oficina Ruby on Rails Fatec

3.1.x

MVC3.1.x

sábado, 4 de junho de 2011

Page 117: Oficina Ruby on Rails Fatec

3.1.x

MVC3.1.x

sábado, 4 de junho de 2011

Page 118: Oficina Ruby on Rails Fatec

Comandos Básicos

Rails

sábado, 4 de junho de 2011

Page 119: Oficina Ruby on Rails Fatec

Comandos Básicos

Criando uma nova aplicação!

sábado, 4 de junho de 2011

Page 120: Oficina Ruby on Rails Fatec

Comandos Básicos

Criando uma nova aplicação!

sábado, 4 de junho de 2011

Page 121: Oficina Ruby on Rails Fatec

Comandos Básicos

rails new myApp

Criando uma nova aplicação!

sábado, 4 de junho de 2011

Page 122: Oficina Ruby on Rails Fatec

Comandos Básicos

Rails generate

sábado, 4 de junho de 2011

Page 123: Oficina Ruby on Rails Fatec

Comandos Básicos

Rails generate

sábado, 4 de junho de 2011

Page 124: Oficina Ruby on Rails Fatec

Comandos Básicos

rake -T

sábado, 4 de junho de 2011

Page 125: Oficina Ruby on Rails Fatec

Comandos Básicos

rake -T

sábado, 4 de junho de 2011

Page 126: Oficina Ruby on Rails Fatec

Receita de Bolo

rails new app

rails g scaffold MODEL FIELD:TYPE

rake db:migrate

rails server

sábado, 4 de junho de 2011

Page 127: Oficina Ruby on Rails Fatec

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

Page 128: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 129: Oficina Ruby on Rails Fatec

Rails funcionaria na minha empresa ?

sábado, 4 de junho de 2011

Page 130: Oficina Ruby on Rails Fatec

Rails funcionaria na minha empresa ?

Why not ?

sábado, 4 de junho de 2011

Page 131: Oficina Ruby on Rails Fatec

http://isitrails.com/

sábado, 4 de junho de 2011

Page 132: Oficina Ruby on Rails Fatec

Curti e agora ?

Por onde começo ?

sábado, 4 de junho de 2011

Page 133: Oficina Ruby on Rails Fatec

http://www.google.com.br

sábado, 4 de junho de 2011

Page 134: Oficina Ruby on Rails Fatec

http://rubyonrails.org/

sábado, 4 de junho de 2011

Page 135: Oficina Ruby on Rails Fatec

http://guides.rubyonrails.org/

sábado, 4 de junho de 2011

Page 136: Oficina Ruby on Rails Fatec

http://railscasts.com/

sábado, 4 de junho de 2011

Page 137: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 138: Oficina Ruby on Rails Fatec

DÚVIDAS ?

sábado, 4 de junho de 2011

Page 139: Oficina Ruby on Rails Fatec

Quem nunca foi salvo por um código da internet ?

sábado, 4 de junho de 2011

Page 140: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 141: Oficina Ruby on Rails Fatec

1 milhãode desenvolvedores

4M até 2013 (Gartner)

sábado, 4 de junho de 2011

Page 142: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 143: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 144: Oficina Ruby on Rails Fatec

https://github.com/

sábado, 4 de junho de 2011

Page 145: Oficina Ruby on Rails Fatec

http://stackoverflow.com

sábado, 4 de junho de 2011

Page 146: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 147: Oficina Ruby on Rails Fatec

Escreva código!

sábado, 4 de junho de 2011

Page 148: Oficina Ruby on Rails Fatec

Escreva código!

Publique código!

sábado, 4 de junho de 2011

Page 149: Oficina Ruby on Rails Fatec

Escreva código!

Publique código!

Contribua!

sábado, 4 de junho de 2011

Page 150: Oficina Ruby on Rails Fatec

Escreva código!

Publique código!

Contribua! (código)

sábado, 4 de junho de 2011

Page 151: Oficina Ruby on Rails Fatec

É HORA DE CODIFICAR

sábado, 4 de junho de 2011

Page 152: Oficina Ruby on Rails Fatec

É HORA DE CODIFICAR

sábado, 4 de junho de 2011

Page 153: Oficina Ruby on Rails Fatec

sábado, 4 de junho de 2011

Page 154: Oficina Ruby on Rails Fatec

- CRIAR UMA APP BÁSICA

sábado, 4 de junho de 2011

Page 155: Oficina Ruby on Rails Fatec

- CRIAR UMA APP BÁSICA

- ENVIAR PARA O GITHUB

sábado, 4 de junho de 2011

Page 156: Oficina Ruby on Rails Fatec

- CRIAR UMA APP BÁSICA

- ENVIAR PARA O GITHUB

- ENVIAR PARA O HEROKU

sábado, 4 de junho de 2011

Page 157: Oficina Ruby on Rails Fatec

http://www.heroku.com/

sábado, 4 de junho de 2011

Page 158: Oficina Ruby on Rails Fatec

http://git-scm.com/

sábado, 4 de junho de 2011

Page 159: Oficina Ruby on Rails Fatec

Dúvidas ?

sábado, 4 de junho de 2011

Page 160: Oficina Ruby on Rails Fatec

GURU - Sorocaba

sábado, 4 de junho de 2011

Page 161: Oficina Ruby on Rails Fatec

GEMP - Sorocaba

sábado, 4 de junho de 2011

Page 162: Oficina Ruby on Rails Fatec

@guivinicius

[email protected]

Onde me encontrar ?

http://www.facebook.com/guivinicius

sábado, 4 de junho de 2011

Page 163: Oficina Ruby on Rails Fatec

Não é só o meu que fica na reta!

sábado, 4 de junho de 2011

Page 164: Oficina Ruby on Rails Fatec

Não é só o meu que fica na reta!

@lucasrenan

sábado, 4 de junho de 2011

Page 165: Oficina Ruby on Rails Fatec

Não é só o meu que fica na reta!

@lucasrenan

@tiagogodinho

sábado, 4 de junho de 2011

Page 166: Oficina Ruby on Rails Fatec

Não é só o meu que fica na reta!

@lucasrenan

@tiagogodinho

@Kssi4

sábado, 4 de junho de 2011

Page 167: Oficina Ruby on Rails Fatec

Muito Obrigado!

sábado, 4 de junho de 2011

Page 168: Oficina Ruby on Rails Fatec

Muito Obrigado!

sábado, 4 de junho de 2011