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

Linguagens e Ambientes de Programação

Computação3,09 KB

O que são instruções de pré-processador? Exemplifique.

As instruções de pré-processador são comumente usadas para especificar que o código de outro arquivo deve ser incluído. Um pré-processador é um programa que processa um programa imediatamente antes de ele ser compilado para expandir macros embutidas. Um exemplo conhecido é o pré-processador de C: ele expande #include, #define e macros similares.

Diferencie ambiente de programação/desenvolvimento de linguagem de programação. Exemplifique.

Ambiente de programação: Coleção de ferramentas usadas no desenvolvimento de software.

  • UNIX: Um ambiente de programação mais antigo; agora bastante usado por meio de uma interface gráfica com o usuário (GUI) que roda sobre o UNIX.
  • Microsoft
...
Continue lendo "Linguagens e Ambientes de Programação" »

História e Evolução dos Computadores: Do Ábaco ao Futuro

Computação9,44 KB

História do Computador

Como tudo começou?

A história da computação originou-se da necessidade de realizar cálculos numéricos complexos.

  • Ábaco (2000 a.C.): A primeira ferramenta de cálculo da humanidade.
  • Wilhelm Schickard (1592-1635): Inventou a primeira máquina no papel, que infelizmente sumiu durante a Guerra dos Trinta Anos.
  • Blaise Pascal (1642): Construiu a primeira máquina calculadora mecânica, composta por rodas e engrenagens dentadas, capaz de realizar soma e subtração.
  • Joseph Jacquard (1800): No contexto da Revolução Industrial, criou máquinas de tecelagem controladas por cartões perfurados; o sucesso da máquina quase lhe custou a vida devido à resistência dos trabalhadores.
  • Charles Babbage (1823): Projetou o Calculador
...
Continue lendo "História e Evolução dos Computadores: Do Ábaco ao Futuro" »

Questões sobre Protocolos de Rede e Middleware

Computação2,45 KB

SD_EX_06

1. Por que não unificar cabeçalhos de múltiplas camadas?

Em muitos protocolos de camadas, cada camada possui seu próprio cabeçalho. Embora pudesse ser mais eficiente ter um único cabeçalho contendo todos os controles à frente de cada mensagem, isso não é feito porque cada camada só consegue se comunicar com o cabeçalho de sua respectiva camada, dentro de seu próprio escopo e assunto.

2. Inadequação dos Serviços de Transporte para Aplicações Distribuídas

Serviços de comunicação de nível de transporte são frequentemente inadequados para construir aplicações distribuídas porque, ao utilizá-los diretamente, deixamos de lado a camada middleware. Isso resulta na perda de garantias essenciais, como segurança da informação...

Continue lendo "Questões sobre Protocolos de Rede e Middleware" »

Metodologias Ágeis: Scrum, Kanban e Pomodoro

Computação4,63 KB

O que é Scrum e onde surgiu?

Scrum é uma metodologia ágil utilizada para gerenciar o desenvolvimento de software. Surgiu na indústria automotiva.

O Scrum deve ser usado exclusivamente em gerenciamento de software?

Não, pois, assim como outras metodologias ágeis, serve para gerenciar diversos tipos de processos.

Quem é o Product Owner?

Literalmente, o dono do projeto, a pessoa que conhece todas as características desejadas no produto final. Sua responsabilidade é passar essas informações para a equipe.

O que é o Product Backlog?

A lista total de funcionalidades de um produto, é criada pelo Product Owner. Nessa lista constam todas as *features* necessárias para satisfazer as necessidades do cliente.

Diferencie Porcos de Galinhas:

Os porcos

...
Continue lendo "Metodologias Ágeis: Scrum, Kanban e Pomodoro" »

Guia Completo: Hardware, Software e Sistemas Computacionais

Computação7,19 KB

Sequência de Pré-Boot e Inicialização do Sistema

Após ligar o computador, o BIOS (Basic Input/Output System) executa uma série de testes de hardware e detecção de dispositivos Plug and Play, conhecida como POST (Power-On Self-Test).

Ao concluir esses testes, o BIOS procura pelo sistema operacional, realiza um último teste e, então, inicializa o computador.

Fatores que Afetam a Velocidade de Acesso ao Disco Rígido

A velocidade de acesso às informações armazenadas no disco rígido é influenciada por diversos fatores, incluindo:

  • Velocidade de rotação do disco magnético;
  • Velocidade de deslocamento da cabeça de leitura;
  • Número de setores por trilha.

Sinal de Refresh na Memória RAM

O sinal de refresh é crucial para a memória RAM. Sem...

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

Configuração Básica do Asterisk: Perguntas e Respostas

Computação3,26 KB

