e-Genial Soluções Inteligentes
GRADE DO CURSO
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.
Proibida a reprodução e utilização não autorizada, de todo ou parte do conteúdo deste site. Todos os direitos são reservados.