Anotações, resumos, trabalhos, provas e exercícios de Computação de Ensino Fundamental I

Bancos de Dados: Relacionais vs. NoSQL, Escalabilidade e Conceitos Essenciais

Computação4,91 KB

Características dos Bancos de Dados Relacionais

Sucessor do modelo hierárquico, os bancos de dados relacionais armazenam informações em Tabelas (Relações), contendo linhas e colunas. Cada tupla representa uma entidade do mundo real, e cada coluna define uma propriedade do dado. As tabelas estabelecem relacionamentos entre si através de Chave Primária (CP) e Chave Estrangeira (CE), garantindo que informações referenciem dados já cadastrados e povoados em outras tabelas.

Esses sistemas oferecem validação, recuperação de falhas, segurança, otimização de consultas e garantia de integridade de dados, entre outras funcionalidades. Permitem que múltiplos usuários acessem o banco de dados simultaneamente.

Propriedades ACID em Bancos

...
Continue lendo "Bancos de Dados: Relacionais vs. NoSQL, Escalabilidade e Conceitos Essenciais" »

Tipos de Bancos de Dados NoSQL: Modelos e Comparativo

Computação2,34 KB

Tipos de BDs NoSQL:

Modelo Colunar: São bancos de dados orientados a colunas.

Modelo Chave-Valor: A chave funciona como um identificador exclusivo. O valor é um conjunto de qualquer coisa, desde objetos simples até compostos.

Modelo Orientado a Grafos: Nesse modelo, três componentes são fundamentais: Vértices (entidades), Arestas (relacionamentos) e Atributos (informações sobre os relacionamentos).

Modelo Orientado a Documentos: Armazena coleções de documentos. Um documento contém tudo o que é necessário, sem precisar buscar dados em outros lugares.

Comparativo BD Relacional X BD NoSQL:

Escalabilidade: BDs NoSQL são mais escaláveis. BDs relacionais priorizam escalonamento vertical, que tem um limite.

Disponibilidade: BDs NoSQL facilitam...

Continue lendo "Tipos de Bancos de Dados NoSQL: Modelos e Comparativo" »

Camadas OSI e Protocolos de Rede

Computação3,6 KB

Camada 4 - Transporte

Conhecida como camada de transporte, é responsável por entregar e receber os dados, desde a origem até o destino. O gerenciamento usa sockets para comunicação. Socket = Endereço IP + Porta.

  • TCP: Entrega confiável, orientada à conexão e garante a integridade.
  • UDP: Não garante a entrega das informações, porém é bem mais rápido.

TCP

Garante a entrega dos pacotes. Podem ser:

  • Simples: Envia, recebe confirmação e envia o próximo. O emissor fica muito tempo ocioso.
  • Deslizante: Estabelece um tamanho máximo de cada pacote e capacidade máxima de armazenamento do receptor. Desta forma, podem ser disparados vários pacotes até alcançar o tamanho máximo.

Sinais de controle:

  • SYN: Utilizado para manter e sincronizar a comunicação
...
Continue lendo "Camadas OSI e Protocolos de Rede" »

h2>Xamarin: O Que É, Vantagens, Desvantagens e Emuladores

Computação2,6 KB

1. O que é o Xamarin? Quais as suas vantagens? E as desvantagens?

Plugin desenvolvido pela empresa Xamarin que permite a compilação de aplicações para múltiplas plataformas (iOS, Android, Windows, Mac, …).

Vantagens:

  • Codificação em C# em todas as plataformas.
  • Bom desempenho comparado com aplicações nativas.
  • Aspeto gráfico semelhante ao real (Utiliza componentes nativos na definição das interfaces gráficas).
  • Suporta componentes de hardware (Câmara, acelerómetro, giroscópio, GPS, …).
  • Ambiente de desenvolvimento comum em todas as plataformas (iOS, Android).

