Baixe o app para aproveitar ainda mais
Prévia do material em texto
DICAS E AGENDA! @canetas.pretas @canetaspretas @lacerdaphjobs AGORA EM ÁUDIO TBM! SEU LUGAR É AQUI!!! @canetas.pretas TECNOLOGIA DA INFORMAÇÃO https://www.instagram.com/p/B74PyOzj5V3/ https://www.estrategiaconcursos.com.br/blog/prazer-um-eterno-estudante/ Prof. Raphael Lacerda QUESTÕES Prof. Raphael Lacerda @canetas.pretas CIÊNCIA DE DADOS http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Ao tentar resolver um problema de aprendizado de máquina que separava um evento entre duas classes, um desenvolve- dor encontrou uma acurácia de exatamente 90%. Analisando a matriz de confusão, o desenvolvedor constatou que os verdadeiros positivos eram 14169, que os verdadeiros negativos eram 15360, os falsos positivos eram 1501, e os falsos negativos eram (A) 1778 (B) 1779 (C) 1780 (D) 1781 (E) 1782 Tarefas Prof. Raphael Lacerda Prof. Raphael Lacerda https://www.youtube.com/watch?v=E-gpSQQe3w8 Muthu Alagappan at TEDxSpokane Prof. Raphael Lacerda Classificação https://www.youtube.com/watch?v=E-gpSQQe3w8 https://bolapresa.com.br/as-13 -posicoes-do-basquete/ https://bolapresa.com.br/as-13-posicoes-do-basquete/ https://bolapresa.com.br/as-13-posicoes-do-basquete/ Prof. Raphael Lacerda Associação Prof. Raphael Lacerda Agrupamento Prof. Raphael Lacerda Anomalias Prof. Raphael Lacerda Mais anomalias Prof. Raphael Lacerda MACHINE LEARNING Prof. Raphael Lacerda MACHINE LEARNING What's the difference between machine learning and deep learning? - YouTube http://www.youtube.com/watch?v=Acl3SZbyNHo https://www.youtube.com/watch?v=Acl3SZbyNHo&feature=emb_logo https://www.youtube.com/watch?v=Acl3SZbyNHo&feature=emb_logo Qual seria a saída? Etapas Acurácia Velocidade Robustez Escalabilidade Training Training Matriz de Confusão Como montar uma? FGV/CGU/2022 Considere uma matriz de confusão de um modelo de classificação binária de relatórios financeiros. O modelo classifica os relatórios em fraudulentos ou não fraudulentos. Se essa matriz apresenta 200 verdadeiros positivos, 100 verdadeiros negativos, 40 erros do “tipo 1” e 20 erros do “tipo 2”, podem-se calcular as métricas de desempenho aproximadas como: A Precision = 0.71. Recall = 0.83; B Precision = 0.83. Recall = 0.71; C Precision = 0.83. Recall = 0.90; D Precision = 0.90. Recall = 0.71; E Precision = 0.90. Recall = 0.83. CESGRANRIO/BB/2021 Um pesquisador conseguiu uma base de dados que mostrava terrenos classificados de acordo com: • características físicas; • tipo de negócio a ser nele implantado; • risco esperado, que compreendia os rótulos alto, médio, baixo ou nenhum. Decidiu, então, usar um algoritmo de aprendizado de máquina que, a partir das características físicas do terreno e do tipo de negócio a ser nele implantado, aprenderia a determinar o risco esperado, enquadrando o terreno em questão em um daqueles rótulos. Nesse cenário, que algoritmo de aprendizado de máquina é indicado para resolver esse problema? (A) PCA (B) K-NN (C) DBSCAN (D) K-Medoids (E) Redes de Kohonen CLASSIFICAÇÃO Prof. Raphael Lacerda Vários 7 Types of Classification Algorithms (analyticsindiamag.com) https://analyticsindiamag.com/7-types-classification-algorithms/ https://analyticsindiamag.com/7-types-classification-algorithms/ Prof. Raphael Lacerda k-Nearest-Neighbors (k-NN) ● Classificador não parámetrico ● Necessário definir o valor de número de vizinhos mais próximos ○ tentativa e erro ● comparativo entre um registro de teste e treinamento que são similares ● Lazy Learning Building a k-Nearest-Neighbors (k-NN) Model with Scikit-learn | by Eijaz Allibhai | Towards Data Science https://towardsdatascience.com/building-a-k-nearest-neighbors-k-nn-model-with-scikit-learn-51209555453a https://towardsdatascience.com/building-a-k-nearest-neighbors-k-nn-model-with-scikit-learn-51209555453a https://towardsdatascience.com/building-a-k-nearest-neighbors-k-nn-model-with-scikit-learn-51209555453a Prof. Raphael Lacerda Exemplo Introduction to Classification Using K Nearest Neighbours | by Ashwin Raj | Towards Data Science https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f https://towardsdatascience.com/getting-acquainted-with-k-nearest-neighbors-ba0a9ecf354f Prof. Raphael Lacerda Árvore de decisão ● nó interno corresponde a um teste de um atributo ○ cada ramo representa um resultado do teste ■ nós folha representam classes ● Estratificação de dados ● dados precisam ser discretizados ● Entropia como medida de aleatoriedade ○ mede o grau de incerteza associado aos dados ● Como funciona? ○ Seleciona o atributo ■ homogeneidade ○ Divide (branches) Prof. Raphael Lacerda ID.3 ● Iterative Dichotomiser 3 ● o ID3 utiliza somente atributos categóricos. ● Começa com um nó raiz e a cada iteração, percorre os atributos e calcula o nível de entropia para eles ● Cada elemento no subset pertence à mesma classe A comparative study of decision tree ID3 and C4.5 (thesai.org) https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf Prof. Raphael Lacerda C4.5 ● O algoritmo C4.5 é um sucessor do algoritmo ID3 e utiliza tanto atributos numéricos quanto categóricos. ● Converte uma árvore treinada em um conjunto de IF-THEN rules ○ Informação particionada ● Referenciador como classificador estatístico ● Usa o índice GAIN RATIO What is the C4.5 algorithm and how does it work? | by Sumit Saha | Towards Data Science Information Gain, Gini Index, Entropy and Gain Ratio in Decision Trees| Analytics Steps https://towardsdatascience.com/what-is-the-c4-5-algorithm-and-how-does-it-work-2b971a9e7db0 https://towardsdatascience.com/what-is-the-c4-5-algorithm-and-how-does-it-work-2b971a9e7db0 https://towardsdatascience.com/what-is-the-c4-5-algorithm-and-how-does-it-work-2b971a9e7db0 https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees Prof. Raphael Lacerda CART ● Classification and Regression TRee ● Análogo ao C4.5, mas diferente dele, suporta target's numéricos para serem aplicados na regressão ● Não processa regras ● Usa o índice GINI Information Gain, Gini Index, Entropy and Gain Ratio in Decision Trees| Analytics Steps https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees https://www.analyticssteps.com/blogs/what-gini-index-and-information-gain-decision-trees Prof. Raphael Lacerda FEATURES ID.3 C4.5 CART Tipo de dados Categóricos Categóricos e contínuos Contínuos, nominal Velocidade Lento mais rápido que o Id.3 Mediano Incompletude Não lida marca ? para dados faltantes Pode lidar Fórmula Usa entropia da informação Informação particionada índice GINI diversity Comparação Survey of the Decision Trees Algorithms (CART, C4.5, ID3) | by Aydin Abedinia | Medium A comparative study of decision tree ID3 and C4.5 (thesai.org) https://medium.com/@abedinia.aydin/survey-of-the-decision-trees-algorithms-cart-c4-5-id3-97df842831cd https://medium.com/@abedinia.aydin/survey-of-the-decision-trees-algorithms-cart-c4-5-id3-97df842831cd https://medium.com/@abedinia.aydin/survey-of-the-decision-trees-algorithms-cart-c4-5-id3-97df842831cd https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf https://thesai.org/Downloads/SpecialIssueNo10/Paper_3-A_comparative_study_of_decision_tree_ID3_and_C4.5.pdf Prof. Raphael Lacerda Random Forest ● Um grande número de árvores que operam em conjunto ○ a combinação de diferentes modelos para se obter umúnico resultado. ● "wisdom of crowds" ○ Um erro de uma árvore não afeta a outra ● Bootstrap Aggregation - BAGGING ○ árvore é sensível aos dados de treino, logo cada árvore randomicamente escolhe dados do dataset ● Feature Randomness ● Resultado final é a média das respostas Understanding Random Forest. How the Algorithm Works and Why it Is… | by Tony Yiu | Towards Data Science O que são Métodos Ensemble e como eles funcionam? (didatica.tech) https://towardsdatascience.com/understanding-random-forest-58381e0602d2 https://towardsdatascience.com/understanding-random-forest-58381e0602d2 https://towardsdatascience.com/understanding-random-forest-58381e0602d2 https://didatica.tech/metodos-ensemble/ https://didatica.tech/metodos-ensemble/ Prof. Raphael Lacerda Naïve Bayes ● Classificador probabilístico ● predizer a probabilidade de pertinência de um objeto a determinada classe ● alta perfomance e precisão quando dataset é grande ou pequeno ● assumem que o efeito do valor de um atributo em uma dada classe é INDEPENDENTE dos valores dos outros atributos. ○ Independência CONDICIONAL da classe All about Naive Bayes. A simple yet in depth experience of… | by Gaurav Chauhan | Towards Data Science https://towardsdatascience.com/all-about-naive-bayes-8e13cef044cf https://towardsdatascience.com/all-about-naive-bayes-8e13cef044cf https://towardsdatascience.com/all-about-naive-bayes-8e13cef044cf Prof. Raphael Lacerda Regressão Logística ● determinar a probabilidade de um evento acontecer ● Permite transformar um número contínuo em uma categoria ● Função Sigmóide Introduction to Logistic Regression | by Ayush Pant | Towards Data Science https://towardsdatascience.com/introduction-to-logistic-regression-66248243c148 https://towardsdatascience.com/introduction-to-logistic-regression-66248243c148 Prof. Raphael Lacerda Classificação & Regressão Qual é a altura desses jogadores? Prof. Raphael Lacerda Classificação & Regressão Prof. Raphael Lacerda Fica mais fácil… Prof. Raphael Lacerda Classificação & Regressão Vou passar em concurso? Prof. Raphael Lacerda Prof. Raphael Lacerda Bem melhor né? O algoritmo KNN (K-nearest neighbors ou k-vizinhos mais próximos) se insere na categoria de aprendizado por reforço. aprendizado não supervisionado. aprendizado supervisionado. redução de dimensionalidade. modelo paramétrico. FGV/SEFAZ-AM/2022 Cespe/SEFAZ-AL/2021 O método k-NN (k-nearest neighbors) é um dos classificadores não paramétricos baseados em distância. @canetas.pretas BANCO DE DADOS http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Ao construir um protótipo que calculava o risco sanitário de um terreno, um desenvolvedor principiante começou a dese- nhar um modelo relacional, o que o levou a propor as seguintes tabelas (onde o sublinhado representa a chave primária): Terreno(rua,numero,tipoTerreno,CNPJ,nomeEmpresa,codigoRisco,nomeRisco,probabilidadeRisco) Empresa(CNPJ,nomeEmpresa,CPFs,nomePessoas) Ao revisar o trabalho, um segundo desenvolvedor, mais experiente, detectou as seguintes propriedades: 1. codigoRisco→nomeRisco 2. CNPJ → nomeEmpresa 3. CPF → nomePessoa 4. {rua,numero} → CNPJ 5. Uma empresa possui vários donos, cada um com um CPF único, e um dono pode possuir várias empresas 6. Um terreno pode possuir vários riscos CESGRANRIO/BB/2021 Esse segundo desenvolvedor decidiu, então, colocar as tabelas na terceira forma normal, usando o número mínimo de tabelas. O esquema que possui as seis propriedades detectadas pelo segundo desenvolvedor e que representa todas as informa- ções desejadas pelo primeiro desenvolvedor é CESGRANRIO/BB/2021 (A) Terreno(rua,numero,tipoTerreno,CNPJ) Empresa(CNPJ,nomeEmpresa) Dono(CNPJ,CPF) Risco(rua,nome,codigoRisco,probabilidadeRisco) TipoRisco(codigoRisco,nomeRisco) PessoaFisica(CPF,nome) (B) Terreno(rua,numero,tipoTerreno,CNPJ,codigoRisco,probabilidadeRisco) Empresa(CNPJ,nomeEmpresa) Dono(CNPJ,CPF) TipoRisco(codigoRisco,nomeRisco) PessoaFisica(CPF,nome) (C) Terreno(rua,numero,tipoTerreno,CNPJ) Empresa(CNPJ,nomeEmpresa) Risco(rua,nome,codigoRisco,probabilidadeRisco) TipoRisco(codigoRisco,nomeRisco) PessoaFisica(CPF,nome,CNPJ) (D) Terreno(rua,numero,tipoTerreno,CNPJ,nomeEmpresa,codigoRisco,nomeRisco,probabilidadeRisco) Empresa(CNPJ,CPF,nomeEmpresa,nomePessoa) (E) Terreno(rua,numero,tipoTerreno,CNPJ,nomeEmpresa,codigoRisco,probabilidadeRisco) Risco(codigoRisco,nomeRisco) Empresa(CNPJ,CPF,nomeEmpresa,nomePessoa) Prof. Raphael Lacerda 1 forma 2 forma 3 forma ● valores atômicos ● sem atributos multivalorados ● não há dependência parcial ● não pode depender de parte da chave primária ● não há dependência transitiva ● deve depender única e exclusivamen te da chave primária Prof. Raphael Lacerda Resumex! Prof. Raphael Lacerda e como ficaria a tabela? https://www.luis.blog.br/segunda-forma-normal-2fn-normalizacao-de-dados.html https://www.luis.blog.br/segunda-forma-normal-2fn-normalizacao-de-dados.html Prof. Raphael Lacerda BCNF Todo determinante é chave candidata FGV Desenhando… CESGRANRIO/BB/2021 Para gerar um gráfico de dispersão, um programador precisava consultar duas tabelas, T1 e T2. Ele decidiu, então, usar um LEFT JOIN, como em SELECT * FROM T1 LEFT JOIN T2 USING (CHAVE); Essa consulta resultou em 214 linhas. Por motivos de segurança, ele fez outra consulta semelhante, apenas trocando o LEFT JOIN por um JOIN, e essa segunda consulta resultou em 190 linhas. O que pode explicar corretamente a quantidade diferente de linhas nas consultas realizadas? (A) CHAVE é a chave primária de T1, mas apenas um campo da chave primária de T2. (B) CHAVE é a chave primária de T2, mas apenas um campo da chave primária de T1. (C) T1 possui linhas cujo valor de CHAVE não está presente na T2. (D) T2 possui linhas cujo valor de CHAVE não está presente na T1. (E) T2 possui linhas com todas as chaves presentes em T1, mas com campos nulos. Prof. Raphael Lacerda SQL Prof. Raphael Lacerda é um patrimônio TCE-RJ - Análise Informações Prof. Raphael Lacerda Operadores no WHERE = | <> igualdade diferente > | >= maior que maior igual < | <= menor que menor igual >= maior igual BETWEEN entre datas por exemplos LIKE padrão de pesquisa IN múltiplos possíveis valores SQL Prof. Raphael Lacerda Like a% começa com a %a termina com a %a% tem a em qualquer lugar _a% a na posição 2 a__% começa com a e tem no mínimo 3 posições Prof. Raphael Lacerda várias funções https://pt.wikibooks.org/wiki/SQL/Funções_de_agrega ção https://pt.wikibooks.org/wiki/SQL/Fun%C3%A7%C3%B5es_de_agrega%C3%A7%C3%A3o https://pt.wikibooks.org/wiki/SQL/Fun%C3%A7%C3%B5es_de_agrega%C3%A7%C3%A3o Prof. Raphael Lacerda Em TI precisamos saber as diferenças desses joins! Prof. Raphael Lacerda é um patrimônio Prof. Raphael Lacerda exists ● Testar a existência de um registro em uma SubQuery ● Retorna TRUE se a subquery retorna um ou mais elementos ● Not Exists - retorna todas as linhas que não satisfazem a cláusula do EXISTS https://www.w3schools.com/sql/sql _exists.asp Prof. Raphael Lacerda Exemplos ● Listar fornecedores com produtos cujo preço é menor que 20 ○ SELECT SupplierName FROM Suppliers WHERE EXISTS (SELECT ProductName FROM Products WHERE Products.SupplierID = Suppliers.supplierID AND Price < 20); https://www.w3schools.com/sql/sql _exists.asp https://www.w3schools.com/sql/trys ql.asp?filename=trysql_select_exist s CESGRANRIO/BB/2021 Ao coletar dados em um sistema compatível com SQL 2008 para fazer uma análise de dados, um programador percebeu que havia dois campos, data_de_nascimento e data_de_emissão_RG, em que o valor de data_de_emissão_RG sempre deve ser mais recente que data_de_nascimento.Percebeu, porém, que em 10% das linhas acontecia o inverso, isto é, data_de_nascimento era mais recente que data_de_emissão_RG. Ele corrigiu os dados nessas linhas, verificando que estavam consistentemente trocados, mas, preocupado que tal problema voltasse a acontecer, resolveu solicitar ao DBA uma alteração da tabela, de forma que data_de_emissão_RG sempre tivesse que ser mais recente que data_de_nascimento. O DBA atendeu adequadamente a esse pedido do programador por meio de uma restrição em SQL 2008 do tipo (A) CHECK (B) INSPECT (C) TEST (D) VALIDATE (E) VERIFY SQL CHECK Constraint (w3schools.com) https://www.w3schools.com/sql/sql_check.asp CESGRANRIO/BB/2021 Após um treinamento em SQL padrão 2008, compatível com ambiente MS SQL Server 2008, um escriturá- rio do Banco Z precisou utilizar os conhecimentos adquiridos para criar uma tabela no sistema de banco de dados desse Banco. A tabela a ser criada é de fornecedores, e tem os seguintes campos: CNPJ, nome do fornecedor e país de origem. As características gerais da tabela são: . o campo CNPJ é chave primária e contém 14 caracteres, sendo que os caracteres devem se ater aos numéricos [“0” a “9”], e o caractere zero “0” não pode ser ignorado, seja qual for a posição dele (início, meio ou fim da chave); . o campo NOME contém 20 caracteres e aceita valor nulo; . o campo PAIS contém 15 caracteres e não aceita valor nulo. Nesse contexto, o comando SQL2008 que cria uma tabela com as características descritas acima é CESGRANRIO/BB/2021 (A) CREATE TABLE Fornecedores (CNPJ INTEGER PRIMARY KEY, NOME VARCHAR(20) ACCEPT NULL, PAIS VARCHAR(15) NOT NULL) (B) CREATE TABLE Fornecedores (CNPJ CHAR(14) PRIMARY KEY, NOME VARCHAR(20), PAIS VARCHAR(15) NOT NULL) (C) CREATE TABLE Fornecedores (CNPJ CHAR(14) NOT NULL, NOME VARCHAR(20) NOT NULL, PAIS VARCHAR(15)) (D) CREATE TABLE Fornecedores (CNPJ CHAR(14), NOME VARCHAR(20) NOT NULL, PAIS VARCHAR(15) NOT NULL), PRIMARY KEY (CNPJ) (E) CREATE TABLE Fornecedores (CNPJ INTEGER(14) NOT NULL, NOME VARCHAR(20), PAIS VARCHAR(15) NOT NULL), PRIMARY KEY (CNPJ) CESGRANRIO/BB/2021 Para que fosse mais fácil entender um sistema em desenvolvimento, um desenvolvedor usou um modelo de dados rela- cional (protótipo) mais simples do que o do banco de dados do sistema corporativo original, sendo que ambos utilizavam o mesmo SGDB PostgreSQL. Cabe ressaltar que esse protótipo utilizava apenas um subconjunto dos dados do sistema corporativo original e realizava apenas consultas. Uma forma de garantir que os dados desse protótipo estejam sempre completamente atualizados em relação aos dados reais, com baixo impacto tanto na operação quanto no desempenho do sistema corporativo original, é (A) criar apenas VIEWS no protótipo, definidas com consultas sobre as tabelas do sistema corporativo original. (B) implantar TRIGGERS a cada INSERT, em todas as tabelas do sistema corporativo original, atualizando as tabelas do protótipo. (C) implantar TRIGGERS de atualização a cada SELECT, em todas as tabelas do protótipo. (D) particionar as tabelas da base do sistema corporativo original escolhendo um RANGE adequado ao trabalho do pro- tótipo. (E) utilizar DUMP da base do sistema corporativo original e PSQL para a base do protótipo, a cada seção de trabalho, para atualizar a base do protótipo. PostgreSQL Materialized Views (Explained with Examples) (devart.com) https://blog.devart.com/postgresql-materialized-views.html#:~:text=A%20materialized%20View%20is%20not,BI%20applications%20and%20data%20warehouses. https://blog.devart.com/postgresql-materialized-views.html#:~:text=A%20materialized%20View%20is%20not,BI%20applications%20and%20data%20warehouses. @canetas.pretas DW http://instagram.com/estrategiaconcursosti Ao desenvolver um Data Warehouse para o Banco W, um programador decidiu criar um modelo conceitual com base no modelo estrela para cada fato analisado. Ao criar a primeira tabela fato, relativa ao valor e ao prazo de empréstimos, foram identificadas as seguintes dimensões, com os seus atributos descritos em parênteses: tempo (dia, mês e ano), agência (estado, cidade, bairro e número da agência), produto (nome do produto e juros do produto) e cliente (conta e nome do cliente). Segundo as regras e as práticas da modelagem dimensional, e usando a granularidade mais baixa, que atributos devem constar da tabela fato? (A)fato_id, dia, mes, ano, estado, cidade, bairro, numero_agencia, nome_produto, juros_mensais_produto, conta_cliente, nome_cliente, valor_emprestimo, prazo_emprestimo (B) fato_id, emprestimo_id, valor_emprestimo, prazo_emprestimo (C) fato_id, tempo_id, agencia_id, produto_id, cliente_id, emprestimo_id (D)fato_id, tempo_id, agencia_id, produto_id, cliente_id, dia, mes, ano, estado, cidade, bairro, numero_agencia, nome_produto, juros_mensais_produto, conta_cliente, nome_cliente, valor_emprestimo, prazo_emprestimo (E)fato_id, tempo_id, agencia_id, produto_id, cliente_id, valor_emprestimo, prazo_emprestimo CESGRANRIO/BB/2021 Prof. Raphael Lacerda organizados, limpos, preenchidos, otimizados, compliance, padronizados Recuperar Prof. Raphael Lacerda ETL ETL - ● EXTRACT ● TRANSFORM ● LOAD Prof. Raphael Lacerda ELT https://www.astera.com/pt/type/blog/etl-vs-e lt-whats-the-difference/ Prof. Raphael Lacerda ELT ● processo mais ágil para o carregamento e o processamento de dados ● reduz consideravelmente o tempo de carregamento de dados ● engenheiros de dados focam apenas nas etapas de extração e carregamento ● responsabilidade da transformação de dados fica nas mãos de profissionais próximos à empresa ● Dados brutos TCE-RJ Análise de Informações Prof. Raphael Lacerda Modelando TCE-RJ Análise de Informações Prof. Raphael Lacerda Modelando operações Prof. Raphael Lacerda Uma empresa precisa implementar um sistema Big Data para controlar a movimentação dos produtos que a empresa oferece. Esse sistema precisa estar com a configuração de dados como sendo um fato, que seria um evento de ocorrên- cia, como, por exemplo: as compras de um determinado insumo, em um determinado fornecedor e em um determinado instante. Para tal finalidade, esse sistema a ser implementado deverá estar organizado segundo a configuração de (A) Cubo de dados (B) Tuplas estáticas (C) Matriz de ocorrência (D) Documentos lineares (E) Subconjunto de atributos Prof. Raphael Lacerda Cesgranrio/BB/2021 Prof. Raphael Lacerda SEFAZ-BA/2019 A modelagem multidimensional proposta A tem como característica um fato central, a partir do qual estão dispostas as dimensões que dele participam, em um formato simétrico, característico do modelo star. B é o resultado da decomposição de mais de uma dimensão que possui hierarquias entre seus membros, caracterizando o modelo snowflake, a partir de um fato central. Prof. Raphael Lacerda SEFAZ-BA/2019 Prof. Raphael Lacerda SEFAZ-BA/2019 C não é um modelo normalizado, por isso evita a redundância de valores textuais em cada uma das tabelas, representadas pelas dimensões denominadas dimension tables. D possui um fato central, a partir do qual estão dispostas as dimensões que dele participam e seus membros, sob uma única estrutura hierárquica, facilitando a inclusão de dados por digitação nas tabelas do DW. E parte de um elemento central, denominado pivot, a partir do qual são realizadas operações OLAP como roll up, em que busca-se aumentar o nível de detalhe ou diminuir a granularidade da consulta. Prof. Raphael Lacerda SANASA/2019 O sistema de suporte a decisão representado em cada um dos cilindros do conjunto denominado Específicos, na imagem, é um A Catálogo de Metadados. B Schema. C Drill. D OLTP. E Data Mart. Prof. Raphael Lacerda Cespe/HEMOBRAS/2008 A figura acima apresenta um modelo de banco de dados. Julgue os próximos itens, relativos às informações apresentadas e aos conceitos de arquiteturae sistemas de informação. O modelo de dados é capaz de gerar um cubo OLAP que possui quatro dimensões. Prof. Raphael Lacerda Cespe/HEMOBRAS/2008 @canetas.pretas PYTHON http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Ao analisar um conjunto de dados com Python, um programador resolveu usar um dataframe Pandas de nome dp para guardá-los. Em um certo momento, ele resolveu que precisaria usar, apenas, quatro colunas de dados do dataframe: “pais“, “ano“, “renda per capita“ e “expectativa de vida“. Que fragmento de código Python 3 deve ser usado para selecionar, apenas, essas quatro colunas do dataframe dp? (A) dp[“pais“,“ano“,“expectativa de vida“,“renda per capita“] (B) dp[[“pais“,“ano“,“expectativa de vida“,“renda per capita“]] (C) dp(“pais“,“ano“,“expectativa de vida“,“renda per capita“) (D) dp([“pais“,“ano“,“expectativa de vida“,“renda per capita“]) (E) dp[dp[“pais“,“ano“,“expectativa de vida“,“renda per capita“]] Prof. Raphael Lacerda Pandas ⇒ intervalo de dados ⇒ trabalho com múltiplos dados ⇒ planilhas Prof. Raphael Lacerda Que tipo de ajuda? Pandas Example - Python - OneCompiler 10 minutes to pandas — pandas 1.5.2 documentation (pydata.org) https://onecompiler.com/python/3x7an28pr https://pandas.pydata.org/docs/user_guide/10min.html https://pandas.pydata.org/docs/user_guide/10min.html Prof. Raphael Lacerda ⇒ info() → informações sobre o DataFrame ⇒ head() → mostra os 5 primeiros por padrão ⇒ tail() → mostra os 5 últimos ⇒ dtypes → tipos dos dados do DataFrame ⇒ shape → linhas e colunas ⇒ concat → concatenar DataFrames Métodos e atributos do DataFrame https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.html Considere o código Python a seguir. import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]]) print (a[a>5]) O que será exibido após esse código ser executado? CESGRANRIO/BB/2021 Prof. Raphael Lacerda Numpy Prof. Raphael Lacerda ndarray Vs standard python tem o tamanho fixado na criação pode aumentar dinamicamente mesmo tipo (homogêneo) qualquer tipo facilitar cálculos matemáticos não lida bem com grande quantidade de dados mais eficiente com menos código + verborrágico consome menos memória - otimizado ⇒ ndim: número de eixos ⇒ shape: indica o tamanho do array em cada dimensão (linhas e colunas) ⇒ size: total de elementos do array ⇒ dtype: tipo dos elementos do array Prof. Raphael Lacerda Atributos Online NumPy Compiler (tutorialspoint.com) https://www.tutorialspoint.com/execute_numpy_online.php CESGRANRIO/BB/2021 Considere o código Python a seguir. import numpy as np valorAplicado = np.array([5000, 6000, 7000, 8000]) taxaJuros = np.array([1, 2, 3, 4]) resultado = valorAplicado * taxaJuros @canetas.pretas HTML http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Considere o código HTML a seguir. <!doctype html> <html lang=”pt-br”> <head> <script src=”script.js”></script> </head> <body> <form> Texto: <input type=’text’ name=’texto’ id=’idTexto’ class=’classe-input’ value=’Texto inicial’><br> <input type=’submit’ value=’Envia’> </form> </body> </html> CESGRANRIO/BB/2021 Considere, também, o arquivo TypeScript script.ts, listado a seguir, que irá gerar o arquivo script.js no mesmo diretório do arquivo HTML, apresentado acima. onload = (event) => { const texto = document.querySelector(’???’) as HTMLInputElement; console.log(’Texto inicial: ’, texto.value); }; Que texto o programador deverá utilizar no lugar de ???, no código do arquivo TypeScript script.ts, para exibir o valor do campo HTML input na console? (A) #classe-input (B) #idTexto (C) #texto (D) .idTexto (E) .texto @canetas.pretas TYPESCRIPT http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Considere o fragmento de código TypeScript a seguir. const a = <T extends {b: string}>(obj: T) => { <código removido> }; Com relação ao código apresentado acima, a(o) (A) função a() retorna um objeto do tipo string. (B) variável a é uma lista de objetos do tipo string. (C) variável a é um dicionário cujas chaves são objetos do tipo string. (D) objeto que for passado para a função a() deve ter um campo b do tipo string. (E) valor retornado pela função a() é um objeto que estende um objeto do tipo string. javascript - How to restrict object fields in Typescript using Type parameter - Stack Overflow Using Typescript Generic Constraints to Restrict Function Arguments Based on Other Arguments - DEV Community https://stackoverflow.com/questions/64288927/how-to-restrict-object-fields-in-typescript-using-type-parameter https://stackoverflow.com/questions/64288927/how-to-restrict-object-fields-in-typescript-using-type-parameter https://stackoverflow.com/questions/64288927/how-to-restrict-object-fields-in-typescript-using-type-parameter https://dev.to/nas5w/using-typescript-generic-constraints-to-restrict-function-arguments-based-on-other-arguments-1jdi https://dev.to/nas5w/using-typescript-generic-constraints-to-restrict-function-arguments-based-on-other-arguments-1jdi https://dev.to/nas5w/using-typescript-generic-constraints-to-restrict-function-arguments-based-on-other-arguments-1jdi Prof. Raphael Lacerda Ecossistema Prof. Raphael Lacerda Características ⇒ Compilada (error checking) ⇒ Fortemente e Estaticamente tipada ⇒ Orientação a Objetos Prof. Raphael Lacerda Sintaxe básica Prof. Raphael Lacerda Variáveis Prof. Raphael Lacerda Palavras Reservadas Prof. Raphael Lacerda strings CESGRANRIO/BB/2021 Em TypeScript 4, é possível usar o seguinte fragmento de código: // definir x const y = (...args: number[]) => args.reduce(x, 0); Que fragmento de código apresenta uma versão compilável e executável da definição de x que poderia aparecer no lugar do comentário “// definir x” ? (A) const x = 1; (B) const x = [1,2,3]; (C) const x = (a:number) => [a*2]; (D) const x = (a:number[]) => a[0]; (E) const x = (a:number,b:number) => a+b; Array.prototype.reduce() - JavaScript | MDN (mozilla.org) https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce @canetas.pretas JAVA http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Sejam as seguintes classes Java: public class Va1 { public static String getStr() { return “abcdefghijklmnop“; } public String ini(String s, int cpr) { return s.substring(0, cpr); } public String fin(String s, int cpr) { return ini(s, cpr)+s.substring(s.length()-cpr, s.length()); } } Can We Override Static Method in Java - Javatpoint A Single Java Program Can Contain How many Classes? - Scaler Topics Online Java Compiler - Online Java Editor - Java Code Online (jdoodle.com) https://www.javatpoint.com/can-we-override-static-method-in-java#:~:text=Can%20we%20override%20a%20static,we%20cannot%20override%20static%20methods. https://www.javatpoint.com/can-we-override-static-method-in-java#:~:text=Can%20we%20override%20a%20static,we%20cannot%20override%20static%20methods. https://www.scaler.com/topics/a-single-java-program-can-contain-how-many-classes/ https://www.scaler.com/topics/a-single-java-program-can-contain-how-many-classes/ https://www.jdoodle.com/online-java-compiler/ https://www.jdoodle.com/online-java-compiler/ CESGRANRIO/BB/2021 public class Va2 extends Va1 { public static String getStr() { return “0123456789ABCDEF“; } public String ini(String s, int cpr) { return s.substring(s.length()-cpr, s.length()); } public static void main(String[] args) { Va1 o=new Va2(); System.out.println(o.fin(o.getStr(), 5)); } } CESGRANRIO/BB/2021O que será exibido no console quando o método main for executado? (A) 0123BCDE (B) BCDEFBCDEF (C) 01234BCDEF (D) abcdelmnop (E) lmnoplmnop CESGRANRIO/BB/2021 CESGRANRIO/BB/2021 As classes Java a seguir são públicas e ocupam arquivos separados. O que será exibido no console quando o método main for executado? (A) 0 (B) 10 (C) 24 (D) 25 (E) 33 https://www.geeksforgeeks.org/ord er-execution-initialization-blocks-co nstructors-java/ https://www.geeksforgeeks.org/order-execution-initialization-blocks-constructors-java/ https://www.geeksforgeeks.org/order-execution-initialization-blocks-constructors-java/ https://www.geeksforgeeks.org/order-execution-initialization-blocks-constructors-java/ CESGRANRIO/BB/2021 Foi solicitado a um programador de sistemas de informação que transformasse uma classe escrita em Java em uma classe equivalente, para ser executada em um programa Kotlin. O código da classe Java é: public class AlunoJava{ private String codigo; private String nome; private int numero=0; private String texto= “EscolaX”; public AlunoJava (String codigo,String nome) { this.codigo = codigo; this.nome = nome; } } A classe em Kotlin equivalente à classe Java acima é CESGRANRIO/BB/2021 (A) public class AlunoKotlin (private String: nome , private String: codigo ) { private: numero int = 0 texto String = “EscolaX” } (B) public class AlunoKotlin (private var nome; codigo: String) { private var numero = 0 private var texto = “EscolaX” } (C) class AlunoKotlin (val nome: String, val codigo: String) { private this.nome = nome private this.codigo=codigo private var int numero = 0 private var String texto = “EscolaX” } CESGRANRIO/BB/2021 (D) class AlunoKotlin (var nome: String, var codigo: String) { private var numero = 0 private var texto = “EscolaX” private AlunoKotlin.nome, AlunoKotlin.codigo } (E) class AlunoKotlin (private val nome: String, private val codigo: String) { private var numero = 0 private var texto = “EscolaX” } ⇒ Linguagem moderna ⇒ 100% compatível com Java ⇒ server ou client side, IoS, mas especialmente ANDROID ⇒ muti-paradigma ⇒ concisa ⇒ first-class language on Android. Prof. Raphael Lacerda Linguagem https://techcrunch.com/2017/05/17/google-makes-kotlin-a-first-class-language-for-writing-a ndroid-apps Prof. Raphael Lacerda must loved language Prof. Raphael Lacerda hated? Prof. Raphael Lacerda wanted Prof. Raphael Lacerda val x var Properties | Kotlin Documentation (kotlinlang.org) https://kotlinlang.org/docs/properties.html#getters-and-setters https://kotlinlang.org/docs/properties.html#getters-and-setters Prof. Raphael Lacerda Palavras Reservadas https://kotlinlang.org/docs/keyword-reference.html#hard-keywords Prof. Raphael Lacerda Data Class Data classes | Kotlin Documentation (kotlinlang.org) https://kotlinlang.org/docs/data-classes.html https://kotlinlang.org/docs/data-classes.html Prof. Raphael Lacerda Visibilidade Kotlin Visibility Modifiers - public, protected, internal, private | DigitalOcean android - What's the difference when adding a private modifier to arguments in a Kotlin's constructor? - Stack Overflow https://www.digitalocean.com/community/tutorials/kotlin-visibility-modifiers-public-protected-internal-private https://www.digitalocean.com/community/tutorials/kotlin-visibility-modifiers-public-protected-internal-private https://stackoverflow.com/questions/47824418/whats-the-difference-when-adding-a-private-modifier-to-arguments-in-a-kotlins https://stackoverflow.com/questions/47824418/whats-the-difference-when-adding-a-private-modifier-to-arguments-in-a-kotlins https://stackoverflow.com/questions/47824418/whats-the-difference-when-adding-a-private-modifier-to-arguments-in-a-kotlins @canetas.pretas ESTRUTURA DE DADOS http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Um programador escreveu uma função para percorrer, em pós-ordem, uma árvore binária e exibir, no console, os valores referentes aos nós dessa árvore. Após essa função ter sido executada, foi exibido o seguinte resultado: 41 44 33 47 55 52 36 30 Que árvore essa função percorreu para exibir o resultado acima? AVL Tree Visualzation (usfca.edu) https://www.cs.usfca.edu/~galles/visualization/AVLtree.html CESGRANRIO/BB/2021 AVL Tree Visualzation (usfca.edu) https://www.cs.usfca.edu/~galles/visualization/AVLtree.html Como Percorrer? Prof. Raphael Lacerda Árvore Cheia Prof. Raphael Lacerda https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bi n%C3%A1ria-completa-e-cheia https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia Árvore Completa Prof. Raphael Lacerda https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bi n%C3%A1ria-completa-e-cheia https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia https://pt.stackoverflow.com/questions/134190/diferen%C3%A7a-entre-%C3%A1rvore-bin%C3%A1ria-completa-e-cheia CESGRANRIO/BB/2021 Desejam-se realizar buscas nas seguintes coleções de dados, representadas na linguagem Java: I - Um array de 1.000 números inteiros ordenados de forma decrescente; II - Uma lista encadeada desordenada e alocada dinamicamente, cujos 1.000 nós contêm strings (uma string por nó); III - Uma lista encadeada, alocada dinamicamente, cujos 1.000 nós contêm números decimais (um número double por nó) ordenados de forma ascendente. Levando-se em consideração a exequibilidade e a eficiência, quais métodos de busca devem ser empregados, respectiva- mente, em cada um dos três casos acima? (A) I – sequencial; II – sequencial; III – binária (B) I – binária; II – sequencial; III – sequencial (C) I – binária; II – sequencial; III – binária (D) I – sequencial; II – sequencial; III – sequencial (E) I – sequencial; II – binária; III – binária Busca binária (artigo) | Algoritmos | Khan Academy https://pt.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search https://pt.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search Lista Encadeada Prof. Raphael Lacerda https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 https://medium.com/aprendacpp/criando-uma-lista-encadeada-em-c-17e7f5692f36 Lista Duplamente Encadeada Prof. Raphael Lacerda https://wiki.sj.ifsc.edu.br/wiki/index.php/PRG29003:_A_implementa%C3%A7%C3%A3o_da_lista https://wiki.sj.ifsc.edu.br/wiki/index.php/PRG29003:_A_implementa%C3%A7%C3%A3o_da_lista CESGRANRIO/BB/2021 Um professor preparou uma série de experimentos para avaliar, juntamente com seus alunos, três algoritmos de ordenação: o da bolha, o de ordenação por inser- ção e o de ordenação por seleção. Para tal, ele escre- veu três métodos Java, um para cada algoritmo. Todos eles recebem como único parâmetro um array de inteiros (int vet[ ] = {81,15,4,20,7,47,14,20,4}), que será ordenado em ordem crescente. Para acompanhar a evolução desse array sendo ordena- do, cada um dos três métodos exibe a configuração dos elementos do array ao término de cada iteração do co- mando de repetição mais externo. Vale lembrar que es- ses três algoritmos de ordenação são compostos por dois comandos de repetição aninhados (dois comandos for ou dois comandos while). Terminada a codificação, o professor executou os méto- dos relativos aos três algoritmos de ordenação e projetou no quadro as configurações do array relativas às três pri- meiras iterações de cada um dos algoritmos de ordena- ção, conforme mostrado a seguir. CESGRANRIO/BB/2021CESGRANRIO/BB/2021 As configurações 1, 2 e 3, exibidas acima, correspondem, respectivamente, aos algoritmos (A) da bolha, de seleção e de inserção (B) da bolha, de inserção e de seleção (C) de seleção, de inserção e da bolha (D) de seleção, da bolha e de inserção (E) de inserção, de seleção e da bolha Prof. Raphael Lacerda Selection Sort Prof. Raphael Lacerda Selection Sort http://www.youtube.com/watch?v=Ns4TPTC8whw Prof. Raphael Lacerda Insertion Sort Prof. Raphael Lacerda Insertion Sort http://www.youtube.com/watch?v=ROalU379l3U&t=10 Prof. Raphael Lacerda Bubble Sort Prof. Raphael Lacerda Bubble Sort http://www.youtube.com/watch?v=lyZQPjUT5B4&t=50 In a nutshell Prof. Raphael Lacerda https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao/ estrategia/algoritmos-ordenacao at main · raphaelLacerda/estrategia · GitHub https://www.treinaweb.com.br/blog/conheca-os-principais-algoritmos-de-ordenacao/ https://github.com/raphaelLacerda/estrategia/tree/main/algoritmos-ordenacao https://github.com/raphaelLacerda/estrategia/tree/main/algoritmos-ordenacao CESGRANRIO/BB/2021 Dentre os problemas identificados pela gerência de um banco comercial, está a localização das contas dos seus titulares nas listagens e nos relatórios impressos em diferentes situações. Um especialista de TI sugeriu ordenar as contas por meio dos CPF dos seus n titulares antes das impressões. Dentre alguns algoritmos pré-selecionados para essa ordenação, o especialista escolheu o algoritmo de ordenação por inserção, no qual o consumo de tempo é, no melhor caso, proporcional a (A) n log n (B) log n (C) n2 (D) n (E) 1 CESGRANRIO/BB/2021 Em uma agência bancária, as filas de atendimento são ordenadas da esquerda para a direita, e o gerente dessa agência percebeu a presença equivocada de um idoso, com a senha 52, na fila de atendimento não preferencial. Visando a sanar o equívoco, o gerente resolveu que, na primeira oportunidade, faria uma busca no sistema para saber se a senha 52 ainda estava ativa, indicando a presença do idoso na fila de atendimento não preferencial. Em caso de resposta positiva, procu- raria o cliente para trocar sua senha por outra de atendimento preferencial; se não, apenas registraria o fato para posterior discussão no grupo de qualidade de atendimento. Considerando o uso de um algoritmo de busca sequencial otimizado, partindo da esquerda para a direita, e as sequências hipotéticas das senhas da fila de atendimento não preferencial e suas regras de ordenação, segundo as quais quem está à esquerda é atendido antes de quem está à direita, o menor número de comparações para o gerente conhecer o resultado de sua busca ocorre em CESGRANRIO/BB/2021 CESGRANRIO/BB/2021 As agências bancárias negociam seguros residenciais com seus clientes e, muitas vezes, precisam arquivar cópias de forma ordenada para que consultas eventuais sejam facilitadas. O gerente de uma agência precisava ordenar um vetor de documentos referentes a esses seguros, e o seu adjunto, da área de TI, o aconselhou a usar o algoritmo de ordenação chamado Bubble Sort. Utilizando-se o algoritmo sugerido, qual será a quantidade de trocas de posições realizadas para ordenar, de modo cres- cente, o vetor de números de contrato (77, 51, 11, 37, 29, 13, 21)? (A) 14 (B) 15 (C) 16 (D) 17 (E) 18 CESGRANRIO/BB/2021 Uma das formas de o gerente de uma agência bancária acompanhar a qualidade dos serviços prestados aos seus clientes é verificar o estado da ordem de atendimento em vários instantes ao longo do expediente. O sistema que a gerência utiliza para tal fim é a estrutura de dados conhecida como FILA, que mostra a situação da ordem de atendimento no instante da verificação. Nesse contexto, implementa-se uma estrutura de FILA de números inteiros com suas duas operações tradicionais: ENFILEIRAR(Z), que ocorre no instante em que um cliente recebe uma senha Z e entra na FILA; e DESENFILEIRAR( ), que ocorre quando um cliente sai da FILA, caso em que DESENFILEIRAR( ) retorna o número da senha. Sabe-se, tam- bém, que a representação do estado da FILA em um instante qualquer é realizada listando os elementos, de forma que o primeiro elemento, da esquerda para a direita, é o mais antigo presente na FILA. Nas condições apresentadas, considere uma FILA que começa vazia e realiza as seguintes operações: ENFILEIRAR(8) → ENFILEIRAR(9) → DESENFILEIRAR( ) → ENFILEIRAR(10) → ENFILEIRAR(11) → ENFILEIRAR(DESENFILEIRAR ( )) → ENFILEIRAR(12) → DESENFILEIRAR( ) → ENFILEIRAR(13) → DESENFILEIRAR( ) Após realizar as operações acima, a FILA estará no estado (A)10–11 –12 (B) 9 – 12 – 13 (C) 9 – 10 – 11 (D) 8 – 10 – 11 (E) 8 – 9 –10 Pilha Prof. Raphael Lacerda Fila Prof. Raphael Lacerda @estrategiaconcursosti IOS http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 O desenvolvimento de um aplicativo bancário para dis- positivos móveis exige que se dedique atenção à parte visual do mesmo, que vai depender, também, do modelo do aparelho e do tipo de sistema operacional (SO) que esteja rodando nele. Caso um desenvolvedor de aplicativos para um iPhone com SO iOS precise fazer a programação visual das telas desses aplicativos, que ferramenta do Xcode 10 ele deve utilizar? (A) Interface Builder (B) Bundle Identifier (C) Organizer Interface (D) Apple LLVM (E) Instruments CESGRANRIO/BB/2021 Xcode 14 Overview - Apple DeveloperInterface Builder - Wikipedia https://developer.apple.com/xcode/ https://en.wikipedia.org/wiki/Interface_Builder Prof. Raphael Lacerda Ciclo de Vida https://medium.com/good-morning- swift/ios-view-controller-life-cycle-2 a0f02e74ff5 https://medium.com/good-morning-swift/ios-view-controller-life-cycle-2a0f02e74ff5 https://medium.com/good-morning-swift/ios-view-controller-life-cycle-2a0f02e74ff5 https://medium.com/good-morning-swift/ios-view-controller-life-cycle-2a0f02e74ff5 Prof. Raphael Lacerda Equatable @estrategiaconcursosti DEVOPS http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Em um ambiente Cluster, há um servidor Linux que tem o Ansible instalado. Para construir um arquivo YAML, que informe os passos que o Ansible realizará automaticamente na conexão com os servidores que fazem parte do Cluster, além de exe- cutar um conjunto de tarefas solicitadas, o administrador desse servidor deve seguir o padrão (A) Apache-Start (B) Nodel (C) Playbook (D) Taskbook (E) Tower Devops Prof. Raphael Lacerda Infra as Code https://stackshare.io/stackups/ansible-vs-terraform https://logz.io/blog/terraform-vs-ansible-vs-puppet/ https://stackshare.io/stackups/ansible-vs-terraform https://logz.io/blog/terraform-vs-ansible-vs-puppet/ Devops Prof. Raphael Lacerda https://medium.com/edureka/ansible-cheat-sheet-guide-5fe615ad65c0 https://medium.com/edureka/ansible-cheat-sheet-guide-5fe615ad65c0 Devops Prof. Raphael Lacerda code na infra Devops Prof. Raphael Lacerda code na infra Prof. Raphael Lacerda Palpites Prof. Raphael Lacerda Palpites https://www.digitalocean.com/com munity/cheatsheets/how-to-use-ans ible-cheat-sheet-guide https://www.digitalocean.com/community/cheatsheets/how-to-use-ansible-cheat-sheet-guide https://www.digitalocean.com/community/cheatsheets/how-to-use-ansible-cheat-sheet-guide https://www.digitalocean.com/community/cheatsheets/how-to-use-ansible-cheat-sheet-guide Prof. Raphael Lacerda Palpites http://www.youtube.com/watch?v=ZAdJ7CdN7DY @estrategiaconcursosti NOSQL http://instagram.com/estrategiaconcursosti CESGRANRIO/BB/2021 Um banco comercial deseja obter um tipo de banco de dados NoSQL que trate os dados extraídos de redes sociais, de modo a formar uma coleção (collection) interconectada. Nessa coleção (collection), os dados são organizados em vértices ou objetos (O) e emrelacionamentos, que são relações (R) ou arestas. Nesse modelo de banco de dados NoSQL, os dados seriam apresentados da seguinte forma: O:Usuario{u1:Joao, u2:Jose, u3:Maria, u4:Claudio} O:Escola{e1:UFRJ, e2:URGS, e3:IFB} R:Estudaem{re1=u1:e2;re2=u2:e2;re3=u3:e1;re4=u4:e3} R:Amigode{ra1=u1:u2;ra2=u1:u3;ra3=u2:u3} O banco de dados NoSQL que representa essa situação deve ter uma estrutura do tipo (A) Distribuided Hashing (B) Consistent Hashing (C) Document Oriented (D) Graph Oriented (E) Vector Clock Prof. Raphael Lacerda NoSQL Prof. Raphael Lacerda Melhor Escalabilidade Prof. Raphael Lacerda Relacional vs NoSQL NoSQL Tutorial: What is, Types of NoSQL Databases & Example (guru99.com) https://www.guru99.com/nosql-tutorial.html https://www.guru99.com/nosql-tutorial.html Prof. Raphael Lacerda BASE vs ACID NoSQL Tutorial: What is, Types of NoSQL Databases & Example (guru99.com) https://www.guru99.com/nosql-tutorial.html https://www.guru99.com/nosql-tutorial.html Prof. Raphael Lacerda e esses SGBD's? Prof. Raphael Lacerda NoSQL https://medium.com/permalink-univesp/nosql-o-que-s%C3%A3o-onde-habitam-do-que-se-alimentam-2ccd4cc39571 https://medium.com/permalink-univesp/nosql-o-que-s%C3%A3o-onde-habitam-do-que-se-alimentam-2ccd4cc39571 Prof. Raphael Lacerda NoSQL https://micreiros.com/tipos-de-bancos-de-dados-nosql/ https://micreiros.com/tipos-de-bancos-de-dados-nosql/ Prof. Raphael Lacerda Exemplos https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html Prof. Raphael Lacerda Grafos Prof. Raphael Lacerda Documentos Prof. Raphael Lacerda Colunar Prof. Raphael Lacerda Chave/Valor Redis - DB4Beginners - O blog da Dani Monteiro http://db4beginners.com/blog/sql-ou-nosql-redis/key-value-data-stores-2/ Prof. Raphael Lacerda Teorema CAP https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html https://blog.caelum.com.br/nosql-do-teorema-cap-para-paccl/ https://autociencia.blogspot.com/2020/01/scylladb-um-banco-de-dados-nosql-big-data.html https://blog.caelum.com.br/nosql-do-teorema-cap-para-paccl/ CESPE/2022 Cypher query language, linguagem de consulta de gráfico do Neo4j que possibilita aos usuários o armazenamento e a recuperação de dados do banco de dados de gráficos, permite declarar o que se deseja selecionar, inserir, atualizar ou excluir desses dados de gráficos. CESGRANRIO/BB/2021 Um administrador de um banco de dados construído por meio do MongoDB inseriu dados em uma coleção (collection) de dados da seguinte forma: db.fornecedores.insert( { codigo: “thx1138“, nome: “Roupas Syfy ltda“, pais: “Arabia Saudita“ } ) Posteriormente, esse administrador construiu uma consulta que retornou apenas o nome, sem repetição, de todos os países que fazem parte dessa coleção (collection). O comando utilizado para tal consulta foi (A) db.fornecedores.find("pais") (B) db.fornecedores.find().pretty({"pais":1}) (C) db.fornecedores.find().sort({"pais":1}) (D) db.fornecedores.distinct({"pais":0}) (E) db.fornecedores.distinct( "pais" ) dicas do mongo Document Database Collections (tables) Views e Materialized Views High Performance Rich Query Language High Availability Scalability https://docs.mongodb.com/manual/introduction/ https://docs.mongodb.com/manual/introduction/ CRUD! https://docs.mongodb.com/manual/r eference/method/db.collection.inser tMany/#mongodb-method-db.collec tion.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany CRUD! https://docs.mongodb.com/manual/r eference/method/db.collection.inser tMany/#mongodb-method-db.collec tion.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/#mongodb-method-db.collection.insertMany Índices https://docs.mongodb.com/manual/introduction/ https://docs.mongodb.com/manual/introduction/ Cheat Sheet https://www.mongodb.com/developer/quickstart/cheat-sheet/ https://www.mongodb.com/developer/quickstart/cheat-sheet/ Prof. Raphael Lacerda FGV/CGU/2021 Sobre o MongoDB v5.0, considere as afirmativas a seguir. I. Todos os documentos de uma coleção (collection) devem possuir o mesmo número de campos (fields). II. Um campo presente em diferentes documentos de uma collection pode ter diferentes tipos de dados ao longo dos documentos. III. MongoDB oferece a capacidade de validar esquemas durante operações de inserção (insertion) e atualização (update). Está correto o que se afirma em: A somente I; B somente III; C somente I e II; D somente II e III; E I, II e III. OBRIGADO! FOCO NA APROVAÇÃO Prof. Raphael Lacerda @canetas.pretas @canetaspretas @ oscanetaspretas @canetaspretas
Compartilhar