Formação Rails

Curso Ruby e Rails avançados: lidando com problemas do dia a dia

Sobre o curso RR-75

Já conhece ou até mesmo trabalha com Ruby on Rails mas não entende completamente os conceitos no cerne do framework? Quer personalizar seu fluxo de trabalho mas não sabe bem como fugir as convenções do Rails sem ferir as boas práticas de desenvolvimento indicadas pela comunidade?

No dia a dia do desenvolvimento de aplicações Ruby on Rails, nos deparamos com desafios que vão além da criação de scaffolds ou CRUDs. Nesse curso serão abordados tópicos como autenticação e permissionamento, construção de formulários personalizados, internacionalização e localização, sempre com foco nas ferramentas utilizadas no mercado.

Veja também a ementa detalhada do curso.

Pré-requisitos

Curso Desenvolvimento Ágil para Web com Ruby on Rails 4 ou: bons conhecimentos da linguagem Ruby e experiência com o framework Rails.

20horas aula

A opinião de quem fez

Nele é onde realmente as coisas acontecem! Autenticação e permissões de usuários, automatização de testes. O curso não ensina tudo que existe em uma semana, mas agora tenho confiança de que posso me virar.

Douglas Takao Miyata em 22/07/2013

O curso foi execelente, o instrutor mostra pleno domínio das técnicas apresentadas indo além do escopo do curso. (…)

Thiago Leite Luiz, São José do Rio Preto – SP, Rede Educação em 23/03/2012

Fale com a gente.

Dúvidas, reservas ou um papo com um instrutor?

Conteúdo detalhado

Rack: escrevendo aplicações web com Ruby

  1. Um padrão para aplicações web em Ruby
  2. Exercícios: Criando uma aplicação Rack

Bundler: gerenciando dependências em um projeto Ruby

  1. Uma máquina, muitas gems: como usar uma versão específica de uma gem?
  2. Gemfile: apontando dependências e versões
  3. Para saber mais: Semantic Versioning
  4. Deixe com o Bundler: bundle exec
  5. Ambientes isolados com o Bundler
  6. Exercícios: Usando recursos do Bundler em uma nova aplicação
  7. A criação do esquema no banco de dados de sua escolha
  8. Exercícios: Criando o esquema do banco de dados

Construindo formulários com SimpleForm

  1. Mapeando uma action inicial para a aplicação
  2. Exercícios: Mapeando uma action inicial
  3. Formulário fácil com SimpleForm
  4. Mas para qual url o formulário é submetido?
  5. Campo decimal e precisão
  6. Exercícios: Instalando e configurando o simple_form
  7. Exercícios: Criando o cadastro de anúncios

Rápida introdução sobre o assets pipeline

  1. Uma convenção para gerenciar seus assets
  2. Os diretórios /assets
  3. Os assets em modo development e em modo production
  4. Para saber mais: Otimizações Web
  5. Exercício: Melhorando a aparência do formulário

Cadastros personalizados e url helpers

  1. Uma action para armazenar os anúncios
  2. Exercícios: Armazenando um anúncio
  3. Exibindo erros de validação
  4. Exercícios: Exibindo erros de validação com Simple Form
  5. Exibindo os anúncios na página inicial
  6. Exercícios: Listando anúncios
  7. Finalizando o cadastro com edição e exclusão
  8. A action update e o método update_attributes
  9. Exercícios: Editando um anúncio

Rotas, JavaScript e Graceful Degradation

  1. Tela de confirmação para excluir um anúncio
  2. Exercícios: Criando uma tela de confirmação de exclusão
  3. Submetendo formulário usando o verbo DELETE do HTTP?
  4. Exercícios: Tela de confirmação
  5. Request com o método HTTP DELETE via JavaScript
  6. Limpando as rotas não utilizadas
  7. Exercícios: Um link, duas actions e graceful degradation
  8. Desafio Opcional

Cadastro e controle de usuários com Devise

  1. Configurando o Devise
  2. Cadastro e autenticação de usuários
  3. Exercícios: Configurando o Devise
  4. Exercícios: Cadastrando e autenticando um usuário
  5. Controlando o acesso com filtros
  6. Exercício: Bloqueando usuários não logados
  7. Desafios
  8. Personalizando as views do Devise
  9. Exercício: Modificando a tela de cadastro de usuário

