Apontamentos, resumos, trabalhos, exames e problemas de Computação

Ordenar por
Matéria
Nível

Linguagens de Programação: Conceitos, Critérios e Paradigmas

Classificado em Computação

Escrito em em português com um tamanho de 10,29 KB

O que é uma Linguagem de Programação?

  • Uma Linguagem de Programação é uma linguagem destinada a ser usada para expressar o processo através do qual um computador pode resolver um problema.

Critérios de Avaliação das Linguagens

  1. Legibilidade de Programas

    Facilidade com a qual o seu código pode ser lido e entendido. Deve ser considerada no contexto para o qual ela foi projetada, ou seja, um programa feito em uma linguagem não projetada para seu uso tende a ser mais "confuso".

    1.1 Simplicidade

    Linguagens complexas permitem construções difíceis de entender, e linguagens simples demais podem gerar programas longos. Há outros fatores que podem complicar a linguagem, como:

    • Multiplicidade de Recursos e
    • Sobrecarga (Overloading).
    Multiplicidade
... Continue a ler "Linguagens de Programação: Conceitos, Critérios e Paradigmas" »

Conceitos Fundamentais de Computação em Nuvem e Modelos de Serviço

Classificado em Computação

Escrito em em português com um tamanho de 3,05 KB

Computação em Nuvem

A Computação em Nuvem é um modelo de computação no qual empresas e indivíduos obtêm recursos computacionais e aplicações de software pela Internet.

Computação em Grade

A Computação em Grade é um sistema distribuído composto por uma grande quantidade de recursos computacionais heterogêneos, fracamente acoplados e geograficamente dispersos em diferentes domínios administrativos.

Objetivo da Computação em Grade

Fornecer ao usuário a ilusão de que ele tem um computador virtual de grande porte à sua disposição.

Atributos Essenciais dos Serviços em Nuvem

  • Serviços por Demanda (Self-Service): Permite alocar os recursos computacionais à medida do necessário.
  • Acesso Universal (Ubíquo): Garante acesso universal
... Continue a ler "Conceitos Fundamentais de Computação em Nuvem e Modelos de Serviço" »

Quiz VTP e STP: Fundamentos de Rede

Classificado em Computação

Escrito em em português com um tamanho de 4,1 KB

1. O que faz um switch no modo cliente VTP em um domínio de gerenciamento VTP quando recebe uma atualização de resumo com um número de revisão superior ao número de revisão atual?

  • Encaminhamento suspenso até que receba o subconjunto de atualização das publicações.
  • - Emite um pedido de atualização para as informações da nova VLAN.
  • Atualiza o número de revisão e envia para os outros switches.
  • Exclui as VLANs não incluídas na atualização de resumo.
  • Envia atualizações de resumo para avisar os outros switches sobre mudanças de estado.
  • Nenhuma das opções acima.

2. Qual é a causa para um switch VTP configurado emitir uma atualização de resumo?

  • - Cinco minutos se passaram no temporizador de atualizações.
  • A porta do switch está
... Continue a ler "Quiz VTP e STP: Fundamentos de Rede" »

Sistemas Distribuídos: Sincronização e Exclusão Mútua

Classificado em Computação

Escrito em em português com um tamanho de 3,55 KB

Sincronização de Relógios

  • Sincronização interna: Diferença entre tempo de relógios locais: D > 0, |Ci(t) – Cj(t)|, os relógios Ci concordam dentro do limite D.
  • Monotonicidade: Se t' > t, então c(t') > c(t), significa que o tempo decorre sempre para frente.
  • Correção interna: Ajusta os termos do relógio de software para sincronização: Hi(t) + β, para garantir a monotonicidade.
  • Sistemas assíncronos: A maioria dos sistemas distribuídos é assíncrona, então trans = min + x (x >= 0), sendo min o tempo mínimo estimado.

Método de Cristian

  • Método de sincronização externa com UTC.
  • Assume tempos de ida e volta curtos.
  • Utiliza servidor de tempo UTC.
  • Desvantagens: Não é válido para redes congestionadas e possui um único
... Continue a ler "Sistemas Distribuídos: Sincronização e Exclusão Mútua" »

Guia de MongoDB, NoSQL e Desenvolvimento Mobile

Classificado em Computação

Escrito em em português com um tamanho de 6,71 KB

Gestures e Interação Mobile

O que são gestures?

São formas de interação comuns presentes em aplicativos móveis que se tornaram padrão ao longo da evolução tecnológica.

Programação Reativa e Observação

  • Observável: É o tipo de informação que fica “observando” alguma alteração nos dados. Diferencia-se de um Listener.
  • Listener: Mecanismo que realiza um aviso ou ação imediatamente após uma alteração no banco de dados.

Fundamentos do MongoDB

MongoDB: Este banco de dados foi projetado para armazenar e processar grandes volumes de dados distribuídos em diversas máquinas.

  • MONGOD: Representa o servidor do banco de dados.
  • MONGO: Representa o cliente (shell) de interação.
  • Vantagem: Alta capacidade de processamento de dados simultâneos.
