Glossário Técnico

Dicionário de termos técnicos com explicações simples e detalhadas

A

API (Application Programming Interface)

Explicação Simples

API é como um "garçom" entre dois sistemas. Imagine que você está em um restaurante: você (o aplicativo) quer pedir comida da cozinha (outro sistema), mas não pode entrar lá diretamente. O garçom (API) leva seu pedido para a cozinha e traz a comida de volta para você.

Detalhes Técnicos

Interface de programação que define métodos de comunicação entre componentes de software. Especifica como diferentes sistemas podem interagir através de endpoints, métodos HTTP (GET, POST, PUT, DELETE) e formatos de dados como JSON.

Exemplo: GET /api/users retorna lista de usuários

Azure

Explicação Simples

Azure é como um "shopping center virtual" da Microsoft onde você pode alugar espaços para colocar seus sites, aplicativos e dados. Em vez de comprar computadores próprios, você "aluga" o que precisa na nuvem.

Detalhes Técnicos

Plataforma de computação em nuvem da Microsoft que oferece serviços como App Service (hospedagem web), Storage (armazenamento), SQL Database, Active Directory, Functions (serverless), entre outros.

Usado em: Projetos Hub, Seed e Python Training

B

Backend

Explicação Simples

Backend é a "cozinha" do restaurante. É onde toda a "magia" acontece: processar pedidos, buscar informações no banco de dados, fazer cálculos. O cliente não vê, mas é essencial para tudo funcionar.

Detalhes Técnicos

Parte do sistema responsável pela lógica de negócio, processamento de dados, autenticação, autorização e comunicação com bancos de dados. Roda no servidor, não no navegador do usuário.

Tecnologias: Python/Flask, Node.js, Java, APIs REST

Branch (Git)

Explicação Simples

Branch é como criar uma "cópia paralela" do seu projeto para trabalhar sem bagunçar o original. É como tirar xerox de um documento para fazer anotações sem estragar o original.

Detalhes Técnicos

Ramificação no Git que permite desenvolvimento paralelo de features. A branch main contém o código estável, enquanto branches de feature (feature/login) isolam desenvolvimento específico.

Comando: git checkout -b feature/nova-funcionalidade

Bootstrap

Explicação Simples

Bootstrap é como um "kit de moldes" para fazer sites bonitos. Em vez de criar botões, menus e layouts do zero, você usa peças prontas que já ficam elegantes e funcionam em celular e computador.

Detalhes Técnicos

Framework CSS que fornece componentes pré-construídos, grid system responsivo, utilitários de espaçamento e JavaScript para interações. Acelera desenvolvimento frontend com padrões consistentes.

Classes comuns: container, row, col-md-6, btn-primary

C

CSS (Cascading Style Sheets)

Explicação Simples

CSS é como a "roupa" do site. O HTML é como o corpo/esqueleto, e o CSS é a roupa que deixa tudo bonito: cores, tamanhos, posições, fontes. É o que faz um site ficar apresentável.

Detalhes Técnicos

Linguagem de estilo que controla apresentação visual de elementos HTML. Define cores, layout, tipografia, responsividade e animações. Funciona com seletores, propriedades e valores.

