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

Ordenar por
Matéria
Nível

Compiladores: fases, componentes e otimização

Classificado em Computação

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

Compiladores: visão geral

Definição

Compilador: programa que lê um programa escrito em uma linguagem (fonte) e o traduz para outra linguagem (destino), reportando erros quando eles ocorrem.

Fluxo de tradução

Programa fonte > tradutor > programa intermediário > máquina virtual > Saída
Sistema de processamento de uma linguagem > processador > programa fonte modificado > Compilador > Assembler > código objeto > link/loader > executável

Programas auxiliares do processo de compilação

Existem ferramentas que apoiam o processo de compilação, entre as quais se destacam:

Reprocessadores

  • Processam macros
  • Includes
  • Extensão de linguagens

Assemblers

Abstração da arquitetura da máquina de destino.

Carregadores (loaders)

... Continue a ler "Compiladores: fases, componentes e otimização" »

Guia Essencial de Comandos e Estrutura de Diretórios Linux

Classificado em Computação

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

Comandos Essenciais do Terminal Linux

  • echo $SHELL: Mostra qual o interpretador de comandos (Shell) que se está a utilizar.
  • echo $BASH_VERSION: Mostra a versão do Bash.
  • who: Mostra quem está logado no computador.
  • ls -la: Lista os ficheiros do diretório, inclusive aqueles que começam por um ponto final.
  • man: Manual do utilizador incluído no Linux e sistemas Unix.
  • info: Comando parecido ao man, mas com uma estrutura mais robusta para agregação de páginas, permitindo links e menus.
  • which: Localiza o caminho completo de comandos da Shell.
  • whereis: Localiza o binário, código-fonte e página de manual de um comando.
  • whatis: Procura na base de dados por pequenas descrições dos comandos de sistema.
  • ps -aFH: Mostra os processos a correr. O a indica
... Continue a ler "Guia Essencial de Comandos e Estrutura de Diretórios Linux" »

Guia Completo: Testes, Manutenção e Reengenharia de Software

Classificado em Computação

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

Introdução ao Teste de Software

  • Importância do Teste: O teste é fundamental para garantir a qualidade de um sistema e evitar surpresas desagradáveis.
  • Teste Operacional: Tem a finalidade de responder à seguinte pergunta: "Foi isso o que eu pedi?".

Tipos de Teste de Software

  • Teste de Unidade: Testa uma única unidade do sistema de maneira isolada, geralmente simulando as prováveis dependências que aquela unidade possui.
  • Teste de Integração: Testa a integração entre duas partes do seu sistema. Testes que garantem que suas classes se comunicam bem com serviços web, escrevem arquivos de texto ou mesmo enviam mensagens via socket são considerados testes de integração.
  • Teste de Caixa Branca: O analista tem acesso ao código-fonte, conhece
... Continue a ler "Guia Completo: Testes, Manutenção e Reengenharia de Software" »

Análise de Métricas Digitais e Estratégias de Crescimento

Classificado em Computação

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

Análise de Desempenho do Site

Bounce Rate: Taxa de rejeição, indica a porcentagem de visitantes que entram no site e saem sem interagir com o conteúdo. Quanto menor, melhor. Monitorar essa métrica ajuda a identificar problemas com a usabilidade do site, calls to action e relevância do conteúdo. Um bounce rate alto pode indicar que o destaque não é atrativo, o preço está alto ou o site não conduz o visitante ao objetivo desejado.

Fontes de Tráfego: É crucial entender de onde vem o tráfego do site:

  • Direct: Acessos diretos ao site, geralmente por meio de URLs digitadas ou favoritos.
  • Referrals: Sites que direcionam tráfego para o seu, incluindo links de parceiros, SEO e redes sociais.
  • Search: Tráfego proveniente de mecanismos de busca
... Continue a ler "Análise de Métricas Digitais e Estratégias de Crescimento" »

Guia de Modelos e Técnicas de Recuperação de Informação

Classificado em Computação

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

1. Paralelo entre os Modelos Booleano, Vetorial e Probabilístico

Modelo Booleano: O Modelo Booleano é um dos modelos básicos que considera uma consulta como uma expressão booleana convencional, que liga seus termos através de conectivos lógicos AND, OR e NOT.

Modelo Vetorial: No Modelo Vetorial, cada documento é representado como um vetor de termos e cada termo possui um valor associado que indica o grau de importância deste documento.

