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.
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 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
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.