1
Engenharia de Software
FIT
1
Engenharia de Software
FIT
1
Engenharia de Software
FIT
6
Engenharia de Software
FIT
6
Engenharia de Software
FIT
16
Engenharia de Software
FIT
1
Engenharia de Software
FIT
8
Engenharia de Software
FIT
6
Engenharia de Software
FIT
31
Engenharia de Software
FIT
Texto de pré-visualização
O padrão MVC é utilizado em muitos projetos devido à arquitetura que possui o que possibilita a divisão do projeto em camadas muito definidas o Model o Controller e a View A respeito desse padrão assinale a alternativa correta A View processa a rota que irá responder a requisição do usuário Para isso ela deve receber essa requisição diretamente O Controller é a ponte entre o Model e a View Ele recebe a requisição do usuário é responsável pelo fluxo de dados e de trabalho da aplicação além de decidir o caminho da resposta do processamento O Model é a camada que recebe requisições dos clientes e decide o tipo de visualização mais adequado O papel do Controller é gerar a visualização dos dados que será encaminhada ao cliente A View contém a lógica de negócio e pode acessar por exemplo o banco de dados Dada a aplicação em Flask a seguir qual será a resposta do servidor ao acessar a rota principal from flask import Flask app Flaskname approuteprincipal def abertura return abcdef def principal return 123456 approuteprincipalabertura def principalabertura return abcdef123456 if name main apprun 123456 Não há nenhum controle configurado para responder à rota principal 123456abcdef abcdef abcdef123456 Imagine a seguinte configuração de rotas no Flask Marque a única URL que NÃO redireciona para nenhum Controller approute def index return rendertemplateindexhtml approutecursos def cursos return rendertemplatecursoshtml approutecursossigla def cursosigla return rendertemplatecursohtml nomesigla approutecursossigladisc def disciplinassigla return rendertemplatedisciplinashtml discsigla approutecursossigladiscintid def cursoscomsiglaidsigla id return rendertemplatecursos2html nomecursosigla codcursoid httplocalhost5000cursosadsdisc4 httplocalhost5000 httplocalhost5000cursosadsdisc httplocalhost5000cursosadsdiscTecWeb httplocalhost5000cursos Considere o controller do código Python a seguir Qual das alternativas substitui de forma correta os trechos destacados em números romanos para que o template mostre todos os nomes dos alunos enviados pelo controller em uma lista definida pela tag ul Trecho de código apppy approute alunos def alunos listaalunos Ana João Maria Pedro return rendertemplatealunoshtml alunoslistaalunos Trecho de código template alunoshtml ul classlistagemalunos I liIIli III ul I for aluno in alunos II aluno III endfor I for aluno in alunos II aluno III end I for item in lista II aluno III end I for item in alunos II item III end I for item in listaalunos II aluno III endfor Qual a template tag do Flask usamos para herdar a estrutura de um outro template nesse caso do template basehtml basehtml implements basehtml extends basehtml basehtml inherits basehtml Considerando o fluxo de autenticação de um usuário qual dos seguintes passos NÃO seria necessário no processo Criação do objeto de sessão do usuário no servidor Verificação e conversão do nome de usuário para letras maiúsculas através do evento onchange no atributo input Verificação da existência do usuário e da senha enviados Envio do usuário e senha ao servidor Definição do cookie de sessão no navegador e redirecionamento para a área logada Supondo que um formulário envie dados para a rota cadastro no servidor usando o método POST como podemos recuperar dentro de um controle do Flask a informação associada ao name cpf enviada pelo formulário requestargsgetcpf requestgetcpf requestformgetcpf requestcpf sessioncpf O AJAX é uma tecnologia usada para desenvolvimento de sites interativos A abordagem de desenvolvimento tradicional tem semelhanças e diferenças em relação ao AJAX Uma característica exclusiva do AJAX em relação à abordagem tradicional é que Usa Javascript como linguagem para desenvolver código no lado do servidor Representa os objetos no lado cliente com DOM Executa somente requisições síncronas através do protocolo HTTP Permite recuperação assíncrona de dados usando XMLHttpRequest ou fetch API Usa HTMLCSS como linguagem de templates para definir o aspecto visual da página Sobre o objeto XMLHttpRequest assinale a alternativa verdadeira Permite apenas requisitar URLs que retornam informações no formato XML de maneira assíncrona não sendo aceitos outros formatos de dados O evento readyState é disparado toda vez que ocorre uma mudança no atributo responseText A propriedade status será igual a 405 quando a requisição terminar de forma bem sucedida O atributo responseText contêm a resposta enviada pelo servidor após uma requisição Permite apenas requisições com o método GET O JSON é um formato para representação de dados leve comumente usado para transferência de informações entre o servidor e o cliente Sobre esse formato assinale a alternativa correta No formato JSON os dados devem sempre estar entre colchetes É um formato para armazenar um conjunto de dados em formato binário As chaves podem ser de qualquer tipo e não é possível definir um JSON com apenas uma chave e um valor É um formato similar ao dicionário do Python onde os dados são armazenados no formato chavevalor Todas as chaves devem ser strings e os valores podem ser de vários tipos de dados strings números booleanos null vetores e inclusive outros objetos JSON É uma linguagem similar ao XML que utiliza marcações com os símbolos para definir chaves e valores No Flask podemos criar uma string no formato JSON através da função rendertemplate R A alternativa correta é O Controller é a ponte entre o Model e a View Ele recebe a requisição do usuário é responsável pelo fluxo de dados e de trabalho da aplicação além de decidir o caminho da resposta do processamento O padrão MVC ModelViewController separa uma aplicação em três componentes principais 1 Model Responsável pela representação dos dados e pela lógica de negócios da aplicação Ele não processa diretamente requisições dos clientes 2 Controller Recebe as requisições dos clientes coordena o fluxo de trabalho e toma decisões sobre como lidar com essas requisições Ele decide qual Model deve ser usado e qual View deve ser exibida como resposta 3 View Responsável pela apresentação dos dados ao usuário A View não deve conter lógica de negócios e não processa diretamente as rotas das requisições Com base no código fornecido quando você acessar a rota principal a resposta do servidor será abcdef Isso ocorre porque a função abertura está associada à rota principal e retorna a string abcdef Portanto a resposta correta é Resposta abcdef As outras opções mencionadas não estão corretas com base no código fornecido Não há uma função principal associada a uma rota específica e a função principalabertura está associada à rota principalabertura não à rota principal Portanto as respostas mencionadas nas outras opções não correspondem ao comportamento do código A única URL que NÃO redireciona para nenhum Controller com base nas rotas fornecidas é httplocalhost5000 Essa URL corresponde à rota que está associada à função index mas não redireciona para um Controller específico As outras URLs correspondem a rotas definidas que estão associadas a funções Controller específicas como cursos cursossigladisc cursossigladiscintid etc Portanto apenas a URL raiz não redireciona para um Controller específico com base nas rotas fornecidas Para substituir corretamente os trechos destacados em números romanos no template alunoshtml para que ele mostre todos os nomes dos alunos em uma lista definida pela tag ul você deve usar a sintaxe correta do Jinja2 que é o mecanismo de template do Flask A opção correta é a seguinte 1 for aluno in alunos II aluno III endfor Portanto o código do template alunoshtml ficaria assim htmlCopy code ul classlistagemalunos for aluno in alunos li aluno li endfor ul Essa opção utiliza a sintaxe correta do Jinja2 para iterar sobre a lista de alunos e exibir cada aluno dentro da tag li dentro da lista ul A template tag correta do Flask para herdar a estrutura de outro template neste caso do template basehtml é extends basehtml O ponto que NÃO seria necessário no processo de autenticação de um usuário é Verificação e conversão do nome de usuário para letras maiúsculas através do evento onchange no atributo input A conversão do nome de usuário para letras maiúsculas não é uma etapa comum no processo de autenticação de usuários e geralmente não é necessária A verificação da existência do usuário e da senha enviados é essencial para verificar as credenciais do usuário enquanto a criação do objeto de sessão no servidor o envio do usuário e senha ao servidor e a definição do cookie de sessão no navegador são etapas típicas no processo de autenticação O redirecionamento para a área logada também é uma parte importante do fluxo de autenticação para direcionar o usuário após a autenticação bemsucedida Para recuperar a informação associada ao nome cpf enviada por um formulário usando o método POST no Flask você deve usar o seguinte código cpf requestformgetcpf Portanto a opção correta é requestformgetcpf A característica exclusiva do AJAX em relação à abordagem tradicional é Permite recuperação assíncrona de dados usando XMLHttpRequest ou fetch API O AJAX permite que as solicitações de dados sejam feitas de forma assíncrona o que significa que a página da web não precisa ser recarregada inteiramente sempre que dados adicionais precisam ser recuperados ou atualizados Isso melhora significativamente a experiência do usuário pois torna a interação com a página mais rápida e fluida As outras opções mencionadas são características comuns do AJAX e não são exclusivas em relação à abordagem tradicional A alternativa verdadeira sobre o objeto XMLHttpRequest é O atributo responseText contém a resposta enviada pelo servidor após uma requisição O atributo responseText do objeto XMLHttpRequest contém a resposta do servidor após uma requisição e essa resposta pode estar em vários formatos não se limitando apenas a XML Portanto a primeira alternativa que menciona que o XMLHttpRequest permite apenas requisitar URLs que retornam informações no formato XML não é verdadeira As outras alternativas são incorretas ou incompletas em relação ao comportamento do objeto XMLHttpRequest A alternativa correta é É um formato similar ao dicionário do Python onde os dados são armazenados no formato chavevalor Todas as chaves devem ser strings e os valores podem ser de vários tipos de dados strings números booleanos null vetores e inclusive outros objetos JSON O JSON é um formato de dados que segue uma estrutura de pares chavevalor semelhante a um dicionário em Python As chaves devem ser strings enquanto os valores podem ser de vários tipos de dados incluindo strings números booleanos null arrays e objetos JSON É uma maneira eficaz de representar dados estruturados e é amplamente usado para transferência de informações entre servidor e cliente na web As outras alternativas não descrevem corretamente o formato JSON
1
Engenharia de Software
FIT
1
Engenharia de Software
FIT
1
Engenharia de Software
FIT
6
Engenharia de Software
FIT
6
Engenharia de Software
FIT
16
Engenharia de Software
FIT
1
Engenharia de Software
FIT
8
Engenharia de Software
FIT
6
Engenharia de Software
FIT
31
Engenharia de Software
FIT
Texto de pré-visualização
O padrão MVC é utilizado em muitos projetos devido à arquitetura que possui o que possibilita a divisão do projeto em camadas muito definidas o Model o Controller e a View A respeito desse padrão assinale a alternativa correta A View processa a rota que irá responder a requisição do usuário Para isso ela deve receber essa requisição diretamente O Controller é a ponte entre o Model e a View Ele recebe a requisição do usuário é responsável pelo fluxo de dados e de trabalho da aplicação além de decidir o caminho da resposta do processamento O Model é a camada que recebe requisições dos clientes e decide o tipo de visualização mais adequado O papel do Controller é gerar a visualização dos dados que será encaminhada ao cliente A View contém a lógica de negócio e pode acessar por exemplo o banco de dados Dada a aplicação em Flask a seguir qual será a resposta do servidor ao acessar a rota principal from flask import Flask app Flaskname approuteprincipal def abertura return abcdef def principal return 123456 approuteprincipalabertura def principalabertura return abcdef123456 if name main apprun 123456 Não há nenhum controle configurado para responder à rota principal 123456abcdef abcdef abcdef123456 Imagine a seguinte configuração de rotas no Flask Marque a única URL que NÃO redireciona para nenhum Controller approute def index return rendertemplateindexhtml approutecursos def cursos return rendertemplatecursoshtml approutecursossigla def cursosigla return rendertemplatecursohtml nomesigla approutecursossigladisc def disciplinassigla return rendertemplatedisciplinashtml discsigla approutecursossigladiscintid def cursoscomsiglaidsigla id return rendertemplatecursos2html nomecursosigla codcursoid httplocalhost5000cursosadsdisc4 httplocalhost5000 httplocalhost5000cursosadsdisc httplocalhost5000cursosadsdiscTecWeb httplocalhost5000cursos Considere o controller do código Python a seguir Qual das alternativas substitui de forma correta os trechos destacados em números romanos para que o template mostre todos os nomes dos alunos enviados pelo controller em uma lista definida pela tag ul Trecho de código apppy approute alunos def alunos listaalunos Ana João Maria Pedro return rendertemplatealunoshtml alunoslistaalunos Trecho de código template alunoshtml ul classlistagemalunos I liIIli III ul I for aluno in alunos II aluno III endfor I for aluno in alunos II aluno III end I for item in lista II aluno III end I for item in alunos II item III end I for item in listaalunos II aluno III endfor Qual a template tag do Flask usamos para herdar a estrutura de um outro template nesse caso do template basehtml basehtml implements basehtml extends basehtml basehtml inherits basehtml Considerando o fluxo de autenticação de um usuário qual dos seguintes passos NÃO seria necessário no processo Criação do objeto de sessão do usuário no servidor Verificação e conversão do nome de usuário para letras maiúsculas através do evento onchange no atributo input Verificação da existência do usuário e da senha enviados Envio do usuário e senha ao servidor Definição do cookie de sessão no navegador e redirecionamento para a área logada Supondo que um formulário envie dados para a rota cadastro no servidor usando o método POST como podemos recuperar dentro de um controle do Flask a informação associada ao name cpf enviada pelo formulário requestargsgetcpf requestgetcpf requestformgetcpf requestcpf sessioncpf O AJAX é uma tecnologia usada para desenvolvimento de sites interativos A abordagem de desenvolvimento tradicional tem semelhanças e diferenças em relação ao AJAX Uma característica exclusiva do AJAX em relação à abordagem tradicional é que Usa Javascript como linguagem para desenvolver código no lado do servidor Representa os objetos no lado cliente com DOM Executa somente requisições síncronas através do protocolo HTTP Permite recuperação assíncrona de dados usando XMLHttpRequest ou fetch API Usa HTMLCSS como linguagem de templates para definir o aspecto visual da página Sobre o objeto XMLHttpRequest assinale a alternativa verdadeira Permite apenas requisitar URLs que retornam informações no formato XML de maneira assíncrona não sendo aceitos outros formatos de dados O evento readyState é disparado toda vez que ocorre uma mudança no atributo responseText A propriedade status será igual a 405 quando a requisição terminar de forma bem sucedida O atributo responseText contêm a resposta enviada pelo servidor após uma requisição Permite apenas requisições com o método GET O JSON é um formato para representação de dados leve comumente usado para transferência de informações entre o servidor e o cliente Sobre esse formato assinale a alternativa correta No formato JSON os dados devem sempre estar entre colchetes É um formato para armazenar um conjunto de dados em formato binário As chaves podem ser de qualquer tipo e não é possível definir um JSON com apenas uma chave e um valor É um formato similar ao dicionário do Python onde os dados são armazenados no formato chavevalor Todas as chaves devem ser strings e os valores podem ser de vários tipos de dados strings números booleanos null vetores e inclusive outros objetos JSON É uma linguagem similar ao XML que utiliza marcações com os símbolos para definir chaves e valores No Flask podemos criar uma string no formato JSON através da função rendertemplate R A alternativa correta é O Controller é a ponte entre o Model e a View Ele recebe a requisição do usuário é responsável pelo fluxo de dados e de trabalho da aplicação além de decidir o caminho da resposta do processamento O padrão MVC ModelViewController separa uma aplicação em três componentes principais 1 Model Responsável pela representação dos dados e pela lógica de negócios da aplicação Ele não processa diretamente requisições dos clientes 2 Controller Recebe as requisições dos clientes coordena o fluxo de trabalho e toma decisões sobre como lidar com essas requisições Ele decide qual Model deve ser usado e qual View deve ser exibida como resposta 3 View Responsável pela apresentação dos dados ao usuário A View não deve conter lógica de negócios e não processa diretamente as rotas das requisições Com base no código fornecido quando você acessar a rota principal a resposta do servidor será abcdef Isso ocorre porque a função abertura está associada à rota principal e retorna a string abcdef Portanto a resposta correta é Resposta abcdef As outras opções mencionadas não estão corretas com base no código fornecido Não há uma função principal associada a uma rota específica e a função principalabertura está associada à rota principalabertura não à rota principal Portanto as respostas mencionadas nas outras opções não correspondem ao comportamento do código A única URL que NÃO redireciona para nenhum Controller com base nas rotas fornecidas é httplocalhost5000 Essa URL corresponde à rota que está associada à função index mas não redireciona para um Controller específico As outras URLs correspondem a rotas definidas que estão associadas a funções Controller específicas como cursos cursossigladisc cursossigladiscintid etc Portanto apenas a URL raiz não redireciona para um Controller específico com base nas rotas fornecidas Para substituir corretamente os trechos destacados em números romanos no template alunoshtml para que ele mostre todos os nomes dos alunos em uma lista definida pela tag ul você deve usar a sintaxe correta do Jinja2 que é o mecanismo de template do Flask A opção correta é a seguinte 1 for aluno in alunos II aluno III endfor Portanto o código do template alunoshtml ficaria assim htmlCopy code ul classlistagemalunos for aluno in alunos li aluno li endfor ul Essa opção utiliza a sintaxe correta do Jinja2 para iterar sobre a lista de alunos e exibir cada aluno dentro da tag li dentro da lista ul A template tag correta do Flask para herdar a estrutura de outro template neste caso do template basehtml é extends basehtml O ponto que NÃO seria necessário no processo de autenticação de um usuário é Verificação e conversão do nome de usuário para letras maiúsculas através do evento onchange no atributo input A conversão do nome de usuário para letras maiúsculas não é uma etapa comum no processo de autenticação de usuários e geralmente não é necessária A verificação da existência do usuário e da senha enviados é essencial para verificar as credenciais do usuário enquanto a criação do objeto de sessão no servidor o envio do usuário e senha ao servidor e a definição do cookie de sessão no navegador são etapas típicas no processo de autenticação O redirecionamento para a área logada também é uma parte importante do fluxo de autenticação para direcionar o usuário após a autenticação bemsucedida Para recuperar a informação associada ao nome cpf enviada por um formulário usando o método POST no Flask você deve usar o seguinte código cpf requestformgetcpf Portanto a opção correta é requestformgetcpf A característica exclusiva do AJAX em relação à abordagem tradicional é Permite recuperação assíncrona de dados usando XMLHttpRequest ou fetch API O AJAX permite que as solicitações de dados sejam feitas de forma assíncrona o que significa que a página da web não precisa ser recarregada inteiramente sempre que dados adicionais precisam ser recuperados ou atualizados Isso melhora significativamente a experiência do usuário pois torna a interação com a página mais rápida e fluida As outras opções mencionadas são características comuns do AJAX e não são exclusivas em relação à abordagem tradicional A alternativa verdadeira sobre o objeto XMLHttpRequest é O atributo responseText contém a resposta enviada pelo servidor após uma requisição O atributo responseText do objeto XMLHttpRequest contém a resposta do servidor após uma requisição e essa resposta pode estar em vários formatos não se limitando apenas a XML Portanto a primeira alternativa que menciona que o XMLHttpRequest permite apenas requisitar URLs que retornam informações no formato XML não é verdadeira As outras alternativas são incorretas ou incompletas em relação ao comportamento do objeto XMLHttpRequest A alternativa correta é É um formato similar ao dicionário do Python onde os dados são armazenados no formato chavevalor Todas as chaves devem ser strings e os valores podem ser de vários tipos de dados strings números booleanos null vetores e inclusive outros objetos JSON O JSON é um formato de dados que segue uma estrutura de pares chavevalor semelhante a um dicionário em Python As chaves devem ser strings enquanto os valores podem ser de vários tipos de dados incluindo strings números booleanos null arrays e objetos JSON É uma maneira eficaz de representar dados estruturados e é amplamente usado para transferência de informações entre servidor e cliente na web As outras alternativas não descrevem corretamente o formato JSON