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

Conceitos de Computação Digital e Arquitetura

Computação5,88 KB

O que é um Computador Digital?

Um computador digital é uma máquina que pode resolver problemas executando instruções fornecidas.

O que é um Programa?

Uma sequência de instruções que descreve como realizar uma tarefa.

O que é Linguagem de Máquina?

O conjunto de instruções com o qual as pessoas podem se comunicar com o computador.

Qual a diferença entre Interpretação e Compilação?

Na compilação, o programa é traduzido para linguagem de máquina antes da execução, gerando um arquivo executável. Na interpretação, a tradução ocorre linha por linha durante a execução.

Qual a diferença entre Assembly e Assembler?

Assembly é a linguagem de montagem. Assembler é o programa que traduz o código assembly para linguagem de máquina....

Continue lendo "Conceitos de Computação Digital e Arquitetura" »

Sistemas Distribuídos: Modelos, Arquiteturas e Tipos

Computação3,19 KB

Sistemas Síncronos e Assíncronos

Sistemas síncronos são sistemas ligados em que é definido o tempo de início e o tempo final de uma operação. Por exemplo, o tempo necessário para uma mensagem ser enviada ou recebida. A vantagem de se ter um sistema síncrono é que, além de saber os limites de tempo, isso tem como resposta uma maior precisão do sistema e menores gastos de consulta para saber se a solicitação foi recebida e executada.

Sistemas assíncronos são sistemas onde não há esse tempo de resposta definido. Por exemplo, se um usuário fizer uma solicitação ao serviço de internet, ele não tem previsão de quando receberá a resposta, como ocorre no acesso à internet e na resposta de um site.


O que é um Sistema Distribuído

...
Continue lendo "Sistemas Distribuídos: Modelos, Arquiteturas e Tipos" »

Guia Completo: JPA, EJB, Web Services e Java EE

Computação94,2 KB

JPA (Java Persistence API)

JPA é um framework leve baseado em POJOs (Plain Old Java Objects) para persistir objetos Java. Desenvolvido para a EJB 3.0, como parte da especificação JSR 220, mas não é limitado a EJB; JPA é a ESPECIFICAÇÃO.

Implementações: Hibernate, TopLink, EclipseLink

Imagem

Características do JPA

  • POJOs Persistentes
  • ORM feito por annotation e XML
  • Consulta em Objetos
  • Consultas simples

JPA 2.1 e JPQL

O JPA 2.1 incluiu um grande número de características que não estavam na primeira versão. Uma delas é a capacidade adicional de mapeamento: JPQL (Java Persistence Query Language), uma API para criação de consultas dinâmicas.

Componentes JPA

  • EntityManager: Centraliza a interação com o JPA.
  • Persistence Unit: Define uma unidade de
...
Continue lendo "Guia Completo: JPA, EJB, Web Services e Java EE" »

Guia Completo: O que é Java e como funciona a JVM

Computação3,16 KB

O que é um programa Java?

  • São classes escritas em arquivos de texto com extensão .java.

Como o computador entende o programa Java?

  • O arquivo .java é compilado, gerando um arquivo .class denominado bytecode.
  • Este .class é interpretado por uma Máquina Virtual Java (JVM), que traduz o código para instruções nativas do computador.

O que é um compilador?

  • Um programa que converte um código-fonte escrito em uma linguagem para outra, semanticamente e gramaticalmente equivalente.

O que é a Máquina Virtual Java (JVM)?

  • Programa responsável por converter os bytecodes em linguagem interpretada pelo SO. Seu objetivo é tornar a execução de programas Java independente da arquitetura da máquina, sendo necessária uma JVM específica para cada Sistema
...
Continue lendo "Guia Completo: O que é Java e como funciona a JVM" »

Padrões de Projeto — Resumo e Quando Usar

Computação4,14 KB

Resumo dos principais padrões de projeto (design patterns), com motivação, uso e exemplos práticos para facilitar a tomada de decisão na arquitetura de software.

Abstract Factory

Proporciona uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

Quando utilizar

  • O sistema deve ser configurado com uma de múltiplas famílias de produtos.
  • Estes produtos relacionados são projetados para ser utilizados juntos, e você quer garantir essa restrição.

Exemplo

Montar uma interface gráfica para vários sistemas operacionais; família de componentes gráficos:

  • Windows
  • Linux

Builder

Separa a construção de um objeto complexo da sua representação, permitindo diferentes tipos de representação...

Continue lendo "Padrões de Projeto — Resumo e Quando Usar" »

Conceitos Fundamentais de Banco de Dados e SQL

Computação4,3 KB