Configuração de Ramal SIP no Asterisk

Informações básicas necessárias:

  • Número do ramal do usuário
  • Nome de exibição
  • Senha para conexão

Configuração de Tronco no Asterisk

Informações básicas necessárias:

Parâmetros de Saída:
  • Nome do Tronco
  • Host
  • Username (Exemplo: IAX2)
  • Password
Configurações de Entrada:
  • Contexto do usuário (Exemplo: IAX21)
  • Password

Configuração de Rota no Asterisk

Informações básicas necessárias:

  • Nome da rota
  • Regras de discagem
  • Sequência dos troncos

Protocolos de Tronco no Asterisk

Exemplos de protocolos que podem ser utilizados:

  • ZAP
  • IAX2
  • SIP
  • ENUM
  • DUNDI

Planos de Discagem (Dial Plans)

São as configurações que definem como as chamadas são roteadas, permitindo que usuários realizem ligações entre si e para destinos externos...

Continue lendo "Configuração Básica do Asterisk: Perguntas e Respostas" »

Software Livre e Linux: Guia de Vantagens e Conceitos

Computação4,47 KB

O que é Software Livre?

O termo "Software Livre" se refere à liberdade dos usuários de executarem, copiarem, distribuírem, estudarem, modificarem e aperfeiçoarem o software. Mais precisamente, ele se refere a quatro liberdades fundamentais para os usuários:

GNU General Public License

  • Liberdade nº 0: A liberdade de executar o programa para qualquer propósito.
  • Liberdade nº 1: A liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades. O acesso ao código-fonte é um pré-requisito para esta liberdade.
  • Liberdade nº 2: A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo.
  • Liberdade nº 3: A liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade
...
Continue lendo "Software Livre e Linux: Guia de Vantagens e Conceitos" »

Guia de Testes de Aplicações Web: Funcionais e Não Funcionais

Computação2,6 KB

Principais diferenças entre testes de aplicações convencionais vs. aplicações web

  • Interface dinâmica: personalização e páginas diferentes a cada chamada.
  • Ambiente de funcionamento interativo: browser, scripts, proxy-servers, BD, etc.
  • Usuários heterogêneos: sem conhecimentos prévios e comportamento desconhecido.

Dois grandes grupos de testes

Testes não funcionais: testes não relacionados com a funcionalidade da aplicação (desempenho, usabilidade e segurança).

Testes funcionais: diretamente ligados à funcionalidade da aplicação; testam se todas as ações estão sendo executadas corretamente e se o tratamento de erros está sendo feito.

Testes não funcionais

Testes de desempenho: verificam certos parâmetros de desempenho do sistema...

Continue lendo "Guia de Testes de Aplicações Web: Funcionais e Não Funcionais" »

Modelos de Maturidade de Teste de Software

Computação6,24 KB

Modelo de Maturidade de Teste: Test Improvement Model (TIM)

Objetivos:

  • Identificação do estado atual do processo de testes
  • Guia para implementação de pontos fortes

Baseado em 4 níveis de maturidade:

  • Baselining
    • Padronização dos documentos, métodos e políticas
    • Análise e classificação dos problemas
  • Cost Effectiveness
    • Detecção de bugs desde o início do projeto
    • Automação de tarefas de testes
    • Treinamento
    • Reuso
  • Risk-Lowering
    • Envolvimento desde o início do projeto
    • Análise de custo x benefício para justificar os gastos
    • Análise de problemas nos produtos e processos
    • Métricas de produtos, processos e recursos
    • Análise e gerenciamento de riscos
    • Comunicação com todas as partes envolvidas nos projetos
  • Optimizing
    • Conhecimento e entendimento da parte de
...
Continue lendo "Modelos de Maturidade de Teste de Software" »

Estrutura e Protocolos de Camada de Enlace de Dados

Computação4,78 KB

Estrutura e Premissas do Modelo de Estação

1. Modelo da Estação. O modelo consiste em N estações independentes (computadores, telefones, comunicadores pessoais, etc.), cada qual com um programa ou usuário que gera quadros para transmissão.

2. Premissa de Canal Único. Um único canal está disponível para todas as comunicações. Todas as estações podem transmitir e receber por ele.

3. Premissa de Colisão. Se dois quadros são transmitidos simultaneamente, eles se sobrepõem no tempo, e o sinal resultante é adulterado. Esse evento é denominado colisão. Todas as estações podem detectar colisões.

  • 4a. Tempo Contínuo. A transmissão por quadro pode começar a qualquer instante. Não há um relógio-mestre dividindo o tempo em intervalos
...
Continue lendo "Estrutura e Protocolos de Camada de Enlace de Dados" »