... Continue a ler "Guia de MongoDB, NoSQL e Desenvolvimento Mobile" »

CORBA, RMI e DCOM: Tecnologias de Objetos Distribuídos

Classificado em Computação

Escrito em em português com um tamanho de 2,42 KB

CORBA (Common Object Request Broker Architecture)

Desenvolvido em 1990, o CORBA (Common Object Request Broker Architecture) habilita invocações de métodos em objetos distribuídos residentes em qualquer local de uma rede, como se fossem objetos locais.

Os serviços CORBA são descritos através de uma interface escrita em IDL (Interface Definition Language). Uma implementação de CORBA emprega os ORBs (Object Request Brokers), localizados tanto no cliente quanto no servidor, para criar e gerenciar comunicações cliente-servidor entre objetos.

RMI (Remote Method Invocation)

O Remote Method Invocation (RMI) foi projetado para suportar chamadas de métodos remotos entre máquinas virtuais Java (JVM).

Um objeto RMI é basicamente um objeto Java... Continue a ler "CORBA, RMI e DCOM: Tecnologias de Objetos Distribuídos" »

Métodos Ágeis, Gestão de Configuração e Testes de Software

Classificado em Computação

Escrito em em português com um tamanho de 35,33 KB

Métodos Ágeis

Insatisfação com as metodologias “pesadas” de desenvolvimento de software entre os anos 1960 e 1990 deram origem aos métodos ágeis. Estes métodos focam-se no código em vez do desenho e são baseados em abordagens iterativas. Têm como objetivo a entrega rápida de software e a evolução rápida para responder às alterações dos requisitos.

  • Objetivo das metodologias ágeis: Reduzir o peso do processo de desenvolvimento de software, diminuindo a documentação existente (respondendo rapidamente às alterações dos requisitos, evitando refazer muito trabalho).

Aplicação de Métodos Ágeis

Os métodos ágeis são adequados para:

  • Desenvolvimento de software de pequena a média escala.
  • Desenvolvimento de sistemas à medida,
... Continue a ler "Métodos Ágeis, Gestão de Configuração e Testes de Software" »

Protocolos de Roteamento: Distância Vetor e Link State

Classificado em Computação

Escrito em em português com um tamanho de 4,76 KB

Protocolo DISTANCIA VETOR

▪ Cada router envia uma lista de custos (distâncias) das rotas de si próprio para todos os nós vizinhos ▪ O algoritmo é responsável por determinar o próximo salto (next hop) para cada rede remota ▪ Cada nó mantém uma tabela de encaminhamento (Destino, Custo, Next Hop) ▪ Usa as distâncias (custo) comunicadas pelos seus vizinhos e os custos das ligações com cada uma delas ▪ Os vetores trocados entre nós são enviados periodicamente ou sempre que ocorrerem mudanças (Triggered Update)

Desvantagens ▪ Tempos de convergência elevados para novas configurações de rede ou alterações de topologia original ▪ Vantagens ▪ Fáceis de configurar ▪ Úteis para pequenas redes ▪ Pouco exigentes... Continue a ler "Protocolos de Roteamento: Distância Vetor e Link State" »

Fundamentos de Sistemas Operacionais: Processos, Deadlock e Threads

Classificado em Computação

Escrito em em português com um tamanho de 4,86 KB

Tabela de Processos: Necessidade e Aplicações

Por que a Tabela de Processos é Essencial em Sistemas de Tempo Compartilhado?

A Tabela de Processos é necessária para armazenar o estado de um processo que está com seu estado suspenso (pronto ou bloqueado). Sistemas modernos executam diversos processos simultaneamente, mesmo sem interação direta do usuário, como:

  • Atualização de antivírus;
  • Atualização de sistema operacional;
  • Serviços em segundo plano.

A Tabela de Processos é Necessária em Sistemas de Usuário Único (UNIX/Windows)?

Sim. Mesmo em sistemas com apenas um processo em execução, esta tabela é crucial. Ela é utilizada pelo mecanismo de interrupções para salvar o contexto do processo e tratá-las adequadamente. No Windows,... Continue a ler "Fundamentos de Sistemas Operacionais: Processos, Deadlock e Threads" »

Analisador Léxico — Funções, Conceitos e Tokens

Classificado em Computação

Escrito em em português com um tamanho de 2,8 KB

Analisador Léxico — Funções e Conceitos

Analisador léxico (AL): componente que lê os caracteres do programa-fonte e os agrupa em lexemas, produzindo como saída uma sequência de tokens. O fluxo de tokens é enviado ao analisador sintático (AS) para que a análise sintática seja efetuada.

Função principal

  • Ler os caracteres de entrada do programa-fonte e agrupá‑los em lexemas, produzindo uma sequência de tokens para cada lexema do programa.
  • Enviar o fluxo de tokens ao analisador sintático (AS) para a análise sintática.

Outras funções

  • Preencher a tabela de símbolos com os lexemas (quando o analisador identifica que o lexema é um identificador ou uma constante, por exemplo).
  • Remover espaços em branco e demais marcadores, além
... Continue a ler "Analisador Léxico — Funções, Conceitos e Tokens" »