Funções e Papéis em Sistemas de Banco de Dados

Administrador de Banco de Dados (DBA)

O DBA é o administrador de um banco de dados. Sua principal função é assegurar que o banco de dados esteja sempre disponível, com rapidez e confiabilidade, conforme a necessidade do sistema.

Designer de Banco de Dados

Responsável por garantir que os dados persistentes sejam armazenados com consistência e eficiência. Define o comportamento que deve ser implementado no banco de dados.

Usuário Final

São as pessoas que acessam um banco de dados para realizar consultas, atualizações e gerar relatórios através de aplicações.

Analista de Sistemas

Determinam as necessidades dos usuários finais e implementam as aplicações correspondentes.

Programadores

...
Continue lendo "Conceitos Fundamentais de Banco de Dados e SQL" »

Cálculos Matemáticos Essenciais em C++: Exemplos Práticos

Computação5,72 KB

1. Cálculo da Área de um Retângulo em C++

Este exemplo demonstra como calcular a área de um retângulo, solicitando ao usuário as medidas dos lados (X e Y) e exibindo o resultado.

#include <iostream>

using namespace std;

int main() {
    int x, y;

    cout << "Insira a primeira medida (X): ";
    cin >> x;

    cout << "Insira a segunda medida (Y): ";
    cin >> y;

    int area;
    area = x * y;

    cout << "A área do retângulo é: " << area << "\n";

    return 0;
}

2. Cálculo da Área de uma Circunferência em C

Este programa em C calcula a área de uma circunferência a partir do raio fornecido pelo usuário. Atenção: A fórmula da área de uma circunferência é π * raio², e...

Continue lendo "Cálculos Matemáticos Essenciais em C++: Exemplos Práticos" »

Melhores Práticas em Desenvolvimento de Software

Computação5,83 KB

Organizacionais

  • Administração Geral

    • Gerências: Gerências da empresa - projetos, financeira, marketing e outros.
    • Infraestrutura: Rede, máquinas, espaço, banco de dados e outros.
    • Melhoria: Análise de processos, ferramentas e propostas de melhorias.
    • Treinamento ou RH: Foco no aperfeiçoamento contínuo dos colaboradores.
    • Gestão de Ativos: Patrimônio - visando reuso/lucro.
    • Programa de Reuso: Foco em refatoração e componentização de módulos de sistemas de modo a viabilizar o reuso entre módulos de projetos distintos no longo prazo.

Atividades Primárias

  • Aquisição (Proposta -> Análise): Capacidade de analisar as propostas dos terceiros.
  • Fornecimento (Proposta -> Elaboração): Competência para elaborar proposta.
  • Desenvolvimento:
...
Continue lendo "Melhores Práticas em Desenvolvimento de Software" »

Perguntas e Respostas sobre Camada de Transporte (TCP/UDP)

Computação4,44 KB

Perguntas e Respostas sobre a Camada de Transporte

Qual a função da camada de transporte?

R: Fornecer comunicação lógica entre processos que rodam em hospedeiros diferentes.

Descreva, resumidamente, a relação entre a camada de transporte e a camada de rede.

R:

  • Camada de Rede: Comunicação lógica entre os hospedeiros;
  • Camada de transporte: Comunicação lógica entre os processos que rodam em hospedeiros diferentes.

Descreva o funcionamento genérico da camada de transporte. Você não deve levar em conta o protocolo que está rodando.

R: Receber a mensagem da camada de aplicação, encapsulá-la em um segmento com as informações que o protocolo fornecer e entregar para a camada de rede.

Cite as principais características dos protocolos TCP

...
Continue lendo "Perguntas e Respostas sobre Camada de Transporte (TCP/UDP)" »

Fundamentos de Engenharia de Software e Orientação a Objetos

Computação3,54 KB

1.1. Desafios na Transformação de Requisitos em Software

Pergunta: Um dos maiores problemas para os desenvolvedores de software é conseguir transformar necessidades de gerenciamento de informação em soluções de software. Qual seria a explicação para este problema?

Resposta: Muitas vezes, é apresentada ao usuário a complexidade técnica do sistema, o que pode ser irrelevante para ele. Além disso, há a dificuldade em transformar uma ideia em software, visto que o analista muitas vezes não vivencia o dia a dia ou a realidade de quem solicita a solução.

1.2. Benefícios da Orientação a Objetos

Pergunta: Comente sobre alguns dos benefícios de se usar a orientação a objetos.

Resposta: Os principais benefícios incluem:

  • Decomposição:
...
Continue lendo "Fundamentos de Engenharia de Software e Orientação a Objetos" »