Anotações, resumos, trabalhos, provas e exercícios de Computação de Ensino Médio

Segurança da Informação: ISO 27000 e Ameaças

Computação3,99 KB

ISO 27000

As normas da família ISO 27000 convergem para um ponto: o Sistema de Gestão de Segurança da Informação (SGSI). As normas mais conhecidas são a ISO 27001 e a ISO 27002. Estão muito relacionadas à segurança de dados digitais ou sistemas de armazenamento eletrônico. O conceito de segurança da informação vai além do quesito informático e tecnológico, apesar de andarem bem próximos. O SGSI é uma forma de segurança para todos os tipos de dados e informações e possui quatro atributos básicos: confidencialidade, integridade, disponibilidade e autenticidade.

A família ISO 27000 é grande, alguns exemplos:

  • ISO 27000 – Traz informações básicas sobre as normas da série.
  • ISO 27001 – Bases para a implementação de um
...
Continue lendo "Segurança da Informação: ISO 27000 e Ameaças" »

Sincronização e Desempenho em Sistemas Distribuídos

Computação4,2 KB

Vantagem do Relógio Lógico: Somente processos que interagem precisam sincronizar seus relógios. Não é necessário que todos os processos observem um único tempo absoluto; eles somente precisam concordar com relação à ordem em que os eventos ocorrem. O Físico: Ao receber a mensagem resposta do time server, o cliente adiciona o tempo médio de envio de mensagens à hora recebida. Uma máquina cliente envia uma mensagem pedindo a hora certa ao time server.

15- Relógios Lógicos de Lamport são mecanismos usados em algoritmos de sincronização de relógio baseados na relação happens-before definida por Lamport. Para sincronizar os relógios lógicos, Lamport definiu a relação happens-before (acontece antes de), representada pelo...

Continue lendo "Sincronização e Desempenho em Sistemas Distribuídos" »

Guia de Aprendizado de Máquina: Árvores, KNN, SVM e K-means

Computação7,75 KB

Defina árvores de decisão e seu funcionamento.

É a representação de uma tabela de decisão sob a forma de árvore. Tem como funcionamento a entrada de um conjunto de atributos e a saída de uma decisão ou previsão, dada a entrada.

Sobre árvores de decisão, descreva os seguintes termos:

  • Nó: teste de um valor de uma propriedade.
  • Ramo: resultados possíveis do teste.
  • Folha: valor a ser retornado se aquela folha for alcançada.
  • Exemplos positivos: são aqueles que levam a uma resposta positiva.
  • Exemplos negativos: são aqueles que levam a uma resposta negativa.
  • Princípio de Ockham: utilizar apenas as premissas que tragam resultados e eliminar as que não fazem diferença.

Quais são os 4 passos que devem ser seguidos por um algoritmo de geração

...
Continue lendo "Guia de Aprendizado de Máquina: Árvores, KNN, SVM e K-means" »

Sistemas Distribuídos: Tipos e Características

Computação3,92 KB

Arquitetura Centralizada

Vantagens:

  • Integração do desktop e dados corporativos.
  • Sistemas com interfaces gráficas amigáveis.

Desvantagens:

  • Escalabilidade limitada.
  • Enormes problemas de manutenção.

Transparência em Sistemas Distribuídos

Um sistema distribuído deve ser percebido por seus usuários e pelos programadores de aplicações como um sistema único e coeso, ao invés de uma coleção de máquinas separadas. O sistema distribuído deve prover transparência nos seguintes contextos:

  • De acesso: Oculta diferenças na representação de dados e no modo de acesso a um recurso.
  • De localização: Oculta o lugar em que um recurso está localizado.
  • De migração: Oculta que um recurso pode ser movido para outra localização.
  • De realocação: Oculta
...
Continue lendo "Sistemas Distribuídos: Tipos e Características" »

Fundamentos de Software: Ciclo de Vida e Mitos

Computação5,06 KB

Fundamentos de Software e Desenvolvimento

Software inclui código-fonte, executável e documentação (plantas).

Desenvolvimento envolve: requisitos, análise, projeto, implementação, teste e manutenção.

Software é uma entidade lógica; não se desgasta com o tempo como o hardware. Após corrigido, seu índice de falha estabiliza-se. O software fica obsoleto porque as regras de negócio mudam.

Mitos Comuns no Desenvolvimento de Software

Mito da Administração

Mito: Existe um manual repleto de padrões e procedimentos para a construção do software, e isso é o suficiente?

Resposta: Será que ele é usado? Reflete a prática moderna?

Mito: Se estamos atrasados no prazo, podemos adicionar novos programadores?

Resposta: Como não é um processo...

Continue lendo "Fundamentos de Software: Ciclo de Vida e Mitos" »