Desvantagens:

  • Custo da licença de desenvolvimento (Aproximadamente = $1000/ano).
  • Suporte às versões mais recentes das plataformas (Dependente da velocidade de disponibilização
...
Continue lendo "h2>Xamarin: O Que É, Vantagens, Desvantagens e Emuladores" »

Gerência de Memória e Sistemas de Arquivos: Conceitos

Computação10,5 KB

Gerenciamento de Memória

Quais as funções básicas da gerência de memória?

  • Permitir a execução de programas residentes em memórias secundárias.
  • Possibilitar um maior número de processos residentes na memória principal.
  • Maximizar o compartilhamento do processador e de outros recursos.

Defina alocação contígua simples

Neste método, a memória principal é subdividida em duas áreas: uma para o Sistema Operacional e outra para o programa do usuário. O programa do usuário tem controle total sobre a sua área de memória.

O que é a técnica de overlay?

Consiste em dividir o programa em módulos, permitindo que cada módulo seja executado de forma independente, utilizando a mesma área de memória sequencialmente.

Defina alocação particionada

...
Continue lendo "Gerência de Memória e Sistemas de Arquivos: Conceitos" »

Hardware, Software e Sistemas Operacionais: Guia Completo

Computação2,41 KB

Hardware e Software

Hardware: é a parte física, composta por circuitos eletrônicos, dispositivos eletromagnéticos e ópticos. Software: é a parte lógica, amplamente utilizada, conscientemente ou não. O mais importante é o Sistema Operacional (SO).

Sistema Operacional (SO)

Um SO é um programa que controla a execução de outros programas e atua como intermediário entre o usuário e o hardware. Possui três propriedades principais:

  • Conforto
  • Eficiência: uso otimizado dos recursos do computador
  • Capacidade de Evolução: adaptação às novas necessidades ao longo do tempo

Windows

O Windows é um sistema operacional proprietário, cuja licença de uso deve ser adquirida. Muitos fabricantes de computadores incluem a licença no preço final do...

Continue lendo "Hardware, Software e Sistemas Operacionais: Guia Completo" »

Segurança em APIs REST: Níveis, OAuth e Boas Práticas

Computação13 KB

Nível 0 – POX

Modelo muito simples de comunicação

Neste nível, utiliza-se XML para comunicação com o padrão envelope, enviando arquivos sem padrões e sem segurança.

Apesar de ser o nível mais distante do que de fato REST propõe, muitas APIs ditas como RESTful se encontram neste nível de maturidade.

Neste nível, as mensagens podem ser serializadas em formatos como XML, JSON ou outros.

Um outro problema constantemente encontrado é a manipulação incorreta dos códigos de resposta do HTTP.

Códigos e mensagens de erros são frequentemente manipulados nas mensagens geradas pela aplicação, o que impede que elementos de gateway e proxy trabalhem de forma adequada.

GET /buscarCliente/1

HTTP/1.1 200 OK


<status>CLIENTE NÃO ENCONTRADO&

...
Continue lendo "Segurança em APIs REST: Níveis, OAuth e Boas Práticas" »

Sistemas Distribuídos: Conceitos, Desafios e Arquiteturas

Computação8,56 KB

Conceitos de Sistemas Distribuídos

Definições:

“Um sistema distribuído é um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente.”
“Um sistema distribuído consiste em vários computadores fazendo algo juntos.”

Características:

  • Conjunto de máquinas autônomas;
  • Interconectados por canais de comunicação;
  • Comunicação por troca de mensagens;
  • Independência de falhas.

Requisitos:

  • Alto grau de confiabilidade;
  • Alto grau de segurança e privacidade de informações;
  • Suportar concorrência de usuários;
  • Garantir tempo de resposta satisfatório;
  • Suportar massiva distribuição;
  • Suportar extensibilidade;
  • Suportar integração entre sistemas operados por diferentes organizações.

Exemplos:

  • Aplicações
...
Continue lendo "Sistemas Distribuídos: Conceitos, Desafios e Arquiteturas" »

Banco de Dados Textuais, GED e Hipertexto

Computação12,07 KB

Banco de Dados Textuais

Banco de dados textuais – armazena as palavras e a relação delas com outras palavras. Blocos de textos identificados por um nome. Base de texto armazenada de forma estruturada.

Tipos de Banco de Dados Textuais

  • COM ESTRUTURA - Campos de tamanho variável. Um dos padrões existentes para bancos textuais estruturados é o padrão ISO. A área ainda está em desenvolvimento, estando menos organizada que a de bancos de dados relacionais.

  • SEM ESTRUTURA OU POSSUINDO REGISTROS COM DIFERENTES ESTRUTURAS NO MESMO ARQUIVO - Formato livre, apenas texto, sem campos, ou registros com campos diferentes, sem exigência de homogeneidade na entrada de dados. O padrão mais usado para texto livre é o ANSI.

Operadores Booleanos

  • OU: função
...
Continue lendo "Banco de Dados Textuais, GED e Hipertexto" »

Sincronização e Segurança em Sistemas Distribuídos

Computação4,81 KB

Lamport – Feito para sincronização de clocks lógicos. Exigência: ordenação global de todos os eventos do sistema. Para cada par de eventos, deve-se saber qual aconteceu antes.

Passos:

  1. Envia mensagem a todos os processos e para si mesmo (mensagem = nome da região, seu número, tempo corrente).
  2. Quando um processo recebe:
    • a) Se o receptor não estiver usando ou não for usar, retorna OK.
    • b) Se estiver usando, não responde e guarda requisição na fila.
    • c) Se também quer usar, verifica o tempo da mensagem recebida com o da enviada. Se for menor, envia OK. Se não, não responde e guarda na fila.
  3. Após enviar a requisição, aguarda o OK dos demais.
  4. Termina o uso, envia OK para todos da fila.

Características:

  • Nenhum processo espera indefinidamente.
...
Continue lendo "Sincronização e Segurança em Sistemas Distribuídos" »