Exemplo: .btn { background-color: #007bff; }

Commit (Git)

Explicação Simples

Commit é como tirar uma "foto" do seu progresso no projeto. Cada foto fica salva com uma descrição do que você fez. Se algo der errado, você pode voltar para uma "foto" anterior.

Detalhes Técnicos

Snapshot do estado atual do código que fica permanentemente salvo no histórico Git. Cada commit tem hash único, mensagem descritiva, autor e timestamp.

Comando: git commit -m "feat: adicionar login com Google"

Container (Docker)

Explicação Simples

Container é como uma "caixa de mudança" para programas. Você coloca seu aplicativo e tudo que ele precisa dentro da caixa, e ela funciona igual em qualquer computador, sem conflitos.

Detalhes Técnicos

Unidade de software que empacota aplicação com todas dependências (libraries, runtime, ferramentas). Garante consistência entre ambientes (dev, test, prod) usando virtualização em nível de OS.

Comando: docker run -p 5000:5000 minha-app

D

Database (Banco de Dados)

Explicação Simples

Banco de dados é como um "arquivo gigante e organizado" onde o sistema guarda todas as informações: usuários, produtos, pedidos, etc. É como uma biblioteca super organizada onde você encontra tudo rapidinho.

Detalhes Técnicos

Sistema de armazenamento estruturado que organiza dados em tabelas (SQL) ou documentos (NoSQL). Permite operações CRUD (Create, Read, Update, Delete) com queries otimizadas e transações ACID.

Tipos: PostgreSQL, MySQL, MongoDB, SQLite

Docker

Explicação Simples

Docker é como uma empresa de mudanças que embala seu aplicativo em caixas padronizadas. Não importa se você está mudando de casa ou escritório - as caixas funcionam em qualquer lugar.

Detalhes Técnicos

Plataforma de containerização que simplifica deployment e versionamento de aplicações. Usa Dockerfile para definir ambiente, docker-compose para orquestração multi-container.

Arquivo: docker-compose.yml nos projetos Hub e Seed

F

Flask

Explicação Simples

Flask é como um "kit de ferramentas" para criar sites em Python. É mais simples que outras ferramentas - você pega só o que precisa e monta seu site do jeito que quiser.

Detalhes Técnicos

Micro-framework web para Python, minimalista e flexível. Oferece routing, templating (Jinja2), sessions, mas deixa escolha de database, forms, auth por conta do desenvolvedor.

Exemplo: @app.route('/api/users')

Frontend

Explicação Simples

Frontend é a "vitrine da loja" - tudo que o cliente vê e toca: botões, menus, cores, textos. É a parte bonita e interativa do site que roda no seu navegador.

Detalhes Técnicos

Interface do usuário que roda no browser. Usa HTML (estrutura), CSS (visual), JavaScript (interatividade). Comunica com backend via APIs para buscar/enviar dados.

Tecnologias: HTML5, CSS3, JavaScript ES6+, Bootstrap

G

Git

Explicação Simples

Git é como um "histórico detalhado" de tudo que aconteceu no seu projeto. Ele guarda cada mudança, quem fez, quando fez, e permite voltar no tempo se algo der errado.

Detalhes Técnicos

Sistema de controle de versão distribuído. Cada desenvolvedor tem cópia completa do histórico. Permite branches paralelas, merge de mudanças, resolução de conflitos.

Comandos: git add, git commit, git push, git pull

GitHub

Explicação Simples

GitHub é like um "Google Drive para programadores". Você salva seu código lá, outras pessoas podem ver e ajudar, além de ter ferramentas para gerenciar projetos em equipe.

Detalhes Técnicos

Plataforma de hospedagem Git com interface web. Oferece repositories, pull requests, issues, actions (CI/CD), pages (hosting), collaboration tools.

Features: Pull Requests, GitHub Actions, GitHub Pages

H

HTML (HyperText Markup Language)

Explicação Simples

HTML é como o "esqueleto" de uma página web. Define onde vai o título, onde vai o texto, onde vai a imagem - a estrutura básica. É como a planta de uma casa.

Detalhes Técnicos

Linguagem de marcação que estrutura conteúdo web usando tags. Define elementos semânticos como headers, paragraphs, links, images, forms.

Tags: <div>, <p>, <h1>, <a>, <img>

HTTP/HTTPS

Explicação Simples

HTTP é como o "idioma" que seu navegador usa para conversar com sites. HTTPS é a versão "segura" - como falar em código para ninguém escutar a conversa.

Detalhes Técnicos

Protocolo de comunicação web. HTTP transfere dados em texto claro, HTTPS adiciona criptografia TLS/SSL. Usa métodos GET, POST, PUT, DELETE e status codes (200, 404, 500).

Status: 200 OK, 404 Not Found, 500 Server Error

J

JavaScript

Explicação Simples

JavaScript é como o "cérebro" das páginas web. Ele faz as coisas se moverem, responderem a cliques, validarem formulários - tudo que é interativo no site.

Detalhes Técnicos

Linguagem de programação interpretada que roda no browser (e server com Node.js). Manipula DOM, faz requisições AJAX, valida forms, cria animações.

Exemplo: document.getElementById('btn').addEventListener('click', ...)

JSON (JavaScript Object Notation)

Explicação Simples

JSON é como uma "linguagem universal" para sistemas trocarem informações. É como escrever uma carta em um formato que qualquer programa consegue entender.

Detalhes Técnicos

Formato de dados texto para intercâmbio entre sistemas. Usa chaves-valor, arrays, objetos aninhados. Padrão para APIs REST.

Exemplo: {"name": "João", "age": 25}

O

OAuth

Explicação Simples

OAuth é como um "sistema de visitante" de um prédio. Você se identifica na portaria (Google, Facebook) e ganha uma "pulseirinha" (token) para entrar em outros sites sem precisar dar sua senha.

Detalhes Técnicos

Protocolo de autorização que permite aplicações acessarem recursos em nome do usuário sem exposição de credenciais. Usado em "Login com Google", "Login com Facebook".

Flow: Authorization Code → Access Token → Resource Access

OIDC (OpenID Connect)

Explicação Simples

OIDC é como um "RG digital". Além de autorizar o acesso (como OAuth), ele também confirma quem você é - seu nome, email, foto - de forma segura.

Detalhes Técnicos

Camada de identidade sobre OAuth 2.0. Adiciona ID Token (JWT) com informações do usuário. Padrão para Single Sign-On (SSO) e autenticação federada.

Usado em: Projeto Reino OIDC para aprendizado

P

Python

Explicação Simples

Python é uma linguagem de programação "fácil de ler". É como se fosse quase português - você lê o código e entende o que está acontecendo, mesmo sem ser programador.

Detalhes Técnicos

Linguagem interpretada, dinamicamente tipada, com sintaxe clara. Usada em web (Flask/Django), data science, AI, automação. Grande ecossistema de bibliotecas (pip).

Versão: Python 3.11+ nos projetos Cara Core

Pull Request

Explicação Simples

Pull Request é como pedir para alguém revisar seu trabalho antes de entregar. Você mostra o que fez e pede: "Pode dar uma olhada? Está bom para juntar com o projeto principal?"

Detalhes Técnicos

Mecanismo do GitHub para propor mudanças no código. Permite code review, discussão, testes automáticos antes do merge. Inclui diff de mudanças e histórico de commits.

Processo: Branch → Push → PR → Review → Merge

R

Repository (Repositório)

Explicação Simples

Repositório é como uma "pasta de projeto" que guarda tudo: código, imagens, documentos, histórico de mudanças. É onde vive o projeto completo.

Detalhes Técnicos

Diretório Git que contém todos arquivos do projeto, histórico de commits, branches, tags. Pode ser local (sua máquina) ou remoto (GitHub, GitLab).

Estrutura: .git/, código fonte, README.md, .gitignore

REST API

Explicação Simples

REST API é como um "cardápio padronizado" para sistemas. Você pede informações usando "verbos" específicos (GET para pegar, POST para criar) e recebe a resposta organizada.

Detalhes Técnicos

Architectural style para APIs web usando HTTP methods (GET, POST, PUT, DELETE), status codes, JSON, URLs representando recursos.

Exemplo: GET /api/users/123 retorna usuário ID 123

S

SQL (Structured Query Language)

Explicação Simples

SQL é a "linguagem" para conversar com bancos de dados. É como fazer perguntas organizadas: "Me dê todos os usuários que se cadastraram hoje" ou "Apague este produto".

Detalhes Técnicos

Linguagem para gerenciar dados relacionais. Comandos principais: SELECT (consulta), INSERT (criar), UPDATE (alterar), DELETE (remover).

Exemplo: SELECT * FROM users WHERE age > 18

SSL/TLS

Explicação Simples

SSL/TLS é como um "envelope lacrado" para proteger informações na internet. Quando você vê o "cadeadinho" no navegador, significa que sua conversa com o site está protegida.

Detalhes Técnicos

Protocolos criptográficos para comunicação segura. TLS é sucessor do SSL. Garante confidencialidade, integridade e autenticidade dos dados transmitidos.

Certificado: Let's Encrypt, certificados comerciais

V

Versionamento

Explicação Simples

Versionamento é como numerar as "edições" do seu projeto. Versão 1.0 é a primeira, 1.1 tem pequenas melhorias, 2.0 tem mudanças grandes. Como versões de um livro.

Detalhes Técnicos

Sistema para identificar diferentes estados do software. Semantic Versioning (SemVer): MAJOR.MINOR.PATCH (ex: 2.1.3). Git tags marcam releases específicas.

Padrão: v1.0.0, v1.1.0, v2.0.0-beta

Virtual Environment (venv)

Explicação Simples

Virtual Environment é como ter "gavetas separadas" para cada projeto Python. Cada gaveta tem suas próprias ferramentas, sem misturar com outros projetos.

Detalhes Técnicos

Ambiente isolado para projetos Python que mantém dependências separadas. Evita conflitos entre versões de bibliotecas em diferentes projetos.

Comando: python -m venv venv && venv\Scripts\activate