Modelo Probabilístico: O Modelo Probabilístico foi proposto em 1976 por Robertson e Sparck Jones, com o objetivo de capturar o problema de Recuperação de Informação (RI) usando um formalismo probabilístico.

2. Exercício de Indexação de Documentos

De acordo com os documentos abaixo, faça o que se... Continue a ler "Guia de Modelos e Técnicas de Recuperação de Informação" »

Guia Completo de Comandos DDL e Tipos de Dados no MySQL

Classificado em Computação

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

Introdução aos Metadados do MySQL

O MySQL possui um banco de dados que armazena informações sobre os databases, tables, etc., criados no próprio MySQL. A versão 5 ou superior do MySQL possui também outro banco de metadados chamado information_schema.

  • SHOW DATABASES: No MySQL, note que existe um banco de dados chamado mysql. Este é o metadados do MySQL!
  • USE MYSQL: Seleciona o banco de dados para executar comandos SQL sobre ele.
  • SHOW TABLES: Mostra as tabelas do banco selecionado (no caso, o mysql).
  • DESC: Mostra os atributos (campos) da tabela.

Comandos DDL (Data Definition Language)

DDL é a parte do SQL que permite a criação, alteração e exclusão de objetos de bancos de dados (tabelas, colunas, índices, visões, etc.).

Gerenciamento de

... Continue a ler "Guia Completo de Comandos DDL e Tipos de Dados no MySQL" »

Fundamentos de Software: Ciclo de Vida e Mitos

Classificado em Computação

Escrito em em português com um tamanho de 5,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 a ler "Fundamentos de Software: Ciclo de Vida e Mitos" »

Estruturas de Dados: Conceitos, TADs e Implementações

Classificado em Computação

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

Tipos de Dados e Abstratos

Tipo de Dado

Define o conjunto de valores que uma variável pode assumir e as operações sobre esses valores. Ex.: Int, Double, Char.

Tipo Abstrato de Dados (TAD)

Define o conjunto de valores e as operações sobre os valores, mas não define sua implementação. Ex.: Lista, Pilha, Fila e Árvore.

Exemplos de Tipos Abstratos de Dados (TADs)

  • Lista: Conjunto de itens interligados cujas operações de inserção e remoção podem ser feitas em qualquer parte da lista.
  • Pilha: Conjunto de itens interligados cujas operações de inserção e remoção só podem ser feitas no topo da pilha (LIFO - Last In, First Out).
  • Fila: Conjunto de itens interligados cuja operação de inserção é feita no final da fila e a operação de
... Continue a ler "Estruturas de Dados: Conceitos, TADs e Implementações" »

Conceitos Essenciais: Dados, Informação, Segurança e Indústria 4.0

Classificado em Computação

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

Dados: Para Laudon e Laudon (2004), dados são fatos brutos que representam eventos que estão ocorrendo nas organizações ou no ambiente físico antes de terem sido organizados e arranjados de uma forma que as pessoas possam entendê-los e usá-los.

Informação: É um conjunto de dados que sofrem algum tipo de processamento e passa a ser algo significativo para o ser humano na tomada de decisão.

Conhecimento: São os dados trabalhados e analisados.

Sistema: Conjunto de elementos que de alguma forma interagem entre si para cumprir um objetivo comum.

Sistema de Informação: Conjuntos de componentes que coletam e processam informações para ajudar na tomada de decisão e controle.

Processos Organizacionais: Maneira como as atitudes diárias das... Continue a ler "Conceitos Essenciais: Dados, Informação, Segurança e Indústria 4.0" »

Revisão Essencial: Conceitos de Sistemas Operacionais

Classificado em Computação

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

1. Um sistema operacional pode ser visto como um gerenciador de recursos?

(x) Certo ( ) Errado

2. Quais são os possíveis estados de um processo?

Novo, pronto, execução, terminado e em espera.

3. O que é uma troca de contexto?

É uma substituição de um processo que está em execução por um que aguarda no estado de pronto.

4. O que são threads e qual a diferença para um processo convencional?

Um fluxo de execução dentro de um processo. Cada thread tem um ID, um PC (Program Counter), um conjunto de registradores e variáveis locais.

5. Qual a diferença entre escalonamento preemptivo e não preemptivo?

  • Preemptivo: Pode ser interrompido (troca de contexto).
  • Não Preemptivo: Um processo, uma vez iniciado, executa até o fim.

6. Explique o que

... Continue a ler "Revisão Essencial: Conceitos de Sistemas Operacionais" »