Logar
Evento
/

RR-71 | Desenvolvimento Ágil para Web com Ruby on Rails 3

RR-71 | Desenvolvimento Ágil para Web com Ruby on Rails 3

Banner - RR-71 | Desenvolvimento Ágil para Web com Ruby on Rails 3
Mostrar
  • De 28/05 às 19:00 até: 08/06 às 23:00
  • R. Vergueiro, 3185 - 8º andar - Vila Mariana - São Paulo/São Paulo - Brasil

Descrição

Carga Horária: 40 horas aula

 

O intuito do curso é desenvolver uma aplicação Web completa, que vá desde o banco de dados até o uso de AJAX em toda sua camada de visualização. O foco é o pragmatismo, com riqueza de detalhes para entendimento da "mágica" por trás do Ruby on Rails. Para tal, o curso provê uma base forte e sólida sobre a linguagem Ruby, indo desde conceitos básicos, duck typing, até técnicas avançadas de metaprogramação para construção de Domain Specific Languages (DSLs).

 

Ao final do curso, você estará apto a desenvolver uma aplicação completa com Ruby on Rails 3, entendendo todas as facilidades que o framework provê (nada de mágica!), gastando um tempo muito menor que com outras linguagens e frameworks. Tudo isso com recusos de metaprogramação, AJAX, validação, de forma simples, sem XMLs, com testes e entregando software de qualidade!

 

O curso é fruto de anos de experiência da Caelum e seus instrutores com Rails com desenvolvimento de projetos open-source e comerciais como Restfulie, Tectura, OndeTrabalhar.Com, Agendatech, Programador Poliglota e Caelum git-reports, além de consultoria, muitos artigos e eventos na comunidade.

 

Esse curso faz parte da Formação Ruby on Rails junto com o RR-75.

 

 

Pré-requisitos:

Lógica de programação e conhecimento de conceitos de orientação a objetos. Básico de desenvolvimento web: http, HTML, CSS, JavaScript. Desejável alguma experiência com outras tecnologias para desenvolvimento web, como ASP, PHP ou Java equivalente ao Curso FJ-21.

 

 

Conteúdo detalhado:

 

Agilidade na Web

  1. A agilidade
  2. A comunidade Rails
  3. Bibliografia
  4. Tirando dúvidas
  5. Para onde ir depois?

A linguagem Ruby

  1. A história do Ruby e suas características
  2. Instalação do interpretador
  3. Outras implementações de interpretadores Ruby
  4. Ruby Enterprise Edition
  5. Interactive Ruby: ruby no terminal

Classes, objetos e métodos

  1. Váriáveis, Strings e Comentários
  2. Exercícios - Variáveis, Atribuições
  3. Tipos e operações básicas
  4. Exercícios - Tipos
  5. Estruturas de controle
  6. Exercícios - Estruturas de controle e Regexp
  7. Desafios

Mais Ruby: classes, objetos e métodos

  1. Mundo orientado a objetos
  2. Métodos comuns
  3. Definição de métodos
  4. Exercícios - Métodos
  5. Discussão: Enviando mensagens aos objetos
  6. Classes
  7. Exercícios - Classes
  8. Desafio: Classes abertas
  9. self
  10. Desafio: self e o método puts
  11. Atributos e propriedades: acessores e modificadores
  12. Syntax Sugar: facilitando a sintaxe
  13. Exercícios - Atributos e propriedades
  14. Coleções
  15. Exemplo: múltiplos parâmetros
  16. Hashes
  17. Exercícios - Arrays e Hashes
  18. Blocos e Programação Funcional
  19. Exercícios - Blocos
  20. Para saber mais: Mais sobre blocos
  21. Desafio: Usando blocos
  22. Manipulando erros e exceptions
  23. Exercício: Manipulando exceptions
  24. Arquivos com código fonte ruby
  25. Para saber mais: um pouco de IO

Metaprogramação e Padrões de Projeto

  1. Métodos de Classe
  2. Para saber mais: Singleton Classes
  3. Exercícios - Ruby Object Model
  4. Design Patterns: Singleton
  5. Exercicio: Design Pattern - Singleton
  6. Convenções
  7. Polimorfirmo
  8. Exercícios - Duck Typing
  9. Design Patterns: Template Method
  10. Exercicio Opcional: Design Pattern - Template Method
  11. Modulos
  12. Design Patterns: Observer
  13. Desafio: Design Pattern - Observer
  14. Metaprogramação
  15. Exercícios - Metaprogramação

Ruby on Rails

  1. Ruby On Rails
  2. Aprender Ruby?
  3. IDE
  4. Criando um novo projeto rails
  5. Exercícios: Iniciando o Projeto
  6. Estrutura dos diretórios
  7. Carregando as dependências
  8. O Banco de Dados
  9. Exercícios: Criando o banco de dados
  10. A base da construção: scaffold (andaime)
  11. Exercícios: Scaffold
  12. Gerar as tabelas
  13. Versão do Banco de Dados
  14. Exercícios: Migrar tabela
  15. Server
  16. Exercícios: Iniciando o servidor
  17. Documentação do Rails
  18. Exercício Opcional: Utilizando a documentação

