RR-71 | Desenvolvimento Ágil para Web com Ruby on Rails 3
[ 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.
A opinião de quem fez o RR-71
Me matriculei no curso com receio de que não fosse abordado tudo o que tem na apostila, tudo foi vista, e ainda mais.
Pedro Moreira Mamede, curso em Fortaleza em 20/04/2011
O curso foi excelente, tanto o conteúdo apresentado quanto o instrutor que ministra o curso. Parabéns a todos da Caelum.
Johny Makis, curso em Fortaleza em 20/04/2011
Próximas Turmas do RR-71
| Data | Período | Cidade | Comentário |
|---|---|---|---|
| 05/03 a 16/03 | Noturno (19:00 as 23:00) | São Paulo | |
| 09/04 a 20/04 | Noturno (18:00 as 22:00) | Rio de Janeiro |
Conteúdo detalhado do RR-71
Download da apostila do RR-71Agilidade na Web
- A agilidade
- A comunidade Rails
- Bibliografia
- Tirando dúvidas
- Para onde ir depois?
A linguagem Ruby
- A história do Ruby e suas características
- Instalação do interpretador
- Outras implementações de interpretadores Ruby
- Ruby Enterprise Edition
- Interactive Ruby: ruby no terminal
Classes, objetos e métodos
- Váriáveis, Strings e Comentários
- Exercícios - Variáveis, Atribuições
- Tipos e operações básicas
- Exercícios - Tipos
- Estruturas de controle
- Exercícios - Estruturas de controle e Regexp
- Desafios
Mais Ruby: classes, objetos e métodos
- Mundo orientado a objetos
- Métodos comuns
- Definição de métodos
- Exercícios - Métodos
- Discussão: Enviando mensagens aos objetos
- Classes
- Exercícios - Classes
- Desafio: Classes abertas
- self
- Desafio: self e o método puts
- Atributos e propriedades: acessores e modificadores
- Syntax Sugar: facilitando a sintaxe
- Exercícios - Atributos e propriedades
- Coleções
- Exemplo: múltiplos parâmetros
- Hashes
- Exercícios - Arrays e Hashes
- Blocos e Programação Funcional
- Exercícios - Blocos
- Para saber mais: Mais sobre blocos
- Desafio: Usando blocos
- Manipulando erros e exceptions
- Exercício: Manipulando exceptions
- Arquivos com código fonte ruby
- Para saber mais: um pouco de IO
Metaprogramação e Padrões de Projeto
- Métodos de Classe
- Para saber mais: Singleton Classes
- Exercícios - Ruby Object Model
- Design Patterns: Singleton
- Exercicio: Design Pattern - Singleton
- Convenções
- Polimorfirmo
- Exercícios - Duck Typing
- Design Patterns: Template Method
- Exercicio Opcional: Design Pattern - Template Method
- Modulos
- Design Patterns: Observer
- Desafio: Design Pattern - Observer
- Metaprogramação
- Exercícios - Metaprogramação
Ruby on Rails
- Ruby On Rails
- Aprender Ruby?
- IDE
- Criando um novo projeto rails
- Exercícios: Iniciando o Projeto
- Estrutura dos diretórios
- Carregando as dependências
- O Banco de Dados
- Exercícios: Criando o banco de dados
- A base da construção: scaffold (andaime)
- Exercícios: Scaffold
- Gerar as tabelas
- Versão do Banco de Dados
- Exercícios: Migrar tabela
- Server
- Exercícios: Iniciando o servidor
- Documentação do Rails
- Exercício Opcional: Utilizando a documentação
Active Record
- Motivação
- Exercícios: Controle de Restaurantes
- Modelo - O "M" do MVC
- ActiveRecord
- Rake
- Criando Modelos
- Migrations
- Exercícios: Criando os modelos
- Manipulando nossos modelos pelo console
- Exercícios: Manipulando registros
- Exercícios Opcionais
- Finders
- Exercícios: Buscas dinâmicas
- Validações
- Exercícios: Validações
- Exercícios - Completando nosso modelo
- O Modelo Qualificação
- Exercícios - Criando o Modelo de Qualificação
- Relacionamentos
- Para Saber Mais: Auto-relacionamento
- Para Saber Mais: Cache
- Exercícios - Relacionamentos
- Para Saber Mais - Eager Loading
- Para Saber Mais - Named Scopes
- Para Saber Mais - Modules
Controllers e Views
- O "V" e o "C" do MVC
- Hello World
- Exercícios: Criando o controlador
- Redirecionamento de Action e Action padrão
- Trabalhando com a View: O ERB
- Entendendo melhor o CRUD
- Exercícios: Controlador do Restaurante
- Helper
- Exercícios: Utilizando helpers para criar as views
- Partial
- Exercícios: Customizando o cabeçalho
- Layout
- Exercícios: Criando o header
- Outras formas de gerar a View
- Filtros
Rotas e Rack
- Rack
- Exercícios - Testando o Rack
- routes.rb
- Pretty URLs
- Named Routes
- REST - resources
- Actions extras em Resources
- Diversas Representações
- Para Saber Mais - Nested Resources
- Rails e o Rack
- Exercícios - Criando um rota para uma aplicação Rack
Completando o Sistema
- Um pouco mais sobre o Scaffold
- Exercícios
- Selecionando Clientes e Restaurante no form de Qualificações
- Exercícios
- Exercícios Opcionais
- Mais sobre os controllers
Calculations
- Métodos
- Média
- Exercícios
Associações Polimórficas
- Nosso problema
- Alterando o banco de dados
- Exercícios
Ajax com Rails
- Adicionando comentários nas views
- Instalando manualmente o JQuery no projeto
- Instalando o JQuery no projeto usando a gem jquery-rails
- Criando as chamadas AJAX
- Exercícios
- Adicionando comentários
- Exercícios
Alguns Plugins e Gems Importantes
- Paginação
- Exercícios - Título
- Hpricot
- Exercícios - Testando o Hpricot
- File Uploads: Paperclip
- Exercícios
Testes
- O Porquê dos testes?
- %%Test::Unit%%
- Exercícios - Teste do modelo
- Exercícios - Teste do controller
- RSpec
- Cucumber, o novo Story Runner
Apêndice A - Integrando Java e Ruby
- O Projeto
- Testando o JRuby
- Exercícios
- Compilando ruby para .class com Jruby
- Rodando o .class do ruby na JVM
- Importando um bytecode(.class) criado pelo jruby
- Importando classes do Java para sua aplicação JRuby
- Testando o JRuby com Swing
Apêndice B - Deployment
- Webrick
- CGI
- FCGI - FastCGI
- Lighttpd e Litespeed
- Mongrel
- Proxies Reversos
- Phusion Passenger (mod_rails)
- Ruby Enterprise Edition
- Exercícios: Deploy com Apache e Passenger
Apêndice C - Instalação
- Ruby - Ubuntu
- Ruby - Windows
- Rails
- JDK
- Aptana
- Mongrel
- MySQL
- SVN
* Os apêndices listados são conteúdos adicionais que não fazem parte do curso regular.