Guia Rápido: Conceitos e Diagramas Fundamentais da UML

Computação2,33 KB

Conceitos Essenciais de UML e Modelagem de Sistemas

UML (Unified Modeling Language)

É uma simplificação da realidade que descreve um sistema de um ponto de vista particular.

Modelagem de Negócios

É uma técnica de modelagem de alto nível, que surgiu das dificuldades identificadas por analistas e programadores. Ela serviu para facilitar a comunicação com as pessoas que fazem parte do negócio e que não possuem conhecimentos de Engenharia de Software.

Diagrama de Classes

O principal diagrama da UML, serve de apoio para a maioria dos diagramas. Ele define a estrutura de classes do sistema e estabelece como as classes se relacionam.

Diagrama de Objetos

Os diagramas de objetos são úteis para a modelagem de estruturas de dados complexas, pois...

Continue lendo "Guia Rápido: Conceitos e Diagramas Fundamentais da UML" »

Arquitetura, Coesão e Testabilidade de Software

Computação5,57 KB

Visões de Projetos de Software

Visões de Projetos de SW: 1 - Dados: seleciona as representações de dados / 2 - Arquitetural: modela a estrutura completa do software, define qual arquitetura utilizar / 3 - Procedimental: finaliza os detalhes do processamento de cada módulo / 4 - Interfaces: especifica os layouts e classifica os tipos de usuários.

Tipos de arquitetura

Tipos de arquitetura: Centralizada / Parcialmente centralizada / Cliente-Servidor / Distribuída.

Tipos de usuários na definição de interface

Tipos de usuários na definição de interface: Principiante / Treinados e frequentes / Treinados e esporádicos.

Coesão (pior para melhor)

Coesão (pior para melhor):

  • Coincidente: partes de um componente não estão relacionadas entre si.
...
Continue lendo "Arquitetura, Coesão e Testabilidade de Software" »

Chamadas de Sistema, Estados e Sinais de Processos

Computação4,38 KB

Chamadas de Sistema

Chamadas de sistema: Interface entre o S.O. e seus Programas/Aplicativos. Três Parâmetros: 1º especificar o arquivo; 2º especificar o buffer no disco; 3º especificar o número de bytes a ler. Ex. de chamadas de sistema Unix: MKDIR, RMDIR, CHMOD, TIME, KILL, PS.

Estados de um Processo

Durante o seu tempo de vida, um processo pode passar por diferentes estados:

  • Running: É o processo atual do sistema ou está pronto para ser nomeado a uma das CPUs do sistema.
  • Waiting: Processo está esperando por um evento ou recurso.
  • Interruptible: O processo de espera que pode ser interrompido.
  • Stopped: Um processo que foi parado.
  • Zombie: Um processo que foi detido. Geralmente um processo morto.

Do ponto de vista do kernel, um processo é uma...

Continue lendo "Chamadas de Sistema, Estados e Sinais de Processos" »

Exercícios Resolvidos de Java: Listas e Collections

Computação2,63 KB

1. Dado o programa abaixo, escrito em Java:


package atividadeA1;
import java.util.ArrayList;
import java.util.Collection;

public class Questao1 {
    public static void main(String[] args) {
        Collection x = new ArrayList();
        Collection y = new ArrayList();
        for (int i = 1; i < 7; i++) {
            x.add(i + 2);
        }
        for (int i = 1; i < 4; i++) {
            x.remove(i);
        }
        for (int j = 0; j < 3; j++) {
            y.add(j + 10);
        }
        x.addAll(y);
        System.out.print(x.toString());
    }
}

Após a execução, será impresso no console: [3, 4, 5, 6, 10, 11, 12]

2. Dado o programa abaixo, escrito em Java:


package atividadeA1;
import java.util.ArrayList;
import java.
...
Continue lendo "Exercícios Resolvidos de Java: Listas e Collections" »

Guia Completo: Como Proteger seu Computador contra Malware

Computação3,06 KB

O que é Malware?

Malware é um termo genérico, abreviação de "software malicioso", usado para descrever diversas ameaças ao seu computador. Estas variam desde softwares indesejados que monitoram seus hábitos de navegação até ameaças graves, como:

  • Keyloggers: gravam e roubam suas senhas.
  • Trojans: exploram seu computador em busca de dados sensíveis, como informações bancárias.

Existe uma gama de ferramentas para lidar com essas ameaças, desde softwares antivírus até ferramentas especializadas na remoção de trojans.

Firewalls

Um firewall é a sua primeira linha de defesa contra atividades maliciosas. Embora não sejam infalíveis, fornecem uma medida essencial de proteção. Existem dois tipos principais:

  • Firewalls de software: instalados
...
Continue lendo "Guia Completo: Como Proteger seu Computador contra Malware" »