RR-71 | Desenvolvimento Ágil para Web 2.0 com Ruby on Rails
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, 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 e entregando software de qualidade!
O curso é fruto de anos de experiência da Caelum e seus instrutores com Rails com desenvolvimento de projetos como OndeTrabalhar.Com, projetos open-source como Jetty Rails e Caelum git-reports, consultoria, muitos artigos e eventos na comunidade.
Esse curso faz parte da Formação Ruby on Rails junto com o RR-75.
O que eu mais gostei do curso foi a abordagem de como as coisas funcionam "por trás dos panos" no Rails. Assim o aluno fica sabendo o que a linguagem Ruby faz (o poder do ruby) e como o Rails utiliza todo esse poder do Ruby para criar seus recursos. O melhor curso de desenvolvimento de software que já participei.
Fernando Amorim, RR-71
Aqui na Boavista serviços tecnológicos precisávamos de um ambiente ágil e dinâmico, para dessa forma desenvolvermos soluções aos nossos clientes com qualidade e rapidez. A Caelum foi super atenciosa no atendimento e nos impressionou no nível técnico do professor - Fabio Kung. Realizamos o curso: RR::11 - Desenvolvimento ágil para Web 2.0 com Ruby on Rails. Na semana passada liberamos nosso primeiro projeto desenvolvido com Rails, foi um sucesso. É claro que encontramos obstáculos no caminho, superamos, e hoje temos um know-how para outros desafios. O Fabio Kung sempre atencioso ao responder meu emails, tirando dúvidas e dando aquela força. Sempre vou indicar a Caelum. Obrigado
Fabio Santiago, Líder de desenvolvimento, Boavista serviços tecnológicos, RR-71
Informações
Carga Horária: 32 horas aula
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 equivalente ao Curso FJ-21.
Próximas Turmas
São Paulo
| Início | Término | Período |
|---|---|---|
| 03/05 | 13/05 | Noturno (19:00 as 23:00) |
Rio de Janeiro
| Início | Término | Período |
|---|---|---|
| 29/03 | 08/04 | Noturno (18:00 as 22:00) |
| 15/05 | 05/06 | Sabado (9:00 as 17:00) |
Brasília
Conteúdo detalhado do RR-71
Agilidade na Web
- A agilidade
- A comunidade Rails
- Bibliografia
- Tirando dúvidas
- Para onde ir depois?
A linguagem Ruby
- A história do Ruby
- Características
- Instalação do interpretador
- Outras implementações
- MagLev
- Ruby Enterprise Edition
- Interactive Ruby
- Tipos Básicos
- Para Saber Mais - Desafios
- Para Saber Mais - Desafio
Ruby Avançado
- Mundo orientado a objetos
- Métodos comuns
- Meta-programação
- Definição de métodos
- Discussão: Enviando mensagens aos objetos
- Classes
- Desafio: Classes abertas
- self
- Desafio: self e o método puts
- Atributos e propriedades: acessores e modificadores
- Syntax Sugar
- Métodos de Classe
- Para saber mais: Singleton Classes
- Metaprogramação
- Convenções
- Coleções
- Blocos e Programação Funcional
- Desafio: Usando blocos
- Mais OO
- Modulos
- Manipulando erros e exceptions
- Exercício: Manipulando exceptions
- Arquivos Ruby
Ruby on Rails
- Ruby On Rails - Apresentação
- Aprender Ruby?
- RadRails
- Primeira Aplicação
- Exercícios: Iniciando o Projeto
- Estrutura dos diretórios
- 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
- 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
- routes.rb
- Pretty URLs
- Named Routes
- REST - map.resource
- Actions extras em Resources
- Diversas Representações
- Para Saber Mais - Nested Resources
Completando o Sistema
- Exercícios
- Selecionando Clientes e Restaurante no form de Qualificações
- Exercícios
- Exercícios Opcionais
Calculations
- Métodos
- Média
- Exercícios
Associações Polimórficas
- Nosso problema
- Alterando o banco de dados
- Exercícios
Ajax fácil com RJS
- Adicionando comentários nas views
- Métodos de RJS Templates
- Exercícios
- Adicionando comentários
- Exercícios
- Exercícios - Enviando os dados com Ajax
Alguns Plugins e Gems Importantes
- Paginação
- Exercícios - Título
- Hpricot
- Exercícios - Testando o Hpricot
- File Uploads: Paperclip
- Exercícios
Apêndice A - Testes
- O Porquê dos testes?
- %%Test::Unit%%
- RSpec
- Cucumber, o novo Story Runner
Apêndice B - Integrando Java e Ruby
- O Projeto
- Testando o JRuby
- Exercícios
- Testando o JRuby com Swing
Apêndice C - 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 D - Instalação
- Ruby - Ubuntu
- Ruby - Windows
- Rails
- JDK
- Aptana
- Mongrel
- MySQL
- SVN