Rails Flashcards

(36 cards)

1
Q

Active Record

A

Facilita a interação com o banco de dados, mapeando tabelas para classes e objetos Ruby.

Active Record é uma parte importante do framework Ruby on Rails.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Action Pack

A

Lida com requisições web, roteamento, renderização de views e controllers.

Action Pack é responsável por lidar com o controle de requisições e respostas em uma aplicação Rails.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Action View

A

Renderiza templates e layouts para gerar a interface do usuário.

Action View é responsável por gerar a interface do usuário em uma aplicação Rails.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Action Mailer

A

Cria e envia e-mails de forma simples e eficiente.

Action Mailer facilita o envio de e-mails em uma aplicação Rails.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Active Support

A

Fornece utilitários e extensões para a linguagem Ruby, facilitando o desenvolvimento.

Active Support oferece diversas funcionalidades adicionais para o desenvolvimento em Ruby.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Action Cable

A

Permite comunicação em tempo real entre o servidor e o cliente, ideal para chats e atualizações ao vivo.

Action Cable é usado para implementar funcionalidades de comunicação em tempo real em uma aplicação Rails.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Active Job

A

Gerencia tarefas em background, como processamento de dados ou envio de e-mails em fila.

Active Job é útil para executar tarefas em segundo plano de forma eficiente em uma aplicação Rails.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Model (ActiveRecord)

A

Gerencia a interação com o banco de dados, mapeando tabelas para classes e objetos Ruby, facilitando a criação, leitura, atualização e exclusão de dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

View (Action View)

A

Responsável por renderizar templates e layouts, gerando a interface do usuário que será exibida no navegador.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Controller (Action Controller)

A

Lida com as requisições do usuário, interagindo com o Model para obter dados e com a View para renderizar a resposta apropriada.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Routes (Action Dispatch)

A

Define como as URLs da aplicação são mapeadas para os Controllers e Actions correspondentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Helpers (Action View)

A

Métodos auxiliares que podem ser usados nas Views para realizar tarefas comuns, como formatação de dados ou geração de links.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Assets (Sprockets)

A

Gerencia arquivos estáticos como JavaScript, CSS e imagens, compilando e otimizando-os para melhorar o desempenho da aplicação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Mailers (Action Mailer)

A

Permite enviar e-mails de forma fácil e eficiente, com suporte a templates e anexos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Jobs (Active Job)

A

Gerencia tarefas em background, como processamento de dados ou envio de e-mails em fila, melhorando a performance da aplicação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cache (Active Support::Cache)

A

Armazena dados em memória ou em outros locais para acelerar o acesso a informações frequentemente utilizadas.

17
Q

Internationalization (i18n)

A

Permite traduzir a aplicação para diferentes idiomas, adaptando-a a diferentes públicos.

18
Q

Rack

A

Interface entre o Rails e servidores web.

Rack is the interface between Rails and web servers.

19
Q

Action Cable

A

Comunicação em tempo real (WebSockets).

Action Cable enables real-time communication using WebSockets.

20
Q

Action Text

A

Editor de texto rico (rich text).

Action Text is a rich text editor.

21
Q

Active Storage

A

Upload e gerenciamento de arquivos.

Active Storage provides file upload and management capabilities.

22
Q

Explique o padrão MVC e como ele é aplicado no Rails.

A

MVC separa a aplicação em Model (dados), View (interface) e Controller (lógica). No Rails, o Model é representado pelo ActiveRecord, a View pelo Action View e o Controller pelo Action Controller.

Exemplo: O Controller recebe uma requisição do usuário, o Model realiza operações no banco de dados e a View exibe o resultado na interface.

23
Q

O que é o ActiveRecord e quais suas principais vantagens?

A

ORM que mapeia tabelas do banco de dados para classes Ruby, facilitando operações CRUD e abstraindo a linguagem SQL. Vantagens: produtividade, portabilidade e facilidade de manutenção.

Exemplo: O ActiveRecord permite definir associações entre modelos de forma simples e intuitiva.

24
Q

Quais os tipos de associações entre modelos no Rails e como implementá-las?

A