Active Record

  1. Motivação
  2. Exercícios: Controle de Restaurantes
  3. Modelo - O "M" do MVC
  4. ActiveRecord
  5. Rake
  6. Criando Modelos
  7. Migrations
  8. Exercícios: Criando os modelos
  9. Manipulando nossos modelos pelo console
  10. Exercícios: Manipulando registros
  11. Exercícios Opcionais
  12. Finders
  13. Exercícios: Buscas dinâmicas
  14. Validações
  15. Exercícios: Validações
  16. Exercícios - Completando nosso modelo
  17. O Modelo Qualificação
  18. Exercícios - Criando o Modelo de Qualificação
  19. Relacionamentos
  20. Para Saber Mais: Auto-relacionamento
  21. Para Saber Mais: Cache
  22. Exercícios - Relacionamentos
  23. Para Saber Mais - Eager Loading
  24. Para Saber Mais - Named Scopes
  25. Para Saber Mais - Modules

Controllers e Views

  1. O "V" e o "C" do MVC
  2. Hello World
  3. Exercícios: Criando o controlador
  4. Redirecionamento de Action e Action padrão
  5. Trabalhando com a View: O ERB
  6. Entendendo melhor o CRUD
  7. Exercícios: Controlador do Restaurante
  8. Helper
  9. Exercícios: Utilizando helpers para criar as views
  10. Partial
  11. Exercícios: Customizando o cabeçalho
  12. Layout
  13. Exercícios: Criando o header
  14. Outras formas de gerar a View
  15. Filtros

Rotas e Rack

  1. Rack
  2. Exercícios - Testando o Rack
  3. routes.rb
  4. Pretty URLs
  5. Named Routes
  6. REST - resources
  7. Actions extras em Resources
  8. Diversas Representações
  9. Para Saber Mais - Nested Resources
  10. Rails e o Rack
  11. Exercícios - Criando um rota para uma aplicação Rack

Completando o Sistema

  1. Um pouco mais sobre o Scaffold
  2. Exercícios
  3. Selecionando Clientes e Restaurante no form de Qualificações
  4. Exercícios
  5. Exercícios Opcionais
  6. Mais sobre os controllers

Calculations

  1. Métodos
  2. Média
  3. Exercícios

Associações Polimórficas

  1. Nosso problema
  2. Alterando o banco de dados
  3. Exercícios

Ajax com Rails

  1. Adicionando comentários nas views
  2. Instalando manualmente o JQuery no projeto
  3. Instalando o JQuery no projeto usando a gem jquery-rails
  4. Criando as chamadas AJAX
  5. Exercícios
  6. Adicionando comentários
  7. Exercícios

Alguns Plugins e Gems Importantes

  1. Paginação
  2. Exercícios - Título
  3. Hpricot
  4. Exercícios - Testando o Hpricot
  5. File Uploads: Paperclip
  6. Exercícios

Testes

  1. O Porquê dos testes?
  2. %%Test::Unit%%
  3. Exercícios - Teste do modelo
  4. Exercícios - Teste do controller
  5. RSpec
  6. Cucumber, o novo Story Runner

Apêndice A - Integrando Java e Ruby

  1. O Projeto
  2. Testando o JRuby
  3. Exercícios
  4. Compilando ruby para .class com Jruby
  5. Rodando o .class do ruby na JVM
  6. Importando um bytecode(.class) criado pelo jruby
  7. Importando classes do Java para sua aplicação JRuby
  8. Testando o JRuby com Swing

Apêndice B - Deployment

  1. Webrick
  2. CGI
  3. FCGI - FastCGI
  4. Lighttpd e Litespeed
  5. Mongrel
  6. Proxies Reversos
  7. Phusion Passenger (mod_rails)
  8. Ruby Enterprise Edition
  9. Exercícios: Deploy com Apache e Passenger

Apêndice C - Instalação

  1. Ruby - Ubuntu
  2. Ruby - Windows
  3. Rails
  4. JDK
  5. Aptana
  6. Mongrel
  7. MySQL
  8. SVN


* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.

Ler mais

Localização

Programação

Este evento não possui atividades no momento.

Planta do Evento

A planta do evento não está disponível.

Contato

Preencha os campos abaixo para enviar e-mail ao organizador.

Campos Obrigatórios
Campos Obrigatórios
Ao se cadastrar, você concorda com nossos Termos de uso.
Ajaxloader

Compartilhar evento por e-mail


Para continuar, faça login ou cadastre-se.

Recomende este evento para sua rede.

Selecione os usuários que deseja recomendar este evento.