Atribuindo um anunciante para os anúncios

  1. Estabelecendo um anunciante
  2. Exercícios: Todo anúncio tem um anunciante
  3. Exercício Opcional
  4. Restringindo o acesso a funcionalidades
  5. Exercícios: Restringindo acesso a funcionalidades
  6. Desafio
  7. Aprovação de anúncios
  8. Exercícios: Uma action para aprovação dos anúncios
  9. Associando um perfil de acesso ao usuário
  10. Exercício: Cadastrando um administrador

Regras de acesso com CanCan

  1. Configurando permissões
  2. Exercício: Restringindo a funcionalidade de aprovação aos administradores
  3. Carregando e autorizando um recurso
  4. Trabalhando com os parâmetros do método authorize!
  5. Actions personalizadas
  6. Exercícios: Usando CanCan para definir o acesso de um anunciante
  7. Helper methods para view fornecidos pelo CanCan
  8. Restringindo a visualização de anúncios
  9. Trantando a falha de autorização
  10. Exercícios: Exibindo links apenas para ações autorizadas
  11. Exercícios Opcionais: Exibindo somente anúncios aprovados
  12. Exercícios Opcionais: Exibindo mensagem para falha de autorização
  13. Desafio

Um formulário, vários modelos: lidando com os nested models

  1. O modelo Marca
  2. Permitindo a passagem de parâmetros para modelos em relacionamentos
  3. Exercícios: Configurando o relacionamento entre anúncios e marcas
  4. Exercícios: Configurando o relacionamento entre anúncios e marcas
  5. Escolhendo uma marca já existente
  6. Filtrando os parâmetros do request
  7. Exercícios: Filtrando os parâmetros do request
  8. Exercícios: Escolhendo entre marcas previamente cadastradas
  9. Desafios: tornando a implementação mais robusta

Testes automatizados com RSpec

  1. Uma rápida introdução ao Test Unit
  2. Conhecendo o RSpec
  3. Exercícios: configurando o RSpec em seu projeto
  4. Simulando a interação do usuário com Capybara
  5. Exercícios: configurando o Capybara
  6. Visualizando os testes no navegador e o DatabaseCleaner
  7. Exercícios: Rodando os testes no navegador
  8. Preparando o ambiente para os testes
  9. Exercícios: testes de integração com Capybara e RSpec

I18n e L10n: preparando sua aplicação para o mundo

  1. Internacionalização das mensagens do Rails
  2. Exercício: Internacionalizando a aplicação
  3. Exercício opcional: Internacionalizando outras partes do sistema
  4. Pluralizando a mensagem
  5. Exercício: Pluralizando o número de anuncios
  6. Alterando o idioma da aplicação programaticamente
  7. Exercícios: Permitindo que o usuário altere o idioma
  8. Exercício opcional: Adicionando outros idiomas
  9. Formatando data e moeda de acordo com o idioma
  10. Exercício:Formatando a data

Personalizando sua aplicação Rails

  1. Tela de detalhes do anúncio
  2. Exercícios: Tela para visualizar os detalhes de um anúncio
  3. Usando facilidades do Rails para construir um feed
  4. Exercícios: Feed de anúncios
  5. Exercício opcional: Expondo os anuncios no formato JSON
  6. Conheça o Metal: melhorando a performance
  7. Exercício:Melhorando a performance com metal
  8. Para saber mais: rails-api

Apêndice A: Envio de e-mails automatizado com ActionMailer

  1. ActionMailer: views, helpers e configurações
  2. Exercício:Testando o envio de emails
  3. I18n e o ActionMailer
  4. Exercício:Internacionalizando o template
  5. Desafio: Usando templates diferentes para linguas diferentes
  6. Resque: criando uma fila para envio assíncrono de e-mails
  7. Exercício:Configurando e rodando o Resque
  8. Para saber mais:Delayed Job

Apêndice B: Lançando a aplicação! Deploy automático com Capistrano

  1. Porque automatizar o processo de deploy?
  2. Criando um ambiente para deploy
  3. Exercício:Subindo a máquina virtual
  4. Capistrano
  5. Exercício:Realizando o deploy para produção
  6. Exercício opcional: Mais detalhes do Capistrano


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