belongs_to (pertence a), has_many (tem muitos), has_one (tem um), has_and_belongs_to_many (associação muitos para muitos). Implementadas com métodos específicos no modelo.

Exemplo: Um modelo de Usuário pode pertencer a um modelo de Grupo através de uma associação belongs_to.

25
O que são migrations e por que são importantes?
Maneira de versionar o esquema do banco de dados, permitindo criar, modificar e reverter alterações de forma controlada e segura. ## Footnote Exemplo: Uma migration pode adicionar uma nova coluna a uma tabela existente sem afetar os dados já presentes.
26
Como funcionam as rotas no Rails e como defini-las?
Mapeiam URLs para controllers e actions. Definidas no arquivo config/routes.rb usando métodos como get, post, resources, etc. ## Footnote Exemplo: Uma rota definida como 'get '/usuarios', to: 'users#index'' mapeia a URL '/usuarios' para a action 'index' do controller 'Users'.
27
O que são callbacks e quando usá-los?
Métodos executados em momentos específicos do ciclo de vida de um objeto (antes/depois de criar, atualizar, etc.). Úteis para validações, ações secundárias, etc. ## Footnote Exemplo: Um callback 'before_save' pode ser usado para executar uma ação antes de salvar um registro no banco de dados.
28
O que são scopes e como criá-los?
Consultas reutilizáveis no modelo, definidas com métodos de classe ou lambdas. Melhoram a legibilidade e organização do código. ## Footnote Exemplo: Um scope 'recentes' pode ser criado para retornar apenas os registros mais recentes de um modelo.
29
Como implementar validações em modelos Rails?
Usando métodos de validação como validates_presence_of, validates_uniqueness_of, etc., ou validações personalizadas com métodos e expressões regulares. ## Footnote Exemplo: Uma validação 'validates_length_of :name, maximum: 50' garante que o campo 'name' tenha no máximo 50 caracteres.
30
Quais as opções para implementar autenticação e autorização no Rails?
Gems como Devise (autenticação) e CanCanCan ou Pundit (autorização). Explicar a diferença entre os conceitos. ## Footnote Exemplo: Devise fornece funcionalidades prontas para login, registro de usuários e recuperação de senhas em uma aplicação Rails.
31
Quais os tipos de testes comuns no Rails e como escrevê-los?
Testes de modelo, controller, integração, sistema. Usam frameworks como RSpec ou Minitest. Importância de testar para garantir a qualidade do código. ## Footnote Exemplo: Um teste de controller pode verificar se a ação 'create' redireciona corretamente após a criação de um novo registro.
32
Como otimizar a performance de uma aplicação Rails?
Índices no banco de dados, eager loading, cache (memcached, Redis), otimização de consultas, etc. ## Footnote Exemplo: O uso de índices em colunas frequentemente consultadas pode acelerar as operações de busca no banco de dados.
33
Como lidar com o aumento de tráfego em uma aplicação Rails?
Balanceamento de carga, servidores de aplicação adicionais, banco de dados replicado, etc. ## Footnote Exemplo: Um sistema de balanceamento de carga distribui as requisições entre vários servidores para evitar sobrecarga em um único servidor.
34
Quais as principais vulnerabilidades em aplicações Rails e como evitá-las?
Injeção de SQL, XSS, CSRF, etc. Usar gems de segurança, sanitização de entradas, manter o Rails atualizado. ## Footnote Exemplo: A injeção de SQL pode ocorrer se dados não sanitizados forem diretamente incluídos em consultas SQL dinâmicas.
35
Como fazer o deploy de uma aplicação Rails?
Plataformas como Heroku, Capistrano, Docker, etc. Conhecimento de configuração de servidores, Nginx/Apache. ## Footnote Exemplo: O Capistrano permite automatizar o processo de deploy de uma aplicação Rails em servidores remotos.
36
Quais as principais novidades das versões recentes do Rails?
Action Text, Action Mailbox, Parallel Tests, Hotwire, etc. Demonstra interesse em se manter atualizado. ## Footnote Exemplo: A inclusão do Action Text facilita a edição de texto formatado diretamente em formulários web no Rails.