Pular para o conteúdo

Trilha de estudo

Trilha Ruby on Rails: tudo o que estudar, tópico por tópico

Avaliacao abrangente de Ruby on Rails cobrindo fundamentos da linguagem Ruby, convencoes e arquitetura Rails, Active Record e modelagem de banco de dados, controllers e views, autenticacao e autorizacao, jobs em segundo plano, cache, testes, otimizacao de desempenho, deploy e boas praticas de seguranca.

Resposta curta

Para aprender Ruby on Rails, percorra 6 módulos e 24 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos de Ruby e siga para Fundamentos de Rails e Models & Banco de Dados. Use o mapa como checklist, ou meça seu nível e estude só o que falta.

6
módulos
24
tópicos
45
min para avaliar

O que você vai estudar

Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.

1 · Fundamentos de Ruby4 tópicos
  • Sintaxe & Fundamentos de Ruby

    Variaveis (local, instancia, classe, global), tipos de dados (String, Integer, Float, Symbol, NilClass), interpolacao de strings, expressoes condicionais, lacos, iteradores e definicao de metodos

    Objetivos

    • Escrever codigo Ruby basico com sintaxe e convencoes adequadas
    • Compreender a tipagem dinamica e regras de escopo de variaveis do Ruby

    Conceitos-chave

    • escopos de variaveis
    • tipos de dados
    • interpolacao de strings
    • simbolos vs strings
    • condicionais (if/unless/case)
    • iteradores (each, map, select)
    • definicao de metodos
    • retorno implicito
  • Estruturas de Dados

    Arrays, Hashes, Sets, Ranges, Structs e OpenStruct. Metodos Enumerable comuns, manipulacao de hashes, fatiamento de arrays e pipelines de colecoes

    Objetivos

    • Usar colecoes Ruby efetivamente com metodos enumerable
    • Escolher a estrutura de dados correta para diferentes casos de uso

    Conceitos-chave

    • arrays e metodos comuns
    • hashes e chaves symbol
    • ranges
    • modulo Enumerable
    • map/select/reduce
    • Struct vs OpenStruct
    • fatiamento de arrays
    • valores padrao de hash
  • Blocos, Procs & Lambdas

    Sintaxe de blocos (do..end e {}), palavra-chave yield, objetos Proc, literais lambda, closures, objetos method e o operador & para conversao bloco-proc

    Objetivos

    • Explicar as diferencas entre blocos, procs e lambdas
    • Usar blocos e yield para criar metodos flexiveis

    Conceitos-chave

    • sintaxe de blocos
    • palavra-chave yield
    • Proc.new
    • lambda vs proc
    • closures
    • operador &
    • method(:nome)
    • block_given?
  • Ruby Orientado a Objetos

    Classes, modulos, heranca, mixins, cadeia de busca de metodos, attr_accessor/reader/writer, controle de acesso (public/private/protected), duck typing e fundamentos de metaprogramacao

    Objetivos

    • Projetar classes Ruby com encapsulamento e heranca adequados
    • Compreender a cadeia de busca de metodos e mixins de modulos do Ruby

    Conceitos-chave

    • definicao de classes
    • modulos e mixins
    • heranca
    • cadeia de busca de metodos
    • attr_accessor
    • controle de acesso
    • duck typing
    • method_missing
