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

Ordenar por
Matéria
Nível

Gestures em Aplicativos Móveis: Padrões de Interação

Classificado em Computação

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

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

Observável:

o Tipo de informação que fica “observando” alguma alteração dos dados. É diferente de um Listener.

Listener:

Após a alteração no banco, é feito um aviso.

MongoDB:

Esse banco foi projetado para armazenar e processar uma grande quantidade de dados distribuídos em diversas máquinas

MONDOD: Servidor

MONGO: Cliente

Vantagem: Grande processamento de dados simultâneos.

Códigos:

(Ainda não criou o BD) usedb unip ->(Collection) define o nome do banco, ao criar a coleção já cria o banco, quando executado pela primeira vez.

db.leonardo.insert ([{ _id: 1, nome: "Leonardo"}, { _id:2, nome: "Milena"}]) ->

Criando dois... Continue a ler "Gestures em Aplicativos Móveis: Padrões de Interação" »

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" »

Conceitos Essenciais de Processos e Threads

Classificado em Computação

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

2 - Indique a informação que faz parte de um processo, incluindo o PCB: A informação que existe num processo são os dados, o código e o PCB. O PCB é composto pelos estados, o program counter, o ID, os registos, os ficheiros, o Priben e o Tempherh, sendo estes últimos dois tipos de escalonamento.

3 - Compare, em termos de funcionamento, vantagens e desvantagens, threads de kernel versus threads de user level: As threads de kernel têm vantagem em relação às threads de user level porque as threads de user level são consideradas processos pelo sistema operativo. Assim, as threads de user level apenas podem correr em 1 CPU e não em N CPUs, e são bloqueantes. Ou seja, quando precisam de informação, supostamente o processo é obrigado... Continue a ler "Conceitos Essenciais de Processos e Threads" »

Compiladores e Autômatos de Pilha: Definição e Estrutura

Classificado em Computação

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

Definição de Compilador

  • Um compilador é um programa que recebe como entrada um programa em uma linguagem de programação e o traduz para um programa equivalente em outra linguagem.
  • Um papel importante do compilador é relatar quaisquer erros do programa-fonte durante o processo de tradução.

Estrutura de um Compilador

  1. Analisador Léxico (AL): Lê um fluxo de caracteres do programa-fonte e os agrupa em sequências significativas (lexemas).
  2. Analisador Sintático (AS): Utiliza os primeiros componentes dos tokens produzidos pelo analisador léxico para criar representações intermediárias em formato de árvore, que demonstram a estrutura gramatical da sequência de tokens.
  3. Analisador Semântico: Utiliza a árvore de sintaxe e as informações
... Continue a ler "Compiladores e Autômatos de Pilha: Definição e Estrutura" »

Análise Léxica: Erros, Buffers e Reconhecimento de Tokens

Classificado em Computação

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

Erros Léxicos

  • Acontecem quando nenhum dos padrões para tokens casa com nenhum prefixo da entrada restante.
  • Estratégia mais simples: o "Modo Pânico" de recuperação de erro.
  • Remover os caracteres seguintes da entrada restante, até que o analisador léxico possa encontrar um token bem formado no início da entrada restante.
  • Outras ações possíveis:
    • Remover um caractere da entrada restante.
    • Inserir um caractere que falta na entrada restante.
    • Substituir um caractere por outro.
    • Transpor dois caracteres adjacentes.
  • Para isso, é necessário verificar se um prefixo da entrada restante pode ser transformado em um lexema válido por uma única transformação.
  • Na prática, a maioria dos erros léxicos envolve um único caractere.

Buffers de Entrada

Em algumas... Continue a ler "Análise Léxica: Erros, Buffers e Reconhecimento de Tokens" »

Guia Completo de Gerenciamento de Projetos: Conceitos e Melhores Práticas

Classificado em Computação

Escrito em em português com um tamanho de 299,44 KB

Aula 1: Fundamentos do Gerenciamento de Projetos

Definição de Projeto: Um projeto é um esforço temporário, empreendido para criar um produto, serviço ou resultado único. Ele é caracterizado por ser incomum e extraordinário devido a restrições de recursos, ter um ciclo de vida com início e fim definidos, e visar a criação de algo novo. Os resultados podem incluir recomendações, novas estruturas, eleições, conformidade com regras e leis. A unicidade do projeto se manifesta no contexto, na equipe e no planejamento, incluindo contingências.

Exemplos de projetos ocorrem tanto na vida pessoal quanto nas organizações, sendo um modelo de gestão aplicável em entidades públicas, privadas e sociais.

Gerenciar um Projeto

Gerenciar um... Continue a ler "Guia Completo de Gerenciamento de Projetos: Conceitos e Melhores Práticas" »