Atalhos essenciais de produtividade, padrões de otimização de memória e truques de depuração para o dia a dia no desenvolvimento com Rails.
Otimizações de Consulta e Memória
1. pluck vs map
pluck consulta as colunas do banco diretamente sem instanciar objetos de modelo ActiveRecord na memória:
# LENTO: Instancia 10.000 objetos User na memória
User.all.map(&:email)
# RÁPIDO: Seleciona apenas a coluna email como array de strings
User.pluck(:email)
2. Processamento em lote com find_each
Evite carregar tabelas gigantes de uma só vez na memória:
# Carrega em lotes de 1.000 registros
User.find_each(batch_size: 1000) do |user|
user.sync_with_crm
end
Atalhos de Produtividade no Console
# Acessar o resultado da última expressão avaliada
user = User.find(1)
_ # Retorna o objeto user
# Medir tempo de execução no console
Benchmark.ms { 1000.times { User.count } }
# Recarregar o código da aplicação sem reiniciar o console
reload!
Atualização de Timestamps (touch)
Atualizar o timestamp updated_at de um modelo pai sempre que uma associação filha for modificada:
class Comment < ApplicationRecord
belongs_to :article, touch: true
end