Click here to load reader

Ruby desenvolvimento em ruby para web

  • View
    2.459

  • Download
    12

Embed Size (px)

DESCRIPTION

 

Text of Ruby desenvolvimento em ruby para web

  • RR-71Desenvolvimento gil para Web

    2.0 com Ruby on Rails

  • A Caelum atua no mercado com consultoria, desenvolvimento e ensino em computao. Sua equipe participou do desenvolvimento de projetos em vrios clientes e, aps apresentar os cursos de vero de Java na Universidade de So Paulo, passou a oferecer treinamentos para o mercado. Toda a equipe tem uma forte presena na comunidade atravs de eventos, artigos em diversas revistas, participao em muitos projetos open source como o VRaptor e o Stella e atuao nos fruns e listas de discusso como o GUJ.

    Com uma equipe de mais de 60 profissionais altamente qualificados e de destaque do mercado, oferece treinamentos em Java, Ruby on Rails e Scrum em suas trs unidades - So Paulo, Rio de Janeiro e Braslia. Mais de 8 mil alunos j buscaram qualificao nos treinamentos da Caelum tanto em nas unidades como nas prprias empresas com os cursos incompany.

    O compromisso da Caelum oferecer um treinamento de qualidade, com material constantemente atualizado, uma metodologia de ensino cuidadosamente desenvolvida e instrutores capacitados tecnicamente e didaticamente. E oferecer ainda servios de consultoria gil, mentoring e desenvolvimento de projetos sob medida para empresas.

    Comunidade

    Nossa equipe escreve constantemente artigos no Blog da Caelum que j conta com 150 artigos sobre vrios assuntos de Java, Rails e computao em geral. Visite-nos e assine nosso RSS: blog.caelum.com.br

    Acompanhe tambm a equipe Caelum no Twitter: twitter.com/caelumdev/equipe

    O GUJ maior frum de Java em lngua portuguesa, com 700 mil posts e 70 mil usurios. As pessoas da Caelum participam ativamente, participe tambm: www.guj.com.br

    Assine tambm nossa Newsletter para receber as novidades e destaques dos eventos, artigos e promoes da Caelum: www.caelum.com.br/newsletter

    No site da Caelum h algumas de nossas Apostilas disponveis gratuitamente para download e alguns dos artigos de destaque que escrevemos: www.caelum.com.br/apostilas www.caelum.com.br/artigos

    http://blog.caelum.com.brhttp://blog.caelum.com.brhttp://twitter.com/caelumdev/equipehttp://twitter.com/caelumdev/equipehttp://www.guj.com.brhttp://www.guj.com.brhttp://www.caelum.com.br/newsletterhttp://www.caelum.com.br/newsletterhttp://www.caelum.com.br/apostilashttp://www.caelum.com.br/apostilashttp://www.caelum.com.br/artigoshttp://www.caelum.com.br/artigos
  • Conhea alguns de nossos cursos

    FJ-11: Java e Orientao a objetos

    FJ-26: Laboratrio Web com JSF2 e CDI

    FJ-16: Laboratrio Java com Testes, XML e Design Patterns

    FJ-19: Preparatrio para Certificao de Programador Java

    FJ-21: Java para Desenvolvimento Web

    FJ-31: Java EE avanado e Web Services

    FJ-91: Arquitetura e Design de Projetos Java

    RR-71:Desenvolvimento gil para Web 2.0 com Ruby on Rails

    RR-75:Ruby e Rails avanados: lidando com problemas do dia a dia

    Mais de 8000 alunos treinados; Reconhecida nacionalmente; Contedos atualizados para o mercado e para sua carreira; Aulas com metodologia e didtica cuidadosamente preparadas; Ativa participao nas comunidades Java, Rails e Scrum; Salas de aula bem equipadas; Instrutores qualificados e experientes; Apostilas disponveis no site.

    Para mais informaes e outros cursos, visite: caelum.com.br/cursos

    FJ-25: Persistncia com JPA2 e Hibernate

  • Sobre esta apostila

    Esta apostila da Caelum visa ensinar de uma maneira elegante, mostrando apenas o que necessrio equando necessrio, no momento certo, poupando o leitor de assuntos que no costumam ser de seu interesseem determinadas fases do aprendizado.

    A Caelum espera que voc aproveite esse material. Todos os comentrios, crticas e sugestes sero muitobem-vindos.

    Essa apostila constantemente atualizada e disponibilizada no site da Caelum. Sempre consulte o site paranovas verses e, ao invs de anexar o PDF para enviar a um amigo, indique o site para que ele possa semprebaixar as ltimas verses. Voc pode conferir o cdigo de verso da apostila logo no final do ndice.

    Baixe sempre a verso mais nova em: www.caelum.com.br/apostilas

    Esse material parte integrante do treinamento Desenvolvimento gil para Web 2.0 com Ruby on Railse distribudo gratuitamente exclusivamente pelo site da Caelum. Todos os direitos so reservados Caelum.A distribuio, cpia, revenda e utilizao para ministrar treinamentos so absolutamente vedadas. Para usocomercial deste material, por favor, consulte a Caelum previamente.

    www.caelum.com.br

    1

  • ndice

    1 Agilidade na Web 1

    1.1 A agilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.2 A comunidade Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.3 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

    1.4 Tirando dvidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.5 Para onde ir depois? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2 A linguagem Ruby 4

    2.1 A histria do Ruby e suas caractersticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.2 Instalao do interpretador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.3 Outras implementaes de interpretadores Ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

    2.4 Ruby Enterprise Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2.5 Interactive Ruby: ruby no terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.6 Tipos e operaes bsicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.7 Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3 Mais Ruby: classes, objetos e mtodos 13

    3.1 Mundo orientado a objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.2 Mtodos comuns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.3 Definio de mtodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    3.4 Discusso: Enviando mensagens aos objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    3.5 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.6 Desafio: Classes abertas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    i

  • 3.7 self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.8 Desafio: self e o mtodo puts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.9 Atributos e propriedades: acessores e modificadores . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3.10 Syntax Sugar: facilitando a sintaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    3.11 Mtodos de Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    3.12 Para saber mais: Singleton Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    3.13 Metaprogramao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.14 Convenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    3.15 Mais OO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    3.16 Modulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4 Um pouco de API 26

    4.1 Colees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    4.2 Exemplo: mltiplos parmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4.3 Hashes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    4.4 Blocos e Programao Funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    4.5 Para saber mais: Mais sobre blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    4.6 Desafio: Usando blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    4.7 Manipulando erros e exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.8 Exerccio: Manipulando exceptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    4.9 Arquivos com cdigo fonte ruby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    4.10 Para saber mais: um pouco de IO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    5 Ruby on Rails 39

    5.1 Ruby On Rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    5.2 Aprender Ruby? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    5.3 IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

    5.4 Criando um novo projeto rails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    5.5 Exerccios: Iniciando o Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    5.6 Estrutura dos diretrios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    5.7 O Banco de Dados . . . . . . . . . . . . . . . .

Search related