2 · Fundamentos de Rails4 tópicos
  • Convencoes & Arquitetura Rails

    Convencao sobre configuracao, arquitetura MVC, estrutura de diretorios, Gemfile e Bundler, ambientes Rails, autoloading com Zeitwerk e a filosofia Rails

    Objetivos

    • Explicar as convencoes Rails e a arquitetura MVC
    • Navegar pela estrutura de um projeto Rails com confianca

    Conceitos-chave

    • convencao sobre configuracao
    • padrao MVC
    • estrutura de diretorios
    • Gemfile e Bundler
    • ambientes Rails
    • autoloading Zeitwerk
    • principio DRY
    • console Rails
  • Rotas

    Rotas RESTful, macro resources, rotas aninhadas, rotas member e collection, rotas nomeadas, restricoes de rotas, namespace e scope, e helpers de rotas

    Objetivos

    • Definir rotas RESTful usando a macro resources
    • Usar rotas aninhadas e restricoes de rotas adequadamente

    Conceitos-chave

    • macro resources
    • rotas RESTful
    • rotas aninhadas
    • member e collection
    • rotas nomeadas
    • restricoes de rotas
    • namespace vs scope
    • rota root
  • Geradores & Scaffolding

    Geradores Rails (model, controller, migration, scaffold), personalizacao de geradores, anatomia do scaffold, destruicao de arquivos gerados e quando evitar scaffolding

    Objetivos

    • Usar geradores Rails para inicializar componentes da aplicacao
    • Compreender o que cada gerador produz e quando usa-lo

    Conceitos-chave

    • comando rails generate
    • gerador de model
    • gerador de controller
    • gerador scaffold
    • gerador de migration
    • rails destroy
    • geradores customizados
    • templates de geradores
  • Configuracao & Ambientes

    Configuracao da aplicacao, configuracoes por ambiente, credenciais e segredos, inicializadores, config/application.rb, database.yml e variaveis de ambiente

    Objetivos

    • Configurar uma aplicacao Rails para diferentes ambientes
    • Gerenciar segredos e credenciais de forma segura

    Conceitos-chave

    • config/application.rb
    • arquivos de ambiente
    • credenciais (rails credentials:edit)
    • database.yml
    • inicializadores
    • variaveis de ambiente
    • config_for
    • configuracao customizada
3 · Models & Banco de Dados4 tópicos
  • Fundamentos do Active Record

    Padrao Active Record, operacoes CRUD, interface de consulta (where, find, find_by, order, limit), escopos, pluck, select e o construtor de consultas Arel

    Objetivos

    • Realizar operacoes CRUD usando Active Record
    • Construir consultas eficientes com escopos e a interface de consulta

    Conceitos-chave

    • padrao Active Record
    • operacoes CRUD
    • where e find_by
    • escopos
    • encadeamento de consultas
    • pluck e select
    • fundamentos de Arel
    • SQL bruto com find_by_sql
  • Migrations

    Migrations de banco de dados, alteracoes de schema, migrations reversiveis, tipos de coluna, indices, chaves estrangeiras, migrations de dados e schema.rb vs structure.sql

    Objetivos

    • Escrever migrations de banco de dados seguras e reversiveis
    • Compreender quando usar schema.rb vs structure.sql

    Conceitos-chave

    • create_table
    • add_column/remove_column
    • add_index
    • add_foreign_key
    • migrations reversiveis
    • change vs up/down
    • schema.rb
    • migrations de dados
  • Associacoes

    has_one, has_many, belongs_to, has_many :through, has_and_belongs_to_many, associacoes polimorficas, auto-juncoes, inverse_of, opcoes dependent e eager loading

    Objetivos

    • Modelar relacoes de dominio complexas com associacoes Active Record
    • Evitar consultas N+1 usando estrategias de eager loading

    Conceitos-chave

    • belongs_to e has_many
    • has_many :through
    • associacoes polimorficas
    • juncoes auto-referenciais
    • inverse_of
    • dependent: :destroy
    • eager loading (includes)
    • counter_cache
  • Validacoes & Callbacks

    Validacoes nativas (presence, uniqueness, format, numericality), validadores customizados, validacoes condicionais, callbacks de ciclo de vida (before_save, after_create) e armadilhas de callbacks

    Objetivos

    • Implementar validacoes de modelo para integridade de dados
    • Usar callbacks criteriosamente compreendendo seus riscos

    Conceitos-chave

    • validacao de presenca
    • validacao de unicidade
    • validadores customizados
    • validacoes condicionais
    • callback before_save
    • callback after_create
    • ordem de callbacks
    • armadilhas de callbacks
