Sumário do Curso
Guia de Redes de Computadores e Internet 🌐
Capacite-se para compreender e operar protocolos de redes e Internet, analisar comunicações HTTP, utilizar ferramentas de diagnóstico e configurar serviços básicos de rede.
Objetivo Geral
Capacitar o aluno a compreender e operar protocolos de redes e Internet, analisar comunicações HTTP, utilizar ferramentas de diagnóstico e configurar serviços básicos de rede, com postura ética e foco na resolução de problemas reais.
🎯 O Que Você Vai Aprender
-
Fundamentos de Redes --- Conceitos básicos, tipos de redes (LAN, WAN), modelo cliente/servidor e meios de transmissão física. Ir para Módulo 1
-
Protocolos de Comunicação --- Domine o Modelo TCP/IP, endereçamento IP (v4/v6), DNS, FTP, SSH e o uso de Proxies. Ver Protocolos
-
Diagnóstico e Análise --- Utilize ferramentas de linha de comando (ping, tracert) e realize análise de tráfego profissional com Wireshark. Ver Diagnóstico
-
World Wide Web e HTTP --- Mergulhe no funcionamento da Web, estrutura do protocolo HTTP, códigos de status, sessões e segurança (HTTPS/SSL). Ver Laboratório
📚 Jornada de Aprendizado (16 Aulas)
O curso é estruturado em cinco módulos progressivos.
🔌 Módulo 1: Fundamentos de Redes (Aulas 01-04)
- Aula 01 - Introdução às Redes de Computadores 🏠
- Aula 02 - Meios de Transmissão e Endereçamento Físico ⚡
- Aula 03 - Modelo TCP/IP 🧬
- Aula 04 - Endereçamento IP 📍
📡 Módulo 2: Protocolos de Comunicação (Aulas 05-08)
- Aula 05 - TCP, UDP e Portas 🚪
- Aula 06 - DNS e Resolução de Nomes 📝
- Aula 07 - FTP e SSH 🔑
- Aula 08 - Proxy e Proxy Reverso 🔄
🛠️ Módulo 3: Ferramentas de Diagnóstico (Aulas 09-10)
🌐 Módulo 4: World Wide Web e HTTP (Aulas 11-14)
- Aula 11 - Funcionamento da Web 🕸️
- Aula 12 - Estrutura do Protocolo HTTP 📑
- Aula 13 - Códigos de Status e Sessões 🔢
- Aula 14 - HTTPS, SSL e TLS 🔒
🔬 Módulo 5: Laboratório HTTP (Aulas 15-16)
Plano de Ensino 🧭
Curso: Redes e Internet
Público-alvo: Estudantes de ADS, Ciência da Computação e Desenvolvedores de Software
Carga Horária: 20 Aulas (80 Horas Teórico-Práticas)
🎯 1. Objetivos do Curso
- Compreender os fundamentos conceituais e arquiteturais de Redes e Internet.
- Aplicar padrões de projeto, sintaxe moderna e boas práticas da indústria.
- Desenvolver soluções completas através de exercícios práticos e desafios de projeto.
📚 2. Cronograma de Aulas (Matriz de 20 Semanas)
| Aula | Tema Central | Atividades e Entregas |
|---|---|---|
| 01 | Introdução às Redes de Computadores | Teoria, Prática Guiada, Quiz e Exercícios |
| 02 | Meios de Transmissão e Endereçamento Físico | Teoria, Prática Guiada, Quiz e Exercícios |
| 03 | Modelo TCP/IP | Teoria, Prática Guiada, Quiz e Exercícios |
| 04 | Endereçamento IP | Teoria, Prática Guiada, Quiz e Exercícios |
| 05 | TCP, UDP e Portas | Teoria, Prática Guiada, Quiz e Exercícios |
| 06 | DNS e Resolução de Nomes | Teoria, Prática Guiada, Quiz e Exercícios |
| 07 | FTP e SSH | Teoria, Prática Guiada, Quiz e Exercícios |
| 08 | Proxy e Proxy Reverso | Teoria, Prática Guiada, Quiz e Exercícios |
| 09 | Ferramentas de Comando ️ | Teoria, Prática Guiada, Quiz e Exercícios |
| 10 | Análise com Wireshark | Teoria, Prática Guiada, Quiz e Exercícios |
| 11 | Funcionamento da Web | Teoria, Prática Guiada, Quiz e Exercícios |
| 12 | Estrutura do HTTP ️ | Teoria, Prática Guiada, Quiz e Exercícios |
| 13 | Status e Sessões | Teoria, Prática Guiada, Quiz e Exercícios |
| 14 | HTTPS e SSL/TLS | Teoria, Prática Guiada, Quiz e Exercícios |
| 15 | Laboratório: Servidor HTTP ️ | Teoria, Prática Guiada, Quiz e Exercícios |
| 16 | Clientes HTTP e APIs | Teoria, Prática Guiada, Quiz e Exercícios |
| 17 | Arquitetura de Roteamento e Subredes CIDR | Teoria, Prática Guiada, Quiz e Exercícios |
| 18 | Protocolos de Transporte Avançados (TCP vs UDP QUIC) | Teoria, Prática Guiada, Quiz e Exercícios |
| 19 | Segurança na Camada de Transporte (TLS/SSL Handshake) | Teoria, Prática Guiada, Quiz e Exercícios |
| 20 | Projeto Capstone: Análise e Simulação de Tráfego de Rede | Teoria, Prática Guiada, Quiz e Exercícios |
🧠 3. Metodologia de Ensino
- Teoria Fundamentada: Aulas com conceitos detalhados, diagramas arquiteturais e sintaxe de referência.
- Ciclo Teoria ⇄ Prática: Cada aula conta com Quiz Interativo (10 questões) para validação imediata, Lista de Exercícios Sanfonados (com Gabarito Explicado) e Desafio de Projeto Prático.
- Laboratório Contínuo: Ambientes configurados passo a passo na seção de Setups da plataforma.
💼 4. Competências e Perfil Desenvolvido
- Dominar as ferramentas e fluxos de desenvolvimento de Redes e Internet.
- Resolver problemas técnicos de alta complexidade com código limpo e performático.
- Construir portfólio prático com 20 projetos aplicados.
📊 5. Critérios de Avaliação
- 20 Listas de Exercícios: Resolução individual dividida em Básico, Intermediário e Desafio.
- 20 Quizzes Interativos: Validação formativa com feedback imediato via JavaScript.
- 20 Desafios de Projetos: Aplicações práticas consolidando o aprendizado de cada unidade.
Aulas
Aula 01 - Introdução às Redes de Computadores 🏠
Objetivo
Objetivo: Compreender o que são redes de computadores, a estrutura da Internet, os diferentes tipos de redes geográficas e o funcionamento fundamental do modelo cliente/servidor.
1. O que é uma Rede de Computadores? 🌐
Uma rede de computadores é um conjunto de dispositivos interconectados que trocam dados e compartilham recursos entre si. Esses dispositivos utilizam um sistema de regras, chamados de protocolos, para transmitir informações através de tecnologias físicas ou sem fio.
Por que as redes existem?
- Compartilhamento de Recursos: Impressoras, arquivos, internet.
- Comunicação: E-mail, mensagens instantâneas, videochamadas.
- Armazenamento: Bancos de dados, servidores de arquivos.
- Processamento: Sistemas distribuídos e computação em nuvem.
2. O que é a Internet? 🌍
A Internet não é uma "coisa" única, mas sim uma "Rede de Redes". É o resultado da conexão global de milhões de redes privadas, públicas, acadêmicas e governamentais.
Note
Enquanto a Internet é a infraestrutura física e os protocolos (a rodovia), a Web (WWW) é um serviço que roda sobre ela (os carros).
3. Classificação quanto à Abrangência (Escala) 📏
As redes são classificadas dependendo da distância que cobrem:
| Sigla | Nome Completo | Abrangência | Exemplo |
|---|---|---|---|
| LAN | Local Area Network | Pequena (Casa, Escritório) | Sua rede Wi-Fi doméstica |
| MAN | Metropolitan Area Network | Média (Cidade, Campus) | Rede de fibra de uma prefeitura |
| WAN | Wide Area Network | Grande (Países, Continentes) | A própria Internet |
| PAN | Personal Area Network | Individual (Espaço pessoal) | Bluetooth entre celular e fone |
4. O Modelo Cliente/Servidor 🤝
Este é o paradigma fundamental de quase toda a comunicação na rede.
graph LR
Client["💻 Cliente (Seu PC/Celular)"] -- "Requisição (Request)" --> Server["🖥️ Servidor (Google/Netflix)"]
Server -- "Resposta (Response)" --> Client
- Cliente: O dispositivo que solicita um serviço ou dado (ex: seu navegador pedindo um site).
- Servidor: A máquina potente que fica aguardando pedidos para entregar os recursos solicitados.
5. Visualizando a Rede Local (Termynal) 💻
Como podemos ver o nome e o IP da nossa própria máquina na rede?
$ hostname
MeuComputador-PC
$ ipconfig
Configuração de IP do Windows
Adaptador Ethernet:
Endereço IPv4. . . . . . . . : 192.168.1.15
Máscara de Sub-rede . . . . . : 255.255.255.0
Gateway Padrão. . . . . . . . : 192.168.1.1
🚀 Atividade Prática: Identificar Dispositivos
- Abra o terminal (CMD ou PowerShell).
- Digite
ipconfige identifique seu endereço IP local. - Olhe ao seu redor e liste 3 dispositivos que estão na mesma rede (ex: Smart TV, Celular, Impressora).
🧠 Exercícios de Fixação
- Diferencie uma rede LAN de uma WAN.
- No modelo cliente/servidor, quem inicia a comunicação?
- Verdadeiro ou Falso: A Internet e a World Wide Web são exatamente a mesma coisa. Justifique.
Próxima Aula: Vamos entender como os dados viajam fisicamente em Meios de Transmissão e Endereçamento Físico! ⚡
Aula 02 - Meios de Transmissão e Endereçamento Físico ⚡
Objetivo
Objetivo: Entender como os bits viajam fisicamente pelos cabos e pelo ar, diferenciar as tecnologias de transmissão e aprender a identificar o endereço físico (MAC) de uma placa de rede.
1. Meios Guiados (Cabos) 🔌
Os meios guiados utilizam condutores físicos para transportar os sinais.
- Cabo de Par Trançado (UTP): O cabo "azul" padrão. Utiliza pulsos elétricos.
- Categorias: Cat5e (1 Gbps), Cat6 (10 Gbps).
- Conector: RJ-45.
- Fibra Óptica: Utiliza pulsos de luz.
- Vantagens: Altíssima velocidade, imunidade a interferências eletromagnéticas, longas distâncias.
- Cabo Coaxial: Antigamente usado em redes, hoje comum em TVs a cabo e internet banda larga legada.
2. Meios Não Guiados (Sem Fio) 📶
Utilizam ondas eletromagnéticas para transmitir dados pelo ar.
- Wi-Fi (IEEE 802.11): A rede local sem fio.
- Frequências: 2.4 GHz (maior alcance, menor velocidade) e 5 GHz (menor alcance, maior velocidade).
- Bluetooth: Projetado para redes pessoais (PAN).
- Satélite e Micro-ondas: Usados para conexões de longa distância ou áreas remotas.
3. A Placa de Rede (NIC) 💳
A Network Interface Card é o hardware que conecta o computador ao meio de transmissão. Ela converte os dados do computador em sinais que o cabo ou a antena podem entender.
Important
Todo computador pode ter múltiplas placas de rede (uma Ethernet e uma Wi-Fi, por exemplo).
4. Endereço MAC: O Nome da Fábrica 🏷️
O Media Access Control (MAC) é o endereço físico único gravado na placa de rede durante a fabricação.
- Formato: 48 bits, representados por 12 dígitos hexadecimais (ex:
00:1A:2B:3C:4D:5E). - Diferença fundamental:
- IP: Endereço lógico (muda conforme a rede).
- MAC: Endereço físico (nunca muda para aquela placa).
5. Praticando no Terminal 💻
Vamos descobrir o "RG" do seu hardware:
$ getmac
Endereço Físico Nome de Transporte
================== ==========================================================
D8-F2-CA-81-00-55 \Device\Tcpip_{...}
$ ipconfig /all
Adaptador Ethernet Ethernet:
Descrição . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller
Endereço Físico . . . . . . . . . . : D8-F2-CA-81-00-55
🚀 Atividade Prática: Auditoria de Hardware
- Use o comando
getmace anote o endereço físico da sua placa ativa. - Use o comando
ipconfig /allpara identificar o fabricante da sua placa de rede (descrição). - Tente identificar se o seu cabo de rede (se estiver usando um) possui alguma categoria escrita nele (Ex: CAT 5e).
🧠 Exercícios de Fixação
- Por que a fibra óptica é superior ao cabo UTP em ambientes industriais com muitos motores elétricos?
- É possível que dois computadores no mundo tenham o mesmo endereço MAC? Justifique.
- Qual a principal diferença entre as frequências de Wi-fi 2.4GHz e 5GHz?
Próxima Aula: Vamos subir de nível e entender as camadas do Modelo TCP/IP! 🧬
Aula 03 - Modelo TCP/IP 🧬
Objetivo
Objetivo: Compreender a arquitetura em camadas que faz a Internet funcionar, entender o processo de encapsulamento de dados e comparar os modelos TCP/IP e OSI.
1. Por que usar Camadas? 🧱
Imagine enviar uma carta. Você não precisa saber como o caminhão dos correios funciona, apenas como colocar a carta no envelope e escrever o endereço. As redes funcionam da mesma forma: cada camada resolve um problema específico e "serve" a camada superior.
Vantagens:
- Independência: Você pode trocar o Wi-Fi por Ethernet (Camada Física) sem precisar mudar o seu navegador (Camada de Aplicação).
- Padronização: Facilita a comunicação entre dispositivos de fabricantes diferentes.
2. As 4 Camadas do Modelo TCP/IP 🗺️
O modelo TCP/IP é a base real da Internet:
graph TD
A[Aplicação: HTTP, DNS, FTP] --> B[Transporte: TCP, UDP]
B --> C[Internet: IP, ICMP]
C --> D[Acesso à Rede: Ethernet, Wi-Fi]
- Aplicação: Onde os programas residem (Navegador, E-mail).
- Transporte: Garante que os dados cheguem corretamente (entrega de pacotes).
- Internet: Responsável pelo endereçamento e roteamento (como chegar ao destino).
- Acesso à Rede: A parte física e os drivers (cabos, rádio).
3. TCP/IP vs Modelo OSI ⚖️
Enquanto o TCP/IP é o que usamos na prática, o Modelo OSI (7 camadas) é usado como referência teórica.
| TCP/IP | OSI | Funções |
|---|---|---|
| Aplicação | Aplicação, Apresentação, Sessão | Interface usuário, criptografia e controle de diálogo. |
| Transporte | Transporte | Comunicação fim-a-fim, correção de erros. |
| Internet | Rede | Endereçamento lógico (IP) e rotas. |
| Acesso à Rede | Enlace, Física | Endereço MAC, cabos, sinais elétricos. |
4. Encapsulamento: O Sistema de Envelopes 📨
Quando você envia um dado, ele desce as camadas recebendo "cabeçalhos" (informações de controle).
[!CONCEPT] PDU (Protocol Data Unit): O nome do dado em cada camada: * Aplicação: Dado * Transporte: Segmento (TCP) ou Datagrama (UDP) * Internet: Pacote * Acesso à Rede: Quadro (Frame)
5. Simulação Visual (Analógica) 🕵️
Imagine enviar uma foto pelo WhatsApp: 1. Aplicação: Você clica em "Enviar". 2. Transporte: O App quebra a foto em pedaços e numera cada um. 3. Internet: Coloca o endereço IP de destino em cada pedaço. 4. Acesso: Converte tudo em sinal de rádio (Wi-Fi). 5. Destino: O processo se inverte (Desencapsulamento).
🚀 Atividade Prática: Rastreando o Caminho
No seu terminal, digite:
Observe quantos "pulos" (roteadores) seus dados dão na camada de Internet até chegar ao destino.🧠 Exercícios de Fixação
- Qual camada do TCP/IP é responsável por definir o caminho (rota) que um pacote deve seguir?
- Explique o que acontece no processo de Desencapsulamento.
- Por que o Modelo OSI é chamado de "modelo de referência" se não o usamos diretamente na Internet?
Próxima Aula: Vamos mergulhar no mundo do Endereçamento IP! 📍
Aula 04 - Endereçamento IP 📍
Objetivo
Objetivo: Compreender a lógica do endereçamento IP, diferenciar endereços públicos de privados, entender o papel da máscara de sub-rede e a necessidade do IPv6 e do NAT.
1. O que é o Endereço IP? 🗺️
O IP (Internet Protocol) é o endereço lógico de um dispositivo na rede. Pense nele como o "número da casa" no sistema postal da Internet.
IPv4 vs IPv6
| Característica | IPv4 | IPv6 |
|---|---|---|
| Formato | 32 bits (Decimal) | 128 bits (Hexadecimal) |
| Exemplo | 192.168.1.1 |
2001:0db8:85a3:0000:0000:8a2e:0370:7334 |
| Capacidade | ~4.3 bilhões | Praticamente infinito |
| Status | Esgotado | Padrão atual/futuro |
2. Endereço Público vs Privado 🏠🏢
- Público: Único em toda a Internet. Identifica sua rede para o mundo.
- Privado: Usado apenas dentro da sua LAN (casa/empresa).
- Faixas comuns:
192.168.x.x,10.x.x.x,172.16.x.x.
- Faixas comuns:
[!CONCEPT] NAT (Network Address Translation): É a técnica que permite que todos os seus dispositivos (celular, PC, TV) usem um único IP Público para sair para a Internet. O roteador faz essa tradução.
3. Máscara de Sub-rede e Gateway 🎭
Para o computador saber quem está "dentro" ou "fora" da sua rede, ele usa dois conceitos:
- Máscara de Sub-rede: Define qual parte do IP é a "Rede" e qual é o "Host" (dispositivo).
- Exemplo:
255.255.255.0(Significa que os 3 primeiros números do IP definem a rede).
- Exemplo:
- Gateway Padrão: É o endereço do seu roteador. Para onde o computador envia os dados que não são da rede local.
4. Praticando no Terminal 💻
Vamos ver as ferramentas de controle de IP:
$ ipconfig
# Mostra seu IP Privado, Máscara e Gateway
$ route print
# Mostra a tabela de roteamento (quem é o gateway)
$ arp -a
# Mostra a correspondência entre IPs e endereços MAC na sua rede local
🚀 Atividade Prática: O detetive de IP
- Use o site meuip.com.br para descobrir seu IP Público.
- Use o comando
ipconfigpara descobrir seu IP Privado. - Compare: por que eles são diferentes?
- Execute
arp -ae veja se consegue identificar o IP do seu celular na lista.
🧠 Exercícios de Fixação
- Por que foi necessário criar o IPv6 se já existia o IPv4?
- Qual a função do NAT em um roteador doméstico?
- Se um computador tem o IP
192.168.0.50e a máscara255.255.255.0, ele está na mesma rede que um computador com IP192.168.1.50? Justifique.
Próxima Aula: Entramos no [Módulo 2] para falar sobre TCP, UDP e Portas! 🚪
Aula 05 - TCP, UDP e Portas 🚪
Objetivo
Objetivo: Compreender o funcionamento da Camada de Transporte, diferenciar os protocolos TCP e UDP e entender como as portas lógicas permitem que múltiplos aplicativos usem a rede simultaneamente.
1. A Camada de Transporte 🚂
Se a camada de Internet (IP) é o GPS que leva o pacote até o prédio, a camada de Transporte é o elevador que entrega o pacote no apartamento (aplicativo) correto.
Principais funções:
- Segmentação dos dados.
- Controle de fluxo.
- Correção de erros (no caso do TCP).
- Multiplexação (uso de portas).
2. TCP vs UDP: O Duelo de Protocolos ⚖️
Existem dois "garçons" principais na camada de transporte:
| Característica | TCP (Transmission Control Protocol) | UDP (User Datagram Protocol) |
|---|---|---|
| Confiabilidade | Alta (Garante a entrega) | Baixa (Não garante entrega) |
| Velocidade | Menor (devido ao controle) | Altíssima (sem burocracia) |
| Conexão | Orientado à conexão (Handshake) | Sem conexão (Best effort) |
| Exemplos | Web (HTTP), E-mail, Arquivos | Vídeo ao vivo, Jogos, VoIP |
3. O Conceito de Portas Lógicas 📍
Como o computador sabe se um pacote que chegou é para o navegador ou para o Spotify? Através das Portas.
- Faixa de Portas: De 0 a 65.535.
- Portas Bem Conhecidas (Well-Known): 0 a 1023.
- 80: HTTP (Web)
- 443: HTTPS (Web Segura)
- 21: FTP (Arquivos)
- 22: SSH (Acesso Remoto)
4. O que é um Socket? 🔌
Um Socket é a combinação de um Endereço IP + um Protocolo + um Número de Porta.
Exemplo:
192.168.1.15:443 (TCP)
É através do socket que uma aplicação se "pluga" na rede para enviar e receber dados.
5. Praticando no Terminal 💻
Vamos ver quais "portas" seu computador está usando agora:
$ netstat -an
# Mostra todas as conexões e portas abertas
$ netstat -b
# (Requer Admin) Mostra qual executável (.exe) está usando cada porta
🚀 Atividade Prática: Auditoria de Conexões
- Abra o navegador e acesse alguns sites.
- No terminal, execute
netstat -n. - Tente localizar conexões na porta 443 (HTTPS).
- O que acontece com a lista se você fechar o navegador?
🧠 Exercícios de Fixação
- Por que usamos UDP em jogos online em vez de TCP?
- Explique o processo de Three-Way Handshake do TCP (Dica: Oi, Tudo bem?, Tudo ótimo!).
- Se um servidor web está rodando na porta padrão, qual porta ele está escutando?
Próxima Aula: Como lembramos nomes em vez de números IP? DNS e Resolução de Nomes! 📝
Aula 06 - DNS e Resolução de Nomes 📝
Objetivo
Objetivo: Entender o funcionamento do sistema de nomes da Internet, a hierarquia dos servidores DNS e aprender a diagnosticar problemas de resolução de nomes.
1. O que é DNS? 📞
DNS (Domain Name System) é a "lista de contatos" da Internet. Como humanos preferem nomes (google.com) e máquinas preferem números (142.250.218.78), o DNS faz a tradução automática.
2. A Hierarquia do DNS 🏗️
A resolução de nomes não acontece em um único lugar. É um processo hierárquico:
- Resolvedor (Resolver): Seu computador pergunta ao DNS da operadora (ou Google
8.8.8.8). - Root Servers (.): Conhecem quem gerencia os finais como
.com,.br. - TLD Servers (.com/.br): Conhecem os domínios registrados (ex:
google.com). - Authoritative Server: O servidor final que tem o endereço IP real do site.
3. Fluxo de uma Consulta DNS 🔄
sequenceDiagram
participant PC as Seu Computador
participant DNS as Servidor DNS
PC->>DNS: Qual o IP de google.com?
DNS->>PC: O IP é 142.250.218.78
PC->>PC: Conecta no IP via HTTP
4. Tipos de Registros DNS 📑
Existem diferentes "fichas" na lista de contatos: * A: Mapeia um nome para um endereço IPv4. * AAAA: Mapeia um nome para um endereço IPv6. * CNAME: Um apelido para outro nome (alias). * MX: Define os servidores de E-mail do domínio.
5. Praticando no Terminal 💻
Vamos interrogar a lista de contatos:
$ nslookup google.com
# Retorna o IP do Google
$ nslookup -type=mx gmail.com
# Descobre quem recebe os e-mails do Gmail
$ ipconfig /flushdns
# Limpa o cache de nomes do seu computador (útil quando um site não abre)
🚀 Atividade Prática: Detetive de Nomes
- Use o
nslookuppara descobrir o IP de um site de sua preferência. - Tente acessar esse site no navegador digitando apenas o IP retornado (Ex:
http://142.250.218.78/). - Verifique se o site abre ou se ele dá erro (alguns sites bloqueiam acesso direto via IP por segurança).
🧠 Exercícios de Fixação
- Explique a diferença entre uma consulta Recursiva e uma Iterativa no DNS.
- O que acontece se o servidor DNS da sua operadora ficar fora do ar? Você ainda consegue navegar digitando IPs?
- Por que dizemos que o DNS é uma base de dados Distribuída?
Próxima Aula: Como transferir arquivos e acessar máquinas remotas com FTP e SSH! 🔑
Aula 07 - FTP e SSH 🔑
Objetivo
Objetivo: Conhecer as ferramentas clássicas de gerenciamento de Servidores: como enviar arquivos de forma estruturada (FTP) e como controlar uma máquina à distância via linha de comando de forma segura (SSH).
1. FTP: File Transfer Protocol 📁
O FTP é o protocolo padrão para transferência de arquivos em rede. Ele funciona via cliente/servidor e utiliza as portas 20 (dados) e 21 (controle).
- SFTP: Uma versão segura do FTP que roda sobre o protocolo SSH (criptografado).
- Clientes comuns: FileZilla, WinSCP.
Warning
O FTP tradicional envia sua senha em "texto puro". Se alguém interceptar o tráfego, poderá ler sua senha facilmente. Por isso, prefira sempre SFTP.
2. SSH: Secure Shell 🛡️
O SSH é a ferramenta de ouro para administradores de rede. Ele permite abrir um terminal em um servidor remoto como se você estivesse sentado na frente dele.
- Porta padrão: 22.
- Segurança: Toda a comunicação é fortemente criptografada.
- Autenticação: Pode ser via senha ou via chaves criptográficas (mais seguro).
3. Comandos Básicos SSH ⌨️
Se você tiver um servidor (ex: Linux na nuvem), você se conecta assim:
$ ssh usuario@ip-do-servidor
# Exemplo: ssh root@157.240.1.1
$ scp arquivo.txt usuario@servidor:/pasta/destino
# Envia um arquivo via SSH de forma segura
4. O Cenário de Uso 🏗️
graph LR
Dev["💻 Desenvolvedor (Local)"] -- "SSH (Comandos)" --> Server["🖥️ Servidor (Nuvem)"]
Dev -- "SFTP (Arquivos)" --> Server
- O desenvolvedor escreve o código no seu PC.
- Usa o SFTP para subir os arquivos do site para o servidor.
- Usa o SSH para reiniciar o servidor ou instalar atualizações.
5. Demonstração Prática (Simulada) 💻
Imagine que você quer gerenciar um servidor Web:
- Conectar:
ssh admin@webserver.com - Ver arquivos:
ls -la - Verificar processos:
top - Sair:
exit
🚀 Atividade Prática: Explorando Portas
- Use o comando
netstat -an | findstr "22"no terminal. - Verifique se existe algum serviço escutando na porta 22 (provavelmente não, a menos que você tenha o OpenSSH Server habilitado).
- Pesquise: O que é o FileZilla e como ele se diferencia de um terminal de comando?
🧠 Exercícios de Fixação
- Qual a principal diferença de segurança entre FTP e SFTP?
- Em qual porta o SSH costuma rodar por padrão?
- Por que administradores de rede preferem usar Chaves SSH em vez de senhas comuns?
Próxima Aula: Como proteger sua rede e acelerar o acesso com Proxy e Proxy Reverso! 🔄
Aula 08 - Proxy e Proxy Reverso 🔄
Objetivo
Objetivo: Compreender o papel dos intermediários de rede, diferenciar Proxies diretos de reversos e entender como eles ajudam na segurança e performance de grandes empresas.
1. O que é um Proxy? 代理
Um Proxy é um servidor que age como um intermediário entre o seu computador e a Internet. Em vez de você falar direto com o site, você fala com o Proxy, e ele fala com o site em seu nome.
2. Proxy Direto (Forward Proxy) 🕵️
Usado dentro de empresas ou escolas para gerenciar o que os usuários acessam.
- Controle: Bloquear sites (ex: redes sociais em horário de trabalho).
- Cache: Guarda páginas acessadas com frequência para carregar mais rápido para o próximo usuário.
- Anonimato: O site vê o IP do Proxy, não o seu IP real.
3. Proxy Reverso (Reverse Proxy) 🏗️
O oposto! Ele protege os servidores e não os usuários. Fica "na frente" do site do Google, Netflix ou bancos.
- Balanceamento de Carga: Divide os acessos entre vários servidores.
- Segurança: Esconde os servidores reais do mundo externo.
- Criptografia: O Proxy cuida do HTTPS (SSL), tirando o peso do processamento dos servidores de aplicação.
4. Visualizando a Diferença ⚖️
graph TD
subgraph "Proxy Direto (Protege os Clientes)"
C1[Cliente A] --> P1[Proxy Empresa]
C2[Cliente B] --> P1
P1 --> Internet((Internet))
end
subgraph "Proxy Reverso (Protege os Servidores)"
Inter((Internet)) --> RP[Proxy Reverso / Nginx]
RP --> S1[Servidor 1]
RP --> S2[Servidor 2]
end
5. Aplicações Famosas 🚀
- Nginx e Apache: Os softwares mais usados para criar Proxies Reversos.
- Cloudflare: Um gigantesco serviço de Proxy Reverso que protege metade da Internet contra ataques.
🚀 Atividade Prática: Detecção de Infraestrutura
- No terminal, execute:
- Procure pelo cabeçalho
Server:ouVia:. Isso pode indicar se há um proxy no caminho. - Pesquise: O que é uma VPN e em que ela se assemelha a um Proxy?
🧠 Exercícios de Fixação
- Explique por que uma empresa usaria um Proxy Direto para economizar banda de Internet.
- Qual a principal vantagem de um Proxy Reverso para um site que recebe milhões de acessos simultâneos?
- (V ou F): Um Proxy Reverso ajuda a esconder o endereço IP real do servidor de banco de dados. Justifique.
Próxima Aula: Vamos colocar a mão na massa com o [Módulo 3] e usar Ferramentas de Linha de Comando! 💻
Aula 09 - Ferramentas de Comando ⌨️
Objetivo
Objetivo: Dominar o "cinto de utilidades" do administrador de redes. Aprender a combinar comandos de terminal para identificar se o problema está no computador, no roteador ou na Internet.
1. O Kit de Primeiros Socorros 🚑
Quando a internet para, um profissional de TI não abre o navegador primeiro; ele abre o Terminal.
Os 4 Pilares do Diagnóstico:
- Conectividade: O destino está "vivo"? (
ping) - Caminho: Onde o pacote está parando? (
tracert) - Identidade: O nome está sendo resolvido? (
nslookup) - Estado Interno: Como o meu PC está se comportando? (
netstat)
2. Aprofundando nos Comandos 🔍
Ping (ICMP) 📡
Verifica a latência (tempo de resposta) e perda de pacotes.
$ ping 8.8.8.8 -t
# O "-t" mantém o ping rodando até você apertar Ctrl+C. Útil para testar Wi-Fi instável.
Tracert / Pathping 🛰️
Mostra cada "salto" (roteador) até o destino. * Tracert: Rápido, mostra o caminho imediato. * Pathping: Demorado, mas faz estatísticas de perda em cada roteador (mais preciso para lentidão).
Arp -a 🕵️
Lista os endereços MAC de todos os dispositivos na sua rede local que conversaram com você recentemente.
3. Fluxograma de Troubleshooting 🛠️
Se o site exemplo.com não abre:
- Ping no IP:
ping 8.8.8.8.- Falhou? O problema é sua conexão física ou modem.
- Ping no Nome:
ping exemplo.com.- Falhou (mesmo o passo 1 funcionando)? Problema de DNS.
- Tracert:
tracert exemplo.com.- Parou no 1º salto? Problema no seu Roteador.
- Parou no 5º salto? Problema na Operadora.
4. O comando "Netstat" Avançado 🚪
5. Praticando no Terminal 💻
Vamos testar a estabilidade da sua rede:
- Abra o terminal.
- Inicie um
ping -t www.google.com. - Afaste-se do roteador Wi-Fi ou ligue um forno de micro-ondas próximo ao computador (se usar 2.4GHz).
- Observe o tempo de resposta aumentarem ou pacotes serem perdidos.
🚀 Atividade Prática: Auditoria de Conectividade
Crie um pequeno log de diagnóstico para o site wikipedia.org:
1. Qual o IP dele?
2. Quantos saltos (hops) existem entre você e ele?
3. Qual a média de latência em milissegundos?
🧠 Exercícios de Fixação
- Qual a diferença entre o comando
tracerte opathping? - Por que o
pingpode falhar mesmo que o site esteja funcionando no navegador? (Dica: Firewall). - O que o comando
arp -anos revela sobre a nossa rede local?
Próxima Aula: Vamos ver os bits de verdade! Análise de Tráfego com Wireshark! 🦈
Aula 10 - Análise com Wireshark 🦈
Objetivo
Objetivo: Conhecer o "Raio-X" das redes. Aprender o que é um sniffer de pacotes, como capturar o tráfego real e como identificar os protocolos estudados anteriormente (TCP, IP, DNS) na prática.
1. O que é um Packet Sniffer? 🕵️♂️
Um "Sniffer" (farejador) é um software que intercepta e registra o tráfego que passa por uma placa de rede. Imagine um fiscal que abre cada envelope que passa pelo correio para conferir o conteúdo.
2. Introdução ao Wireshark 🦈
O Wireshark é a ferramenta padrão da indústria para análise de protocolo. Ele permite ver cada bit que entra e sai do seu computador.
A Interface do Wireshark:
- Lista de Pacotes: Cada linha é um pacote capturado.
- Detalhes do Pacote: Mostra as camadas (Ethernet, IP, TCP, etc).
- Bytes do Pacote: O dado em formato hexadecimal (os dados brutos).
3. Filtros: Encontrando Agulhas no Palheiro 🔍
Uma rede gera milhares de pacotes por segundo. Para não ficar maluco, usamos filtros:
ip.addr == 192.168.1.1: Mostra apenas pacotes de um IP específico.http: Mostra apenas tráfego web.dns: Mostra apenas consultas de nomes.tcp.port == 443: Mostra tráfego HTTPS.
4. Analisando o Handshake na Real 🤝
Lembra do Three-Way Handshake (SYN, SYN-ACK, ACK)? No Wireshark, você pode ver exatamente esses pacotes trocados em milissegundos toda vez que abre um site.
Important
Se você ver muitos pacotes TCP Retransmission (em preto), significa que sua rede está com problemas e o computador está tendo que reenviar os dados várias vezes.
5. Praticando (Demonstração Teórica) 💻
Como fazer uma captura básica:
1. Selecione sua placa de rede (Wi-Fi ou Ethernet).
2. Clique no tubarão azul (Start).
3. Abra o navegador e acesse example.com.
4. Pare a captura e digite http no campo de filtro.
5. Veja o pacote GET saindo e o 200 OK chegando.
🚀 Atividade Prática: Pesquisa de Campo
- Pesquise no Google Imagens por "Wireshark TCP Handshake".
- Tente identificar nos prints as flags
[SYN]e[ACK]. - Qual a cor que o Wireshark costuma usar para destacar erros de rede por padrão?
🧠 Exercícios de Fixação
- Por que não conseguimos ler a senha de um usuário no Wireshark se ele estiver usando um site com HTTPS? (Dica: Criptografia).
- Para que serve o campo de Filtro de Exibição?
- Explique por que o Wireshark é uma ferramenta essencial tanto para Hackers quanto para Administradores de Redes.
Módulo Final: Agora que sabemos diagnosticar, vamos entender o coração da Web: Funcionamento da Web! 🌐
Aula 11 - Funcionamento da Web 🌐
Objetivo
Objetivo: Compreender a jornada completa que acontece nos "bastidores" quando você digita um endereço no navegador, desde a resolução de nomes até a renderização da página.
1. A Anatomia de uma URL 🔗
URL (Uniform Resource Locator) é o endereço completo de um recurso na web.
https://www.google.com.br/search?q=redes
- Esquema:
https(protocolo seguro). - Domínio:
www.google.com.br. - Caminho:
/search. - Parâmetros:
?q=redes.
2. A Jornada do Clique: Passo a Passo 🚀
Quando você aperta "Enter":
- DNS: O PC pergunta o IP do domínio.
- TCP: O PC abre uma "conversa" (Handshake) com o servidor no IP encontrado.
- HTTP Request: O navegador envia um envelope dizendo: "Me dê a página index.html".
- Resposta: O servidor envia o código da página (HTML, CSS, JS).
- Renderização: O navegador lê o código e desenha a página na sua tela.
3. Visualizando o Processo 🔄
sequenceDiagram
participant PC as Navegador
participant DNS as Servidor DNS
participant SRV as Servidor WEB
PC->>DNS: Quem é google.com?
DNS->>PC: É o IP 142.250.218.78
PC->>SRV: (TCP Handshake) Oi!
SRV->>PC: (TCP ACK) Oi, vamos conversar!
PC->>SRV: GET /index.html HTTP/1.1
SRV->>PC: 200 OK (Código da Página)
4. Browsers: Muito além da navegação 🔍
Navegadores modernos (Chrome, Firefox, Edge) são softwares complexos que gerenciam: * Cache (para não baixar fotos repetidas). * Segurança (bloqueio de scripts maliciosos). * Execução de código (JavaScript).
5. Praticando no Navegador 💻
Você pode ver a jornada acontecer agora: 1. Aperte F12 (ou clique com o botão direito e vá em "Inspecionar"). 2. Clique na aba Rede (Network). 3. Atualize a página (F5). 4. Veja a lista de arquivos sendo baixados, o tempo de cada um e o status!
🚀 Atividade Prática: Inspeção de Rede
- Abra o site de notícias de sua preferência.
- Use o Inspecionar Elemento (F12) na aba Network.
- Qual o arquivo mais pesado da página (imagem, vídeo ou script)?
- Quanto tempo o site demorou para carregar completamente?
🧠 Exercícios de Fixação
- Diferencie URL de Endereço IP.
- O que acontece se o servidor Web demorar muito para enviar a resposta (Timeout)?
- Qual a função do navegador no processo de "Renderização"?
Próxima Aula: Vamos olhar dentro do envelope: Estrutura do Protocolo HTTP! ✉️
Aula 12 - Estrutura do HTTP ✉️
Objetivo
Objetivo: Desvendar o protocolo que move a Web. Entender como são montados os pedidos (Requests) e as respostas (Responses), conhecendo métodos, cabeçalhos e corpos de dados.
1. O Protocolo Sem Estado (Stateless) 🧩
O HTTP é como uma conversa onde o servidor "esquece" quem você é assim que a resposta é enviada. Para ele lembrar de você (login), usamos cookies e sessões (veremos adiante).
2. A anatomia do Pedido (Request) 📩
Toda vez que o navegador pede algo, ele envia esse formato:
- Método: O que eu quero fazer (GET, POST...).
- Recurso: Onde está o arquivo (
/produtos). - Cabeçalhos (Headers): Informações extras (quem sou eu, o que aceito).
3. Os Métodos HTTP (Verbos) 🛠️
Os verbos dizem ao servidor a intenção do usuário:
| Verbo | Ação | Exemplo |
|---|---|---|
| GET | Ler/Buscar dado | Ver uma foto no Instagram |
| POST | Criar/Enviar dado | Login ou comentário |
| PUT | Atualizar dado | Mudar foto de perfil |
| DELETE | Excluir dado | Apagar um post |
4. A anatomia da Resposta (Response) 📥
O servidor responde com:
- Status Code: Deu certo? (200 OK, 404 Not Found).
- Response Headers: Informações do servidor.
- Body (Corpo): O dado real (HTML, JSON, imagem).
5. Praticando com "Curl" 💻
Vamos ver o HTTP puro no terminal:
🚀 Atividade Prática: Detetive HTTP
- Use o comando
curl -Ipara o site da sua faculdade ou escola. - Identifique o Content-Type (é text/html?).
- Verifique o campo Server (qual tecnologia eles usam?).
🧠 Exercícios de Fixação
- Qual a diferença prática entre um GET e um POST? (Dica: onde as informações ficam visíveis?).
- O que são os Headers (Cabeçalhos) em uma requisição HTTP?
- Por que dizemos que o HTTP é um protocolo de Texto Puro (originalmente)?
Próxima Aula: Deu erro? Entenda os Status e Sessões do HTTP! 🚦
Aula 13 - Status e Sessões 🚦
Objetivo
Objetivo: Entender a linguagem de resposta do servidor. Aprender a interpretar os códigos de erro e como a Web contorna o problema do "esquecimento" (stateless) usando cookies e sessões.
1. Códigos de Status (HTTP Status Codes) 🚥
O servidor sempre responde com um número de 3 dígitos.
| Faixa | Categoria | Exemplo Famoso |
|---|---|---|
| 1xx | Informativo | 101 Switching Protocols |
| 2xx | Sucesso ✅ | 200 OK, 201 Created |
| 3xx | Redirecionamento ↪️ | 301 Moved Permanently |
| 4xx | Erro do Cliente 👤 | 404 Not Found, 403 Forbidden |
| 5xx | Erro do Servidor 🖥️ | 500 Internal Error, 503 Overload |
2. O Problema da Memória Curta 🧠
Como vimos, o HTTP é Stateless. Se você faz login na página A, quando clica na página B, o servidor não tem a menor ideia de quem você é.
A Solução: Cookies 🍪
São pequenos arquivos de texto que o servidor pede para o seu navegador guardar. 1. Login: Servidor envia um Cookie com um "ID de Sessão". 2. Próxima visita: O Navegador envia esse ID de volta automaticamente em cada clique. 3. Identificação: O Servidor olha o ID e diz: "Ah, é o João de novo!".
3. Sessão vs Cookie 🔄
- Cookie: Fica no Navegador do usuário.
- Sessão: Fica na Memória/Banco de Dados do servidor.
- Eles trabalham juntos: o Cookie é a chave, a Sessão é o conteúdo do login.
4. O Perigo do Sequestro de Sessão (Hijacking) 🏴☠️
Se um hacker capturar o seu Cookie de sessão (via Wi-Fi público sem HTTPS, por exemplo), ele pode fingir ser você sem precisar da sua senha.
Warning
Nunca compartilhe seus cookies ou insira códigos estranhos no console do navegador (F12) enviados por desconhecidos!
5. Praticando no Navegador 💻
Vamos ver seus cookies agora: 1. Aperte F12. 2. Vá na aba Application (ou Storage/Armazenamento). 3. No menu lateral, procure por Cookies. 4. Veja a lista de "chaves" (Names) e "valores" que os sites guardam sobre você.
🚀 Atividade Prática: Detetive de Erros
- Tente acessar um endereço que você sabe que não existe no site da Google (Ex:
google.com/blablabla). - Qual código de erro apareceu?
- Pesquise o que significa o erro
418 I'm a teapot. (Sim, ele existe!).
🧠 Exercícios de Fixação
- Explique a diferença entre um erro da família 4xx e um da família 5xx.
- O que aconteceria com os sites de e-commerce (carrinho de compras) se os cookies fossem desativados?
- Para que serve o código 301?
Próxima Aula: Segurança Máxima! HTTPS e SSL/TLS 🔒
Aula 14 - HTTPS e SSL/TLS 🔒
Objetivo
Objetivo: Compreender como a internet se tornou um lugar seguro para transações financeiras e troca de mensagens privadas. Aprender a base da criptografia e o papel dos Certificados Digitais.
1. O que é o HTTPS? 🏰
HTTPS (Hypertext Transfer Protocol Secure) é simplesmente o HTTP comum viajando dentro de um túnel criptografado chamado SSL/TLS.
- HTTP: Texto Puro (Pode ser lido por qualquer um no meio do caminho).
- HTTPS: Texto Cifrado (Apenas o seu PC e o Servidor têm a chave para ler).
2. Por que precisamos de Criptografia? 🕵️♂️
Sem HTTPS, qualquer Wi-Fi público ou funcionário da operadora de internet pode ver: 1. Suas senhas. 2. Suas mensagens de chat. 3. Seus números de cartão de crédito.
3. Como funciona a mágica: TLS 🪄
O protocolo TLS usa dois tipos de criptografia juntos:
A. Criptografia Assimétrica (O Cadeado)
O servidor tem uma Chave Pública (que ele dá para todo mundo) e uma Chave Privada (que só ele tem). O seu PC usa a Chave Pública para trancar um segredo que só a Privada pode abrir.
B. Criptografia Simétrica (O Segredo)
Depois que o segredo inicial foi trocado com segurança, ambos usam a mesma "chave rápida" para conversar o resto do tempo.
4. Certificados Digitais e CAs 📜
Como você sabe que o site banco.com é realmente o banco e não um hacker?
Existem empresas chamadas Autoridades Certificadoras (CAs) que verificam a identidade dos donos dos sites e emitem um "Selo de Identidade Digital".
Important
Se o seu navegador exibir um aviso vermelho de "Sua conexão não é particular", o certificado do site pode estar vencido ou ser falso!
5. Praticando no Navegador 💻
Verificando a segurança: 1. Clique no ícone de Cadeado ao lado da URL. 2. Vá em "A conexão é segura" > "O certificado é válido". 3. Veja quem emitiu o certificado (Ex: Let's Encrypt, DigiCert, Google Trust Services).
🚀 Atividade Prática: Auditoria de Segurança
- Acesse 3 sites diferentes (ex: uma rede social, um portal de notícias e um site de compras).
- Verifique quem é a Autoridade Certificadora de cada um.
- Algum deles possui o selo "Cloudflare"?
🧠 Exercícios de Fixação
- Qual a diferença entre as chaves Pública e Privada?
- O que é uma Autoridade Certificadora (CA)?
- O HTTPS protege você contra vírus e phishing ou apenas contra espionagem da conexão? Explique.
Módulo de Laboratório: Preparado para colocar a mão na massa? Criando seu Servidor HTTP! 🛠️
Aula 15 - Laboratório: Servidor HTTP 🛠️
Objetivo
Objetivo: Tirar a teoria do papel e transformar o seu computador em um Servidor Web. Aprender a subir um serviço, hospedar um arquivo HTML e acessá-lo via rede local.
1. O que é um Servidor Web? 🖥️
Basicamente, é qualquer computador que rode um software que "escuta" a porta 80 (HTTP) ou 443 (HTTPS) e devolve arquivos quando solicitado.
2. Criando o seu Arquivo 📄
Antes de ligar o motor, vamos criar a nossa "carga":
- Crie uma pasta chamada
meu-servidor. - Dentro dela, crie um arquivo
index.htmlcom o código:
3. Subindo o Servidor (3 Maneiras) 🚀
Opção A: Python (A mais rápida)
Se você tem Python instalado, abra o terminal na pasta e digite:
Opção B: Node.js (A mais profissional)
Se você usa Node.js, instale o http-server:
Opção C: VS Code (A mais visual)
Instale a extensão Live Server e clique em "Go Live" no canto inferior da tela.
4. Acessando o seu Servidor 🌍
Agora que o servidor está rodando:
1. Abra o navegador e digite: localhost:8080.
2. O Desafio: Pegue o seu celular, conecte no mesmo Wi-Fi do PC, e digite o IP do seu computador (Ex: 192.168.1.10:8080).
Note
Se não funcionar no celular, o Firewall do Windows pode estar bloqueando a conexão. Você precisará permitir o Python/Node nas regras de entrada.
5. Simulando um Erro 💣
- Renomeie o seu arquivo
index.htmlparateste.html. - Tente acessar
localhost:8080de novo. - O que o servidor exibiu? Uma lista de arquivos ou um erro?
🚀 Atividade Prática: Hospedagem Local
- Suba seu servidor.
- Descubra seu IP usando
ipconfig. - Peça para um colega na mesma rede acessar seu site.
- Tente trocar o texto do HTML enquanto o servidor está rodando e veja a mudança no navegador.
🧠 Exercícios de Fixação
- Por que usamos portas como 8080 ou 3000 em laboratórios em vez da porta 80 padrão?
- Qual a diferença entre acessar o site via
localhoste viaIP da rede? - O que acontece com o site se você fechar o terminal onde o servidor está rodando?
Última Aula: Como as máquinas conversam? Clientes HTTP e APIs! 🤖
Aula 16 - Clientes HTTP e APIs 🤖
Objetivo
Objetivo: Entender como a Web é usada para integrar sistemas. Conhecer o conceito de API, o formato de dados JSON e como softwares (e não apenas humanos) consomem informações via rede.
1. O que é uma API? 🔌
API (Application Programming Interface) é uma forma de dois softwares conversarem de maneira padronizada. Imagine que é um "balcão de atendimento" onde um programa pede dados e outro entrega.
2. REST: O Padrão da Web 🏛️
A maioria das APIs modernas segue o padrão REST, que usa os métodos HTTP que já estudamos de forma organizada:
- GET /usuarios: Lista todos.
- POST /usuarios: Cadastra um novo.
- GET /usuarios/5: Pega dados do usuário ID 5.
3. Formato JSON 📦
Diferente de nós, as máquinas não gostam de HTML visual. Elas preferem dados estruturados como o JSON (JavaScript Object Notation):
4. Clientes HTTP Além do Browser 🛠️
Quando desenvolvedores testam redes e APIs, eles usam ferramentas especializadas: * Insomnia / Postman: Interfaces gráficas poderosas. * Curl: O guerreiro da linha de comando. * Thunder Client: Extensão para VS Code.
5. Praticando com uma API Real 🌍
Vamos usar uma API pública de testes (JSONPlaceholder):
- Abra o navegador e cole:
https://jsonplaceholder.typicode.com/posts/1 - Veja o resultado. É um texto puro formatado (JSON).
- Agora tente pelo terminal:
🚀 Atividade Prática: Consumo de Dados
- Procure pela "PokeAPI" no Google.
- Tente fazer um
curlpara descobrir os dados do seu Pokémon favorito. - Identifique no JSON retornado qual o campo que indica o peso (
weight) do Pokémon.
🧠 Exercícios de Fixação
- Por que o JSON é melhor que o HTML para comunicação entre dois servidores?
- O que significa a sigla API?
- Cite um exemplo de uso de API no seu dia a dia (Ex: Login com Google, Previsão do tempo no celular).
🎉 Parabéns! 🏁
Você concluiu o Guia de Redes de Computadores e Internet. Agora você tem a base necessária para entender como o mundo digital funciona, diagnosticar falhas e construir suas próprias soluções web.
"A rede é o computador."
Aula 17 - Arquitetura de Roteamento e Subredes CIDR 🌐
Objetivo Pedagógico
Objetivo: Compreender a divisão e agregação de redes IPv4/IPv6 usando máscara de comprimento variável (VLSM), notação CIDR e os algoritmos de roteamento dinâmico (OSPF, BGP).
📑 1. Fundamentos Teóricos & Análise Técnica
A camada de rede (Camada 3 do modelo OSI / Camada de Internet do modelo TCP/IP) tem como missão fundamental o encaminhamento e roteamento de pacotes fim a fim através de múltiplos enlaces heterogêneos.
A evolução do endereçamento IP substituiu as classes legadas (A, B, C) pela especificação Classless Inter-Domain Routing (CIDR - RFC 1519) e Variable Length Subnet Masking (VLSM):
1. Notação CIDR e Prefix Length: Representada por um prefixo /n, onde \(n\) indica a quantidade exata de bits dedicados à rede (network ID), restando \(32 - n\) bits para hosts. Uma sub-rede /24 disponibiliza \(2^{32-24} - 2 = 254\) endereços úteis, reservando o endereço base para identificação de rede e o endereço de host máximo para broadcast.
2. Supernetting e Route Aggregation: Permite sumarizar múltiplos blocos contíguos em uma única entrada de tabela de roteamento, reduzindo drasticamente o consumo de memória das tabelas de roteamento na Default Free Zone (DFZ) global da Internet.
3. Algoritmos e Protocolos de Roteamento:
- Interior Gateway Protocols (IGP): Destacam-se o OSPF (Open Shortest Path First) e o IS-IS, fundamentados no algoritmo de Dijkstra (Link-State), convergindo rapidamente em topologias corporativas fechadas.
- Exterior Gateway Protocols (EGP): O BGP (Border Gateway Protocol), protocolo de vetor de caminhos (Path-Vector), governa a troca de rotas entre Sistemas Autônomos (AS) globais com base em políticas administrativas e atributos AS-Path.
📐 Arquitetura Conceitual & Diagrama de Fluxo
graph TD
Client["Host Origem (192.168.1.50/24)"] --> RouterA["Roteador de Borda AS100 (Gateway)"]
RouterA --> CIDR["Decisão de Roteamento Longest Prefix Match"]
CIDR --> OSPF["Domínio OSPF (Área 0 Backbone)"]
CIDR --> BGP["BGP Inter-AS (Sessão eBGP AS100 -> AS200)"]
BGP --> RouterB["Roteador AS200 (10.0.0.1/16)"]
RouterB --> Dest["Host Destino (10.0.4.12)"]
style Client fill:#e1f5fe,stroke:#01579b
style RouterA fill:#fff3e0,stroke:#e65100
style BGP fill:#f3e5f5,stroke:#7b1fa2
style Dest fill:#e8f5e9,stroke:#2e7d32
🔍 Pilares e Diretrizes Técnicas
Nesta unidade, aprofundamos os seguintes conceitos fundamentais: - Longest Prefix Match (LPM): Mecanismo pelo qual os roteadores selecionam a rota com a máscara mais específica na tabela de encaminhamento. - Hierarquia OSPF em Áreas: Redução do flooding de Link State Advertisements (LSAs) através do particionamento em Backbone Area 0 e áreas satélites. - Convergência e Métricas BGP: Seleção de rotas orientada por Weight, Local Preference, AS-Path prepend e Multi-Exit Discriminator (MED). - Transição IPv6: Endereçamento de 128 bits, eliminação de broadcast (substituído por multicast solicited-node) e suporte a SLAAC.
🛠️ 2. Implementação Prática em Redes de Computadores e Roteamento IP
Abaixo está a implementação técnica de referência, estruturada com padrões de engenharia de software e foco em robustez:
// cidr_calculator.py (Cálculo de Sub-redes CIDR e Tabela de Roteamento em Python)
import ipaddress
def calculate_subnet_plan(network_cidr: str, required_subnets: int):
"""Calcula a subdivisão VLSM de um bloco CIDR."""
base_net = ipaddress.ip_network(network_cidr, strict=True)
# Determina bits adicionais necessários para as sub-redes
import math
additional_bits = math.ceil(math.log2(required_subnets))
new_prefix = base_net.prefixlen + additional_bits
if new_prefix > 30:
raise ValueError("Bloco de rede insuficiente para as sub-redes solicitadas")
subnets = list(base_net.subnets(new_prefix=new_prefix))
print(f"=== Planejamento de Subredes: {network_cidr} -> /{new_prefix} ===")
for idx, sub in enumerate(subnets[:required_subnets]):
usable_hosts = list(sub.hosts())
print(f"Sub-rede #{idx+1}: {sub.network_address}/{sub.prefixlen}")
print(f" Máscara de Rede : {sub.netmask}")
print(f" Faixa Utilizável: {usable_hosts[0]} - {usable_hosts[-1]} ({len(usable_hosts)} hosts)")
print(f" Broadcast : {sub.broadcast_address}\n")
if __name__ == '__main__':
calculate_subnet_plan("10.100.0.0/16", required_subnets=4)
💡 Análise Passo a Passo do Código
- Módulo Nativo
ipaddress: Garante cálculos matemáticos exatos de máscaras binárias sem arredondamento errôneo. - Cálculo Dinâmico de Prefixo: Computa o expoente de potência de dois para acomodar a quantidade requisitada de domínios de colisão/broadcast.
- Separação Rigorosa de IPs Úteis: Garante o isolamento do endereço de rede (.0) e broadcast (.255 no caso /24) para integridade da camada 3.
🎯 3. Próximos Passos & Sequência Didática
-
Slides da Aula
-
Quiz de Fixação
-
Exercícios Práticos
-
Desafio de Projeto
Aula 18 - Protocolos de Transporte Avançados (TCP vs UDP QUIC) ⚡
Objetivo Pedagógico
Objetivo: Analisar as características internas do TCP (janela deslizante, controle de congestionamento, Three-Way Handshake) em contraste com UDP e o protocolo QUIC (HTTP/3).
📑 1. Fundamentos Teóricos & Análise Técnica
A Camada de Transporte provê comunicação lógica fim a fim entre processos de aplicação hospedados em nós distintos da rede.
Tradicionalmente, a escolha se resumia ao binômio confiabilidade versus latência:
- Transmission Control Protocol (TCP - RFC 793, 7323): Protocolo orientado à conexão, confiável e com controle de fluxo bidirecional.
1. Three-Way Handshake: Estabelecimento de sincronismo através de flags SYN -> SYN-ACK -> ACK, incorrendo em pelo menos 1 RTT (Round Trip Time) de overhead antes do primeiro byte de dados.
2. Controle de Fluxo e Janela Deslizante (Sliding Window): O receptor informa o Receive Window (rwnd) para evitar que o transmissor sobrecarregue seu buffer de recepção.
3. Controle de Congestionamento: Algoritmos como Reno, CUBIC e BBR ajustam a Congestion Window (cwnd) detectando gargalos na infraestrutura de trânsito por perda de pacotes ou variação de RTT.
4. Head-of-Line (HoL) Blocking: Uma única perda de segmento força a pilha do SO a reter todos os segmentos subsequentes na fila até que a retransmissão seja concluída.
- QUIC (Quick UDP Internet Connections - RFC 9000): Construído sobre UDP no espaço de usuário (user space), o QUIC elimina as deficiências estruturais do TCP:
- Zero / 1-RTT Handshake: Fusão da negociação de transporte com a criptografia TLS 1.3 nativa em um único ciclo de ida e volta.
- Multiplexação Nativa sem HoL Blocking: Múltiplos fluxos (streams) independentes trafegam na mesma conexão UDP; a perda de um pacote em um stream não atrasa a entrega de outros streams.
- Migração de Conexão: As conexões são identificadas por um Connection ID (CID) criptográfico de 64 bits em vez da 4-tupla tradicional (IP:Porta), permitindo migração contínua entre Wi-Fi e dados móveis 5G sem queda de sessão.
📐 Arquitetura Conceitual & Diagrama de Fluxo
sequenceDiagram
autonumber
participant C as Cliente Web
participant S as Servidor Edge HTTP/3
Note over C,S: TCP Tradicional + TLS 1.2 = 3 RTTs de Latência
Note over C,S: QUIC (HTTP/3) = Conexão + TLS 1.3 em 1 RTT (ou 0-RTT)
C->>S: QUIC Initial [Client Hello + TLS 1.3 Key Exchange]
S->>C: QUIC Handshake [Server Hello + Finished + Certificado]
Note over C,S: Conexão Criptografada Estabelecida! Streams Paralelos Livres
C->>S: Stream 1 (GET /index.html) + Stream 2 (GET /style.css)
S->>C: Dados Stream 1 & 2 sem Head-of-Line Blocking
🔍 Pilares e Diretrizes Técnicas
Nesta unidade, aprofundamos os seguintes conceitos fundamentais: - Algoritmo BBR (Bottleneck Bandwidth and RTT): Abordagem moderna de controle de congestionamento baseada em modelagem física da capacidade do gargalo em vez de perda de pacotes. - Multiplexação Verdadeira em QUIC: Cada stream possui sequência de numeração autônoma protegida contra travamento global. - Conexões 0-RTT e Anti-Replay: Retomada instantânea de sessões anteriores utilizando tokens de chave pré-compartilhada (PSK). - Checksum e Verificação UDP: Uso do cabeçalho UDP leve apenas como envelope de transporte para travessia em Middleboxes/NATs.
🛠️ 2. Implementação Prática em Camada de Transporte e Protocolos Modernos
Abaixo está a implementação técnica de referência, estruturada com padrões de engenharia de software e foco em robustez:
// tcp_vs_udp_benchmark.py (Simulação Comparativa de Latência e Retransmissão)
import socket
import time
def run_tcp_client(host: str, port: int, payload: bytes):
"""Demonstra estabelecimento de conexão TCP com medição de handshake."""
start = time.perf_counter()
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock:
sock.settimeout(2.0)
sock.connect((host, port))
handshake_time = (time.perf_counter() - start) * 1000
sock.sendall(payload)
response = sock.recv(1024)
total_time = (time.perf_counter() - start) * 1000
print(f"[TCP] Handshake: {handshake_time:.2f}ms | RTT Total: {total_time:.2f}ms | Bytes: {len(response)}")
def run_udp_sender(host: str, port: int, payload: bytes):
"""Demonstra envio direto UDP sem sobrecarga de handshake de conexão."""
start = time.perf_counter()
with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as sock:
sock.settimeout(2.0)
sock.sendto(payload, (host, port))
response, _ = sock.recvfrom(1024)
total_time = (time.perf_counter() - start) * 1000
print(f"[UDP] RTT Total (Zero Handshake): {total_time:.2f}ms | Bytes: {len(response)}")
if __name__ == '__main__':
print("Módulo de transporte instanciado para análise de overhead.")
💡 Análise Passo a Passo do Código
- Socket TCP SOCK_STREAM: Gera frames SYN/ACK no kernel com controle estrito de fluxo e buffers de reenvio.
- Socket UDP SOCK_DGRAM: Despacha datagramas diretamente para a placa de rede com cabeçalho compacto de 8 bytes.
- Medição de RTT: Isola os estágios de negociação da camada de transporte para evidenciar a eficiência do modelo QUIC.
🎯 3. Próximos Passos & Sequência Didática
-
Slides da Aula
-
Quiz de Fixação
-
Exercícios Práticos
-
Desafio de Projeto
Aula 19 - Segurança na Camada de Transporte (TLS/SSL Handshake) 🔐
Objetivo Pedagógico
Objetivo: Examinar a engenharia de segurança do protocolo TLS 1.3: troca de chaves Diffie-Hellman efêmero (ECDHE), cifras autenticadas (AEAD), validação de cadeias X.509 e prevenção de ataques Man-in-the-Middle (MitM).
📑 1. Fundamentos Teóricos & Análise Técnica
O protocolo Transport Layer Security (TLS) é a pedra angular da confidencialidade, autenticidade e integridade nas comunicações da Internet moderna.
Com a consolidação do TLS 1.3 (RFC 8446), o protocolo passou por uma profunda refatoração arquitetural para eliminar vulnerabilidades herdadas do TLS 1.2:
1. Redução de Latência do Handshake: O TLS 1.2 exigia 2 RTTs para concluir o aperto de mão com troca de parâmetros de cifra. No TLS 1.3, o handshake foi reduzido para 1 RTT padrão e 0-RTT para reconexões.
2. Eliminação de Cifras Inseguras: Foram removidos algoritmos obsoletos e vulneráveis como RC4, DES, 3DES, MD5, SHA-1, além do modo de operação CBC e da troca de chaves estática baseada em RSA puro (que não oferecia sigilo de encaminhamento).
3. Perfect Forward Secrecy (PFS) Obrigatório: O TLS 1.3 exige exclusivamente esquemas efêmeros baseados em curvas elípticas (ECDHE - Elliptic Curve Diffie-Hellman Ephemeral). Caso a chave privada do servidor seja comprometida no futuro, sessões pretéritas gravadas por adversários permanecem indecifráveis.
4. Cifras AEAD (Authenticated Encryption with Associated Data): As únicas suites de cifras permitidas combinam criptografia e código de autenticação de mensagem em uma operação atômica (ex: AES-256-GCM, CHACHA20-POLY1305), inviabilizando ataques de padding oracle.
📐 Arquitetura Conceitual & Diagrama de Fluxo
sequenceDiagram
autonumber
participant Client as Cliente (Browser / Agente)
participant Server as Servidor Seguro (TLS 1.3)
Note over Client,Server: TLS 1.3 Handshake em 1 RTT
Client->>Server: ClientHello [Versões suportadas, Key Share ECDHE (Curve25519), Cifras AEAD]
Server->>Client: ServerHello [Key Share ECDHE aceito] + {EncryptedExtensions, Certificado X.509, CertificateVerify, Finished}
Note over Client: Cliente valida assinatura X.509 na cadeia AC e calcula a chave mestre secreta
Client->>Server: {Finished}
Note over Client,Server: Canal Criptografado Ativo com Chaves de Aplicação Simétricas!
Client->>Server: Requisição HTTP Segura (Cifrada com AES-256-GCM)
🔍 Pilares e Diretrizes Técnicas
Nesta unidade, aprofundamos os seguintes conceitos fundamentais:
- Infraestrutura de Chaves Públicas (PKI): Verificação da cadeia de confiança de certificados assinados por Autoridades Certificadoras (CAs) confiáveis via OCSP e CRLs.
- Diffie-Hellman Efêmero (ECDHE): Cálculo de chave simétrica temporária compartilhada sobre curvas elípticas sem tráfego da chave pela rede.
- Server Name Indication (SNI / ECH): Mecanismo que envia o hostname de destino no handshake; Encrypted Client Hello (ECH) cifra até mesmo o SNI para garantir privacidade contra espionagem de DNS/ISP.
- Application-Layer Protocol Negotiation (ALPN): Negociação do protocolo de camada superior (h2, h3, http/1.1) diretamente dentro da extensão TLS.
🛠️ 2. Implementação Prática em TLS 1.3, Criptografia de Chave Pública e PKI
Abaixo está a implementação técnica de referência, estruturada com padrões de engenharia de software e foco em robustez:
// tls_inspector.py (Inspeção de Certificado X.509 e Parâmetros Criptográficos TLS)
import ssl
import socket
from datetime import datetime
def inspect_tls_connection(hostname: str, port: int = 443):
"""Conecta e extrai metadados criptográficos da sessão TLS."""
context = ssl.create_default_context()
# Exige estritamente TLS 1.3 para conexões modernas seguras
context.minimum_version = ssl.TLSVersion.TLSv1_3
with socket.create_connection((hostname, port), timeout=5) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
cert = ssock.getpeercert()
cipher, proto, bits = ssock.cipher()
print(f"=== Inspeção de Sessão TLS para {hostname} ===")
print(f"Protocolo Negociado : {proto}")
print(f"Cifra Utilizada : {cipher} ({bits} bits)")
print(f"Sujeito Certificado : {dict(x[0] for x in cert.get('subject', []))}")
print(f"Emissor (CA) : {dict(x[0] for x in cert.get('issuer', []))}")
exp_date = datetime.strptime(cert['notAfter'], '%b %d %H:%M:%S %Y %Z')
print(f"Validade Até : {exp_date.strftime('%Y-%m-%d %H:%M:%S UTC')}")
if __name__ == '__main__':
inspect_tls_connection("github.com")
💡 Análise Passo a Passo do Código
- Exigência de TLSv1_3: Impede tentativas de downgrade attack por intermediários maliciosos.
- Validação Estrita de SNI: Dispara
server_hostnamepara evitar que o servidor sirva certificado genérico incorreto. - Inspeção de Cifras AEAD: Confirma a utilização de canais protegidos com garantia de integridade matemática.
🎯 3. Próximos Passos & Sequência Didática
-
Slides da Aula
-
Quiz de Fixação
-
Exercícios Práticos
-
Desafio de Projeto
Aula 20 - Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀
Objetivo Pedagógico
Objetivo: Desenvolver uma suíte autônoma de inspeção e análise de pacotes de rede (PCAP sniffer), categorizando fluxos por protocolo, medindo jitter, taxa de retransmissão e identificando anomalias de segurança.
📑 1. Fundamentos Teóricos & Análise Técnica
O diagnóstico avançado de redes corporativas e sistemas distribuídos requer visibilidade profunda na malha de pacotes (Packet Level Visibility).
Este Projeto Capstone sintetiza os pilares de toda a disciplina em uma aplicação de engenharia de redes:
1. Captura em Camada de Enlace e Promíscua: Utilização de sockets crus (Raw Sockets) ou interfaces libpcap para capturar frames Ethernet diretamente no buffer de hardware do controlador de interface de rede (NIC).
2. Dissecção de Cabeçalhos em Camadas:
- Camada 2: Desencapsulamento de cabeçalhos Ethernet II (Endereços MAC Origem/Destino, EtherType).
- Camada 3: Extração de campos IPv4/IPv6 (TTL, Protocolo, Checksum, Endereços IP).
- Camada 4: Leitura de portas de origem/destino, números de sequência TCP e flags de controle (SYN, ACK, FIN, RST).
3. Métricas de Performance e Saúde do Tráfego:
- Detecção de Retransmissões: Ocorrência de múltiplos pacotes com o mesmo número de sequência indica congestionamento ou descarte físico em switches de borda.
- Jitter e Variação de RTT: Variação estatística nos intervalos de chegada de pacotes contíguos em fluxos de tempo real (VoIP, streaming e gRPC).
- Assinatura de Anomalias de Segurança: Varreduras de portas (SYN Scans), ataques de reflexão UDP e anomalias de tamanho de pacote.
📐 Arquitetura Conceitual & Diagrama de Fluxo
graph TD
NIC["Interface de Rede (Promiscuous Mode)"] --> Capture["Sniffer / Engine de Captura Raw"]
Capture --> L2["Dissecador Camada 2 (MAC / EtherType)"]
L2 --> L3["Dissecador Camada 3 (IP Header / TTL)"]
L3 --> L4["Dissecador Camada 4 (TCP Flags / UDP Ports)"]
L4 --> Analyzer["Motor de Análise de Tráfego & Métricas"]
Analyzer --> Metrics1["Taxa de Retransmissão TCP"]
Analyzer --> Metrics2["Detecção de Port Scan (SYN Flood)"]
Analyzer --> Metrics3["Histograma de Latência & Jitter"]
style NIC fill:#e1f5fe,stroke:#01579b
style Capture fill:#fff3e0,stroke:#e65100
style Analyzer fill:#f3e5f5,stroke:#7b1fa2
style Metrics1 fill:#e8f5e9,stroke:#2e7d32
style Metrics2 fill:#ffebee,stroke:#c62828
style Metrics3 fill:#e0f2f1,stroke:#00695c
🔍 Pilares e Diretrizes Técnicas
Nesta unidade, aprofundamos os seguintes conceitos fundamentais: - Raw Sockets e Permissões de Kernel: Mecanismo que permite ao processo de usuário contornar a pilha de rede tradicional e processar datagramas brutos. - Reconstrução de Fluxos Bidirecionais: Identificação de fluxos através da 5-tupla canônica (IP Origem, IP Destino, Porta Origem, Porta Destino, Protocolo). - Algoritmo de Detecção de SYN Flood: Rastreamento do balanço entre pacotes SYN enviados versus ACK confirmados para identificar exaustão de backlog do servidor. - Exportação de Telemetria IPFIX/NetFlow: Padrão industrial de exportação de sumarização de fluxos para sistemas SIEM e plataformas de observabilidade.
🛠️ 2. Implementação Prática em Engenharia de Redes, Captura de Pacotes e Diagnóstico
Abaixo está a implementação técnica de referência, estruturada com padrões de engenharia de software e foco em robustez:
// network_analyzer_capstone.py (Dissecador de Pacotes e Rastreador de Anomalias)
import struct
import socket
from collections import defaultdict
class NetworkTrafficAnalyzer:
"""Analisador autônomo de tráfego de rede para diagnóstico e auditoria."""
def __init__(self):
self.flow_stats = defaultdict(lambda: {"packets": 0, "syn_count": 0, "rst_count": 0})
def parse_ip_header(self, data: bytes):
"""Extrai cabeçalho IPv4 (20 bytes)."""
ip_header = struct.unpack("!BBHHHBBH4s4s", data[:20])
version_ihl = ip_header[0]
ihl = (version_ihl & 0x0F) * 4
protocol = ip_header[6]
src_ip = socket.inet_ntoa(ip_header[8])
dst_ip = socket.inet_ntoa(ip_header[9])
return protocol, src_ip, dst_ip, data[ihl:]
def parse_tcp_segment(self, data: bytes, src_ip: str, dst_ip: str):
"""Extrai portas e flags TCP."""
tcp_header = struct.unpack("!HHLLBBHHH", data[:20])
src_port = tcp_header[0]
dst_port = tcp_header[1]
flags = tcp_header[5]
is_syn = bool(flags & 0x02)
is_rst = bool(flags & 0x04)
flow_key = (src_ip, dst_ip, dst_port)
self.flow_stats[flow_key]["packets"] += 1
if is_syn:
self.flow_stats[flow_key]["syn_count"] += 1
if is_rst:
self.flow_stats[flow_key]["rst_count"] += 1
# Alerta de anomalia heurística
if self.flow_stats[flow_key]["syn_count"] > 10 and self.flow_stats[flow_key]["packets"] < 12:
print(f"[ALERTA DE SEGURANÇA] Possível SYN Scan detectado de {src_ip} contra porta {dst_port}!")
if __name__ == '__main__':
analyzer = NetworkTrafficAnalyzer()
print("Módulo Capstone pronto: Captura, Análise Heurística e Inspeção de Pacotes.")
💡 Análise Passo a Passo do Código
- Desempacotamento Binário via
struct: Lê campos da camada de rede na ordem de bytes da rede (Big-Endian!). - Extração de Flags TCP com Bitwise: Isola bits específicos de controle (
SYN,RST,ACK) para detecção de anomalias. - Rastreamento de Estado por 5-Tupla: Permite correlacionar o histórico da conversa para auditoria de tráfego de alta precisão.
🎯 3. Próximos Passos & Sequência Didática
-
Slides da Aula
-
Quiz de Fixação
-
Exercícios Práticos
-
Desafio de Projeto
Exercícios
🏋️ Exercícios do Curso
Lista completa das 20 unidades de exercicios organizadas em 5 módulos didáticos.
-
Módulo 1: Fundamentos (01 a 04) ---
-
Módulo 2: Conceitos Essenciais (05 a 08) ---
-
Módulo 3: Aplicação Prática (09 a 12) ---
-
Módulo 4: Padrões e Ferramentas (13 a 16) ---
-
Módulo 5: Avançado e Capstone (17 a 20) ---
Exercícios: Aula 01 - Fundamentos de Redes 📝
🟢 Nível Básico
- Conceitue Rede de Computadores: Em suas próprias palavras, descreva o que é uma rede e cite pelo menos três recursos que podem ser compartilhados através dela.
- A Rede de Redes: Explique por que dizemos que a Internet é uma "rede de redes". Qual a diferença fundamental entre a Internet e a World Wide Web (WWW)?
🟡 Nível Intermediário
-
Classificação Geográfica: Complete a tabela abaixo correlacionando a sigla com o cenário correspondente:
- ( ) Conexão via Bluetooth entre celular e fone.
- ( ) Rede Wi-Fi de um café local.
- ( ) Interconexão entre as filiais de um banco em diferentes estados.
- ( ) Rede de fibra óptica que conecta todos os prédios de um campus universitário. (Siglas: PAN, LAN, MAN, WAN)
-
Modelo Cliente/Servidor: No dia a dia, quando você acessa o site do YouTube, quem desempenha o papel de Cliente e quem é o Servidor? O que aconteceria se o servidor ficasse offline?
🔴 Desafio
- Cenário Real: Imagine que uma pequena empresa possui 5 computadores e 1 impressora. Eles desejam que todos os computadores consigam imprimir e acessar arquivos uns dos outros.
- Que tipo de rede geográfica (Escala) seria essa?
- Quais seriam as vantagens imediatas dessa implementação para a empresa?
- Desenhe ou descreva como seria a conexão física básica (Cabos/Wi-Fi) para essa estrutura.
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Conceitue Rede de Computadores **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Introdução às Redes de Computadores**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: A Rede de Redes **Resposta Comentada:** - **Fundamentação:** No contexto de **Introdução às Redes de Computadores**, o conceito abordado (A Rede de Redes) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Classificação Geográfica **Resposta Comentada:** - **Fundamentação:** No contexto de **Introdução às Redes de Computadores**, o conceito abordado (Classificação Geográfica) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Modelo Cliente/Servidor **Resposta Comentada:** - **Fundamentação:** No contexto de **Introdução às Redes de Computadores**, o conceito abordado (Modelo Cliente/Servidor) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Cenário Real **Resposta Comentada:** - **Fundamentação:** No contexto de **Introdução às Redes de Computadores**, o conceito abordado (Cenário Real) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 02 - Meios de Transmissão ⚡
🟢 Nível Básico
-
Identificando Cabos: Relacione as colunas:
- (A) Cabo UTP (Par Trançado)
- (B) Fibra Óptica
- (C) Cabo Coaxial
- ( ) Utiliza pulsos de luz para transmitir dados.
- ( ) É o mais utilizado em redes locais (LAN) domésticas e comerciais.
- ( ) Já foi muito comum, hoje é usado principalmente em redes de TV/Internet legadas.
-
Endereçamento Físico: O que significa a sigla MAC e em qual hardware esse endereço fica gravado permanentemente?
🟡 Nível Intermediário
-
Wi-Fi 2.4 vs 5 GHz: Se você estiver em um quarto muito distante do roteador, com várias paredes no caminho, qual frequência de Wi-Fi é mais recomendada: 2.4 GHz ou 5 GHz? Justifique sua resposta com base nas características físicas das ondas.
-
O "RG" da Placa: Explique a diferença entre um endereço IP e um endereço MAC. O que acontece com o endereço MAC de um notebook se você levá-lo de casa para a faculdade? E com o IP?
🔴 Desafio
- Diagnóstico de Conectividade: Um usuário relata que seu computador não consegue acessar a internet via cabo, mas o Wi-Fi funciona perfeitamente.
- Liste três possíveis causas físicas para este problema (relacionadas aos meios de transmissão).
- Qual comando de terminal você usaria para verificar se o sistema reconhece a placa de rede Ethernet e qual seu endereço físico?
- Como a substituição do cabo UTP por uma Fibra Óptica mudaria a infraestrutura dessa rede local?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Identificando Cabos **Resposta Comentada:** - **Fundamentação:** No contexto de **Meios de Transmissão e Endereçamento Físico ⚡**, o conceito abordado (Identificando Cabos) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Endereçamento Físico **Resposta Comentada:** - **Fundamentação:** No contexto de **Meios de Transmissão e Endereçamento Físico ⚡**, o conceito abordado (Endereçamento Físico) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Wi-Fi 2.4 vs 5 GHz **Resposta Comentada:** - **Fundamentação:** No contexto de **Meios de Transmissão e Endereçamento Físico ⚡**, o conceito abordado (Wi-Fi 2.4 vs 5 GHz) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: O "RG" da Placa **Resposta Comentada:** - **Fundamentação:** No contexto de **Meios de Transmissão e Endereçamento Físico ⚡**, o conceito abordado (O "RG" da Placa) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Diagnóstico de Conectividade **Resposta Comentada:** - **Fundamentação:** No contexto de **Meios de Transmissão e Endereçamento Físico ⚡**, o conceito abordado (Diagnóstico de Conectividade) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 03 - Modelo TCP/IP 🧬
🟢 Nível Básico
- Camadas do TCP/IP: Liste as 4 camadas do modelo TCP/IP na ordem correta (da superior para a inferior) e cite um exemplo de protocolo ou tecnologia para cada uma.
- O conceito de "Envelopes": Defina, em uma frase, o que é o processo de Encapsulamento de dados em uma rede.
🟡 Nível Intermediário
-
Comparação OSI vs TCP/IP: Por que o modelo TCP/IP consolidou as camadas de Sessão, Apresentação e Aplicação do modelo OSI em uma única camada? Qual a vantagem prática dessa simplificação?
-
Identificando PDUs: Relacione o nome da unidade de dados (PDU) com sua respectiva camada:
- ( ) Camada de Transporte
- ( ) Camada de Internet (Rede)
- ( ) Camada de Acesso à Rede (Enlace)
- Opções: Pacote, Quadro (Frame), Segmento.
🔴 Desafio
- Análise de Falha: Um técnico de redes descobre que um computador consegue dar "ping" em outros dispositivos (Camada de Internet), mas não consegue abrir nenhum site no navegador (Camada de Aplicação).
- Em qual camada do modelo TCP/IP o problema provavelmente não está?
- Sugira dois protocolos da camada de aplicação que poderiam estar com problemas ou bloqueados.
- Explique como o modelo em camadas ajuda o técnico a isolar esse problema.
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Camadas do TCP/IP **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelo TCP/IP**, o conceito abordado (Camadas do TCP/IP) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: O conceito de "Envelopes" **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelo TCP/IP**, o conceito abordado (O conceito de "Envelopes") é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Comparação OSI vs TCP/IP **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelo TCP/IP**, o conceito abordado (Comparação OSI vs TCP/IP) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Identificando PDUs **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelo TCP/IP**, o conceito abordado (Identificando PDUs) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Análise de Falha **Resposta Comentada:** - **Fundamentação:** No contexto de **Modelo TCP/IP**, o conceito abordado (Análise de Falha) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 04 - Endereçamento IP 📍
🟢 Nível Básico
- IPv4 vs IPv6: Cite duas diferenças fundamentais entre o IPv4 e o IPv6. Qual deles é representado em hexadecimal?
- IP Privado: Explique para que servem as faixas de IP privado (como
192.168.x.x) e se elas podem ser usadas diretamente para navegar na Internet sem um roteador.
🟡 Nível Intermediário
-
O papel do NAT: Imagine que em sua casa existem 4 celulares, 2 notebooks e 1 Smart TV, todos navegando ao mesmo tempo.
- Quantos IPs públicos sua residência provavelmente possui?
- Como o roteador consegue saber qual dado pertence a qual dispositivo usando o NAT?
-
Máscara de Sub-rede: Um dispositivo possui o IP
10.0.0.5com a máscara255.0.0.0. Qual parte desse endereço representa a rede e qual parte representa o host? Se outro dispositivo tiver o IP10.0.1.10com a mesma máscara, eles estão na mesma rede?
🔴 Desafio
- Laboratório de Terminal: Utilize os comandos aprendidos em aula para responder:
- Qual o comando para ver seu Gateway Padrão?
- Ao executar
arp -a, você vê endereços IP associados a endereços Físicos. O que acontece se você desconectar um dispositivo da rede e executar o comando novamente após alguns minutos? - Por que o IP do seu Gateway costuma terminar em
.1ou.254? (Pesquise sobre convenções de endereçamento).
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: IPv4 vs IPv6 **Resposta Comentada:** - **Fundamentação:** No contexto de **Endereçamento IP**, o conceito abordado (IPv4 vs IPv6) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: IP Privado **Resposta Comentada:** - **Fundamentação:** No contexto de **Endereçamento IP**, o conceito abordado (IP Privado) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: O papel do NAT **Resposta Comentada:** - **Fundamentação:** No contexto de **Endereçamento IP**, o conceito abordado (O papel do NAT) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Máscara de Sub-rede **Resposta Comentada:** - **Fundamentação:** No contexto de **Endereçamento IP**, o conceito abordado (Máscara de Sub-rede) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Laboratório de Terminal **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Endereçamento IP**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.Exercícios: Aula 05 - TCP, UDP e Portas 🚪
🟢 Nível Básico
- Diferença Fundamental: Explique por que o TCP é considerado um protocolo "orientado à conexão" enquanto o UDP é "sem conexão".
- Portas Famosas: Cite o número da porta padrão para os seguintes protocolos:
- HTTP:
- HTTPS:
- SSH:
- DNS:
🟡 Nível Intermediário
-
Escolha de Protocolo: Imagine que você está desenvolvendo um aplicativo de mensagens instantâneas (como o WhatsApp) e um sistema de transmissão de vídeo ao vivo (Live Stream). Qual protocolo (TCP ou UDP) você escolheria para cada um e por quê?
-
Sockets: Defina o que é um Socket e dê um exemplo de como ele é representado (IP + Porta). Como as portas evitam o conflito entre um navegador e um jogo rodando no mesmo PC?
🔴 Desafio
- Análise de Diagnóstico: Você desconfia que um programa malicioso está usando uma porta aberta no seu computador para enviar dados para fora.
- Qual comando de terminal você usaria para listar todos os processos e as portas que eles estão usando?
- Como você identificaria se uma conexão é de "Entrada" (Listening) ou já está "Estabelecida" (Established)?
- O que significa o estado
TIME_WAITem uma conexão TCP?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Diferença Fundamental **Resposta Comentada:** - **Fundamentação:** No contexto de **TCP, UDP e Portas**, o conceito abordado (Diferença Fundamental) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Portas Famosas **Resposta Comentada:** - **Fundamentação:** No contexto de **TCP, UDP e Portas**, o conceito abordado (Portas Famosas) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Escolha de Protocolo **Resposta Comentada:** - **Fundamentação:** No contexto de **TCP, UDP e Portas**, o conceito abordado (Escolha de Protocolo) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Sockets **Resposta Comentada:** - **Fundamentação:** No contexto de **TCP, UDP e Portas**, o conceito abordado (Sockets) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Análise de Diagnóstico **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **TCP, UDP e Portas**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.Exercícios: Aula 06 - DNS e Resolução de Nomes 📝
🟢 Nível Básico
- O que é DNS?: Explique a analogia da "Lista de Contatos" para o DNS. O que aconteceria se você deletasse todos os servidores DNS do mundo hoje?
- Registros Comuns: Diferencie um registro do tipo A de um registro do tipo AAAA.
🟡 Nível Intermediário
-
Hierarquia DNS: Descreva o caminho que uma consulta DNS percorre, desde o seu computador até o servidor autoritativo, quando você acessa
educacao.google.com.br. -
Cache DNS: Por que seu computador guarda um "cache" das consultas DNS? Qual a vantagem disso para a velocidade de navegação e qual o comando para limpar esse cache no Windows?
🔴 Desafio
- nslookup Avançado: Utilize o terminal para realizar as seguintes tarefas:
- Descubra o endereço IP do site
wikipedia.org. - Descubra quais são os servidores de e-mail (registro MX) do domínio
microsoft.com. - Tente fazer um
nslookupusando um servidor DNS específico (ex: o do Google8.8.8.8). Como o comando muda?
- Descubra o endereço IP do site
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: O que é DNS? **Resposta Comentada:** - **Fundamentação:** No contexto de **DNS e Resolução de Nomes**, o conceito abordado (O que é DNS?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Registros Comuns **Resposta Comentada:** - **Fundamentação:** No contexto de **DNS e Resolução de Nomes**, o conceito abordado (Registros Comuns) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Hierarquia DNS **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **DNS e Resolução de Nomes**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Cache DNS **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **DNS e Resolução de Nomes**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: nslookup Avançado **Resposta Comentada:** - **Fundamentação:** No contexto de **DNS e Resolução de Nomes**, o conceito abordado (nslookup Avançado) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 07 - FTP e SSH 🔑
🟢 Nível Básico
- FTP Tradicional: Explique para que serve o protocolo FTP e quais são as duas portas padrão utilizadas por ele.
- SSH: Por que o SSH é considerado "seguro" em comparação com protocolos antigos como o Telnet? Como ele protege o que você digita no terminal?
🟡 Nível Intermediário
-
SFTP vs FTP: Se uma empresa te contratar para gerenciar o servidor dela, qual dos dois protocolos você usaria para subir os arquivos do site? Justifique sua escolha com base em segurança.
-
Autenticação: Explique a diferença entre entrar em um servidor SSH usando uma senha comum e usar chaves criptográficas (pública e privada). Qual método é mais resistente a ataques de "força bruta"?
🔴 Desafio
- Cenário de Administração: Imagine que você precisa enviar um arquivo de configuração de 1GB de um servidor em São Paulo para um servidor em Nova York de forma segura e rápida via linha de comando.
- Qual comando (utilizando SSH de base) você usaria?
- Como você verificaria se a conexão está ativa durante a transferência?
- O que significa a mensagem "Host key verification failed" ao tentar se conectar via SSH a uma nova máquina?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: FTP Tradicional **Resposta Comentada:** - **Fundamentação:** No contexto de **FTP e SSH**, o conceito abordado (FTP Tradicional) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: SSH **Resposta Comentada:** - **Fundamentação:** No contexto de **FTP e SSH**, o conceito abordado (SSH) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: SFTP vs FTP **Resposta Comentada:** - **Fundamentação:** No contexto de **FTP e SSH**, o conceito abordado (SFTP vs FTP) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Autenticação **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **FTP e SSH**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Cenário de Administração **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **FTP e SSH**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.Exercícios: Aula 08 - Proxy e Proxy Reverso 🔄
🟢 Nível Básico
- Definição de Proxy: Em suas palavras, o que é um servidor Proxy e qual seu papel de "intermediário"?
- Proxy Direto: Cite duas razões pelas quais uma escola ou empresa instalaria um Proxy para seus funcionários/alunos.
🟡 Nível Intermediário
-
Proxy Reverso e Segurança: Como um Proxy Reverso ajuda a proteger um servidor de Banco de Dados que está escondido na rede interna?
-
Balanceamento de Carga: Explique como um Proxy Reverso (como o Nginx) consegue distribuir o tráfego de um site que está recebendo 1 milhão de acessos para 5 servidores diferentes.
🔴 Desafio
- Arquitetura de Sistemas: Desenhe ou descreva uma infraestrutura que utilize tanto um Proxy Direto (para os funcionários saírem para a internet) quanto um Proxy Reverso (para receber clientes externos no site da empresa).
- Onde ficaria o Firewall em relação a esses proxies?
- Qual deles seria responsável por fazer o "cache" de imagens pesadas para acelerar o carregamento do site para clientes externos?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Definição de Proxy **Resposta Comentada:** - **Fundamentação:** No contexto de **Proxy e Proxy Reverso**, o conceito abordado (Definição de Proxy) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Proxy Direto **Resposta Comentada:** - **Fundamentação:** No contexto de **Proxy e Proxy Reverso**, o conceito abordado (Proxy Direto) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Proxy Reverso e Segurança **Resposta Comentada:** - **Fundamentação:** No contexto de **Proxy e Proxy Reverso**, o conceito abordado (Proxy Reverso e Segurança) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Balanceamento de Carga **Resposta Comentada:** - **Fundamentação:** No contexto de **Proxy e Proxy Reverso**, o conceito abordado (Balanceamento de Carga) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Arquitetura de Sistemas **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Proxy e Proxy Reverso**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.Exercícios: Aula 09 - Ferramentas de Comando ⌨️
🟢 Nível Básico
- Diagnóstico Inicial: Se você não consegue acessar nenhum site, mas o comando
ping 8.8.8.8funciona, qual é a causa mais provável do problema? - Identificação: Qual comando você usaria para descobrir o nome da sua própria máquina na rede?
🟡 Nível Intermediário
-
Tracert vs Pathping: Explique em qual situação o
pathpingé superior aotracertpara diagnosticar uma rede lenta. -
Tabela ARP: Por que um administrador de redes usaria o comando
arp -apara descobrir se há um dispositivo intruso conectado na rede local?
🔴 Desafio
- Cenário de Suporte: Um usuário reclama que o site da empresa (
intranet.empresa.com) está fora do ar para ele, mas funciona para todos os outros colegas no mesmo escritório.- Quais os 3 primeiros comandos que você pediria para ele rodar?
- Como o comando
ipconfig /flushdnspoderia ajudar nesse caso específico? - Se o
pingpara o IP do servidor funcionar, mas opingpara o nome falhar, o que isso confirma?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Diagnóstico Inicial **Resolução e Implementação:**// Estrutura de implementação recomendada para Diagnóstico Inicial
// Validação de regras de negócio e retorno consistente
Exercícios: Aula 10 - Análise com Wireshark 🦈
🟢 Nível Básico
- O que é um Sniffer?: Explique o conceito de "farejador de pacotes" e cite um exemplo de uso legítimo dessa ferramenta.
- Interface: No Wireshark, o que a janela de "Detalhes do Pacote" (a do meio) nos mostra em relação às camadas do modelo OSI/TCP-IP?
🟡 Nível Intermediário
-
Filtros de Exibição: Escreva o filtro que você usaria no Wireshark para:
- Ver apenas tráfego do site com IP
104.16.124.175. - Ver apenas consultas de nomes (DNS).
- Ver pacotes que usam a porta 80 (HTTP).
- Ver apenas tráfego do site com IP
-
Flags TCP: Durante uma captura, você vê um pacote com a flag
[SYN]e outro logo em seguida com[SYN, ACK]. O que está acontecendo nesse exato momento na rede?
🔴 Desafio
- Análise de Segurança: Imagine que você capturou o tráfego de um colega acessando um site de banco via Wi-Fi público.
- Se o site usar HTTP (sem o S), o que você conseguiria ver nos pacotes?
- Se o site usar HTTPS, por que você não conseguiria ver a senha dele, mesmo capturando todos os pacotes?
- O que significa quando o Wireshark marca linhas em vermelho ou preto durante a captura?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: O que é um Sniffer? **Resposta Comentada:** - **Fundamentação:** No contexto de **Análise com Wireshark**, o conceito abordado (O que é um Sniffer?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Interface **Resposta Comentada:** - **Fundamentação:** No contexto de **Análise com Wireshark**, o conceito abordado (Interface) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Filtros de Exibição **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Análise com Wireshark**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Flags TCP **Resposta Comentada:** - **Fundamentação:** No contexto de **Análise com Wireshark**, o conceito abordado (Flags TCP) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Análise de Segurança **Resposta Comentada:** - **Fundamentação:** No contexto de **Análise com Wireshark**, o conceito abordado (Análise de Segurança) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 11 - Funcionamento da Web 🌐
🟢 Nível Básico
-
URL vs Domínio: Na URL
https://blog.exemplo.com.br/artigos/redes, identifique:- O Protocolo:
- O Subdomínio:
- O Domínio Principal:
- O Caminho (Path):
-
Papel do Browser: Cite duas funções principais de um navegador de internet além de apenas exibir o texto das páginas.
🟡 Nível Intermediário
-
A Jornada do Clique: Coloque na ordem correta os eventos que ocorrem quando você clica em um link:
- ( ) O servidor envia o HTML.
- ( ) O navegador solicita o IP ao DNS.
- ( ) O navegador renderiza a página.
- ( ) Ocorre o Three-Way Handshake TCP.
- ( ) O navegador envia um GET HTTP.
-
F12 - DevTools: Explique para que serve a aba Network (Rede) das ferramentas do desenvolvedor nos navegadores.
🔴 Desafio
- Otimização e Performance: Ao inspecionar a carga de um site pesado, você nota que ele faz 150 requisições para baixar ícones pequenos individualmente.
- Como isso afeta a experiência do usuário em uma rede lenta?
- Por que o navegador baixa vários arquivos (CSS, JS, Imagens) ao mesmo tempo em vez de um por um?
- O que acontece se o servidor DNS demorar 5 segundos para responder? O site vai carregar rápido depois disso?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: URL vs Domínio **Resposta Comentada:** - **Fundamentação:** No contexto de **Funcionamento da Web**, o conceito abordado (URL vs Domínio) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Papel do Browser **Resposta Comentada:** - **Fundamentação:** No contexto de **Funcionamento da Web**, o conceito abordado (Papel do Browser) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: A Jornada do Clique **Resposta Comentada:** - **Fundamentação:** No contexto de **Funcionamento da Web**, o conceito abordado (A Jornada do Clique) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: F12 - DevTools **Resposta Comentada:** - **Fundamentação:** No contexto de **Funcionamento da Web**, o conceito abordado (F12 - DevTools) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Otimização e Performance **Resposta Comentada:** - **Fundamentação:** No contexto de **Funcionamento da Web**, o conceito abordado (Otimização e Performance) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 12 - Estrutura do HTTP ✉️
🟢 Nível Básico
- Request vs Response: Quem envia a Request e quem envia a Response em uma comunicação web padrão?
- Verbos HTTP: Qual método você usaria para:
- Pesquisar um termo no Google:
- Enviar um formulário de cadastro de novo usuário:
🟡 Nível Intermediário
-
Cabeçalhos (Headers): Para que servem os seguintes cabeçalhos de requisição?
Host:User-Agent:Content-Type:
-
Stateless: O que significa dizer que o protocolo HTTP é "Stateless" (sem estado)? Como os sites conseguem manter você logado apesar disso?
🔴 Desafio
- Análise de Payload: Imagine que você está enviando uma imagem de 5MB via formulário web.
- Essa imagem viaja no Cabeçalho ou no Corpo da requisição?
- Qual método (GET ou POST) é obrigatório para esse envio e por quê?
- Se o servidor responder com
413 Payload Too Large, o que isso significa na prática?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Request vs Response **Resposta Comentada:** - **Fundamentação:** No contexto de **Estrutura do HTTP ✉️**, o conceito abordado (Request vs Response) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Verbos HTTP **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Estrutura do HTTP ✉️**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Cabeçalhos (Headers) **Resposta Comentada:** - **Fundamentação:** No contexto de **Estrutura do HTTP ✉️**, o conceito abordado (Cabeçalhos (Headers)) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Stateless **Resposta Comentada:** - **Fundamentação:** No contexto de **Estrutura do HTTP ✉️**, o conceito abordado (Stateless) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Análise de Payload **Resposta Comentada:** - **Fundamentação:** No contexto de **Estrutura do HTTP ✉️**, o conceito abordado (Análise de Payload) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 13 - Status e Sessões 🚦
🟢 Nível Básico
- Código Amigo: Se você recebe o código
201 Createdapós enviar um formulário, a sua operação deu certo ou errado? Explique. - Stateless: O que aconteceria com um sistema de login se o navegador não suportasse Cookies?
🟡 Nível Intermediário
-
Diferença de Erros: Explique a diferença entre os erros
403 Forbiddene404 Not Found. -
Sessão vs Cookie: Onde cada um é armazenado (Cliente ou Servidor) e qual é a relação entre eles?
🔴 Desafio
- Cenário de Segurança: Um usuário notou que, ao copiar um link de um site onde ele estava logado e enviar para um amigo, o amigo conseguiu acessar a conta dele automaticamente (sem senha).
- Como isso é possível? (Dica: Session ID na URL ou Cookie Session).
- Quais os riscos de deixar uma sessão ativa em um computador público?
- Como o botão "Sair" (Logout) ajuda a mitigar esse problema?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Código Amigo **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Status e Sessões**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Stateless **Resposta Comentada:** - **Fundamentação:** No contexto de **Status e Sessões**, o conceito abordado (Stateless) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Diferença de Erros **Resposta Comentada:** - **Fundamentação:** No contexto de **Status e Sessões**, o conceito abordado (Diferença de Erros) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Sessão vs Cookie **Resposta Comentada:** - **Fundamentação:** No contexto de **Status e Sessões**, o conceito abordado (Sessão vs Cookie) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Cenário de Segurança **Resposta Comentada:** - **Fundamentação:** No contexto de **Status e Sessões**, o conceito abordado (Cenário de Segurança) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 14 - HTTPS e SSL/TLS 🔒
🟢 Nível Básico
- S de Segurança: O que significa o "S" na sigla HTTPS e qual protocolo ele utiliza por baixo?
- Identificação: Como você pode verificar no navegador se o certificado de um site é confiável?
🟡 Nível Intermediário
-
Criptografia Assimétrica: Por que o servidor entrega a sua Chave Pública para qualquer pessoa, mas guarda a Privada em segredo absoluto?
-
CAs: O que é uma Autoridade Certificadora e por que não devemos confiar em certificados "auto-assinados" (criados pelo próprio dono do site sem validação)?
🔴 Desafio
- Ataque Man-in-the-Middle: Imagine que um hacker criou um Wi-Fi gratuito chamado "Wi-Fi_Aeroporto".
- Se você acessar um site HTTP, o que o hacker pode ver?
- Se o site for HTTPS, o hacker ainda consegue ver sua senha? Justifique.
- O que significa o aviso "Sua conexão não é particular" que o navegador exibe às vezes?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: S de Segurança **Resposta Comentada:** - **Fundamentação:** No contexto de **HTTPS e SSL/TLS**, o conceito abordado (S de Segurança) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Identificação **Resposta Comentada:** - **Fundamentação:** No contexto de **HTTPS e SSL/TLS**, o conceito abordado (Identificação) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Criptografia Assimétrica **Resposta Comentada:** - **Fundamentação:** No contexto de **HTTPS e SSL/TLS**, o conceito abordado (Criptografia Assimétrica) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: CAs **Resposta Comentada:** - **Fundamentação:** No contexto de **HTTPS e SSL/TLS**, o conceito abordado (CAs) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Ataque Man-in-the-Middle **Resposta Comentada:** - **Fundamentação:** No contexto de **HTTPS e SSL/TLS**, o conceito abordado (Ataque Man-in-the-Middle) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 15 - Laboratório: Servidor HTTP 🛠️
🟢 Nível Básico
- Definição: O que transforma um computador comum em um "Servidor Web"?
- Arquivos: Qual é o nome padrão do arquivo que os servidores web buscam automaticamente quando acessamos uma pasta (diretório)?
🟡 Nível Intermediário
-
Portas de Lab: Por que em ambientes de desenvolvimento usamos portas como
8080,3000ou5500em vez da porta80? -
Localhost: Explique a diferença entre acessar seu servidor via
http://localhost:8080e viahttp://192.168.1.XX:8080.
🔴 Desafio
- Firewall e Acesso Externo: Você subiu seu servidor no PC, mas seu amigo sentado ao lado não consegue acessar o site pelo IP dele.
- Cite dois motivos técnicos para esse bloqueio (Dica: Rede e Software).
- O que acontece se você tiver dois servidores rodando ao mesmo tempo tentando usar a mesma porta?
- Como você faria para que seu servidor fosse acessível por alguém em outra cidade? (Conceito de IP Público/Encaminhamento de Porta).
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: Definição **Resposta Comentada:** - **Fundamentação:** No contexto de **Laboratório: Servidor HTTP ️**, o conceito abordado (Definição) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Arquivos **Resposta Comentada:** - **Fundamentação:** No contexto de **Laboratório: Servidor HTTP ️**, o conceito abordado (Arquivos) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Portas de Lab **Resposta Comentada:** - **Fundamentação:** No contexto de **Laboratório: Servidor HTTP ️**, o conceito abordado (Portas de Lab) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Localhost **Resposta Comentada:** - **Fundamentação:** No contexto de **Laboratório: Servidor HTTP ️**, o conceito abordado (Localhost) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: Firewall e Acesso Externo **Resposta Comentada:** - **Fundamentação:** No contexto de **Laboratório: Servidor HTTP ️**, o conceito abordado (Firewall e Acesso Externo) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Exercícios: Aula 16 - Clientes HTTP e APIs 🤖
🟢 Nível Básico
- O que é API?: Explique com suas palavras o que é uma API e por que elas são importantes para o desenvolvimento moderno.
- JSON: O que significa a sigla JSON e por que ela é o formato favorito para troca de dados em vez do HTML?
🟡 Nível Intermediário
-
Padrão REST: Relacione os métodos HTTP com a ação pretendida em uma API:
- ( ) GET /produtos
- ( ) POST /produtos
- ( ) DELETE /produtos/12
- ...com as ações: (A) Criar produto, (B) Deletar produto ID 12, (C) Listar produtos.
-
Clientes de Teste: Cite uma diferença entre o uso do Navegador e o uso do comando
curlpara testar uma API.
🔴 Desafio
- Integração de Sistemas: Imagine que você está criando um aplicativo de clima.
- De onde seu app tira os dados da temperatura em tempo real?
- Como o formato JSON ajuda seu app a ler esses dados facilmente?
- O que aconteceria se a API de clima mudasse o formato dos dados sem avisar o seu aplicativo?
📚 Gabarito e Soluções Comentadas
Gabarito Explicado
### Questão 1: O que é API? **Resposta Comentada:** - **Fundamentação:** No contexto de **Clientes HTTP e APIs**, o conceito abordado (O que é API?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: JSON **Resposta Comentada:** - **Fundamentação:** No contexto de **Clientes HTTP e APIs**, o conceito abordado (JSON) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Padrão REST **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Clientes HTTP e APIs**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Clientes de Teste **Resolução e Implementação:** - **Explicação:** A solução atende diretamente aos requisitos de **Clientes HTTP e APIs**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Integração de Sistemas **Resposta Comentada:** - **Fundamentação:** No contexto de **Clientes HTTP e APIs**, o conceito abordado (Integração de Sistemas) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.Projetos
🚀 Projetos do Curso
Lista completa das 20 unidades de projetos organizadas em 5 módulos didáticos.
-
Módulo 1: Fundamentos (01 a 04) ---
-
Módulo 2: Conceitos Essenciais (05 a 08) ---
-
Módulo 3: Aplicação Prática (09 a 12) ---
-
Módulo 4: Padrões e Ferramentas (13 a 16) ---
-
Módulo 5: Avançado e Capstone (17 a 20) ---
Projeto 01 - Mapeamento da Rede Local 🗺️
Objetivo
Identificar e catalogar os dispositivos presentes na sua rede local (LAN), compreendendo a estrutura de conexão entre eles.
Materiais Necessários
- Um computador conectado à rede (Wi-Fi ou Cabo).
- Acesso ao Terminal (CMD ou PowerShell).
- (Opcional) Smartphone.
Passo a Passo
1. Descobrir sua Própria Identidade
Abra o terminal e execute:
Anote o nome do seu computador e o seu endereço IP IPv4.2. Verificar o Gateway
No comando ipconfig, localize o Gateway Padrão. Este é o endereço do seu roteador. Tente acessá-lo pelo navegador (geralmente http://192.168.1.1 ou http://192.168.0.1).
Atenção: Não altere configurações do roteador sem autorização! Apenas veja a página de login.
3. Escaneando vizinhos
Execute o comando:
Este comando mostra a tabela de endereços físicos conhecidos pelo seu PC. Conte quantos dispositivos aparecem na lista.Entrega Esperada
Um pequeno relatório contendo: * O nome do seu host. * Seu IP local. * O IP do seu roteador. * Uma lista de pelo menos 2 outros IPs encontrados na rede e o que você acha que eles são (Ex: Smart TV, Celular do pai, etc).
Projeto 02 - Inventário de Hardware de Rede 💳
Objetivo
Realizar uma auditoria técnica nas interfaces de rede do seu dispositivo, identificando fabricantes e endereços físicos (MAC).
Materiais Necessários
- Computador com Windows.
- Terminal.
Passo a Passo
1. Listar todas as Interfaces
No terminal, utilize o comando detalhado:
Procure pelas seções "Adaptador Ethernet" e/ou "Adaptador LAN sem fio".2. Coletar o "RG" do Hardware
Para cada placa de rede ativa, identifique: * Descrição: O nome e fabricante do hardware (Ex: Realtek, Intel, Qualcomm). * Endereço Físico (MAC): A sequência de 12 caracteres hexadecimais.
3. Verificar Status de Conexão
Tente descobrir se o seu dispositivo está usando DHCP (atribuição automática de IP) ou se tem um IP fixo. No ipconfig /all, procure por "DHCP Habilitado . . . . : Sim".
Entrega Esperada
Crie uma tabela simples: | Interface | Fabricante | Endereço MAC | DHCP Ativo? | | :--- | :--- | :--- | :--- | | Wi-Fi | Ex: Intel | AA:BB:CC... | Sim | | Ethernet | Ex: Realtek | 11:22:33... | Não |
Projeto 03 - Rastreando o Caminho dos Dados 🛰️
Objetivo
Analisar a rota percorrida pelos dados da sua casa até grandes servidores da Internet, identificando os "saltos" (hops) e a latência.
Materiais Necessários
- Conexão estável com a Internet.
- Terminal.
Passo a Passo
1. Testando a Rota Nacional
Execute o comando para um site brasileiro conhecido (Ex: uol.com.br):
Observe quantos saltos são necessários. Geralmente, os primeiros saltos são dentro da sua operadora (ISP).2. Testando a Rota Internacional
Agora, tente um servidor do outro lado do mundo (Ex: bbc.co.uk):
Note se o número de saltos aumenta e se o tempo de resposta (em milissegundos) sobe significadamente.3. O Fim da Linha
O que acontece se você tentar rastrear um IP que não existe?
Entrega Esperada
Responda: 1. Quantos saltos foram necessários para chegar ao Google? 2. Qual foi o maior tempo de resposta (latência) encontrado e em qual parte do caminho ele ocorreu? 3. Você conseguiu identificar algum nome de servidor de operadora (Ex: Embratel, Vivo, Claro) durante o rastreio?
Projeto 04 - Planejamento de Endereçamento IP 📍
Objetivo
Simular o planejamento de uma rede para uma pequena empresa, definindo faixas de IP e configurações de rede.
Cenário
A empresa "NetTech" tem: * 1 Roteador principal. * 1 Servidor de Arquivos. * 3 Computadores na recepção. * 1 Impressora de rede.
Tarefa
Você deve designar os endereços IPv4 para cada dispositivo usando a rede 192.168.10.0 com máscara 255.255.255.0.
Recomendações:
- Geralmente o Roteador (Gateway) fica com o primeiro (
.1) ou último (.254) IP disponível. - Servidores e Impressoras devem ter IPs fixos e baixos para fácil memorização.
- Estações de trabalho podem seguir uma sequência.
Entrega Esperada (Tabela de Planejamento)
| Dispositivo | Endereço IP Sugerido | Máscara | Gateway |
|---|---|---|---|
| Roteador | - | ||
| Servidor | |||
| PC-Recepcao-1 | |||
| PC-Recepcao-2 | |||
| PC-Recepcao-3 | |||
| Impressora |
Pergunta Extra: Por que não usamos IPs públicos (como 200.x.x.x) dentro desse escritório?
Projeto 05 - Monitoramento de Conexões e Portas 🚪
Objetivo
Identificar quais aplicativos estão utilizando a rede no seu computador e quais portas lógicas estão abertas, compreendendo a segurança e o fluxo de dados.
Materiais Necessários
- Computador com Windows/Linux/Mac.
- Navegador Web.
- Terminal com privilégios de Administrador.
Passo a Passo
1. Listar Portas em Escuta (Listening)
No terminal como administrador, execute:
Anote o número de 3 portas que estão aguardando conexões.2. Identificar o "Dono" da Porta
Escolha o PID (número final da linha do netstat) de uma porta aberta e descubra qual programa a está usando:
3. Simular uma Conexão Ativa
Abra um vídeo no YouTube e, enquanto ele carrega, execute rapidamente:
Você verá várias conexões no estadoESTABLISHED.
Entrega Esperada
Um relatório com:
1. Uma lista de 3 portas abertas e os respectivos programas que as utilizam.
2. O que significa o estado ESTABLISHED no netstat?
3. Por que a maioria das conexões web hoje em dia usa a porta 443 em vez da porta 80?
Projeto 06 - Diagnóstico e Investigação DNS 📝
Objetivo
Explorar o funcionamento prático do DNS, simulando falhas de resolução e investigando registros de grandes domínios.
Materiais Necessários
- Conexão com a Internet.
- Terminal.
Passo a Passo
1. Investigação de Domínio
Utilize o comando nslookup para descobrir os endereços IP (Registros A) do site github.com.
2. Mudando o "Informante"
Por padrão, o nslookup usa o DNS da sua operadora. Agora, force o uso do DNS do Google (8.8.8.8) para consultar o mesmo domínio:
3. Limpeza de Memória (Cache)
Simule uma correção de bug de rede limpando o cache local de nomes:
Entrega Esperada
Responda:
1. Quantos IPs o github.com possui segundo sua consulta?
2. Qual a diferença entre o resultado do DNS da sua operadora e o DNS do Google (se houver)?
3. Pesquise: O que é o arquivo hosts do Windows (C:\Windows\System32\drivers\etc\hosts) e como ele pode ser usado para "pular" a consulta ao servidor DNS?
Projeto 07 - Gestão Remota de Servidores 🔑
Objetivo
Compreender o fluxo de trabalho de um administrador de sistemas ao gerenciar um servidor remoto de forma segura.
Materiais Necessários
- Computador com acesso à internet.
- Navegador (para pesquisa).
Passo a Passo
1. Simulação de Fluxo (Teórico/Pesquisa)
Imagine que você precisa atualizar o site de uma empresa que está hospedado em um servidor Linux na nuvem.
* Ação A: Enviar a nova imagem da logo (logo_v2.png).
* Ação B: Reiniciar o serviço do servidor Web para aplicar as mudanças.
2. Ferramentas
Pesquise e escolha uma ferramenta gráfica para realizar a Ação A (Ex: FileZilla) e uma ferramenta de linha de comando para a Ação B (Ex: Terminal/PowerShell com SSH).
3. Segurança de Chaves
Pesquise como gerar um par de chaves SSH (pública e privada) no Windows usando o comando ssh-keygen.
Entrega Esperada
Um guia de "Boas Práticas" contendo: 1. Quais comandos/protocolos você usaria para as Ações A e B? 2. Por que você nunca deve salvar a senha do seu servidor em um arquivo de texto simples no seu PC? 3. Qual a diferença entre a Chave Pública (que vai para o servidor) e a Chave Privada (que fica no seu PC)?
Projeto 08 - Caça aos Proxies e Cabeçalhos 🔄
Objetivo
Identificar a presença de intermediários (Proxies/Load Balancers) em sites famosos através da análise de cabeçalhos HTTP.
Materiais Necessários
- Terminal com comando
curl(padrão no Windows 10/11).
Passo a Passo
1. Interrogando o Google
Execute o comando para ler apenas o cabeçalho de resposta:
Procure por linhas comoServer: ou Cache-Control:.
2. Investigando a Cloudflare
Muitos sites usam o proxy reverso da Cloudflare. Tente com o site do Discord:
Procure pela linhacf-ray: ou Server: cloudflare.
3. Analisando a "Via"
Algumas redes corporativas inserem um cabeçalho chamado Via:. Tente descobrir se a sua rede local possui um proxy transparente.
Entrega Esperada
Um relatório comparativo entre dois sites (Ex: Google vs Discord): 1. Quais informações sobre o servidor aparecem no cabeçalho de cada um? 2. Você encontrou evidências de um Proxy Reverso (como Cloudflare, Nginx ou Akamai)? 3. Como essas informações ajudam um atacante ou um defensor de redes?
Projeto 09 - Relatório de Troubleshooting Profissional 🚑
Objetivo
Simular a rotina de um técnico de suporte ao diagnosticar uma falha de conectividade complexa e documentar o processo.
Materiais Necessários
- Terminal.
Passo a Passo
1. Cenário Hipotético
O servidor de arquivos da sua empresa (arquivos.empresa.local) parou de responder para você.
2. Investigação em Cadeia
Execute e anote os resultados dos seguintes comandos:
1. Verify the Gateway: ping 192.168.1.1 (ou seu IP de gateway real).
2. Verify DNS: nslookup arquivofalso.com.br.
3. Path Tracking: tracert 8.8.8.8.
3. Log de Comandos
Crie um arquivo .txt ou .md contendo a saída de cada comando e uma breve explicação do que cada um provou (ex: "O ping no gateway funcionou, provando que o cabo e o roteador estão ok").
Entrega Esperada
Um arquivo de log contendo:
* Os resultados dos comandos.
* Conclusão: Você acha que o problema é no servidor, no DNS ou na sua placa de rede?
* Explique a diferença entre a saída de um ping bem sucedido e um Request timed out.
Projeto 10 - Minha Primeira Captura de Tráfego 🦈
Objetivo
Instalar o Wireshark (ou analisar uma captura pronta) para entender como as camadas do modelo TCP/IP se empilham em um pacote real.
Materiais Necessários
- Software Wireshark instalado (ou prints de tela fornecidos pelo professor).
Passo a Passo
1. Iniciar Captura
Abra o Wireshark, selecione sua interface ativa (Wi-Fi/Ethernet) e inicie a captura.
2. Gerar Tráfego
Abra o navegador e acesse um site que não use HTTPS para teste (Ex: http://neverssl.com ou http://example.com).
3. Aplicar Filtro
Pare a captura e digite http na barra de filtro superior.
4. Analisar Camadas
Clique em um pacote do tipo GET. Na janela central, visualize:
* Frame: Camada Física.
* Ethernet II: Camada de Enlace (MAC).
* Internet Protocol: Camada de Internet (IP).
* Transmission Control Protocol: Camada de Transporte (TCP).
* Hypertext Transfer Protocol: Camada de Aplicação (HTTP).
Entrega Esperada
Um print da tela ou descrição detalhada de: 1. Os endereços IP de Origem e Destino de um pacote. 2. Qual o número da porta de destino? 3. Você conseguiu ler alguma palavra do site dentro do pacote?
Projeto 11 - Inspeção de Rede no Navegador 🌐
Objetivo
Utilizar as ferramentas de desenvolvedor (DevTools) para visualizar o "atrás das câmeras" de um site moderno e pesado.
Materiais Necessários
- Navegador (Chrome, Firefox ou Edge).
Passo a Passo
1. Abrir o Inspecionar
Acesse um portal de notícias (Ex: G1, CNN, Yahoo). Aperte F12 e vá na aba Network (Rede).
2. Analisar a Cascata (Waterfall)
Recarregue a página (F5). Observe as barras coloridas que mostram a ordem de download.
3. Filtrar Imagens
Clique no filtro Img. Veja quantas imagens o site carrega e o tamanho de cada uma.
4. Verificar Status
Procure por qualquer linha que esteja em vermelho ou com código 404 (arquivo não encontrado).
Entrega Esperada
Responda: 1. Quantas requisições totais o site fez para carregar a página? 2. Qual foi o arquivo que demorou mais tempo para ser baixado? 3. O que acontece com o site se você clicar em "Disable Cache" e recarregar?
Projeto 12 - Desvendando Cabeçalhos com Curl ✉️
Objetivo
Aprender a interagir com servidores web usando apenas a linha de comando, focando na leitura de metadados (headers).
Materiais Necessários
- Terminal com
curlinstalado.
Passo a Passo
1. Requisição de Cabeçalho (I)
Execute:
Identifique o campoContent-Type.
2. Requisição Verbose (v)
Execute:
Observe as linhas que começam com> (enviadas por você) e as que começam com < (recebidas do servidor).
3. Analisando o Servidor
Tente descobrir qual servidor web o site www.pudim.com.br utiliza.
Entrega Esperada
Relatório contendo:
1. O cabeçalho Server de 3 sites diferentes.
2. A explicação do que o cabeçalho User-Agent diz ao servidor.
3. Qual a diferença visual entre a saída do curl -I e do curl -v?
Projeto 13 - Detetive de Cookies 🍪
Objetivo
Visualizar na prática como os sites usam cookies para manter você logado e quais informações eles guardam sobre sua navegação.
Materiais Necessários
- Navegador moderno.
Passo a Passo
1. Escolha do Alvo
Selecione um site onde você tenha conta (Ex: Google, GitHub, Facebook ou um site de notícias).
2. Abrindo o Cofre
Aperte F12 e vá até a aba Application (Google Chrome) ou Storage (Firefox). No menu lateral esquerdo, clique em Cookies.
3. Analisando as Chaves
Observe a lista de cookies. Tente encontrar chaves com nomes como:
* session_id
* user_token
* _ga (Google Analytics)
4. O Teste do Esquecimento
- Localize o cookie principal de login (geralmente o mais longo).
- Clique com o botão direito e selecione "Delete".
- Atualize a página (F5).
- O que aconteceu? Você ainda está logado?
Entrega Esperada
Um breve relatório respondendo: 1. Qual site você analisou? 2. Quantos cookies no total o site tinha armazenado no seu PC? 3. O que aconteceu quando você deletou o cookie de sessão?
Projeto 14 - Auditoria de Certificados Digitais 📜
Objetivo
Entender a cadeia de confiança da internet e identificar quem são os "vigias" da web.
Materiais Necessários
- Navegador moderno.
Passo a Passo
1. Inspeção de Gigantes
Acesse os sites: google.com, github.com e microsoft.com.
2. Verificação de CA
Para cada um, clique no cadeado ➡️ "Conexão segura" ➡️ "O certificado é válido". Verifique o campo Emissor (Issued by / Common Name).
3. Data de Validade
Observe a data de emissão e a data de validade. Por quanto tempo um certificado costuma ser válido hoje em dia?
4. O Site Suspeito (Opcional)
Tente encontrar um site que use um certificado da "Cloudflare" ou "Let's Encrypt". Qual a diferença visual no navegador?
Entrega Esperada
Tabela contendo: * Site | Emissor (CA) | Validade (Iníco/Fim) * Explicação curta: O que aconteceria com os usuários se a chave privada da Autoridade Certificadora fosse roubada?
Projeto 15 - Meu Primeiro Servidor na Rede Local 🏠
Objetivo
Transformar o seu computador em um host real de arquivos e permitir que outros dispositivos acessem seu conteúdo.
Materiais Necessários
- Computador e um Celular no mesmo Wi-Fi.
- Terminal com Python ou Node.js (ou Extensão Live Server).
Passo a Passo
1. Preparação do Conteúdo
Crie uma pasta com um arquivo index.html. Coloque uma foto sua ou de um personagem na mesma pasta e exiba no HTML usando a tag <img>.
2. Start no Servidor
Rode o comando: python -m http.server 8080.
3. Descoberta de IP
No terminal, digite ipconfig. Localize seu "IPv4 Address" (Ex: 192.168.1.15).
4. Acesso Móvel
No seu celular, abra o navegador e digite o IP do PC seguido da porta (Ex: http://192.168.1.15:8080).
Entrega Esperada
- Um print ou foto da tela do seu celular exibindo o site hospedado no seu PC.
- Relatório: O que aconteceu quando você tentou acessar do celular usando apenas
localhost:8080? Funcionou? Por quê?
Projeto 16 - Missão: Capturar Dados via API 👾
Objetivo
Aprender a solicitar dados estruturados de um servidor remoto sem usar o navegador, simulando o comportamento de um aplicativo real.
Materiais Necessários
- Terminal com
curl.
Passo a Passo
1. Consulta Básica
Execute o comando para pegar os dados do Pokémon Pikachu:
2. Filtrando a Bagunça
A saída foi gigante, certo? Tente redirecionar para um arquivo para ler melhor:
3. Desafio de Leitura
Abra o arquivo pikachu.json e localize:
1. Qual a "base_experience" dele?
2. Qual a altura ("height")?
4. Outras APIs (Opcional)
Tente usar curl na API de CEP brasileira:
Entrega Esperada
- O arquivo
pikachu.jsongerado. - Respostas:
- Como o servidor sabe qual Pokémon você quer apenas pela URL?
- Qual a diferença entre o que o
curlrecebe e o que você vê ao abrir ogoogle.comno navegador?
Quizzes
🧠 Quizzes de Fixação
Lista completa das 20 unidades de quizzes organizadas em 5 módulos didáticos.
-
Módulo 1: Fundamentos (01 a 04) ---
-
Módulo 2: Conceitos Essenciais (05 a 08) ---
-
Módulo 3: Aplicação Prática (09 a 12) ---
-
Módulo 4: Padrões e Ferramentas (13 a 16) ---
-
Módulo 5: Avançado e Capstone (17 a 20) ---
🧠 Quiz 01 – Introdução às Redes de Computadores 🏠
- Qual é o conceito fundamental e objetivo principal de Introdução às Redes de Computadores 🏠?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Introdução às Redes de Computadores 🏠?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Introdução às Redes de Computadores 🏠, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Introdução às Redes de Computadores 🏠?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Introdução às Redes de Computadores 🏠 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Introdução às Redes de Computadores 🏠, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Introdução às Redes de Computadores 🏠?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Introdução às Redes de Computadores 🏠 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Introdução às Redes de Computadores 🏠 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Introdução às Redes de Computadores 🏠 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 02 – Meios de Transmissão e Endereçamento Físico ⚡
- Qual é o conceito fundamental e objetivo principal de Meios de Transmissão e Endereçamento Físico ⚡?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Meios de Transmissão e Endereçamento Físico ⚡?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Meios de Transmissão e Endereçamento Físico ⚡, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Meios de Transmissão e Endereçamento Físico ⚡?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Meios de Transmissão e Endereçamento Físico ⚡ atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Meios de Transmissão e Endereçamento Físico ⚡, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Meios de Transmissão e Endereçamento Físico ⚡?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Meios de Transmissão e Endereçamento Físico ⚡ estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Meios de Transmissão e Endereçamento Físico ⚡ com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Meios de Transmissão e Endereçamento Físico ⚡ deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 03 – Modelo TCP/IP 🧬
- Qual é o conceito fundamental e objetivo principal de Modelo TCP/IP 🧬?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Modelo TCP/IP 🧬?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Modelo TCP/IP 🧬, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Modelo TCP/IP 🧬?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Modelo TCP/IP 🧬 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Modelo TCP/IP 🧬, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Modelo TCP/IP 🧬?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Modelo TCP/IP 🧬 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Modelo TCP/IP 🧬 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Modelo TCP/IP 🧬 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 04 – Endereçamento IP 📍
- Qual é o conceito fundamental e objetivo principal de Endereçamento IP 📍?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Endereçamento IP 📍?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Endereçamento IP 📍, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Endereçamento IP 📍?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Endereçamento IP 📍 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Endereçamento IP 📍, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Endereçamento IP 📍?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Endereçamento IP 📍 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Endereçamento IP 📍 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Endereçamento IP 📍 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 05 – TCP, UDP e Portas 🚪
- Qual é o conceito fundamental e objetivo principal de TCP, UDP e Portas 🚪?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de TCP, UDP e Portas 🚪?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em TCP, UDP e Portas 🚪, UDP e Portas 🚪, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em TCP, UDP e Portas 🚪?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de TCP, UDP e Portas 🚪 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em TCP, UDP e Portas 🚪, UDP e Portas 🚪, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em TCP, UDP e Portas 🚪?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a TCP, UDP e Portas 🚪 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar TCP, UDP e Portas 🚪 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a TCP, UDP e Portas 🚪 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 06 – DNS e Resolução de Nomes 📝
- Qual é o conceito fundamental e objetivo principal de DNS e Resolução de Nomes 📝?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de DNS e Resolução de Nomes 📝?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em DNS e Resolução de Nomes 📝, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em DNS e Resolução de Nomes 📝?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de DNS e Resolução de Nomes 📝 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em DNS e Resolução de Nomes 📝, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em DNS e Resolução de Nomes 📝?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a DNS e Resolução de Nomes 📝 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar DNS e Resolução de Nomes 📝 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a DNS e Resolução de Nomes 📝 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 07 – FTP e SSH 🔑
- Qual é o conceito fundamental e objetivo principal de FTP e SSH 🔑?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de FTP e SSH 🔑?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em FTP e SSH 🔑, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em FTP e SSH 🔑?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de FTP e SSH 🔑 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em FTP e SSH 🔑, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em FTP e SSH 🔑?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a FTP e SSH 🔑 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar FTP e SSH 🔑 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a FTP e SSH 🔑 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 08 – Proxy e Proxy Reverso 🔄
- Qual é o conceito fundamental e objetivo principal de Proxy e Proxy Reverso 🔄?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Proxy e Proxy Reverso 🔄?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Proxy e Proxy Reverso 🔄, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Proxy e Proxy Reverso 🔄?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Proxy e Proxy Reverso 🔄 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Proxy e Proxy Reverso 🔄, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Proxy e Proxy Reverso 🔄?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Proxy e Proxy Reverso 🔄 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Proxy e Proxy Reverso 🔄 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Proxy e Proxy Reverso 🔄 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 09 – Ferramentas de Comando ⌨️
- Qual é o conceito fundamental e objetivo principal de Ferramentas de Comando ⌨️?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Ferramentas de Comando ⌨️?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Ferramentas de Comando ⌨️, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Ferramentas de Comando ⌨️?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Ferramentas de Comando ⌨️ atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Ferramentas de Comando ⌨️, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Ferramentas de Comando ⌨️?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Ferramentas de Comando ⌨️ estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Ferramentas de Comando ⌨️ com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Ferramentas de Comando ⌨️ deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 10 – Análise com Wireshark 🦈
- Qual é o conceito fundamental e objetivo principal de Análise com Wireshark 🦈?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Análise com Wireshark 🦈?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Análise com Wireshark 🦈, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Análise com Wireshark 🦈?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Análise com Wireshark 🦈 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Análise com Wireshark 🦈, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Análise com Wireshark 🦈?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Análise com Wireshark 🦈 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Análise com Wireshark 🦈 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Análise com Wireshark 🦈 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 11 – Funcionamento da Web 🌐
- Qual é o conceito fundamental e objetivo principal de Funcionamento da Web 🌐?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Funcionamento da Web 🌐?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Funcionamento da Web 🌐, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Funcionamento da Web 🌐?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Funcionamento da Web 🌐 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Funcionamento da Web 🌐, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Funcionamento da Web 🌐?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Funcionamento da Web 🌐 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Funcionamento da Web 🌐 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Funcionamento da Web 🌐 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 12 – Estrutura do HTTP ✉️
- Qual é o conceito fundamental e objetivo principal de Estrutura do HTTP ✉️?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Estrutura do HTTP ✉️?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Estrutura do HTTP ✉️, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Estrutura do HTTP ✉️?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Estrutura do HTTP ✉️ atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Estrutura do HTTP ✉️, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Estrutura do HTTP ✉️?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Estrutura do HTTP ✉️ estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Estrutura do HTTP ✉️ com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Estrutura do HTTP ✉️ deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 13 – Status e Sessões 🚦
- Qual é o conceito fundamental e objetivo principal de Status e Sessões 🚦?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Status e Sessões 🚦?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Status e Sessões 🚦, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Status e Sessões 🚦?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Status e Sessões 🚦 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Status e Sessões 🚦, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Status e Sessões 🚦?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Status e Sessões 🚦 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Status e Sessões 🚦 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Status e Sessões 🚦 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 14 – HTTPS e SSL/TLS 🔒
- Qual é o conceito fundamental e objetivo principal de HTTPS e SSL/TLS 🔒?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de HTTPS e SSL/TLS 🔒?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em HTTPS e SSL/TLS 🔒, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em HTTPS e SSL/TLS 🔒?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de HTTPS e SSL/TLS 🔒 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em HTTPS e SSL/TLS 🔒, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em HTTPS e SSL/TLS 🔒?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a HTTPS e SSL/TLS 🔒 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar HTTPS e SSL/TLS 🔒 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a HTTPS e SSL/TLS 🔒 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 15 – Laboratório: Servidor HTTP 🛠️
- Qual é o conceito fundamental e objetivo principal de Laboratório: Servidor HTTP 🛠️?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Laboratório: Servidor HTTP 🛠️?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Laboratório: Servidor HTTP 🛠️, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Laboratório: Servidor HTTP 🛠️?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Laboratório: Servidor HTTP 🛠️ atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Laboratório: Servidor HTTP 🛠️, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Laboratório: Servidor HTTP 🛠️?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Laboratório: Servidor HTTP 🛠️ estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Laboratório: Servidor HTTP 🛠️ com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Laboratório: Servidor HTTP 🛠️ deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 16 – Clientes HTTP e APIs 🤖
- Qual é o conceito fundamental e objetivo principal de Clientes HTTP e APIs 🤖?
- ( ) Reduzir a segurança do sistema sem análise prévia.
- (x) Garantir estruturação, eficiência e qualidade no desenvolvimento de software.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Bloquear a execução de rotinas assíncronas.
-
Qual benefício direto é obtido ao aplicar as melhores práticas de Clientes HTTP e APIs 🤖?
- (x) Maior manutenibilidade, legibilidade, desacoplamento e desempenho.
- ( ) Aumento indeterminado no tempo de latência das chamadas à API.
- ( ) Incompatibilidade com os compiladores e interpretadores modernos.
-
( ) Impedir a criação de testes automatizados.
-
Em relação ao fluxo de execução e arquitetura em Clientes HTTP e APIs 🤖, assinale a alternativa correta:
- ( ) A lógica opera sem validação de entradas ou saídas.
- (x) O fluxo de dados segue validação rigorosa de entrada, processamento coeso e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de visualização.
-
( ) É proibido desacoplar dependências entre módulos.
-
Qual é a conduta recomendada para manter a legibilidade do código em Clientes HTTP e APIs 🤖?
- (x) Seguir convenções de nomenclatura limpa, modularização e documentação clara.
- ( ) Utilizar variáveis globais sem restrição de acesso.
- ( ) Substituir nomes descritivos por identificadores de um único caractere.
-
( ) Desabilitar a checagem de tipos e validação estática.
-
Como comprovar que a implementação de Clientes HTTP e APIs 🤖 atingiu os critérios de aceitação?
- ( ) Avaliando visualmente a quantidade total de linhas de código.
- (x) Executando suítes de testes unitários e de integração automatizados com cobertura adequada.
- ( ) Verificando a paleta de cores do editor de texto.
-
( ) Omitindo os relatórios de execução de testes no CI/CD.
-
Ao tratar exceções e cenários de falha em Clientes HTTP e APIs 🤖, o desenvolvedor deve:
- (x) Capturar erros específicos, registrar logs rastreáveis e fornecer mensagens claras.
- ( ) Silenciar todas as exceções com blocos vazios.
- ( ) Encerrar abruptamente o processo do servidor sem notificação.
-
( ) Modificar variáveis de ambiente do sistema operacional.
-
Qual o risco de ignorar as convenções e padrões recomendados em Clientes HTTP e APIs 🤖?
- (x) Acúmulo de débito técnico, vulnerabilidades de segurança e degradação de desempenho.
- ( ) Formatação automática de arquivos na IDE.
- ( ) Aumento espontâneo da velocidade do barramento de memória.
-
( ) Exclusão de arquivos de configuração do projeto.
-
O princípio da responsabilidade única aplicado a Clientes HTTP e APIs 🤖 estabelece que:
- (x) Cada componente ou módulo deve ter apenas uma única razão para mudar.
- ( ) Todas as funções do projeto devem residir no mesmo arquivo-fonte.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os testes automatizados devem ser deletados antes da compilação de produção.
-
Para integrar Clientes HTTP e APIs 🤖 com outros serviços e módulos do ecossistema, deve-se:
- (x) Utilizar interfaces bem definidas, abstrações e contratos claros (APIs/DTOs).
- ( ) Acessar diretamente estruturas privadas internas de outros módulos.
- ( ) Trafegar dados confidenciais em texto puro sem criptografia.
-
( ) Desativar os protocolos de comunicação da rede.
-
A documentação técnica referente a Clientes HTTP e APIs 🤖 deve conter obrigatoriamente:
- (x) Requisitos funcionais, arquitetura, exemplos práticos de uso e instruções de teste.
- ( ) Apenas a assinatura digital do autor.
- ( ) Uma lista aleatória de comandos de sistema operacional.
- ( ) Rascunhos não revisados de reuniões antigas.
🧠 Quiz 17 – Arquitetura de Roteamento e Subredes CIDR 🚀
- Qual o propósito principal de Arquitetura de Roteamento e Subredes CIDR 🚀?
- ( ) Reduzir o espaço em disco sem validação.
- (x) Garantir estruturação, eficiência e robustez no processamento do sistema.
- ( ) Desativar os testes unitários automatizados.
-
( ) Substituir a documentação técnica por código legado.
-
Qual benefício direto é obtido ao aplicar os padrões de Arquitetura de Roteamento e Subredes CIDR 🚀?
- (x) Maior manutenibilidade, legibilidade e desempenho.
- ( ) Aumento no tempo de resposta das chamadas à API.
- ( ) Incompatibilidade com compiladores modernos.
-
( ) Bloqueio da execução assíncrona.
-
Em relação à arquitetura de Arquitetura de Roteamento e Subredes CIDR 🚀, assinale a alternativa correta:
- ( ) O módulo opera de forma totalmente isolada sem interface de dados.
- (x) O fluxo de dados segue validação de entrada, processamento e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de apresentação.
-
( ) Não há suporte para testes de integração.
-
Qual a melhor prática ao implementar Arquitetura de Roteamento e Subredes CIDR 🚀?
- (x) Manter o código coeso, desacoplado e devidamente documentado.
- ( ) Utilizar variáveis globais sem controle de acesso.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Desabilitar a checagem de tipos estáticos.
-
Como verificar se a implementação de Arquitetura de Roteamento e Subredes CIDR 🚀 atingiu os objetivos de qualidade?
- ( ) Observando o tamanho do arquivo fonte em bytes.
- (x) Executando testes automatizados de cobertura e benchmarks de desempenho.
- ( ) Verificando a cor do tema do editor de código.
-
( ) Aguardando reclamações dos usuários finais em produção.
-
Ao lidar com exceções em Arquitetura de Roteamento e Subredes CIDR 🚀, deve-se:
- (x) Capturar falhas específicas e fornecer mensagens informativas com rastreamento.
- ( ) Ignorar todos os erros com blocos vazios try-catch.
- ( ) Encerrar o sistema imediatamente sem log.
-
( ) Modificar o sistema operacional hospedeiro.
-
Qual o impacto do mau uso dos conceitos de Arquitetura de Roteamento e Subredes CIDR 🚀?
- (x) Degradação de desempenho, vulnerabilidades de segurança e débito técnico.
- ( ) Redução automática no uso de memória RAM.
- ( ) Melhoria na taxa de transferência de dados da rede.
-
( ) Formatação automática de arquivos Markdown.
-
O princípio da responsabilidade única aplicado a Arquitetura de Roteamento e Subredes CIDR 🚀 determina que:
- (x) Cada classe ou função deve ter apenas uma razão para mudar.
- ( ) Todas as funções do sistema devem residir no mesmo arquivo.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os comentários de código devem ser removidos antes da compilação.
-
Na integração de Arquitetura de Roteamento e Subredes CIDR 🚀 com outros componentes do ecossistema:
- (x) Deve-se utilizar interfaces bem definidas e contratos claros (APIs/DTOs).
- ( ) Deve-se utilizar acesso direto às estruturas privadas de outros módulos.
- ( ) É proibido transmitir dados pela rede.
-
( ) Todos os dados devem ser trafegados em formato de texto bruto desformatado.
-
A documentação técnica referente a Arquitetura de Roteamento e Subredes CIDR 🚀 deve conter:
- (x) Requisitos, diagramas de fluxo, exemplos de uso e instruções de teste.
- ( ) Apenas o nome do autor do código.
- ( ) Lista de reprodução de músicas recomendadas.
- ( ) Histórico completo de conversas do suporte.
🧠 Quiz 18 – Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀
- Qual o propósito principal de Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀?
- ( ) Reduzir o espaço em disco sem validação.
- (x) Garantir estruturação, eficiência e robustez no processamento do sistema.
- ( ) Desativar os testes unitários automatizados.
-
( ) Substituir a documentação técnica por código legado.
-
Qual benefício direto é obtido ao aplicar os padrões de Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀?
- (x) Maior manutenibilidade, legibilidade e desempenho.
- ( ) Aumento no tempo de resposta das chamadas à API.
- ( ) Incompatibilidade com compiladores modernos.
-
( ) Bloqueio da execução assíncrona.
-
Em relação à arquitetura de Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀, assinale a alternativa correta:
- ( ) O módulo opera de forma totalmente isolada sem interface de dados.
- (x) O fluxo de dados segue validação de entrada, processamento e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de apresentação.
-
( ) Não há suporte para testes de integração.
-
Qual a melhor prática ao implementar Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀?
- (x) Manter o código coeso, desacoplado e devidamente documentado.
- ( ) Utilizar variáveis globais sem controle de acesso.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Desabilitar a checagem de tipos estáticos.
-
Como verificar se a implementação de Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀 atingiu os objetivos de qualidade?
- ( ) Observando o tamanho do arquivo fonte em bytes.
- (x) Executando testes automatizados de cobertura e benchmarks de desempenho.
- ( ) Verificando a cor do tema do editor de código.
-
( ) Aguardando reclamações dos usuários finais em produção.
-
Ao lidar com exceções em Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀, deve-se:
- (x) Capturar falhas específicas e fornecer mensagens informativas com rastreamento.
- ( ) Ignorar todos os erros com blocos vazios try-catch.
- ( ) Encerrar o sistema imediatamente sem log.
-
( ) Modificar o sistema operacional hospedeiro.
-
Qual o impacto do mau uso dos conceitos de Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀?
- (x) Degradação de desempenho, vulnerabilidades de segurança e débito técnico.
- ( ) Redução automática no uso de memória RAM.
- ( ) Melhoria na taxa de transferência de dados da rede.
-
( ) Formatação automática de arquivos Markdown.
-
O princípio da responsabilidade única aplicado a Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀 determina que:
- (x) Cada classe ou função deve ter apenas uma razão para mudar.
- ( ) Todas as funções do sistema devem residir no mesmo arquivo.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os comentários de código devem ser removidos antes da compilação.
-
Na integração de Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀 com outros componentes do ecossistema:
- (x) Deve-se utilizar interfaces bem definidas e contratos claros (APIs/DTOs).
- ( ) Deve-se utilizar acesso direto às estruturas privadas de outros módulos.
- ( ) É proibido transmitir dados pela rede.
-
( ) Todos os dados devem ser trafegados em formato de texto bruto desformatado.
-
A documentação técnica referente a Protocolos de Transporte Avançados (TCP vs UDP QUIC) 🚀 deve conter:
- (x) Requisitos, diagramas de fluxo, exemplos de uso e instruções de teste.
- ( ) Apenas o nome do autor do código.
- ( ) Lista de reprodução de músicas recomendadas.
- ( ) Histórico completo de conversas do suporte.
🧠 Quiz 19 – Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀
- Qual o propósito principal de Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀?
- ( ) Reduzir o espaço em disco sem validação.
- (x) Garantir estruturação, eficiência e robustez no processamento do sistema.
- ( ) Desativar os testes unitários automatizados.
-
( ) Substituir a documentação técnica por código legado.
-
Qual benefício direto é obtido ao aplicar os padrões de Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀?
- (x) Maior manutenibilidade, legibilidade e desempenho.
- ( ) Aumento no tempo de resposta das chamadas à API.
- ( ) Incompatibilidade com compiladores modernos.
-
( ) Bloqueio da execução assíncrona.
-
Em relação à arquitetura de Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀, assinale a alternativa correta:
- ( ) O módulo opera de forma totalmente isolada sem interface de dados.
- (x) O fluxo de dados segue validação de entrada, processamento e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de apresentação.
-
( ) Não há suporte para testes de integração.
-
Qual a melhor prática ao implementar Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀?
- (x) Manter o código coeso, desacoplado e devidamente documentado.
- ( ) Utilizar variáveis globais sem controle de acesso.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Desabilitar a checagem de tipos estáticos.
-
Como verificar se a implementação de Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀 atingiu os objetivos de qualidade?
- ( ) Observando o tamanho do arquivo fonte em bytes.
- (x) Executando testes automatizados de cobertura e benchmarks de desempenho.
- ( ) Verificando a cor do tema do editor de código.
-
( ) Aguardando reclamações dos usuários finais em produção.
-
Ao lidar com exceções em Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀, deve-se:
- (x) Capturar falhas específicas e fornecer mensagens informativas com rastreamento.
- ( ) Ignorar todos os erros com blocos vazios try-catch.
- ( ) Encerrar o sistema imediatamente sem log.
-
( ) Modificar o sistema operacional hospedeiro.
-
Qual o impacto do mau uso dos conceitos de Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀?
- (x) Degradação de desempenho, vulnerabilidades de segurança e débito técnico.
- ( ) Redução automática no uso de memória RAM.
- ( ) Melhoria na taxa de transferência de dados da rede.
-
( ) Formatação automática de arquivos Markdown.
-
O princípio da responsabilidade única aplicado a Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀 determina que:
- (x) Cada classe ou função deve ter apenas uma razão para mudar.
- ( ) Todas as funções do sistema devem residir no mesmo arquivo.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os comentários de código devem ser removidos antes da compilação.
-
Na integração de Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀 com outros componentes do ecossistema:
- (x) Deve-se utilizar interfaces bem definidas e contratos claros (APIs/DTOs).
- ( ) Deve-se utilizar acesso direto às estruturas privadas de outros módulos.
- ( ) É proibido transmitir dados pela rede.
-
( ) Todos os dados devem ser trafegados em formato de texto bruto desformatado.
-
A documentação técnica referente a Segurança na Camada de Transporte (TLS/SSL Handshake) 🚀 deve conter:
- (x) Requisitos, diagramas de fluxo, exemplos de uso e instruções de teste.
- ( ) Apenas o nome do autor do código.
- ( ) Lista de reprodução de músicas recomendadas.
- ( ) Histórico completo de conversas do suporte.
🧠 Quiz 20 – Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀
- Qual o propósito principal de Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀?
- ( ) Reduzir o espaço em disco sem validação.
- (x) Garantir estruturação, eficiência e robustez no processamento do sistema.
- ( ) Desativar os testes unitários automatizados.
-
( ) Substituir a documentação técnica por código legado.
-
Qual benefício direto é obtido ao aplicar os padrões de Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀?
- (x) Maior manutenibilidade, legibilidade e desempenho.
- ( ) Aumento no tempo de resposta das chamadas à API.
- ( ) Incompatibilidade com compiladores modernos.
-
( ) Bloqueio da execução assíncrona.
-
Em relação à arquitetura de Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀, assinale a alternativa correta:
- ( ) O módulo opera de forma totalmente isolada sem interface de dados.
- (x) O fluxo de dados segue validação de entrada, processamento e verificação de saída.
- ( ) As regras de negócio devem ser codificadas diretamente na camada de apresentação.
-
( ) Não há suporte para testes de integração.
-
Qual a melhor prática ao implementar Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀?
- (x) Manter o código coeso, desacoplado e devidamente documentado.
- ( ) Utilizar variáveis globais sem controle de acesso.
- ( ) Omitir o tratamento de erros em produção.
-
( ) Desabilitar a checagem de tipos estáticos.
-
Como verificar se a implementação de Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀 atingiu os objetivos de qualidade?
- ( ) Observando o tamanho do arquivo fonte em bytes.
- (x) Executando testes automatizados de cobertura e benchmarks de desempenho.
- ( ) Verificando a cor do tema do editor de código.
-
( ) Aguardando reclamações dos usuários finais em produção.
-
Ao lidar com exceções em Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀, deve-se:
- (x) Capturar falhas específicas e fornecer mensagens informativas com rastreamento.
- ( ) Ignorar todos os erros com blocos vazios try-catch.
- ( ) Encerrar o sistema imediatamente sem log.
-
( ) Modificar o sistema operacional hospedeiro.
-
Qual o impacto do mau uso dos conceitos de Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀?
- (x) Degradação de desempenho, vulnerabilidades de segurança e débito técnico.
- ( ) Redução automática no uso de memória RAM.
- ( ) Melhoria na taxa de transferência de dados da rede.
-
( ) Formatação automática de arquivos Markdown.
-
O princípio da responsabilidade única aplicado a Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀 determina que:
- (x) Cada classe ou função deve ter apenas uma razão para mudar.
- ( ) Todas as funções do sistema devem residir no mesmo arquivo.
- ( ) O banco de dados deve ser executado na mesma thread do frontend.
-
( ) Os comentários de código devem ser removidos antes da compilação.
-
Na integração de Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀 com outros componentes do ecossistema:
- (x) Deve-se utilizar interfaces bem definidas e contratos claros (APIs/DTOs).
- ( ) Deve-se utilizar acesso direto às estruturas privadas de outros módulos.
- ( ) É proibido transmitir dados pela rede.
-
( ) Todos os dados devem ser trafegados em formato de texto bruto desformatado.
-
A documentação técnica referente a Projeto Capstone: Análise e Simulação de Tráfego de Rede 🚀 deve conter:
- (x) Requisitos, diagramas de fluxo, exemplos de uso e instruções de teste.
- ( ) Apenas o nome do autor do código.
- ( ) Lista de reprodução de músicas recomendadas.
- ( ) Histórico completo de conversas do suporte.
Slides
Configuração
Configuração de Ambiente 🛠️
Antes de partir para os laboratórios práticos, prepare seu "cinto de utilidades" de rede. Siga os guias abaixo para configurar cada ferramenta.
-
Ferramentas de Linha de Comando
Configure
ping,tracert/traceroute,nslookup/dig,netstat/ssecurlno seu sistema. -
Wireshark
Instale o analisador de pacotes que vamos usar na Aula 10 para inspecionar o tráfego de rede.
Dica de Produtividade
Todas as ferramentas de linha de comando desta página funcionam direto no terminal padrão do seu sistema — não é preciso instalar nada além do próprio Wireshark.
Setup 01 - Ferramentas de Linha de Comando para Redes ⌨️
Para acompanhar a Aula 09 (Ferramentas de Comando) e os laboratórios práticos do curso, você precisa ter os utilitários de rede básicos disponíveis no seu terminal.
1. Windows 🪟
A maioria dos comandos já vem instalada por padrão no cmd ou no PowerShell.
ping: testa conectividade com um host. Ex:ping google.comipconfig: mostra a configuração de rede da máquina. Ex:ipconfig /alltracert: mostra o caminho (saltos) até um destino. Ex:tracert google.comnslookup: consulta servidores DNS manualmente. Ex:nslookup google.comnetstat: lista conexões e portas ativas. Ex:netstat -ano
2. Linux e macOS 🐧🍎
ping: igual ao Windows. Ex:ping -c 4 google.comifconfigouip addr: configuração de rede (ip addré o padrão moderno em distribuições Linux).traceroute: equivalente aotracertdo Windows.digounslookup: consulta DNS (digé mais completo).netstatouss: conexões e portas ativas (ssé o substituto moderno).
3. Cliente HTTP em linha de comando
Vamos usar bastante nas aulas de HTTP e APIs (Aulas 12 a 16).
- Baixar cURL (já vem instalado por padrão no Windows 10/11, macOS e na maioria das distros Linux)
- Verificação: no terminal, digite
curl --version. - Teste rápido:
curl -I https://example.com(mostra só os headers da resposta HTTP).
4. Verificação Final ✅
Rode esta sequência para confirmar que tudo está pronto:
Pronto!
Com essas ferramentas você já consegue diagnosticar conectividade, resolver nomes DNS e inspecionar requisições HTTP direto do terminal — a base prática de todo o curso.
Setup 02 - Instalando e Configurando o Wireshark 🦈
Para acompanhar a Aula 10 (Análise com Wireshark), você precisa ter o Wireshark instalado e configurado corretamente na sua máquina.
1. O que é o Wireshark?
O Wireshark é um analisador de protocolos de rede (packet sniffer) gratuito e open source. Ele captura o tráfego que passa pela sua placa de rede e permite inspecionar cada pacote, camada por camada (Ethernet, IP, TCP/UDP, HTTP...).
2. Instalação 🔧
- Baixar Wireshark — escolha o instalador da sua plataforma (Windows, macOS ou Linux).
- Windows: o instalador oferece a opção de instalar o Npcap junto — mantenha marcado, é o driver que permite a captura de pacotes.
- Linux: em distribuições baseadas em Debian/Ubuntu,
sudo apt install wiresharke adicione seu usuário ao grupowiresharkpara capturar sem precisar desudoa cada vez. - Verificação: abra o Wireshark e confirme que a lista de interfaces de rede aparece na tela inicial.
3. Primeira Captura ▶️
- Abra o Wireshark e selecione a interface de rede ativa (geralmente a Wi-Fi ou Ethernet com tráfego visível no gráfico).
- Clique duas vezes na interface (ou no botão de tubarão azul) para iniciar a captura.
- Abra o navegador e acesse qualquer site.
- Volte ao Wireshark e clique no botão vermelho de "Stop" para parar a captura.
4. Filtros Essenciais 🔍
Filtros de exibição ajudam a encontrar o que interessa no meio de milhares de pacotes:
| Filtro | O que mostra |
|---|---|
http |
Apenas tráfego HTTP |
dns |
Apenas consultas e respostas DNS |
tcp.port == 443 |
Tráfego na porta 443 (HTTPS) |
ip.addr == 8.8.8.8 |
Pacotes de/para um IP específico |
Boas práticas
Capture só o necessário e pare a captura assim que reproduzir o cenário que quer analisar — sessões longas geram milhares de pacotes e dificultam a análise.
5. Verificação Final ✅
Você está pronto para a Aula 10 quando conseguir:
- Abrir o Wireshark e ver a lista de interfaces
- Iniciar e parar uma captura
- Aplicar um filtro de exibição (ex:
http) e ver o resultado
Pronto!
Com o Wireshark instalado e sua primeira captura feita, você já pode acompanhar a análise de pacotes em tempo real da Aula 10.
Sobre
Sobre o Curso
🎓 APIs e Microsserviços Profissionais
Este curso foi projetado para capacitar desenvolvedores na criação de arquiteturas distribuídas modernas, focando na integração entre backends escaláveis e frontends dinâmicos do tipo SPA.
🎯 Objetivos do Curso
-
Arquitetura Distribuída --- Compreender a transição de monólitos para microsserviços e a importância da comunicação eficiente entre serviços.
-
Domínio de APIs REST --- Dominar a modelagem, implementação e documentação de APIs seguindo as melhores práticas do mercado.
-
Segurança Avançada --- Implementar sistemas de autenticação e autorização robustos utilizando JWT e controle de acesso baseado em perfis.
-
Frontend Moderno (SPA) --- Desenvolver interfaces ricas e reativas, conectando-as perfeitamente ao ecossistema de APIs backend.
📚 O Que Você Vai Aprender
Módulo 1 – Serviços e Microsserviços
- Conceitos de Microsserviços vs Monólitos
- Arquitetura e API Gateways
- Modelagem de APIs RESTful
- Documentação com Swagger e Mocks
Módulo 2 – Manipulação de Dados
- Implementação de Endpoints (Backend)
- Persistência com ORM e SQL
- Testes Unitários com Mocks
- Testes Integrados e Deploy
Módulo 3 – Autenticação e Segurança
- Estratégias Web (Cookies vs Tokens)
- Implementação de JWT
- Criptografia e Proteção de Rotas
- Autorização RBAC (Perfis)
Módulo 4 – Aplicações Web SPA
- Conceitos de SPA e Renderização
- Componentização e Templates
- Gerenciamento de Estados e Eventos
- Roteamento e Projeto Integrador
🛠️ Metodologia
Foco 100% prático e orientado a projetos. Cada módulo culmina em uma etapa funcional de um sistema completo, garantindo que ao final do curso você tenha um portfólio robusto de arquitetura fullstack.
Pronto para dominar o Backend? Começar Agora
Roadmap do Projeto: APIs e Microsserviços 🚀
Este documento rastreia a evolução do curso.
✅ Fase 1: Planejamento (Concluído)
- Definição Syllabus (16 Aulas)
- Estrutura Backend-first com integração SPA
- Configuração MkDocs Material
✅ Fase 2: Conteúdo Base (Concluído)
- Criação das 16 Aulas (Markdown)
- Criação dos 16 Quizzes (HTML)
- Criação dos 16 Conjuntos de Exercícios
- Criação dos 16 Slides (RevealJS)
✅ Fase 3: Projetos e UX (Concluído)
- Definição dos 16 Projetos práticos
- Documentação Swagger/OpenAPI integrada
- Diagramação Mermaid de arquitetura de serviços
🚀 Fase 4: Lançamento e Manutenção
- Deploy GitHub Pages (GitHub Actions)
- Atualização para novas versões de frameworks (Spring/Node/React)
- Inclusão de exemplos de mensageria (RabbitMQ/Kafka)
Status Atual: Finalizado / Manutenção Última Atualização: 19/02/2026
Materiais Complementares 📚
Bem-vindo à seção de materiais complementares do curso de APIs e Microsserviços. Aqui você encontra recursos adicionais para apoiar seus estudos e aprofundar seu conhecimento técnico.
-
- Acompanhe o conteúdo teórico com slides dinâmicos.
-
- Pratique a implementação de microsserviços e rotas REST.
-
- Valide seu aprendizado com testes rápidos por módulo.
-
- Construa um ecossistema completo para seu portfólio.
-
- Guias de instalação (Docker, IDEs, Postman).
🏷️ Índice de Tags Didáticas
Navegue pelas aulas, exercícios e projetos do curso organizados por temas, tecnologias e conceitos fundamentais:
tags.md:145-167/name
Versão para Impressão
Esta página foi gerada automaticamente para impressão.