Giter Site home page Giter Site logo

tt2's Introduction

Teste Técnico

  • Escreva um método que dado um inteiro x, um inteiro y e um inteiro w retorne todos os números divisíveis por w entre x e y. https://github.com/users/Hegnon/projects/15/views/1 - https://github.com/Hegnon/tt2/tree/main/divisiveis%20por%20w

  • Em um sistema web, cada usuário pode se inscrever em diversos eventos, cada evento possui até 3 prêmios que são distribuídos entre os usuários presentes. O sistema precisa guardar a informação sobre quem participou de cada evento e quem ganhou os prêmios. Modele um banco de dados capaz de suportar essas regras.

  • Considere um sistema onde cada Usuário possui os atributos nome (String), idade (Inteiro) e profissão (String). Faça uma query que retorne o nome de todos os usuários com idade maior ou igual à 18 anos e cuja profissão seja programador ou desenvolvedor

  • Quais são as vantagens/desvantagens de se usar a arquitetura MVC (Model, View e Controller)?

  • Vantagens da Arquitetura MVC: A arquitetura MVC (Model-View-Controller) oferece várias vantagens significativas no desenvolvimento de software. Ela promove a separação de responsabilidades, tornando o código mais organizado e reutilizável. Com componentes claramente definidos, a manutenção se torna mais fácil, resultando em um desenvolvimento mais ágil. Além disso, a arquitetura MVC favorece a testabilidade, permitindo a criação de testes unitários e de integração eficazes. Sua estrutura facilita a colaboração em equipes de desenvolvimento, promovendo o uso de um mesmo modelo com várias interfaces de usuário. Em resumo, o MVC é uma escolha sólida para aplicativos de médio a grande porte, proporcionando eficiência e escalabilidade.

  • Desvantagens da Arquitetura MVC: Apesar das inúmeras vantagens, a arquitetura MVC também apresenta desvantagens. Ela inicialmente introduz complexidade no projeto, exigindo a definição de interfaces e aumento na quantidade de código. Para equipes inexperientes, há uma curva de aprendizado e adoção, tornando a transição desafiadora. A estrutura completa MVC pode ser excessiva para aplicativos pequenos, resultando em desperdício de recursos. Além disso, a comunicação entre componentes, como Controller e View, requer atenção, sendo um desafio em algumas situações. Portanto, a escolha da arquitetura deve levar em consideração as necessidades específicas do projeto e a experiência da equipe de desenvolvimento.

  • Usando Ruby on Rails, cite pelo menos uma forma de criar uma rota para um método chamado find_user dentro de um controller com o nome UsersController.
  • Uma das formas mais comuns é definir uma rota personalizada no arquivo config/routes.rb

    Exemplo: #config/routes.rb

Rails.application.routes.draw do

#Rota personalizada para o método find_user em UsersController

get 'users/find_user', to: 'users#find_user'

end

  • Considerando a estrutura padrão de arquivos de um projeto feito com Ruby on Rails, em quais pastas devem se encontrar os models, os controllers e as views de um projeto? De que modo é possível saber qual controller é responsável por gerenciar uma determinada view?
  • Models (Modelos): Os modelos representam os objetos de dados do aplicativo e geralmente estão localizados na pasta app/models. Cada modelo é geralmente definido em seu próprio arquivo com o nome no singular e em letra maiúscula (por exemplo, User para um modelo de usuário).

  • Controllers (Controladores): Os controladores lidam com as solicitações do cliente e a lógica do aplicativo. Eles geralmente são armazenados na pasta app/controllers e seguem a convenção de nomes no plural, com o sufixo Controller (por exemplo, UsersController).

  • Views (Visualizações): As visualizações representam a camada de apresentação do aplicativo e geralmente estão localizadas na pasta app/views. Dentro dessa pasta, você encontrará subpastas correspondentes a cada controlador, com os nomes no plural (por exemplo, users para um controlador UsersController). As visualizações para um controlador específico são armazenadas nessa subpasta.

Exemplo:

Screenshot from 2023-10-17 06-55-10

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.