4 · Controllers & Views4 tópicos
  • Controllers & Acoes

    Acoes RESTful, strong parameters, filtros before_action, respond_to, mensagens flash, redirecionamentos, renderizacao e concerns de controller

    Objetivos

    • Implementar acoes de controller RESTful com tratamento adequado de parametros
    • Usar filtros e concerns para manter controllers DRY

    Conceitos-chave

    • acoes RESTful (index/show/new/create/edit/update/destroy)
    • strong parameters
    • before_action
    • respond_to
    • mensagens flash
    • redirect_to vs render
    • concerns de controller
    • rescue_from
  • Views & Templates

    Sintaxe ERB, layouts, partials, content_for e yield, helpers de view, Turbo Frames e Streams (Hotwire) e asset pipeline vs Propshaft

    Objetivos

    • Construir views dinamicas usando templates ERB e partials
    • Compreender Hotwire e abordagens modernas de frontend Rails

    Conceitos-chave

    • sintaxe ERB (<%= %> vs <% %>)
    • layouts e yield
    • partials e locals
    • content_for
    • helpers de view
    • Turbo Frames
    • Turbo Streams
    • Propshaft
  • Formularios & Helpers

    Helper form_with, form builders, atributos aninhados (accepts_nested_attributes_for), protecao CSRF, uploads de arquivo com Active Storage e objetos de formulario customizados

    Objetivos

    • Construir formularios com seguranca adequada e tratamento de atributos aninhados
    • Implementar uploads de arquivo usando Active Storage

    Conceitos-chave

    • form_with
    • form builders
    • atributos aninhados
    • tokens CSRF
    • Active Storage
    • uploads de arquivo
    • objetos de formulario customizados
    • strong parameters para aninhados
  • Modo API & Serializacao

    Aplicacoes Rails somente API, serializacao JSON (jbuilder, ActiveModelSerializers, Alba), versionamento de API, paginacao, limitacao de taxa e configuracao de CORS

    Objetivos

    • Construir aplicacoes Rails somente API com serializacao adequada
    • Implementar versionamento, paginacao e limitacao de taxa para APIs de producao

    Conceitos-chave

    • modo somente API
    • serializacao JSON
    • jbuilder
    • versionamento de API
    • paginacao (Kaminari/Pagy)
    • limitacao de taxa
    • configuracao de CORS
    • tokens de autenticacao de API
5 · Rails Avancado4 tópicos
  • Autenticacao

    has_secure_password, gem Devise, OmniAuth para OAuth, autenticacao JWT, gerenciamento de sessao, tokens remember, fluxos de redefinicao de senha e autenticacao multifator

    Objetivos

    • Implementar autenticacao com Devise ou do zero
    • Projetar gerenciamento seguro de sessao e autenticacao baseada em tokens

    Conceitos-chave

    • has_secure_password
    • gem Devise
    • OmniAuth
    • tokens JWT
    • gerenciamento de sessao
    • tokens remember me
    • fluxo de redefinicao de senha
    • autenticacao multifator
  • Autorizacao

    Gem Pundit, gem CanCanCan, controle de acesso baseado em papeis, objetos de politica, autorizacao baseada em recursos, paineis admin e autorizacao multi-tenant

    Objetivos

    • Implementar autorizacao granular com Pundit ou CanCanCan
    • Projetar sistemas de controle de acesso baseados em papeis e recursos

    Conceitos-chave

    • politicas Pundit
    • habilidades CanCanCan
    • acesso baseado em papeis
    • objetos de politica
    • escopo de recursos
    • autorizacao admin
    • multi-tenancy
    • permissoes baseadas em acao
  • Jobs em Segundo Plano

    Framework Active Job, adaptador Sidekiq, filas de jobs e prioridades, estrategias de retry, jobs agendados, idempotencia e monitoramento de jobs

    Objetivos

    • Projetar processamento confiavel de jobs em segundo plano com Sidekiq
    • Implementar jobs idempotentes com retry e tratamento de erros adequados

    Conceitos-chave

    • interface Active Job
    • adaptador Sidekiq
    • filas de jobs
    • estrategias de retry
    • jobs agendados (sidekiq-cron)
    • jobs idempotentes
    • monitoramento de jobs
    • filas de mensagens mortas
  • Estrategias de Cache

    Cache de fragmento, cache Russian doll, cache de baixo nivel (Rails.cache), cache HTTP (ETags, Last-Modified), armazenamentos de cache (Redis, Memcached) e invalidacao de cache

    Objetivos

    • Implementar estrategias de cache em multiplos niveis no Rails
    • Projetar politicas eficazes de invalidacao de cache

    Conceitos-chave

    • cache de fragmento
    • cache Russian doll
    • Rails.cache (baixo nivel)
    • cache HTTP (ETags)
    • armazenamentos de cache (Redis)
    • invalidacao de cache
    • geracao de chave de cache
    • GET condicional
