DEV Community

Thiago
Thiago

Posted on

Dicionário Técnico Parte 2: Containers, Shell e Web Components

Dando sequência ao nosso dicionário técnico, esta segunda parte aborda dúvidas comuns que surgem ao longo do projeto e inclui conceitos fundamentais para entender completamente os termos de infraestrutura e integração discutidos anteriormente.

💡 Como usar este dicionário

Mantenha a mesma estratégia: leia o conceito, tente explicá-lo com suas próprias palavras e imagine como isso se aplica no código ou na arquitetura. A tecnologia faz muito mais sentido quando entendemos o problema real que ela tenta resolver.


🛠️ Palavras Técnicas

Shell

Dica: o ambiente de texto onde conversamos com o sistema operacional.

O shell é uma interface de linha de comando (CLI) que lê os comandos que você digita e diz ao sistema operacional o que fazer. Quando você abre o terminal no VS Code ou no próprio sistema para rodar um comando do Git, inicializar um servidor local ou usar o curl (visto no dicionário anterior), você está interagindo através do shell.
🔗 Aprofundamento sobre Shell

Container

Dica: uma "caixa" padrão e isolada que empacota a sua aplicação.

Para entender o que o Kubernetes e o OpenShift gerenciam, precisamos entender primeiro o que é um container. Ele é um pacote de software que contém o seu código e absolutamente tudo que ele precisa para rodar (bibliotecas, configurações e ferramentas). Isso resolve o clássico problema do "na minha máquina funciona", garantindo que a aplicação rode perfeitamente igual, seja no seu computador local ou no servidor em produção.
🔗 Aprofundamento sobre Containers

Web Component

Dica: blocos de construção independentes e reutilizáveis para a interface (frontend).

Web Components são um conjunto de padrões da web que permitem criar elementos customizados e reutilizáveis no HTML (como uma tag <meu-card-usuario>), com seu próprio estilo e comportamento isolados. Ao construir aplicações em frameworks modernos como Angular, a lógica de componentização é o coração da arquitetura: você cria pequenos blocos visuais independentes e os junta para compor uma tela completa, evitando repetição de código.
🔗 Aprofundamento sobre Web Components

API (Application Programming Interface)

Dica: a "ponte" de comunicação entre sistemas diferentes.

(Termo essencial para entender Swagger, Postman, Gateway e Apache Camel).
Uma API é um conjunto de regras que permite que um software converse com outro. Imagine que a interface visual da sua aplicação seja um cliente em um restaurante, e o banco de dados (fornecido, por exemplo, por um JSON Server) seja a cozinha. A API atua como o garçom: ela recebe o seu pedido, leva até o backend e traz a resposta (os dados) no formato correto.
🔗 Aprofundamento sobre APIs

CI/CD (Continuous Integration / Continuous Delivery)

Dica: a esteira automatizada de produção do seu código.

(Termo essencial para o conceito de "Pipeline do GitLab" fazer sentido).
Integração Contínua (CI) é a prática de juntar o código de vários desenvolvedores frequentemente e testá-lo de forma automática. Entrega Contínua (CD) é automatizar o envio desse código aprovado para os ambientes de teste ou produção (o Deploy). Basicamente, é o processo que automatiza o trabalho chato e repetitivo de testar e publicar o software a cada nova atualização.
🔗 Aprofundamento sobre CI/CD

Teste Unitário

Dica: avaliação da menor parte possível do seu código.

Relembrando e aprofundando: o teste unitário foca em isolar uma pequena unidade do sistema (como uma única função que valida um formulário ou formata uma data) para verificar se ela devolve o resultado esperado. Ao construir uma aplicação, testar essas pequenas partes isoladamente garante que as regras de negócio básicas estão corretas antes de conectar a aplicação inteira ao servidor ou banco de dados.
🔗 Aprofundamento sobre Testes Unitários

Top comments (0)