Logar
Evento
/

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

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

Participantes

0
participantes
0
curtidas
Banner - RR-71 | Desenvolvimento Ágil para Web com Ruby on Rails 3 (Noturno)
Mostrar
  • De 09/07 às 19:00 até: 20/07 às 23:00
  • Rua 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

   

  • 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

   

  • Variá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
  • Polimorfismo
  • 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.

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.