Aula 1 - Introducao ao Ruby PI Aula 2 - Introducao ao Ruby PII Aula 3 - Introducao ao Ruby PIII Aula 4 - Começando com Rails 2.3.2 Aula 5 - CRM: MVC, Banco de Dados e Console Aula 6 - CRM: Scaffold e Validações Aula 7 - CRM: Relacionamento entre Models PI Aula 8 - CRM: Relacionamento entre Models PII Aula 9 - CRM: Relacionamento entre Models PIII Aula 10 - CRM: Filtros, Callbacks, XML
Aula 11 - CRM: Entendendo REST e aprofundando em Rotas Aula 12 - CRM: Internacionalização Aula 13 - CRM: Upload com Paperclip Aula 14 - CRM: Authlogic e Autenticação HTTP Aula 15 - CRM: Enviando Emails e Ajax P. I Aula 16 - CRM: Ajax P. II Aula 17 - CRM: Testes Aula 18 - Depuração, Segurança e Templates Rails Aula 19 - CRM: Cache e preparação para deploy Aula 20 - CRM: Deploy Aula 21 - CRM pos-produção e fechamento do curso
Grade detalhada
I. Ruby
A. Introdução
i. História
Aprendendo sobre a origem do Ruby e porque o mesmo
é uma das linguagens mais bem sucedidas da atualidade.
ii. Características
De onde vem as características do Ruby; e o que ele herda
de suas linguagens antecessoras.
iii. Vantagens / Desvantagens
O que o Ruby tem de melhor sobre as outras linguagens,
e, para ser justo, o que ele também tem de pior.
B. Instalação
i. Windows
Como rodar o Ruby sobre o Windows sem dores de cabeça.
ii. Linux
Como obter o máximo no Linux sem ficar preso a
distribuições específicas.
C. A Linguagem
i. Classes, Objetos e Variáveis
Aprendendo as bases do Ruby e como utilizá-las para o
máximo de produtividade desde o começo.
ii. Tipos
Como funciona o sistema de tipos do Ruby e como usá-lo
em seu benefício.
iii. Métodos
Como passar mensagens entre objetos com o código mais
elegante e extraindo o máximo das características do Ruby.
iv. Expressões
Como o Ruby funciona em detalhes.
v. Exceções
Como lidar com problemas.
vi. Entrada / Saída
Entendendo como o Ruby processa dados.
vii. Estendendo
Criando sua própria linguagem dentro do Ruby para
legibilidade máxima e melhor manutenção.
D. Futuro
II. Rails
A. O que é
De onde vêm, como chegou até onde está e o que compõe
esse framework que se tornou uma referência em
desenvolvimento Web.
B. Por quê?
Porque usar o Rails.
C. Vantagens / Desvantagens
O que o Ruby tem de melhor sobre os outros frameworks,
e, para ser justo, o que ele também tem de pior.
D. Instalação
i. Windows
Instalando no Windows sem problemas.
ii. Linux
Instalando no Linux sem problemas.
E. Estrutura
i. MVC
O que é essa tríade que forma a base do Rails e que é
um dos melhores caminhos para o desenvolvimento de
quaisquer aplicações.
ii. Boas Práticas
Quais as práticas mais desejáveis no desenvolvimento em
Rails.
F. Primeiros Passos
i. Configurando
a) Criando a aplicação
Começando com o básico: criando uma aplicação e
fazendo-a funcionar pela primeira vez.
b) Banco de dados
Conectando com o banco de dados e extraindo as
primeiras informações do mesmo.
ii. Desenhando
a) Modelos de dados
Ententendo como o Rails se comunica com o banco
de dados e como essa estratégia se compara a outras
linguagens.
b) Sexy Migrations
Entendendo como o Rails lida com o crescimento e
evolução do seu modelo de dados sem se colocar no
seu caminho.
c) O primeiro controller
As primeiras ações e repostas a entrada em uma
aplicação Web.
d) Layouts
Como gerenciar os aspectos visuais da sua aplicação
sem prejudicar a lógica de negócios da mesma.
e) Roteamento
· Mapeamento manual
Entendendo como o Rails mapeia uma URL para uma
ação em sua aplicação.
· Mapeamento RESTful automático
Verificando com o Rails faz isso em sua última
versão e como isso impacta a estrutura e
arquitetura de sua aplicação.
f) Scaffolding
Prototipação relâmpago para produtividade máxima.
g) Validações
Impedindo que os seus dados sejam corrompidos e que
suas regras de negócios sejam violadas.
h) Navegando: um segundo controller
Relacionando ações e recursos em sua aplicação com
o mínimo de esforço. G. A Todo Vapor
i. Avançando
a) Relacionamentos
· Belongs To
Relacionamentos 1 X 1.
· Has Many
Relacionamentos 1 x N.
· Has One
Relacionamentos 1 x 1 com unidade.
· Has Many, Through
Relacionamentos 1 X N ou N x N com polimorfismo.
· Has and Belongs To Many
Relacionamentos N X N sem polimorfismo.
b) Associações
Composições de objetos para mapear completamente
seu domínio de negócios.
c) Filtros
Capturando eventos em sua aplicação para criar um
fluxo de trabalho completo e sofisticado.
d) Callbacks
Capturando eventos em seu modelo de dados para
aumentar as possibilidades de suas regras de negócios.
e) Escopos
Afetando o modo como as chamadas ao banco são
efetuadas para tornar transparente e sofisticada a
relação entre os modelos de sua aplicação.
ii. Fechando
a) Plugins
Estendendo o Rails com código de terceiros.
b) Uploads
Lidando com dados brutos.
c) XML
Gerando e usando XML em sua aplicação.
d) Autenticação
· Interna
Autenticação interna via formulários.
· HTTP
Autenticação externa via navegador.
e) E-mail
Enviado e-mails do Rails com simplicidade e sofisticação.
iii. Burilando
a) Módulos
Estendendo o Rails com seus próprios módulos.
b) AJAX
· Prototype
Usando as bibliotecas JavaScript do Rails.
· Scriptaculous
Usando as bibliotecas de controles JavaScript do
Rails.
· RJS
Manipulando JavaScript no Rails para criar
aplicações sofisticadas com facilidade.
· Degradação graciosa
Fazendo a aplicação funcionar com ou sem
JavaScript para o melhor de dois mundos.
· YUI, Dojo, MojoKit e outros
Usando bibliotecas JavaScript não-nativas ao Rails.
H. Linha de Chegada
i. Depurando
a) Testes e Cobertura
Testando primeiro para reduzir bugs, aumentar a
produtividade e amenizar a manutenção, usando
cobertura de código para verificação máxima.
b) Depuração
Interceptando a execução de código para facilitar
a identificação de erros.
c) Segurança
· Injeção SQL
Lidando com injeção SQL.
· Vulnerabilidades em ações.
Lidando com problemas comuns em ações.
· Vulnerabilidades em autenticação
Lidando com problemas na autenticação.
· Vulnerabilidades em exposição de dados.
Lidando com problemas da exposição indevida
de características da aplicação.
ii. Indo além
a) Cache
Usando o cache do Rails e memcached para otimizar
a aplicação.
b) Fomatos
Usando outros formatos de dados.
c) Implantação
· Phusion Passenger (mod_rails).
Implantação via Phusion Passenger com Apache.
· Capistrano
Implantações automatizadas.
· Balanceamento
I. Fechamento
i. O sucesso do Rails
Porque o Rails é bem sucedido e como empregar isso
ao seu favor.
ii. Aprendizagem contínua
Sites e listas para se manter atualizado.