SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

PDF
Fun driven development com Ruby
PDF
Desenvolvendo Aplicativos Sociais com Rails 3
PDF
Introdução à programação em Android e iOS - iOS
PPT
A Linguagem Ruby
PDF
Distributed Ruby and Rails
PDF
Introdução à programação em Ruby
PDF
Apostila ruby-completa
PDF
Ebook ITIL Na Prática
Fun driven development com Ruby
Desenvolvendo Aplicativos Sociais com Rails 3
Introdução à programação em Android e iOS - iOS
A Linguagem Ruby
Distributed Ruby and Rails
Introdução à programação em Ruby
Apostila ruby-completa
Ebook ITIL Na Prática

Semelhante a Oficina Ruby on Rails Fatec (7)

PDF
Suite de Testes
PDF
Gastronomia tedx
PDF
Plone e eGov: Presente e Futuro
PDF
Palestra flisol wordpress
PDF
Redes Sociais e o Comércio Eletrônico - Fecomércio/BA
PDF
colmeia na Missa - Aula 4
PDF
Chega mais para a inclusão
Suite de Testes
Gastronomia tedx
Plone e eGov: Presente e Futuro
Palestra flisol wordpress
Redes Sociais e o Comércio Eletrônico - Fecomércio/BA
colmeia na Missa - Aula 4
Chega mais para a inclusão
Anúncio

Último (16)

PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
COBITxITIL-Entenda as diferença em uso governança TI
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e liquidação no SAP Transportation Management, TM130 Col18
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Arquitetura de computadores - Memórias Secundárias
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Processos na gestão de transportes, TM100 Col18
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
COBITxITIL-Entenda as diferença em uso governança TI
Anúncio

Oficina Ruby on Rails Fatec