SlideShare una empresa de Scribd logo
1 de 168
Descargar para leer sin conexión
Oficina
                             Ruby on Rails
                             por Guilherme Vinicius




sábado, 4 de junho de 2011
Desculpas pela apresentação.
                          =(




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
Quem sou eu ?




sábado, 4 de junho de 2011
Quem sou eu ?
          Guilherme Vinicius Moreira




sábado, 4 de junho de 2011
Quem sou eu ?
          Guilherme Vinicius Moreira   (Harry)




sábado, 4 de junho de 2011
Quem sou eu ?
          Guilherme Vinicius Moreira   (Harry)

          Desde 2007 em desenv. de Software




sábado, 4 de junho de 2011
Quem sou eu ?
          Guilherme Vinicius Moreira   (Harry)

          Desde 2007 em desenv. de Software

          Desde 2010 com Rails




sábado, 4 de junho de 2011
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
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
Quem são vocês ?




sábado, 4 de junho de 2011
Objetivos de hoje!




sábado, 4 de junho de 2011
Objetivos de hoje!

                              Despertar curiosidade




sábado, 4 de junho de 2011
Objetivos de hoje!

                              Despertar curiosidade

             Contribuir para a comunidade Ruby / Rails




sábado, 4 de junho de 2011
Objetivos de hoje!

                              Despertar curiosidade

             Contribuir para a comunidade Ruby / Rails

                               Aprender / Ensinar




sábado, 4 de junho de 2011
Ruby on Rails



sábado, 4 de junho de 2011
Linguagem



                             Ruby on Rails



sábado, 4 de junho de 2011
Linguagem



                             Ruby on Rails
                                           Framework




sábado, 4 de junho de 2011
RUGBY




                             RUBY



sábado, 4 de junho de 2011
RUGBY




                             RUBY



sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
História




sábado, 4 de junho de 2011
História
                             1993 - 1995




sábado, 4 de junho de 2011
História
                             1993 - 1995




sábado, 4 de junho de 2011
História
                                    1993 - 1995




                             Yukihiro Matsumoto, ou “Matz”

sábado, 4 de junho de 2011
Filosofia




sábado, 4 de junho de 2011
Filosofia

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




sábado, 4 de junho de 2011
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
Mas como ?




sábado, 4 de junho de 2011
Mas como ?




sábado, 4 de junho de 2011
Mas como ?




sábado, 4 de junho de 2011
Mas como ?




sábado, 4 de junho de 2011
Mas como ?




sábado, 4 de junho de 2011
Mas como ?




sábado, 4 de junho de 2011
Versões


                             1.9.2

                             1.8.7

                              REE
sábado, 4 de junho de 2011
http://www.ruby-lang.org




sábado, 4 de junho de 2011
http://tryruby.org/




sábado, 4 de junho de 2011
http://www.jruby.org/




sábado, 4 de junho de 2011
http://www.macruby.org/




sábado, 4 de junho de 2011
http://rubini.us/




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
E o código ?




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
“Hello World”
                                  Ruby




sábado, 4 de junho de 2011
“Hello World”
                                  Ruby




                    puts "Hello World"




sábado, 4 de junho de 2011
“Hello World”
                                  Java




sábado, 4 de junho de 2011
“Hello World”
                                  Java




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




sábado, 4 de junho de 2011
“Hello World”
                                  Java




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




sábado, 4 de junho de 2011
“Hello World”
                                   C




sábado, 4 de junho de 2011
“Hello World”
                                   C


           #include <stdio.h>

           int main()
           {
             printf(“Hello Worldn”);
             return 0;
           }




sábado, 4 de junho de 2011
“Hello World”
                                   C


           #include <stdio.h>

           int main()
           {
             printf(“Hello Worldn”);
             return 0;
           }




sábado, 4 de junho de 2011
“Hello World”
                                  Ruby


                    puts "Hello World"




sábado, 4 de junho de 2011
“Hello World”
                                  Ruby


                    puts "Hello World"




sábado, 4 de junho de 2011
puts "Hello World".class
         # => String

         puts 1.class
         # => Fixnum

         puts true.class
         # => TrueClass

         puts nil.class
         # => Nilclass

sábado, 4 de junho de 2011
Funções




sábado, 4 de junho de 2011
Funções


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

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


sábado, 4 de junho de 2011
Funções
                             Parênteses opcionais


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

               puts welcome "Harry"
               # => Welcome, Harry


sábado, 4 de junho de 2011
Funções
                             Return automático


               def welcome(name)
                 "Welcome, " + name
               end

               puts welcome "Harry"
               # => Welcome, Harry


sábado, 4 de junho de 2011
Funções
                             Interpolação


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

               puts welcome "Harry"
               # => Welcome, Harry


sábado, 4 de junho de 2011
Classes
               class Fixnum
                 def welcome(name)
                   self.times {
                     puts "Welcome, #{name}"
                   }
                 end
               end

               5.welcome("Harry")

sábado, 4 de junho de 2011
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
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
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
PRONTO AGORA VOCÊ JÁ É UM
           MESTRE NO RUBY!




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
Quem ser bom em Ruby ou
                em qualquer outra coisa ?




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
E as Gems ?




sábado, 4 de junho de 2011
E as Gems ?

                             Pacotes/Programas




sábado, 4 de junho de 2011
E as Gems ?

                                Pacotes/Programas


                             (Ruby) Gem == Jar (Java)




sábado, 4 de junho de 2011
E as Gems ?

                                Pacotes/Programas


                             (Ruby) Gem == Jar (Java)

                                    rubygems




sábado, 4 de junho de 2011
E as Gems ?

                                Pacotes/Programas


                             (Ruby) Gem == Jar (Java)

                                    rubygems


                             sudo gem install heroku

sábado, 4 de junho de 2011
http://rubygems.org/




sábado, 4 de junho de 2011
Curti e agora ?

                             Por onde começo ?



sábado, 4 de junho de 2011
http://www.google.com.br




sábado, 4 de junho de 2011
Ambientes ??



sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
Mac OS




sábado, 4 de junho de 2011
Mac OS


                             Linux




sábado, 4 de junho de 2011
Mac OS


                              Linux


                             Windows


sábado, 4 de junho de 2011
Mac OS
                               RVM


                              Linux


                             Windows


sábado, 4 de junho de 2011
Mac OS
                               RVM


                              Linux
                               RVM


                             Windows


sábado, 4 de junho de 2011
Mac OS
                                RVM


                              Linux
                                RVM


                             Windows
                             RubyInstaller


sábado, 4 de junho de 2011
Mac OS
                                RVM
    Recomendados
                              Linux
                                RVM


                             Windows
                             RubyInstaller


sábado, 4 de junho de 2011
Mac OS
                                RVM
    Recomendados
                              Linux
                                RVM


                             Windows
                             RubyInstaller


sábado, 4 de junho de 2011
Mac OS
                                RVM
    Recomendados
                              Linux
                                RVM


                             Windows
                             RubyInstaller


sábado, 4 de junho de 2011
http://rubyinstaller.org/




sábado, 4 de junho de 2011
https://rvm.beginrescueend.com/




sábado, 4 de junho de 2011
Dúvidas ?



sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
História




sábado, 4 de junho de 2011
História
                                David Heinemeier Hansson




sábado, 4 de junho de 2011
História
                                David Heinemeier Hansson
                                          (DHH)




sábado, 4 de junho de 2011
História
                                David Heinemeier Hansson
                                          (DHH)




                                        37signals




sábado, 4 de junho de 2011
História
                                David Heinemeier Hansson
                                          (DHH)




                                        37signals

                                        Basecamp




sábado, 4 de junho de 2011
História
                                David Heinemeier Hansson
                                          (DHH)




                                        37signals

                                        Basecamp

                                      Rails (2004)


sábado, 4 de junho de 2011
http://basecamphq.com/




sábado, 4 de junho de 2011
Filosofia

                   Convention over Configuration (CoC)




                             Don’t Repeat Yourself (DRY)




sábado, 4 de junho de 2011
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
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
MVC
                      Lógica

                                 Controller
                                              Visualização




                      Model                   View


                               Dados

sábado, 4 de junho de 2011
Versões


                             3.1.x RC1

                              3.0.7




sábado, 4 de junho de 2011
Versões


                             3.1.x RC1

                              3.0.7




sábado, 4 de junho de 2011
3.1.x




sábado, 4 de junho de 2011
3.1.x
                                     MVC




sábado, 4 de junho de 2011
3.1.x
                                     MVC




sábado, 4 de junho de 2011
3.1.x
                                     MVC
                                           3.1.x




sábado, 4 de junho de 2011
3.1.x
                                     MVC
                                           3.1.x




sábado, 4 de junho de 2011
3.1.x
                                     MVC
                                           3.1.x




sábado, 4 de junho de 2011
3.1.x
                                     MVC
                                           3.1.x




sábado, 4 de junho de 2011
Comandos Básicos

                   Rails




sábado, 4 de junho de 2011
Comandos Básicos

                             Criando uma nova aplicação!




sábado, 4 de junho de 2011
Comandos Básicos

                             Criando uma nova aplicação!




sábado, 4 de junho de 2011
Comandos Básicos

                             Criando uma nova aplicação!


                                rails new myApp




sábado, 4 de junho de 2011
Comandos Básicos

                  Rails generate




sábado, 4 de junho de 2011
Comandos Básicos

                  Rails generate




sábado, 4 de junho de 2011
Comandos Básicos

                     rake -T




sábado, 4 de junho de 2011
Comandos Básicos

                     rake -T




sábado, 4 de junho de 2011
Receita de Bolo

                   rails new app

                   rails g scaffold MODEL FIELD:TYPE

                   rake db:migrate

                   rails server




sábado, 4 de junho de 2011
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
sábado, 4 de junho de 2011
Rails funcionaria na minha empresa ?




sábado, 4 de junho de 2011
Rails funcionaria na minha empresa ?




                             Why not ?

sábado, 4 de junho de 2011
http://isitrails.com/




sábado, 4 de junho de 2011
Curti e agora ?

                             Por onde começo ?



sábado, 4 de junho de 2011
http://www.google.com.br




sábado, 4 de junho de 2011
http://rubyonrails.org/




sábado, 4 de junho de 2011
http://guides.rubyonrails.org/




sábado, 4 de junho de 2011
http://railscasts.com/




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
DÚVIDAS ?




sábado, 4 de junho de 2011
Quem nunca foi salvo por um
                código da internet ?




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
1 milhão
              de desenvolvedores
                        4M até 2013 (Gartner)



sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
https://github.com/




sábado, 4 de junho de 2011
http://stackoverflow.com




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
Escreva código!




sábado, 4 de junho de 2011
Escreva código!

                             Publique código!




sábado, 4 de junho de 2011
Escreva código!

                             Publique código!

                               Contribua!


sábado, 4 de junho de 2011
Escreva código!

                             Publique código!

                               Contribua!   (código)




sábado, 4 de junho de 2011
É HORA DE CODIFICAR




sábado, 4 de junho de 2011
É HORA DE CODIFICAR




sábado, 4 de junho de 2011
sábado, 4 de junho de 2011
- CRIAR UMA APP BÁSICA




sábado, 4 de junho de 2011
- CRIAR UMA APP BÁSICA

                        - ENVIAR PARA O GITHUB




sábado, 4 de junho de 2011
- CRIAR UMA APP BÁSICA

                        - ENVIAR PARA O GITHUB

                        - ENVIAR PARA O HEROKU




sábado, 4 de junho de 2011
http://www.heroku.com/




sábado, 4 de junho de 2011
http://git-scm.com/




sábado, 4 de junho de 2011
Dúvidas ?




sábado, 4 de junho de 2011
GURU - Sorocaba




sábado, 4 de junho de 2011
GEMP - Sorocaba




sábado, 4 de junho de 2011
Onde me encontrar ?


                                   @guivinicius

                               gui.vinicius@gmail.com

                      http://www.facebook.com/guivinicius



sábado, 4 de junho de 2011
Não é só o meu que fica na reta!




sábado, 4 de junho de 2011
Não é só o meu que fica na reta!

                             @lucasrenan




sábado, 4 de junho de 2011
Não é só o meu que fica na reta!

                             @lucasrenan

                             @tiagogodinho




sábado, 4 de junho de 2011
Não é só o meu que fica na reta!

                             @lucasrenan

                             @tiagogodinho

                                @Kssi4


sábado, 4 de junho de 2011
Muito Obrigado!

sábado, 4 de junho de 2011
Muito Obrigado!

sábado, 4 de junho de 2011

Más contenido relacionado

Similar a Ruby on Rails Oficina Introdução à Linguagem e Framework

Palestra flisol wordpress
Palestra flisol wordpressPalestra flisol wordpress
Palestra flisol wordpressrafarubert
 
Redes Sociais e o Comércio Eletrônico - Fecomércio/BA
Redes Sociais e o Comércio Eletrônico - Fecomércio/BARedes Sociais e o Comércio Eletrônico - Fecomércio/BA
Redes Sociais e o Comércio Eletrônico - Fecomércio/BARoberto Dias Duarte
 
colmeia na Missa - Aula 4
colmeia na Missa - Aula 4colmeia na Missa - Aula 4
colmeia na Missa - Aula 4colmeia tv
 
Chega mais para a inclusão
Chega mais para a inclusãoChega mais para a inclusão
Chega mais para a inclusãoRenatoro87
 

Similar a Ruby on Rails Oficina Introdução à Linguagem e Framework (7)

Suite de Testes
Suite de TestesSuite de Testes
Suite de Testes
 
Gastronomia tedx
Gastronomia tedxGastronomia tedx
Gastronomia tedx
 
Plone e eGov: Presente e Futuro
Plone e eGov: Presente e FuturoPlone e eGov: Presente e Futuro
Plone e eGov: Presente e Futuro
 
Palestra flisol wordpress
Palestra flisol wordpressPalestra flisol wordpress
Palestra flisol wordpress
 
Redes Sociais e o Comércio Eletrônico - Fecomércio/BA
Redes Sociais e o Comércio Eletrônico - Fecomércio/BARedes Sociais e o Comércio Eletrônico - Fecomércio/BA
Redes Sociais e o Comércio Eletrônico - Fecomércio/BA
 
colmeia na Missa - Aula 4
colmeia na Missa - Aula 4colmeia na Missa - Aula 4
colmeia na Missa - Aula 4
 
Chega mais para a inclusão
Chega mais para a inclusãoChega mais para a inclusão
Chega mais para a inclusão
 

Ruby on Rails Oficina Introdução à Linguagem e Framework