RR-11 - 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 do curso é 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.
Outro ponto forte do curso são os Testes, com grande enfoque em práticas de desenvolvimento guiadas por testes, como Behavior Driven Development - BDD e Test Driven Development - TDD. Passaremos por exercícios com ferramentas consagradas como o RSpec e Cucumber.
Esse foi o primeiro curso da Caelum não focado em Java, porém com um apêndice especial sobre a integração de Ruby com Java, através do projeto JRuby. O curso é coordenado por Fabio Kung, que trabalha com Ruby desde 2005 e está ativamente envolvido na comunidade brasileira de Ruby on Rails, com alguns projetos como o Jetty Rails e o Rfactor.
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!
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-11
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-11
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 |
|---|---|---|
| 06/07 | 09/07 | Integral (9:00 as 17:00) |
| 31/08 | 10/09 | Noturno (19:00 as 23:00) |
| 12/09 | 03/10 | Sabado (9:00 as 17:00) |
Rio de Janeiro
| Início | Término | Período |
|---|---|---|
| 28/09 | 07/10 | Noturno (18:00 as 22:00) |
Conteúdo detalhado do RR-11
A linguagem Ruby
- A história do Ruby
- Instalação do interpretador
- Outras implementações
- MagLev
- Ruby Enterprise Edition
- Interactive Ruby
- Tipos Básicos
Ruby Avançado
- Mundo orientado a objetos
- Classes
- Syntax Sugar
- Métodos de Classe
- Metaprogramação
- Convenções
- Outros tipos
- Blocos e Programação Funcional
- Mais OO
- Modulos
- Arquivos Ruby
Conhecendo o RadRails
- Ruby On Rails - Apresentação
- Aprender Ruby?
- RadRails
- Explicando o 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
Controle de restaurantes
- Motivação
- Exercícios
- Modelo - O "M" do MVC
- ActiveRecord
- Rake
- Criando Modelos
- Migrations
- Exercícios
- Manipulando nossos modelos pelo console
- Exercícios
- Exercícios Opcionais
- Finders
- Exercícios
- Validações
- Exercícios
- Exercícios - Completando nosso modelo
- Relacionamentos
- Exercícios - Relacionamentos
- Para Saber Mais - Named Scopes
Test Driven Development
- O Porquê dos testes?
- %%Test::Unit%%
- Fixtures
- Conteúdo dinâmico em Fixtures
- Fixtures com Relacionamentos
- TDD - Test-Driven Development
- RSpec
- Mocks
- Cucumber, o novo Story Runner
- Para Saber Mais - Outras ferramentas de testes famosas
Controllers: A lógica de negócios
- O "C" do MVC
- Hello World
- Exercícios
- Redirecionamento de Action e Action padrão
- Entendendo melhor o CRUD
- Exercícios
- Filtros
O ERB
- O "V" do MVC
- Helper
- Exercícios
- Partial
- Exercícios
- Layout
- Exercícios
- Outras formas de gerar a View
Criando 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 Opcionais - Enviando os dados com Ajax
Apêndice A - Caches
- Exercícios - Configurações de Cache
- Page Cache
- Action Cache
- Fragment Cache
- Cache Sweeper
Apêndice B - Alguns Plugins e Gems Importantes
- Paginação
- Hpricot
Apêndice C - Integrando Java e Ruby
- O Projeto
- Testando o JRuby
- Exercícios
- Testando o JRuby com Swing
Apêndice D - Outros testes e specs
- Nomenclatura
- Testes Funcionais
- Specs para Controladores
- Cucumber e Webrat
- Testes de aceitaçao e Selenium, Fitnesse, Watir
Apêndice E - Deployment
- Webrick
- CGI
- FCGI - FastCGI
- Lighttpd e Litespeed
- Mongrel
- Proxies Reversos
- Phusion Passenger (mod_rails)
- Ruby Enterprise Edition
Apêndice F - Instalação
- Ruby - Ubuntu
- Ruby - Windows
- Rails
- JDK
- Aptana
- Mongrel
- MySQL
- SVN