Rails Flashcards

You may prefer our related Brainscape-certified flashcards:
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
Q

O que são migrations e por que são importantes?

A

Maneira de versionar o esquema do banco de dados, permitindo criar, modificar e reverter alterações de forma controlada e segura.

Exemplo: Uma migration pode adicionar uma nova coluna a uma tabela existente sem afetar os dados já presentes.

26
Q

Como funcionam as rotas no Rails e como defini-las?

A

Mapeiam URLs para controllers e actions. Definidas no arquivo config/routes.rb usando métodos como get, post, resources, etc.

Exemplo: Uma rota definida como ‘get ‘/usuarios’, to: ‘users#index’’ mapeia a URL ‘/usuarios’ para a action ‘index’ do controller ‘Users’.

27
Q

O que são callbacks e quando usá-los?

A

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.

Exemplo: Um callback ‘before_save’ pode ser usado para executar uma ação antes de salvar um registro no banco de dados.

28
Q

O que são scopes e como criá-los?

A

Consultas reutilizáveis no modelo, definidas com métodos de classe ou lambdas. Melhoram a legibilidade e organização do código.

Exemplo: Um scope ‘recentes’ pode ser criado para retornar apenas os registros mais recentes de um modelo.

29
Q

Como implementar validações em modelos Rails?

A

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.

Exemplo: Uma validação ‘validates_length_of :name, maximum: 50’ garante que o campo ‘name’ tenha no máximo 50 caracteres.

30
Q

Quais as opções para implementar autenticação e autorização no Rails?

A

Gems como Devise (autenticação) e CanCanCan ou Pundit (autorização). Explicar a diferença entre os conceitos.

Exemplo: Devise fornece funcionalidades prontas para login, registro de usuários e recuperação de senhas em uma aplicação Rails.

31
Q

Quais os tipos de testes comuns no Rails e como escrevê-los?

A

Testes de modelo, controller, integração, sistema. Usam frameworks como RSpec ou Minitest. Importância de testar para garantir a qualidade do código.

Exemplo: Um teste de controller pode verificar se a ação ‘create’ redireciona corretamente após a criação de um novo registro.

32
Q

Como otimizar a performance de uma aplicação Rails?

A

Índices no banco de dados, eager loading, cache (memcached, Redis), otimização de consultas, etc.

Exemplo: O uso de índices em colunas frequentemente consultadas pode acelerar as operações de busca no banco de dados.

33
Q

Como lidar com o aumento de tráfego em uma aplicação Rails?

A

Balanceamento de carga, servidores de aplicação adicionais, banco de dados replicado, etc.

Exemplo: Um sistema de balanceamento de carga distribui as requisições entre vários servidores para evitar sobrecarga em um único servidor.

34
Q

Quais as principais vulnerabilidades em aplicações Rails e como evitá-las?

A

Injeção de SQL, XSS, CSRF, etc. Usar gems de segurança, sanitização de entradas, manter o Rails atualizado.

Exemplo: A injeção de SQL pode ocorrer se dados não sanitizados forem diretamente incluídos em consultas SQL dinâmicas.

35
Q

Como fazer o deploy de uma aplicação Rails?

A

Plataformas como Heroku, Capistrano, Docker, etc. Conhecimento de configuração de servidores, Nginx/Apache.

Exemplo: O Capistrano permite automatizar o processo de deploy de uma aplicação Rails em servidores remotos.

36
Q

Quais as principais novidades das versões recentes do Rails?

A

Action Text, Action Mailbox, Parallel Tests, Hotwire, etc. Demonstra interesse em se manter atualizado.

Exemplo: A inclusão do Action Text facilita a edição de texto formatado diretamente em formulários web no Rails.