6 · Rails em Producao4 tópicos
  • Testes

    Framework RSpec, factory_bot, specs de request, specs de model, specs de sistema com Capybara, mocking e stubbing, cobertura de testes e fluxo TDD no Rails

    Objetivos

    • Escrever testes abrangentes usando RSpec e factory_bot
    • Aplicar praticas TDD no desenvolvimento Rails

    Conceitos-chave

    • sintaxe RSpec (describe/context/it)
    • factories factory_bot
    • specs de request
    • specs de model
    • specs de sistema (Capybara)
    • mocking e stubbing
    • exemplos compartilhados
    • cobertura de testes (SimpleCov)
  • Otimizacao de Desempenho

    Deteccao de consultas N+1 (gem Bullet), indexacao de banco de dados, otimizacao de consultas, middleware Rack, profiling de memoria, pool de conexoes e escalabilidade horizontal

    Objetivos

    • Identificar e resolver gargalos de desempenho em aplicacoes Rails
    • Otimizar consultas de banco de dados e uso de memoria da aplicacao

    Conceitos-chave

    • deteccao de consultas N+1
    • estrategias de indexacao de banco de dados
    • otimizacao de consultas (EXPLAIN)
    • middleware Rack
    • profiling de memoria
    • pool de conexoes
    • sharding de banco de dados
    • CDN e otimizacao de assets
  • Deploy & DevOps

    Deploy com Capistrano, containerizacao Docker, pipelines CI/CD, configuracao Puma, deploy com Kamal, estrategias de backup de banco de dados e deploys sem downtime

    Objetivos

    • Fazer deploy de aplicacoes Rails com estrategias sem downtime
    • Configurar pipelines CI/CD e deploys containerizados

    Conceitos-chave

    • deploy com Capistrano
    • Docker para Rails
    • pipelines CI/CD
    • configuracao Puma
    • deploy com Kamal
    • backups de banco de dados
    • deploys sem downtime
    • agregacao de logs
  • Seguranca

    Protecao CSRF, prevencao de SQL injection, mitigacao de XSS, Content Security Policy, protecao contra mass assignment, headers seguros, auditoria de dependencias (bundler-audit) e OWASP top 10

    Objetivos

    • Fortalecer aplicacoes Rails contra vulnerabilidades comuns de seguranca
    • Implementar estrategias de seguranca em profundidade

    Conceitos-chave

    • protecao CSRF
    • prevencao de SQL injection
    • mitigacao de XSS
    • Content Security Policy
    • protecao contra mass assignment
    • headers seguros
    • bundler-audit
    • OWASP top 10 para Rails

Níveis: Júnior, Pleno e Sênior

Explique com suas palavras

Corrigido por IA · sem cadastro · 1 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

Já estuda Ruby on Rails?

A avaliação mede tópico por tópico, e o plano pula o que você já sabe.

Aberto para ler. A conta só é necessária para ser medido.

Perguntas frequentes

Por onde começar a estudar Ruby on Rails?

Comece por Fundamentos de Ruby: Sintaxe & Fundamentos de Ruby, Estruturas de Dados e Blocos, Procs & Lambdas. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.

Quanto tempo leva uma avaliação completa de Ruby on Rails?

Uma avaliação completa desta trilha leva cerca de 45 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.

Preciso de conta para usar esta página?

Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.