Dicionário de dados e conceitos
Termos de Python, JavaScript, TypeScript, SQL, React, Next.js, web e Git — com definição curta e exemplo de código.
118 termos
?? e ?. (nullish)
JavaScripta ?? busa b apenas se a for null/undefined (diferente de ||, que também troca 0 e "").obj?.propacessa sem erro se obj for null/undefined.Ver exemplo
const porPagina = params.limite ?? 10; const cidade = usuario?.endereco?.cidade;'use client'
Next.jsDiretiva no topo do arquivo que o transforma em Client Component — necessário para estado, efeitos, eventos e APIs do navegador.
Ver exemplo
"use client"; import { useState } from "react";@dataclass
PythonDecorator que gera automaticamente __init__, __repr__ e __eq__ a partir das anotações dos campos. Ideal para objetos que guardam dados.
Ver exemplo
from dataclasses import dataclass @dataclass class Ponto: x: float y: float = 0.0*args e **kwargs
Python*argsrecebe argumentos posicionais extras como tupla;**kwargsrecebe argumentos nomeados extras como dicionário. Também servem para 'espalhar' listas/dicts em chamadas.Ver exemplo
def log(*args, **kwargs): print(args, kwargs) log(1, 2, nivel="info") # (1, 2) {'nivel': 'info'}=== vs ==
JavaScript=== compara valor E tipo (use sempre). == converte tipos antes de comparar e gera surpresas.
Ver exemplo
0 == "" // true 😱 0 === "" // false ✅Anotação de tipo
TypeScriptDeclarar explicitamente o tipo de uma variável, parâmetro ou retorno com
: Tipo. Onde o TS consegue inferir, a anotação é opcional.Ver exemplo
function area(largura: number, altura: number): number { return largura * altura; }API
Web/APIsApplication Programming Interface: contrato que permite um sistema conversar com outro. Na web, normalmente endpoints HTTP que recebem e devolvem JSON.
Ver exemplo
const resposta = await fetch("https://api.github.com/users/octocat"); const dados = await resposta.json();App Router
Next.jsSistema de rotas do Next.js baseado em pastas dentro de app/. Arquivos especiais: page.tsx, layout.tsx, loading.tsx, error.tsx, not-found.tsx, route.ts. [param] cria segmentos dinâmicos.
Ver exemplo
app/ layout.tsx page.tsx → / vagas/[id]/page.tsx → /vagas/123Array
JavaScriptLista ordenada. Métodos que NÃO alteram: map, filter, reduce, slice, concat, find, some, every, toSorted. Métodos que ALTERAM: push, pop, splice, sort, reverse.
Ver exemplo
const nums = [3, 1, 2]; nums.includes(2); // true nums.at(-1); // 2Arrow function
JavaScriptSintaxe curta de função: (params) => expressão. Não tem seu próprio
this(herda do escopo externo), o que é útil em callbacks.Ver exemplo
const dobro = (n) => n * 2; const soma = (a, b) => { return a + b; };async / await
JavaScriptSintaxe para escrever código assíncrono como se fosse síncrono.
awaitpausa a função async até a Promise resolver; trate erros com try/catch. Python tem o mesmo conceito (asyncio).Ver exemplo
async function carregar() { try { const r = await fetch("/api/vagas"); return await r.json(); } catch (e) { return []; } }Busca binária
GeralAlgoritmo que encontra um valor em uma lista ORDENADA dividindo o intervalo pela metade a cada passo. Complexidade O(log n): 1 milhão de itens em ~20 passos.
Ver exemplo
meio = (inicio + fim) // 2Cache / memoização
GeralGuardar resultados já calculados para reutilizar. Memoização é o cache de resultados de uma função. Em Python existe
functools.lru_cache; na web, Redis e cache HTTP.Ver exemplo
from functools import lru_cache @lru_cache def fib(n): ...CASE WHEN
SQLO 'if' do SQL: gera valores condicionais em uma coluna.
Ver exemplo
SELECT nome, CASE WHEN estoque = 0 THEN 'esgotado' ELSE 'ok' END AS situacao FROM produtos;Chave primária e estrangeira
SQLPrimária (PK) identifica cada linha de forma única. Estrangeira (FK) referencia a PK de outra tabela, garantindo integridade dos relacionamentos.
Ver exemplo
cliente_id INTEGER REFERENCES clientes(id)CI/CD
GeralIntegração contínua (build, lint e testes a cada push) e entrega/implantação contínua (deploy automático). No GitHub: GitHub Actions.
Ver exemplo
# .github/workflows/ci.yml on: [push] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npm ci && npm testClasse
GeralMolde para criar objetos que juntam dados (atributos) e comportamentos (métodos). Cada objeto criado é uma instância.
Ver exemplo
class Cachorro: def __init__(self, nome): self.nome = nome def latir(self): return f"{self.nome}: au!"Closure
GeralFunção que 'lembra' as variáveis do escopo onde foi criada, mesmo depois que esse escopo terminou. Base de decorators, hooks do React e estado privado.
Ver exemplo
function contador() { let n = 0; return () => ++n; } const c = contador(); c(); c(); // 2Códigos de status HTTP
Web/APIs2xx sucesso (200 OK, 201 Created, 204 No Content); 3xx redirecionamento; 4xx erro do cliente (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 422 Unprocessable, 429 Too Many Requests); 5xx erro do servidor.
Ver exemplo
return Response.json({ erro: "não encontrado" }, { status: 404 });Complexidade (Big O)
GeralForma de descrever como o tempo/memória cresce com o tamanho da entrada. O(1) constante, O(log n) busca binária, O(n) um laço, O(n²) laços aninhados. Tema frequente em entrevistas.
Ver exemplo
# O(n²): compara todos com todos for a in nums: for b in nums: ... # O(n): um passe + dicionário vistos = {}Componente
ReactFunção que recebe props e retorna JSX. Nome sempre com letra maiúscula. Componha a UI a partir de componentes pequenos.
Ver exemplo
function Card({ titulo }: { titulo: string }) { return <div className="card">{titulo}</div>; }Comprehension
PythonSintaxe compacta para criar listas, dicts e sets a partir de iteráveis, com filtro opcional. Mais legível e rápida que um for com append.
Ver exemplo
[n * 2 for n in nums if n > 0] {u.id: u for u in usuarios}Condicionais (if / elif / else)
GeralExecutam blocos diferentes conforme condições. São avaliadas de cima para baixo; a primeira verdadeira vence. Em JS: if / else if / else.
Ver exemplo
if nota >= 7: print("aprovado") elif nota >= 5: print("recuperação") else: print("reprovado")Conjunto (set)
PythonColeção sem ordem e sem repetição, com busca O(1). Suporta operações de conjunto: | união, & interseção, - diferença.
Ver exemplo
a = {1, 2, 3} b = {2, 3, 4} a & b # {2, 3} set([1, 1, 2]) # {1, 2}Context manager (with)
PythonObjeto com __enter__/__exit__ que garante limpeza de recursos mesmo com erro: arquivos, conexões, locks, transações.
Ver exemplo
with open("dados.txt") as f: conteudo = f.read() # arquivo fechado automaticamenteCORS
Web/APIsCross-Origin Resource Sharing: regra do navegador que bloqueia chamadas entre origens diferentes, a menos que o servidor responda com headers permitindo (Access-Control-Allow-Origin).
Ver exemplo
Access-Control-Allow-Origin: https://meusite.comCTE (WITH)
SQLCommon Table Expression: uma consulta nomeada e temporária que deixa SQL complexo legível, como variáveis.
Ver exemplo
WITH caros AS ( SELECT * FROM produtos WHERE preco > 1000 ) SELECT COUNT(*) FROM caros;DDL (CREATE, ALTER, DROP)
SQLComandos que definem a estrutura: criar tabelas, colunas, índices e restrições (NOT NULL, UNIQUE, CHECK, DEFAULT). Em projetos, feitos via migrations.
Ver exemplo
CREATE TABLE tags ( id INTEGER PRIMARY KEY, nome TEXT NOT NULL UNIQUE );Decorator
PythonFunção que recebe uma função e devolve outra, adicionando comportamento (log, cache, autenticação). Aplicado com @. Muito usado em Flask/FastAPI.
Ver exemplo
@app.get("/vagas") def listar_vagas(): ...Desempacotamento
PythonAtribuir os elementos de uma sequência a várias variáveis de uma vez.
*captura o resto.Ver exemplo
a, b = b, a # troca primeiro, *resto = [1, 2, 3]Destructuring
JavaScriptExtrai valores de objetos/arrays para variáveis. Muito usado em props do React e em retornos de hooks.
Ver exemplo
const { nome, idade = 0 } = usuario; const [estado, setEstado] = useState(0);Dicionário (dict)
PythonEstrutura chave → valor com busca muito rápida (O(1)). Preserva a ordem de inserção. Métodos: get, items, keys, values, setdefault, update.
Ver exemplo
u = {"nome": "Ana", "idade": 28} u.get("email", "—") # '—' for chave, valor in u.items(): ...Discriminated union
TypeScriptUnião de objetos com um campo literal comum (ex: type, kind, ok) que permite ao TS saber exatamente qual variante você está tratando. Base de reducers e tratamento de erros.
Ver exemplo
type Acao = | { type: "somar"; valor: number } | { type: "zerar" };DML (INSERT, UPDATE, DELETE)
SQLComandos que alteram dados. Sempre use WHERE em UPDATE/DELETE (senão afeta a tabela inteira) e prefira fazê-los dentro de transações.
Ver exemplo
UPDATE produtos SET preco = preco * 0.9 WHERE categoria = 'Móveis';Docker
GeralEmpacota a aplicação e suas dependências em imagens que rodam igual em qualquer máquina, como containers. docker compose sobe vários serviços juntos (app + banco).
Ver exemplo
FROM python:3.12-slim WORKDIR /app COPY . . RUN pip install -r requirements.txt CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]enumerate() e zip()
Pythonenumerate devolve pares (índice, item); zip percorre várias sequências em paralelo. Evite
for i in range(len(lista)).Ver exemplo
for i, nome in enumerate(nomes, start=1): ... for nome, nota in zip(nomes, notas): ...Escopo
GeralRegião do código onde uma variável existe.
leteconsttêm escopo de bloco ({ });vartem escopo de função (evite). Em Python, funções criam escopo, mas if/for não.Ver exemplo
if (true) { const x = 1; } // x não existe aquiEvent loop
JavaScriptMecanismo que permite ao JS (single-thread) lidar com tarefas assíncronas: executa o código síncrono, depois a fila de microtasks (Promises) e então macrotasks (setTimeout, I/O).
Ver exemplo
setTimeout(() => console.log("2º"), 0); Promise.resolve().then(() => console.log("1º"));Exceção (try/except)
PythonErros em tempo de execução que interrompem o fluxo. Trate com try/except (capture tipos específicos!) e lance com raise.
finallysempre executa.Ver exemplo
try: n = int(texto) except ValueError: n = 0 finally: print("fim")f-string
PythonString com prefixo f que interpola expressões entre chaves. Aceita formatação: {valor:.2f} (2 casas), {n:,} (milhar), {texto!r} (repr).
Ver exemplo
preco = 9.5 print(f"Total: R$ {preco:.2f}") # Total: R$ 9.50Fatiamento (slice)
PythonExtrai partes de sequências com [início:fim:passo]. Não inclui o fim. [::-1] inverte.
Ver exemplo
s = "python" s[0:2] # 'py' s[-3:] # 'hon' s[::-1] # 'nohtyp'Função
GeralBloco de código nomeado e reutilizável que recebe parâmetros e pode retornar um valor. Prefira funções pequenas que fazem uma coisa só.
Ver exemplo
def soma(a, b): return a + bFunções de agregação
SQLCOUNT, SUM, AVG, MIN e MAX resumem várias linhas em uma.
COUNT(*)conta linhas;COUNT(coluna)ignora NULLs.Ver exemplo
SELECT COUNT(*), AVG(salario) FROM funcionarios;Generics
TypeScriptParâmetros de tipo (<T>) que tornam funções, classes e tipos reutilizáveis mantendo a segurança de tipos. Ex: Array<T>, Promise<T>, useState<T>.
Ver exemplo
function primeiro<T>(lista: T[]): T | undefined { return lista[0]; } primeiro([1, 2]); // number | undefinedGerador (yield)
PythonFunção que produz valores sob demanda com yield, pausando entre eles. Economiza memória em grandes volumes (ler arquivos, paginar APIs).
Ver exemplo
def contagem(n): while n > 0: yield n n -= 1Git
Git/TerminalSistema de controle de versão distribuído. Comandos essenciais: init, clone, status, add, commit, push, pull, switch, merge, log, diff.
Ver exemplo
git switch -c feature/filtro git add . git commit -m "feat: filtro de vagas" git push -u origin feature/filtroGROUP BY / HAVING
SQLGROUP BY agrupa linhas com o mesmo valor para agregar por grupo. HAVING filtra os grupos (WHERE filtra linhas antes de agrupar).
Ver exemplo
SELECT categoria, COUNT(*) AS qtd FROM produtos GROUP BY categoria HAVING COUNT(*) > 2;Herança
GeralUma classe filha reaproveita atributos e métodos de uma classe mãe, podendo sobrescrevê-los. Use com moderação: muitas vezes composição é melhor.
Ver exemplo
class Animal: ... class Gato(Animal): ...Hidratação
Next.jsProcesso em que o React no navegador conecta eventos e estado ao HTML que veio do servidor. Divergências entre servidor e cliente geram 'hydration errors'.
Ver exemplo
// ❌ causa erro de hidratação <p>{Math.random()}</p>Hooks
ReactFunções
use*que dão estado e ciclo de vida a componentes de função: useState, useEffect, useMemo, useCallback, useRef, useContext, useReducer. Sempre chamados no topo do componente.Ver exemplo
const ref = useRef<HTMLInputElement>(null);Imutabilidade
GeralNão alterar dados existentes; criar cópias modificadas. Evita bugs e é obrigatória no estado do React (senão a tela não atualiza).
Ver exemplo
const novo = { ...usuario, nome: "Ana" }; const lista2 = [...lista, item];Índice
SQLEstrutura (geralmente B-Tree) que acelera buscas e ordenações em colunas, com custo em escrita e espaço. Crie para colunas muito filtradas/joinadas.
Ver exemplo
CREATE INDEX idx_pedidos_cliente ON pedidos(cliente_id);interface
TypeScriptDescreve o formato de um objeto. Pode ser estendida (extends) e implementada por classes (implements).
Ver exemplo
interface Usuario { id: number; nome: string; } interface Admin extends Usuario { permissoes: string[]; }Intl
Web/APIsAPI nativa de internacionalização: formata moeda, números, datas, listas e plurais conforme o idioma.
Ver exemplo
new Intl.NumberFormat("pt-BR", { style: "currency", currency: "BRL" }).format(10) // 'R$ 10,00'JOIN
SQLCombina linhas de tabelas relacionadas. INNER JOIN: só o que casa dos dois lados. LEFT JOIN: tudo da esquerda + o que casar da direita (NULL se não houver).
Ver exemplo
SELECT p.id, c.nome FROM pedidos p JOIN clientes c ON c.id = p.cliente_id;JSON
Web/APIsJavaScript Object Notation: formato de texto para trocar dados entre sistemas (APIs). Suporta objetos, arrays, strings, números, booleanos e null.
Ver exemplo
import json dados = json.loads('{"ok": true}') # texto → dict texto = json.dumps({"ok": True}) # dict → textoJSX
ReactSintaxe parecida com HTML dentro do JS/TS. Expressões entram em { }. Use className, htmlFor e feche todas as tags.
Ver exemplo
<ul> {itens.map((i) => <li key={i.id}>{i.nome}</li>)} </ul>JWT
Web/APIsJSON Web Token: token assinado (header.payload.assinatura) usado para autenticação stateless. Enviado no header Authorization: Bearer <token>. O payload é legível — não guarde segredos nele.
Ver exemplo
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9...keyof
TypeScriptProduz a união das chaves de um tipo. Muito usado com generics para restringir parâmetros a chaves válidas.
Ver exemplo
type Chaves = keyof { id: number; nome: string }; // "id" | "nome"Laço for
GeralRepete um bloco para cada item de uma sequência. Em Python percorre qualquer iterável; em JS use
for...ofpara valores efor...inpara chaves.Ver exemplo
for fruta in ["maçã", "uva"]: print(fruta)lambda
PythonFunção anônima de uma única expressão. Muito usada como
keyem sorted/max/min.Ver exemplo
sorted(pessoas, key=lambda p: p["idade"])let, const e var
JavaScriptconstpara valores que não serão reatribuídos (padrão),letquando precisar reatribuir. Evitevar(escopo de função e hoisting confusos).Ver exemplo
const PI = 3.14; let contador = 0; contador++;Lista (list)
PythonSequência ordenada e mutável. Métodos: append, extend, insert, pop, remove, sort. Acesso por índice começando em 0; índices negativos contam do fim.
Ver exemplo
nums = [3, 1, 2] nums.append(4) nums[-1] # 4 sorted(nums) # [1, 2, 3, 4]map, filter, reduce
JavaScriptmap transforma cada item, filter mantém os que passam no teste, reduce acumula tudo em um único valor. Sempre retornam algo novo sem mudar o original.
Ver exemplo
precos.map((p) => p * 1.1) precos.filter((p) => p > 100) precos.reduce((soma, p) => soma + p, 0)Mapped types
TypeScriptCriam um tipo novo percorrendo as chaves de outro: { [K in keyof T]: ... }. É assim que Partial e Readonly são implementados.
Ver exemplo
type Opcional<T> = { [K in keyof T]?: T[K] };Merge vs rebase
Git/TerminalMerge junta históricos criando um commit de junção. Rebase reaplica seus commits sobre outra base, deixando o histórico linear. Não faça rebase de branches compartilhadas.
Ver exemplo
git switch minha-branch git rebase main # ou: git merge mainMétodos mágicos (dunder)
PythonMétodos com dois underscores (__init__, __str__, __repr__, __eq__, __add__, __len__) que integram seus objetos com a sintaxe do Python.
Ver exemplo
def __len__(self): return len(self.itens) # len(obj) funcionaModo strict
TypeScriptConjunto de checagens rígidas (noImplicitAny, strictNullChecks...) ativado com "strict": true no tsconfig.json. Padrão em projetos modernos (incluindo Next.js).
Ver exemplo
{ "compilerOptions": { "strict": true } }Módulo / resto (%)
GeralO operador % devolve o resto da divisão. Muito usado para saber se um número é par (n % 2 == 0) ou múltiplo de outro.
Ver exemplo
10 % 3 # 1 9 % 3 # 0 → 9 é múltiplo de 3Narrowing (estreitamento)
TypeScriptO TS refina o tipo dentro de blocos após checagens com typeof, instanceof, in, === ou type guards.
Ver exemplo
function f(x: string | number) { if (typeof x === "string") return x.length; // x: string return x.toFixed(2); // x: number }never
TypeScriptTipo que não possui valores. Usado para checagem exaustiva: se sobrar algum caso não tratado, a atribuição a never dá erro.
Ver exemplo
default: { const _x: never = acao; // erro se faltar um case }NULL e COALESCE
SQLNULL representa 'ausência de valor' e não é igual a nada (nem a NULL). Use IS NULL / IS NOT NULL. COALESCE devolve o primeiro valor não nulo.
Ver exemplo
SELECT nome, COALESCE(telefone, 'sem telefone') FROM clientes WHERE email IS NOT NULL;Objeto
JavaScriptColeção de pares chave: valor. Utilitários: Object.keys, Object.values, Object.entries, Object.fromEntries.
Ver exemplo
const u = { nome: "Ana", idade: 28 }; Object.entries(u); // [["nome","Ana"],["idade",28]]Operadores
GeralSímbolos para cálculos e comparações: aritméticos (
+ - * / // % **), comparação (== != < >), lógicos (and/or/not em Python; && || ! em JS).Ver exemplo
7 // 2 # 3 (divisão inteira) 7 % 2 # 1 (resto) 2 ** 3 # 8 (potência)ORDER BY / LIMIT
SQLOrdena o resultado (ASC padrão, DESC decrescente) e limita a quantidade de linhas. Com OFFSET, faz paginação.
Ver exemplo
SELECT * FROM vagas ORDER BY salario DESC LIMIT 10 OFFSET 20;Polimorfismo
GeralObjetos de classes diferentes respondem à mesma chamada, cada um do seu jeito. Ex: forma.area() funciona para Círculo e Retângulo.
Ver exemplo
for f in [Circulo(1), Retangulo(2, 3)]: print(f.area())Portfólio
GeralConjunto de projetos públicos que provam suas habilidades. Para júnior: 2–3 projetos completos, com deploy, README com prints, testes e histórico de commits limpo.
Ver exemplo
# Vagas Remotas App full-stack (Next.js + FastAPI + PostgreSQL) 🔗 Demo: https://... ## Como rodar ...print()
PythonFunção que mostra valores na saída padrão (terminal). Aceita vários argumentos, separados por espaço;
sepeendmudam o separador e o final.Ver exemplo
print("Olá", "mundo") # Olá mundo print(1, 2, 3, sep="-") # 1-2-3Promise
JavaScriptObjeto que representa um valor futuro (pendente, resolvido ou rejeitado). Base de toda operação assíncrona: fetch, banco, arquivos.
Ver exemplo
fetch(url) .then((r) => r.json()) .catch((erro) => console.error(erro));Propriedade opcional (?)
TypeScriptCampo que pode não existir. Seu tipo passa a incluir undefined, então é preciso tratar antes de usar.
Ver exemplo
interface Perfil { bio?: string; } perfil.bio?.toUpperCase();Props
ReactParâmetros que o componente pai passa ao filho. São somente leitura.
childrené a prop especial com o conteúdo entre as tags.Ver exemplo
<Botao cor="azul" onClick={salvar}>Salvar</Botao>Pull Request (PR)
Git/TerminalPedido para integrar uma branch em outra, com revisão de código e testes automáticos (CI). Descreva o que mudou, por quê e como testar.
Ver exemplo
## O que muda Adiciona filtro de vagas remotas ## Como testar 1. Acesse /vagas?remoto=truerange()
PythonGera uma sequência de inteiros sob demanda: range(fim), range(início, fim) ou range(início, fim, passo). O fim não é incluído.
Ver exemplo
list(range(1, 6)) # [1, 2, 3, 4, 5] list(range(10, 0, -3)) # [10, 7, 4, 1]readonly
TypeScriptImpede a reatribuição de uma propriedade depois da criação (apenas na checagem de tipos). Readonly<T> aplica a todas as propriedades.
Ver exemplo
interface Config { readonly apiUrl: string; }Recursão
GeralQuando uma função chama a si mesma para resolver um problema menor. Precisa sempre de um caso base, senão estoura a pilha (RecursionError / Maximum call stack).
Ver exemplo
def fatorial(n): if n <= 1: # caso base return 1 return n * fatorial(n - 1)Reducer / useReducer
ReactFunção pura (estado, ação) => novoEstado. Centraliza a lógica de estados complexos; mesmo padrão do Redux.
Ver exemplo
const [estado, dispatch] = useReducer(reducer, inicial); dispatch({ type: "adicionar", produto });REST
Web/APIsEstilo de API em que recursos têm URLs (substantivos) e as ações são os métodos HTTP: GET /vagas, POST /vagas, GET /vagas/1, PATCH /vagas/1, DELETE /vagas/1.
Ver exemplo
GET /api/vagas?remoto=true POST /api/vagas DELETE /api/vagas/42Route Handler
Next.jsArquivo
app/**/route.tsque exporta funções GET, POST, PUT, PATCH, DELETE usando as APIs Web Request e Response — cria endpoints de API dentro do Next.js.Ver exemplo
export async function GET(request: Request) { return Response.json({ ok: true }); }SELECT
SQLComando de consulta. Ordem lógica de execução: FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT.
Ver exemplo
SELECT nome, email FROM clientes;self
PythonPrimeiro parâmetro dos métodos de instância: referência ao próprio objeto. Equivale ao
thisdo JS, mas é explícito.Ver exemplo
class Conta: def depositar(self, valor): self.saldo += valorServer Component
Next.jsPadrão no App Router: renderiza no servidor, pode ser async e acessar banco/segredos, e não envia JavaScript ao navegador.
Ver exemplo
export default async function Page() { const vagas = await db.vaga.findMany(); return <Lista vagas={vagas} />; }Spread / rest (...)
JavaScriptSpread 'espalha' elementos (cópias e junções); rest agrupa o restante em parâmetros ou destructuring.
Ver exemplo
const copia = [...lista]; const novo = { ...obj, ativo: true }; function soma(...nums) {}SQL Injection
SQLAtaque em que o input do usuário é interpretado como SQL. Evite com consultas parametrizadas — nunca concatene strings.
Ver exemplo
# ❌ f"SELECT * FROM u WHERE email = '{email}'" # ✅ cursor.execute("SELECT * FROM u WHERE email = %s", (email,))SSR, SSG, ISR e CSR
Next.jsEstratégias de renderização: SSR gera HTML a cada requisição; SSG no build; ISR regenera estáticos periodicamente; CSR renderiza no navegador.
Ver exemplo
export const revalidate = 60; // ISR: no máximo a cada 60sString
GeralTexto: uma sequência de caracteres. Strings são imutáveis em Python e JS — métodos como upper()/toUpperCase() devolvem uma nova string.
Ver exemplo
s = "Python" s.lower() # 'python' s[0] # 'P' len(s) # 6Subquery
SQLConsulta dentro de outra, usada como valor, lista (IN) ou tabela (FROM). Correlacionada quando referencia a consulta externa.
Ver exemplo
SELECT nome FROM produtos WHERE preco > (SELECT AVG(preco) FROM produtos);Template string
JavaScriptString delimitada por crases que permite interpolação com ${} e múltiplas linhas.
Ver exemplo
const nome = "Ana"; console.log(`Olá, ${nome}! 2 + 2 = ${2 + 2}`);Terminal / shell
Git/TerminalInterface de texto para comandar o sistema. Básico: pwd, ls, cd, mkdir, rm, cat, grep, | (pipe), > (redireciona), && (encadeia).
Ver exemplo
mkdir projeto && cd projeto ls -la grep -rn "TODO" src/Teste automatizado
GeralCódigo que verifica código. Unitário testa uma função isolada; integração testa partes juntas; E2E testa o sistema como o usuário (Playwright). Ferramentas: pytest, Vitest, Jest.
Ver exemplo
def test_soma(): assert soma(2, 3) == 5this
JavaScriptReferência ao objeto que está chamando o método. Em funções normais depende de COMO a função é chamada; arrow functions herdam o this externo.
Ver exemplo
class Conta { saldo = 0; depositar(v) { this.saldo += v; } }Tipo literal
TypeScriptTipo que aceita apenas um valor exato. Combinado com union substitui enums de forma leve.
Ver exemplo
type Tema = "claro" | "escuro"; let t: Tema = "claro";Tipos do JavaScript
JavaScriptPrimitivos: string, number, bigint, boolean, undefined, null, symbol. Todo o resto é object (arrays, funções, datas).
typeof nullretorna 'object' por um bug histórico.Ver exemplo
typeof 42 // 'number' typeof [] // 'object' Array.isArray([]) // trueTransação (ACID)
SQLGrupo de operações que acontece por inteiro ou nada (BEGIN → COMMIT, ou ROLLBACK). ACID: Atomicidade, Consistência, Isolamento, Durabilidade.
Ver exemplo
BEGIN; UPDATE contas SET saldo = saldo - 100 WHERE id = 1; UPDATE contas SET saldo = saldo + 100 WHERE id = 2; COMMIT;Truthy e falsy
JavaScriptValores falsy viram false em condições: false, 0, -0, 0n, "", null, undefined, NaN. Todo o resto é truthy — inclusive [] e {}.
Ver exemplo
if ([]) console.log("array vazio é truthy!");Tupla (tuple)
PythonSequência ordenada e IMUTÁVEL. Usada para retornar vários valores e como chave de dicionário.
Ver exemplo
ponto = (10, 20) x, y = ponto # desempacotamentoType erasure
TypeScriptOs tipos do TypeScript são apagados na compilação: não existem em runtime. Por isso validação de dados externos precisa de código (type guards, Zod).
Ver exemplo
// TS: const n: number = 1 // JS: const n = 1Type guard
TypeScriptFunção que retorna
x is Tipo: se retornar true, o TS passa a tratar o valor como aquele tipo.Ver exemplo
function ehString(x: unknown): x is string { return typeof x === "string"; }Type hints
PythonAnotações de tipo opcionais em Python. Não são checadas em runtime, mas ferramentas (mypy, Pyright, IDE) e frameworks (FastAPI, Pydantic) as usam.
Ver exemplo
def saudacao(nome: str, vezes: int = 1) -> str: return nome * vezesUnion type (|)
TypeScriptUm valor que pode ser de um tipo OU de outro. É preciso estreitar (narrowing) antes de usar métodos específicos.
Ver exemplo
type Id = string | number;unknown vs any
TypeScriptanydesliga a checagem (evite).unknownaceita qualquer valor mas obriga a verificar o tipo antes de usar — ideal para dados externos (JSON, catch).Ver exemplo
const dados: unknown = JSON.parse(texto); if (typeof dados === "object" && dados !== null) { ... }useEffect
ReactExecuta efeitos colaterais após a renderização (assinaturas, timers, sincronizar com APIs do navegador). O array de dependências controla quando roda; retorne uma função de limpeza.
Ver exemplo
useEffect(() => { const id = setInterval(tick, 1000); return () => clearInterval(id); }, []);useState
ReactHook de estado local. Retorna [valor, setValor]; chamar o setter agenda uma nova renderização. Use a forma funcional quando o novo valor depende do anterior.
Ver exemplo
const [n, setN] = useState(0); setN((atual) => atual + 1);Utility types
TypeScriptTipos prontos que transformam outros: Partial (tudo opcional), Required, Pick (escolhe chaves), Omit (remove chaves), Record<K, V>, ReturnType, Awaited.
Ver exemplo
type NovoUsuario = Omit<Usuario, "id">; type Patch = Partial<NovoUsuario>;Validação de dados
Web/APIsConferir se dados externos (formulários, APIs) têm o formato esperado antes de usar. Nunca confie no cliente: valide no servidor. Ferramentas: Zod (TS), Pydantic (Python).
Ver exemplo
const Usuario = z.object({ nome: z.string().min(2), email: z.string().email() });Variável
GeralUm nome que aponta para um valor guardado na memória. Em Python é criada na atribuição; em JS use
const(não muda) oulet(muda).Ver exemplo
nome = "Ana" idade = 28Variável de ambiente
GeralConfiguração externa ao código (URLs, chaves, modo). Em dev ficam no arquivo .env (que NUNCA vai para o Git). No Next.js, só as com prefixo NEXT_PUBLIC_ chegam ao navegador.
Ver exemplo
import os url = os.environ["DATABASE_URL"]WHERE
SQLFiltra linhas com condições: =, <>, <, >, AND, OR, NOT, IN, BETWEEN, LIKE ('%' = qualquer sequência, '_' = um caractere).
Ver exemplo
SELECT * FROM produtos WHERE preco BETWEEN 100 AND 500 AND nome LIKE 'Mouse%';Window function
SQLCalcula sobre um conjunto de linhas relacionadas SEM agrupar o resultado: ROW_NUMBER, RANK, LAG, LEAD, SUM() OVER. Muito usada em análise de dados.
Ver exemplo
SELECT nome, salario, RANK() OVER (PARTITION BY depto ORDER BY salario DESC) AS pos FROM funcionarios;