180 articles · mis à jour chaque semaine Voir nos Outils
Tous les articles
RD
Auteur

Rafael Duarte

Editor técnico São Paulo, SP

Desenvolvedor backend com passagem por fintech e SaaS B2B — trabalhou em times que escalaram APIs de zero a milhões de requisições. Carrega cicatrizes de produção suficientes para ter opiniões fortes sobre ferramentas, padrões e decisões de arquitetura. Não é acadêmico: leu a RFC do UUID quando precisou escolher entre v4 e v7 para uma tabela de alta escrita.

PythonGoPostgreSQLAWS
166
articles

Articles de Rafael Duarte

Dicas
Dicas

Como reduzir dependências em um projeto

Como reduzir dependências em um projeto, com exemplos práticos, erros comuns e cuidados importantes para aplicar com segurança.

RD
Rafael Duarte · 7m
Dicas
Dicas

Currículo para tecnologia: erros que afastam recrutadores

Currículo para tecnologia: conheça os erros que afastam recrutadores e veja como montar um currículo que realmente abre portas.

RD
Rafael Duarte · 7m
Dicas
Dicas

Como escolher um notebook para programação

Como escolher um notebook para programação: veja o que importa de verdade e aplique o critério certo ao seu contexto de trabalho.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Domain-Driven Design para projetos pequenos

Domain-Driven Design para projetos pequenos: aplicações práticas e recomendações para quem quer adotar os conceitos sem exagero.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Testes de contrato entre serviços

Testes de contrato entre serviços: entenda os benefícios, limitações e quando vale a pena adotá-los na sua arquitetura distribuída.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

Branching strategies: Git Flow, trunk-based e GitHub Flow

Branching strategies: compare Git Flow, trunk-based e GitHub Flow e evite os erros mais comuns ao escolher um fluxo para o seu time.

RD
Rafael Duarte · 7m
Dicas
Dicas

Agentes de IA: onde ajudam e onde atrapalham

Agentes de IA: entenda onde ajudam e onde atrapalham, com critérios práticos para decidir quando realmente vale a pena adotá-los.

RD
Rafael Duarte · 8m
Dicas
Dicas

Meta description influencia o ranking do Google

A meta description influencia o ranking do Google? Veja o que ela faz de verdade e como usá-la para ganhar cliques nos resultados.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Gzip vs Brotli: qual compressão usar

Gzip vs Brotli: aprenda qual compressão usar, com exemplos práticos, erros comuns e cuidados para aplicar com segurança em produção.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Portas de rede: o que são e para que servem

Portas de rede: entenda o que são e para que servem, veja como funcionam na prática e quando isso importa em projetos reais.

RD
Rafael Duarte · 7m
Dicas
Dicas

O que é phishing e como identificar golpes

Entenda o que é phishing e como identificar golpes, com sinais práticos e cuidados para se proteger no dia a dia.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

systemd: como criar e gerenciar serviços

systemd: aprenda a criar e gerenciar serviços com aplicações práticas e recomendações para quem está começando ou quer revisar o básico.

RD
Rafael Duarte · 7m
Dicas
Dicas

Auto scaling: quando escalar horizontalmente

Auto scaling: entenda quando escalar horizontalmente, os principais benefícios, limitações e situações em que realmente vale a pena.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como reduzir o tamanho de imagens Docker

Saiba como reduzir o tamanho de imagens Docker, compare alternativas e evite os erros mais comuns antes de subir para produção.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Chave primária natural ou surrogate key

Chave primária natural ou surrogate key: veja conceitos essenciais, boas práticas e exemplos fáceis de adaptar aos seus projetos.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

OAuth 2.0 explicado sem complicação

Descubra OAuth 2.0 explicado sem complicação, quais problemas resolve e como tomar decisões melhores ao usar esse protocolo no dia a dia.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

React, Vue, Angular ou Svelte: como escolher

Aprenda a escolher entre React, Vue, Angular e Svelte com critérios práticos, erros comuns e cuidados importantes para decidir com segurança.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como comparar dois textos com um diff checker

Entenda como comparar dois textos com um diff checker, veja como funciona na prática e descubra quando essa abordagem faz sentido em projetos reais.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como trabalhar com arquivos grandes sem estourar a memória

Por que readFile mata o processo em arquivos de 2GB e como processar em stream com memória constante: chunks, generators em Python e backpressure no Node.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Certificado SSL gratuito é seguro?

Let's Encrypt usa a mesma criptografia que um certificate pago: o que muda é o tipo de validation, não a segurança. Entenda DV, OV, EV e o cadeado.

RD
Rafael Duarte · 7m
Dicas
Dicas

Dependências abandonadas: como identificar o risco

Como reconhecer uma dependência sem dono, por que o abandono é risco real de segurança e supply chain, e o que fazer com o que já está no seu projeto.

RD
Rafael Duarte · 7m
Dicas
Dicas

Como documentar projetos no GitHub: o README que importa

O README é a porta de entrada e quase a única doc que será lida. Veja a estrutura que funciona, os arquivos de apoio e como documentar o porquê.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

32 bits vs 64 bits: o que muda de verdade

Entenda o que o word size de 32 e 64 bits realmente significa: limite de 4 GB de RAM, overflow de inteiros, o bug do ano 2038 e compatibilidade.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

DTO, entity e value object: qual é a diferença e quando usar cada um

Tratar DTO, entity e value object como sinônimos é a origem de modelos ruins. Entenda o que define cada padrão e onde a maioria dos projetos erra.

RD
Rafael Duarte · 7m
Dicas
Dicas

Como testar APIs de forma automatizada sem suíte inútil

Teste a borda real da sua API, não os detalhes internos: endpoint, contrato e fumaça em produção, o que asseverar, fixtures, mock server e CI.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como resolver conflitos de merge sem pânico

Conflito de merge não é erro: é o Git pedindo uma decisão sua. Entenda os marcadores, siga o fluxo calmo e aprenda a abortar quando precisar recomeçar.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Embeddings: o que são e para que servem

Embedding transforma texto em vetor de números onde proximidade é significado. Entenda como funciona, cosine similarity e por que sustenta busca semântica e RAG.

RD
Rafael Duarte · 7m
Dicas
Dicas

Como escrever títulos que geram clique sem clickbait

Clickbait infla o CTR e queima a confiança: Google penaliza. Veja como escrever títulos honestos, específicos e que cabem no SERP — e ainda dão vontade de clicar.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Cache do navegador: Cache-Control e ETag

Como o navegador decide reusar um recurso: Cache-Control, max-age, no-cache vs no-store, ETag e 304. A estratégia de cache que acaba com o bug do antigo.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

TCP vs UDP: diferenças e aplicações

TCP garante entrega e ordem pagando latência; UDP atira e esquece para cortar atraso. Entenda quando cada um faz sentido e por que QUIC mistura os dois.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Hashing de senhas: bcrypt, scrypt e Argon2

Por que nunca guardar senha em texto nem em hash rapido, e como bcrypt, scrypt e Argon2id protegem com salt, work factor e custo de memoria de verdade.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como investigar falta de espaço em disco no Linux

Um método de diagnóstico para descobrir por que o disco está cheio: df para achar o mount, du para o diretório, e os casos que confundem como inodes e arquivos deletados.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Load balancer: como distribuir tráfego com segurança

Como um load balancer distribui requests entre backends para escala e alta disponibilidade: camada 4 vs 7, algoritmos, health checks e sessões stateless.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Volumes Docker: bind mount, volume nomeado e tmpfs

O filesystem do container some no docker rm e quebra dados de banco. Veja os tres tipos de volume, quando usar cada um, permissoes de UID e backup.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como modelar tabelas sem criar um banco impossível de manter

Normalização sem dogma, uma coluna por fato, foreign keys de verdade e tipos honestos: como desenhar um schema que sobrevive ao tempo e evita os anti-padrões caros.

RD
Rafael Duarte · 7m
Todos
Todos

JWT vs sessão: qual modelo de autenticação usar

Sessão dá controle total e revogação instantânea; JWT escala sem store central, mas revogar é o ponto fraco. Compare os trade-offs e escolha o modelo certo.

RD
Rafael Duarte · 7m
Todos
Todos

TypeScript vale a pena em projetos pequenos?

TS adiciona um build step, mas paga em autocompletar, refactor seguro e bugs pegos cedo. Veja o tradeoff real e quando NAO compensa em projeto pequeno.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

O que é UUID e quais versões existem

UUID é um identificador único de 128 bits. Entenda por que ele substitui o auto-increment e qual versão usar — com destaque para o v7 em tabelas de alta escrita.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Schema validation para JSON: validando o formato, não só a sintaxe

JSON válido não é JSON correto. Veja como usar JSON Schema para validar o formato esperado na borda da API, no config e nos contratos entre serviços.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Nameserver e zona DNS: qual é a diferença

Trocar o nameserver não edita a sua zona DNS: muda onde ela vive e deixa os records para trás. Por isso o e-mail quebra. Entenda a diferença de uma vez.

RD
Rafael Duarte · 7m
Dicas
Dicas

Como avaliar se uma biblioteca é confiável

Antes de dar npm install, saiba avaliar se uma biblioteca é confiável: manutenção, adoção, qualidade, segurança, licença e o custo real de cada dependência.

RD
Rafael Duarte · 7m
Dicas
Dicas

Portfólio de desenvolvedor: o que colocar (e o que cortar)

Recrutador olha seu portfólio por vinte segundos. Um projeto terminado e no ar vence dez clones de tutorial. O que incluir, o que cortar e por que o README é metade da impressão.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Arquitetura ARM vs x86: ISA, RISC vs CISC e a dor do multi-arch

ARM vs x86 explicado de verdade: o que é o instruction set, por que RISC vs CISC borrou, eficiência vs legado e como matar o exec format error com builds multi-arch.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Controller, service e repository: responsabilidades

O que controller, service e repository fazem de fato, os anti-patterns (fat controller, service anêmico, repository vazando ORM) e quando ter as três camadas é overkill.

RD
Rafael Duarte · 7m
Dicas
Dicas

Mocks, stubs e fakes: as diferenças que importam

Dummy, stub, fake, mock e spy não são sinônimos. Entenda o divisor real entre eles, state x behavior verification, e quando usar cada test double sem cair no over-mocking.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Git reset, revert e restore: as diferenças

Reset move ponteiros, revert cria um commit que desfaz outro e restore lida com arquivos. Entenda qual usar antes e depois do push e nunca mais quebre o histórico.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

O que é RAG: como conectar uma IA aos seus próprios dados

RAG (retrieval augmented generation) conecta um LLM aos seus dados privados buscando os trechos certos no momento da pergunta e injetando-os no prompt como contexto.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Palavra-chave de cauda longa: como encontrar oportunidades

Site novo não ranqueia para termos amplos. Veja o que é palavra-chave de cauda longa e como achar oportunidades de graça mirando intenção em vez de volume.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Lazy loading de imagens e componentes: sem quebrar o LCP

Lazy loading bem feito acelera a página; mal feito piora o LCP. Quando usar loading=lazy, por que nunca no hero, como evitar CLS e fazer lazy de componentes.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como funciona uma consulta DNS

Do navegador ao servidor authoritative: a cadeia de resolução DNS, recursive vs iterative, cache e TTL, e por que propagação na verdade é cache expirando.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Criptografia simétrica vs assimétrica: a diferença que confunde todo mundo

Simétrica usa uma chave, assimétrica usa um par public/private, e hashing não é criptografia. Entenda quando usar cada uma e por que o TLS usa as duas.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como encontrar arquivos grandes no Linux

Disco cheio e você não sabe o que ocupa o espaço? A sequência prática com df, du, ncdu, find e a armadilha do arquivo deletado mas ainda aberto.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

O que é CDN: por que ela acelera sites no mundo inteiro

Entenda o que é uma CDN, como edge servers e cache reduzem latência e por que ela acelera sites no mundo inteiro — além de DDoS, WAF e TLS.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Docker Compose para ambientes de desenvolvimento

Um arquivo descreve a stack inteira do seu app e todo dev sobe o mesmo ambiente com um comando. Veja a anatomia de um compose, healthchecks e onde não usar.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Redis: cache, sessão, fila e outros casos de uso

Para que serve Redis na prática: cache com TTL e eviction, session store, rate limiting, filas, pub/sub e locks distribuídos, e por que ele não é seu banco.

RD
Rafael Duarte · 7m
Todos
Todos

Como funciona JWT: autenticacao, assinatura e seguranca

Como funciona JWT na pratica: as tres partes do token, o que a assinatura garante, HS256 vs RS256, fluxo de login, expiracao e armadilhas de seguranca.

RD
Rafael Duarte · 7m
Todos
Todos

O que e JavaScript e como ele roda no navegador

O que e JavaScript de verdade: linguagem dinamica e single-threaded, como o engine compila seu codigo, o event loop e por que JS nao e o DOM.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como converter Base64 em texto, imagem e arquivo

Como converter Base64 de volta em texto, imagem e arquivo no browser e na linha de comando, com o UTF-8 gotcha, o prefixo Data URI e os erros comuns.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como validar dados antes de salvar no banco de dados

Onde validar dados antes de salvar no banco — front, back e constraints — e como fazer isso de forma segura sem espalhar ifs.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como apontar um domínio para uma hospedagem: passo a passo de DNS

Aprenda a apontar um domínio para a hospedagem: nameservers vs registros A, passo a passo de DNS, propagação e os erros mais comuns.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como contribuir com open source pela primeira vez: do good first issue ao pull request

Guia prático do primeiro pull request: como escolher projetos, achar good first issues e abrir um PR que é aceito.

RD
Rafael Duarte · 8m
Dicas
Dicas

Projetos pessoais para conseguir emprego: quais valem e como apresentar

Quais projetos pessoais realmente ajudam a conseguir emprego em tech, quantos ter no portfólio e como apresentá-los para o recrutador.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

CPU, núcleos e threads: o que muda na prática

Entenda a diferença entre núcleos e threads de CPU e o que muda na prática para desempenho, multitarefa, jogos e programação.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Arquitetura hexagonal (ports and adapters): o que é e quando usar

O que muda no seu código com arquitetura hexagonal, como são portas e adaptadores na prática e quando o padrão vale a complexidade.

RD
Rafael Duarte · 8m
Dicas
Dicas

A pirâmide de testes ainda faz sentido? Críticas, trophy e como equilibrar

A pirâmide de testes ainda faz sentido? Entenda o conceito, as críticas modernas (trophy, honeycomb) e como equilibrar unitário, integração e e2e.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como desfazer alterações no Git com segurança: reset, revert, restore e reflog

Qual comando usar para desfazer alterações no Git em cada situação — reset, revert, restore, stash e reflog — sem perder trabalho.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como escrever prompts claros e confiáveis para IA

Técnicas práticas para escrever prompts claros e confiáveis e parar de receber respostas vagas ou no formato errado da IA.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Intenção de busca: o que o usuário realmente quer (e como descobrir)

Entenda os 4 tipos de intenção de busca e use a SERP para descobrir o que o usuário realmente quer antes de escrever uma linha.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como reduzir o tempo de carregamento inicial de um site

Técnicas práticas para reduzir o tempo de carregamento inicial de um site, do TTFB ao JavaScript, com o ganho real de cada uma.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Registros DNS explicados: A, AAAA, CNAME e MX

O que fazem os registros DNS A, AAAA, CNAME e MX, com exemplos práticos e os erros mais comuns ao configurar um domínio.

RD
Rafael Duarte · 7m
Dicas
Dicas

Autenticação em dois fatores: SMS, app ou chave física — qual escolher

SMS, app autenticador ou chave física: contra o que cada 2FA protege, contra o que não protege e qual usar em cada conta.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

O que significa a permissão 755, 775 e 644 no Linux

Entenda de uma vez as permissões 755, 775 e 644 no Linux: o que cada número faz, qual problema resolve e como escolher a certa.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Object Storage: o que é, como funciona e quando usar

Entenda como o object storage funciona, quando usar e os erros comuns ao guardar arquivos na nuvem sem estourar a fatura.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como criar um Dockerfile menor e mais seguro

Imagem base certa, multi-stage build, usuário não-root e camadas otimizadas: como deixar seu Dockerfile menor e mais seguro na prática.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

Quando usar MongoDB: o modelo de documentos faz sentido?

Quando usar MongoDB e quando não usar: critérios concretos para decidir entre o modelo de documentos e tabelas relacionais.

RD
Rafael Duarte · 8m
Todos
Todos

O que são webhooks e como integrar eventos entre sistemas

Entenda o que são webhooks, como diferem de uma API e como integrar eventos entre sistemas com segurança, retry e idempotência.

RD
Rafael Duarte · 8m
Todos
Todos

Como criar layouts responsivos sem frameworks (CSS puro em 2026)

Monte layouts responsivos com Flexbox, Grid, clamp() e container queries — sem Bootstrap nem Tailwind. Veja benefícios, limites e quando vale.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

O que é Base64 e quando essa codificação faz sentido

Entenda o que é Base64, por que não é criptografia e quando essa codificação faz sentido — com os erros mais comuns em produção.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

UTF-8 e problemas de encoding: por que acentos quebram e como resolver

O que é UTF-8, code points, mojibake e por que "configuração" vira "configuração" — o mecanismo explicado ponta a ponta.

RD
Rafael Duarte · 9m
Comparativos
Comparativos

Subdomínio vs subdiretório: qual estrutura prejudica menos seu SEO

blog.site.com ou site.com/blog: a diferença parece técnica, mas o impacto na autoridade de domínio é real e dura anos. Entenda antes de publicar o primeiro post.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como escolher uma licença para seu projeto open source

Árvore de decisão prática: sem licença significa fechado, permissiva ou copyleft, dual licensing e quando MIT não é suficiente.

RD
Rafael Duarte · 9m
Dicas
Dicas

Como aprender uma nova linguagem de programação mais rápido

Você já sabe programar — o método certo para iniciantes é o errado para você. Como usar transferência de conhecimento, código idiomático e um projeto real para cortar o caminho.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

SSD SATA vs NVMe: quando a diferença importa de verdade

NVMe é 12x mais rápido que SATA nos benchmarks — mas para a maioria dos devs, o storage raramente é o gargalo. Quando vale o upgrade e quando é dinheiro jogado fora.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Clean Architecture: benefícios reais e armadilhas comuns

Quatro camadas, doze interfaces e um Use Case que faz uma query simples. Como Clean Architecture sai dos livros e vira overengineering — e quando realmente compensa.

RD
Rafael Duarte · 8m
Dicas
Dicas

Testes end-to-end: quando o custo compensa

E2E testa o que as outras camadas não conseguem — mas é caro, lento e propenso a flakiness. Saiba quando usar, quanto ter, e por que retry não resolve.

RD
Rafael Duarte · 9m
Comparativos
Comparativos

Git merge vs rebase: qual usar e quando

A diferença entre git merge e git rebase não é opinião — é o formato do seu histórico. Entenda a regra de ouro do rebase e quando cada comando faz sentido.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Prompt engineering sem fórmulas mágicas

Contexto, exemplos e restrições — o que realmente funciona ao escrever prompts em 2026, sem os truques que viralizaram e não sobreviveram à realidade.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como escolher palavras-chave sem ferramentas pagas

Autocomplete, PAA, análise de SERP e Search Console cobrem 80% do que você precisa para pesquisa de keywords — sem assinar SEMrush ou Ahrefs.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Por que o score do PageSpeed não conta a história inteira

Score 100/100 no PageSpeed e reprovando no Core Web Vitals ao mesmo tempo? Entenda por que o score de laboratório e a experiência real divergem — e o que realmente afeta ranking.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

IP público, privado, fixo e dinâmico: qual a diferença?

RFC 1918, NAT e DHCP explicados de forma direta: o que separa IP público de privado e por que confundir fixo com dinâmico derruba servidores em produção.

RD
Rafael Duarte · 7m
Dicas
Dicas

Gerenciadores de senha são realmente seguros? Como funciona o cofre cifrado

Zero-knowledge, master password, breach real do LastPass: entenda como o cofre cifrado funciona e onde está o risco que ninguém explica direito.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

chmod, chown e umask no Linux: permissões explicadas com exemplos de servidor

Entenda chmod (octal e simbólico), chown e umask com profundidade suficiente para resolver qualquer Permission denied em servidor — sem adivinhação.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Serverless: vantagens, limites e custos ocultos

Cold start, vendor lock-in e fatura que explode em alta escala: o que o marketing não conta sobre serverless — e quando vale a pena mesmo assim.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

Imagem Docker vs container: qual é a diferença

Imagem é template imutável, container é instância. Entender a diferença — camadas, lifecycle e camada gravável — muda como você debugga e opera Docker.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

O que é um UUID? Formato, versões e quando usar

UUID é um identificador de 128 bits sem coordenação central. Conheça o formato, as 8 versões (v1 a v8), NIL UUID, e quando usar cada versão em bancos e APIs.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

SQLite: quando usar esse banco de dados (e quando não usar)

SQLite não é brinquedo: está em um trilhão de dispositivos. Entenda quando ele ganha de Postgres — e onde os limites reais de concorrência aparecem.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

GraphQL vs REST: quando GraphQL vale (e quando não vale)

Overfetching, N+1, caching e complexidade operacional: por que a maioria das APIs não precisa de GraphQL, e quando ele realmente faz sentido.

RD
Rafael Duarte · 7m
Dicas
Dicas

10 melhores geradores de senha online (gratuitos, sem cadastro)

Nem todo gerador de senha é seguro: alguns usam Math.random, outros enviam a senha ao servidor. Conheça os melhores que rodam no navegador com entropia real.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

O que é URL encoding? Percent-encoding explicado

URL encoding converte caracteres especiais em sequências %HH para que possam aparecer em URLs sem ambiguidade. Entenda a diferença entre encodeURI e encodeURIComponent.

RD
Rafael Duarte · 7m
Todos
Todos

CSS Grid vs Flexbox: quando usar cada um

Grid é bidimensional, Flexbox é unidimensional. A escolha certa entre os dois depende do que o layout está tentando fazer — não de preferência pessoal.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

UUID v4 vs UUID v7: qual usar no seu projeto?

UUID v4 usa aleatoriedade pura; UUID v7 embute um timestamp ordenável. A diferença parece pequena, mas muda completamente o desempenho de índices em tabelas grandes.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

JSON vs XML: qual formato escolher em cada projeto

Comparação direta entre JSON e XML: verbosidade, parsing, schema, namespaces e os casos reais onde XML ainda é a escolha certa.

RD
Rafael Duarte · 8m
Dicas
Dicas

Melhores ferramentas de Base64 online (encode e decode, gratuitas)

Comparação direta das melhores ferramentas de Base64 online: quais rodam no navegador, quais suportam data URL e imagem, e qual usar para dados sensíveis.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

.com.br vs .com: domínio nacional ou internacional, qual escolher

O TLD define geotargeting automático, credibilidade com usuários brasileiros e quem pode registrar. Entenda quando cada extensão faz sentido de verdade.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Como importar CSV sem corromper caracteres: encoding, BOM e delimitadores

UTF-8, latin1, cp1252, BOM — por que seus acentos aparecem como lixo e como corrigir de uma vez, no Excel, Python e linha de comando.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

O que é Base64? Guia direto ao ponto

Base64 converte dados binários em texto ASCII para que possam trafegar por protocolos que não aceitam bytes brutos. Entenda como funciona e quando usar.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Licenças MIT, Apache e GPL: diferenças práticas para devs

MIT, Apache 2.0 e GPL não são a mesma coisa. Entenda permissiva vs copyleft, proteção de patentes e compatibilidade antes de colocar código em produção.

RD
Rafael Duarte · 10m
Dicas
Dicas

Roadmap de estudos: como montar um próprio que funcione

Seguir um roadmap genérico cobre todo mundo e não serve para ninguém. Veja como montar o seu com destino claro, sequência técnica e marcos verificáveis.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

Como funciona a memória RAM

Entenda o que é memória RAM, por que ela é volátil, como difere do disco e do cache, e quando adicionar mais GB realmente resolve o problema.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Princípios SOLID explicados com exemplos: quando ajudam e quando viram dogma

Os 5 princípios SOLID com código real, explicados sem enrolação — e com honestidade sobre quando geram overengineering em vez de resolver problemas.

RD
Rafael Duarte · 8m
Dicas
Dicas

Como escrever boas mensagens de commit no Git

Conventional Commits, modo imperativo, título vs. corpo — como transformar o histórico do Git em documentação útil em vez de um cemitério de "ajustes".

RD
Rafael Duarte · 8m
Comparativos
Comparativos

Teste de integração vs teste unitário: o que cada um pega (e o que não pega)

Cobertura alta, deploy confiante — e ainda assim o bug aparece em produção. Entenda o que separa teste unitário de integração e quando usar cada um.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

Como os LLMs geram respostas: tokens, predição e sampling explicados

Tokenização, predição autorregressiva, temperatura e Top-P: a mecânica interna de como modelos de linguagem transformam um prompt em texto.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

SEO técnico: checklist completo para sites novos

robots.txt, sitemap, canonical, hreflang e dados estruturados — o que revisar antes de lançar um site e por que conteúdo bom não ranqueia sem base técnica correta.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

Como medir a velocidade de um site corretamente

Lab data encontra o problema, field data confirma que você resolveu. Entenda o que PageSpeed, Lighthouse, WebPageTest e CrUX realmente medem — e qual número o Google usa para rankear.

RD
Rafael Duarte · 10m
Tutoriais
Tutoriais

Endereço IP: diferença entre IPv4 e IPv6, esgotamento e NAT

IPv4 esgotou em 2020 na América Latina. Entenda a notação, os limites do NAT, as mudanças do IPv6 e o que isso significa para quem escreve código.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

Comandos Linux essenciais para administrar servidores

systemctl, journalctl, ps, df, ss e grep — os comandos que você usa quando algo quebra em produção e não tem painel instalado.

RD
Rafael Duarte · 8m
Dicas
Dicas

Como criar e armazenar senhas fortes

Entropia, passphrases, gerenciadores de senha e por que reusar é o erro mais caro — tudo que você precisa saber além das dicas genéricas.

RD
Rafael Duarte · 9m
Comparativos
Comparativos

Deno Desktop: app nativo sem Electron nem Rust — o que muda de verdade (e o que ainda quebra)

O Deno 2.9 compila seu projeto web num app desktop nativo. A manchete vende 'concorrente do Electron', mas o real diferencial é outro: é o Tauri sem a obrigação de aprender Rust.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Cloud pública, privada e híbrida: como escolher

Comparação direta dos três modelos de cloud — custo real, controle operacional, compliance e quando cada um faz sentido para o seu contexto.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Docker explicado para quem nunca usou containers

Imagem vs container, Dockerfile básico e por que Docker resolve o clássico "na minha máquina funciona" — guia direto para devs iniciando.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

PostgreSQL vs MySQL: diferenças práticas para quem precisa escolher

Comparativo honesto entre PostgreSQL e MySQL: tipos nativos, JSONB vs JSON_EXTRACT, concorrência MVCC e extensões. Por que PostgreSQL como default faz sentido.

RD
Rafael Duarte · 9m
Todos
Todos

REST API: princípios, boas práticas e erros comuns

Design de recursos, versionamento, status codes corretos e paginação — o que toda API deveria ter antes de chegar ao primeiro cliente em produção.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como validar JSON e encontrar erros de sintaxe

Trailing comma, aspas simples, chave sem fechar — os erros de sintaxe JSON mais comuns e como localizar a linha exata sem adivinhar.

RD
Rafael Duarte · 8m
Todos
Todos

HTML semântico: como estruturar páginas mais acessíveis

Tags como header, nav, main e article não são só organização visual — definem o que cada parte da página significa para leitores de tela, crawlers e SEO.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como registrar um domínio e escolher um bom nome

Registrars, TLDs, critérios de nome e DNS básico: o que saber antes de comprar um domínio — e os erros que custam meses de trabalho depois.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

ETL vs ELT: diferenças no processamento de dados

ETL e ELT não são apenas letras trocadas. A ordem define onde a computação pesada acontece — e essa decisão afeta custo, manutenibilidade e conformidade com LGPD.

RD
Rafael Duarte · 8m
Dicas
Dicas

Como organizar estudos de programação sem se perder

Sair do tutorial hell, estudar com consistência e terminar projetos — o sistema prático que realmente funciona para aprender programação.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

O que é software open source

Open source não significa gratuito. Entenda o que a licença realmente define, as diferenças entre MIT, GPL e Apache, e como projetos open source se sustentam financeiramente.

RD
Rafael Duarte · 8m
Dicas
Dicas

Clean Code sem dogmas: o que realmente importa

Clean Code virou religião — e tem fiéis que aplicam os mandamentos sem entender a teologia. O que realmente reduz bugs e custo de manutenção.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

Windows, Linux ou macOS para programar

Windows, Linux ou macOS — qual SO usar para programar depende da sua stack, não de preferência pessoal. Comparação honesta sem fanboyismo.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Git para iniciantes: commits, branches e merge

Entenda o modelo mental do Git — commits, branches e merge — com os comandos que você vai usar no dia a dia, sem enrolação.

RD
Rafael Duarte · 7m
Dicas
Dicas

Testes unitários: o que testar e o que evitar

O que separa testes que protegem comportamento real dos que só inflam coverage e viram fardo na hora de refatorar.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

O que é inteligência artificial generativa

LLMs geram texto token a token via predição estatística — sem plano, sem "saber". Entenda como funciona, onde performa bem e por que alucina.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

SEO para iniciantes: como o Google encontra páginas

Como o Googlebot rastreia, indexa e ranqueia páginas — crawl budget, mobile-first, title tag, Core Web Vitals e os mitos que ainda circulam.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como a internet funciona do DNS ao HTTP

Do DNS ao TCP/IP ao HTTP: o que acontece nos bastidores quando você digita um endereço no navegador — e por que entender isso importa na hora de debugar.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

Core Web Vitals: LCP, INP e CLS explicados

LCP, INP e CLS: o que cada métrica mede, os thresholds atuais do Google e como corrigir os problemas mais comuns para passar no CrUX.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Linux para iniciantes: diretórios, usuários e permissões

Filesystem hierarchy, usuários, grupos e permissões rwx explicados com os comandos que você vai usar de verdade — sem enrolação e sem decoreba.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

Segurança da informação: conceitos básicos para qualquer pessoa

CIA triad, senhas, 2FA, phishing e ameaças comuns explicados sem enrolação. O essencial para proteger contas pessoais e entender como ataques reais funcionam.

RD
Rafael Duarte · 10m
Tutoriais
Tutoriais

O que é DevOps além das ferramentas

DevOps não é um pipeline nem um cargo. É responsabilidade compartilhada entre quem escreve código e quem coloca em produção — e por que a maioria dos times erra nisso.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

VPS, VPC e servidor dedicado: diferenças

VPS, VPC e servidor dedicado aparecem juntos em toda comparação de hospedagem — mas significam coisas bem diferentes. Entenda onde o dinheiro vai e como decidir.

RD
Rafael Duarte · 8m
Comparativos
Comparativos

Banco relacional vs NoSQL: como escolher

Quando usar PostgreSQL e quando NoSQL faz sentido de verdade — tradeoffs reais de consistência, schema e escala, sem papo de marketing.

RD
Rafael Duarte · 8m
Todos
Todos

O que é uma API e como ela conecta sistemas

API é o contrato que permite dois sistemas trocarem dados sem conhecer os internos um do outro. Entenda request, response, endpoints e JSON com exemplos reais.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como funciona uma página web do navegador ao servidor

Do DNS ao rendering: entenda o que acontece entre digitar uma URL e a página aparecer — TCP, TLS, HTTP request/response e como o navegador monta os pixels.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

O que é JSON e como esse formato funciona

Entenda o que é JSON, seus seis tipos de dados, sintaxe obrigatória e onde o formato é usado — com exemplos reais em JavaScript, Python e Go.

RD
Rafael Duarte · 7m
Comparativos
Comparativos

FrankenPHP, Swoole ou RoadRunner: o PHP que você zoava não existe mais

Comparação real dos runtimes PHP em 2026: worker mode, benchmarks de FrankenPHP, Swoole e RoadRunner, riscos de memory leak e qual escolher para produção.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

Seu IP não sabe onde você está (e o que isso quebra no seu sistema)

Geolocalização por IP é 99% precisa no país, 50–75% na cidade — e a maioria dos sistemas assume o melhor caso. O que o IP revela de fato, o que o ASN entrega melhor, e por que VPN não resolve WebRTC.

RD
Rafael Duarte · 6m
Tutoriais
Tutoriais

npm v12 vai bloquear scripts de instalação por padrão — prepare sua pipeline agora

npm v12 bloqueia postinstall, git deps e remote deps por padrão. Entenda o que muda, como usar npm approve-scripts e como preparar seu CI antes de julho de 2026.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Como Bloquear o Google AI Overviews (Sem Perder Ranking)

Google-Extended não bloqueia AI Overviews. Entenda a diferença, o que mudou com a decisão do CMA em 2026 e como usar o opt-out correto via Search Console.

RD
Rafael Duarte · 6m
Tutoriais
Tutoriais

Miasma Worm: Seu AI Coding Agent Pode Ser o Vetor de Ataque

O Miasma worm comprometeu 73 repos do Azure via arquivos de config de AI agents. Entenda o vetor, o ataque de hidden Unicode e como proteger seus secrets.

RD
Rafael Duarte · 7m
Todos
Todos

Angular 22: OnPush como padrão, Signal Forms estáveis e o que fazer antes de rodar ng update

Angular 22 chegou com OnPush como default, Signal Forms e httpResource estáveis. Veja o que muda, o que o ng update faz sozinho e o que você precisa revisar manualmente.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

Salt, pepper, bcrypt e Argon2id: como proteger senhas de verdade

Em 2012, o LinkedIn expôs 117mi de senhas. SHA-1 sem salt — 90% quebradas em 4h. Entenda o que cada camada de proteção resolve e por que Argon2id é a escolha certa hoje.

RD
Rafael Duarte · 12m
Tutoriais
Tutoriais

JSON Schema na prática: validar antes de processar

JSON Schema não valida se o JSON está bem formado — valida se ele respeita o contrato que você definiu. Como implementar validação de entrada em Node.js e Python, e por que additionalProperties: false importa.

RD
Rafael Duarte · 7m
Todos
Todos

PostgreSQL 19 Beta: async I/O que se escala sozinho, graph queries nativas e as breaking changes que vão te pegar de surpresa

PostgreSQL 19 Beta 1 traz async I/O com auto-scaling, SQL/PGQ para graph queries nativas, inserts 2x mais rápidos com foreign keys e autovacuum paralelo. Mas são as breaking changes — JIT desativado, lz4 como TOAST default, RADIUS removido — que você precisa testar antes do GA.

RD
Rafael Duarte · 9m
Tutoriais
Tutoriais

CNPJ alfanumérico: você não vai ganhar um novo número, mas sua empresa vai precisar mudar

O CNPJ alfanumérico chega em julho de 2026. Entenda o que muda para sua empresa, o que pedir para seus fornecedores de software e o que falar com seu contador.

RD
Rafael Duarte · 5m
Tutoriais
Tutoriais

Regex não basta para validar CNPJ alfanumérico

Atualizar a regex para aceitar letras não valida CNPJ alfanumérico. Sem calcular os dígitos verificadores, CNPJs inválidos entram no seu banco silenciosamente.

RD
Rafael Duarte · 6m
Tutoriais
Tutoriais

JSON Schema para API REST: as decisões que fazem o contrato funcionar

Como criar um JSON Schema para validar payload de API REST — de amount com multipleOf a enums, arrays e $ref — com as decisões de design explicadas.

RD
Rafael Duarte · 8m
Tutoriais
Tutoriais

JSON Schema: por que você recebe "must be number" e como corrigir de vez

O erro 'must be number' do JSON Schema tem quatro causas reais em produção. Entenda por que acontece, como ler o instancePath e por que coerceTypes é a resposta errada.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

JSON Schema required: o que realmente valida (e o que não valida)

A keyword required em JSON Schema valida presença de chave, não de valor. Entenda por que null passa em campos required e como fechar esse contrato corretamente.

RD
Rafael Duarte · 6m
Tutoriais
Tutoriais

Seu sistema valida CNPJ com regex numérica? Em julho de 2026 isso vai quebrar

CNPJ alfanumérico entra em julho de 2026. Saiba o que muda no seu código: regex, tipo de coluna no banco e algoritmo de dígito verificador.

RD
Rafael Duarte · 6m
Tutoriais
Tutoriais

`P@ssw0rd1` passa na sua validação. Esse é o problema.

O que o NIST mudou em 2024 sobre senhas: comprimento bate complexidade, leet speak está no rockyou.txt e rotação obrigatória enfraquece senhas.

RD
Rafael Duarte · 6m
Tutoriais
Tutoriais

QR code não é só URL: os schemas que todo dev deveria conhecer

otpauth, WIFI, MECARD, deep links e PIX — os schemas internos do QR code que resolvem problemas reais de desenvolvimento, com exemplos de código.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

TBT de 1.6s em produção: o que de fato resolveu no Quick Tools com SvelteKit

Caso real de otimização de performance em SvelteKit: manualChunks, dynamic imports, service worker e o bug de clients.claim() que quebra chunks após deploy.

RD
Rafael Duarte · 11m
Tutoriais
Tutoriais

Timestamps sem timezone: a migração que levou três semanas

O erro silencioso de armazenar datetimes sem fuso horário: como acontece, por que ninguém percebe, e como evitar a migração dolorosa.

RD
Rafael Duarte · 7m
Tutoriais
Tutoriais

Três erros de cron expression que só aparecem em produção

Timezone implícito, OR lógico no dia-da-semana e meses sem dia 31 — três erros de cron expression sintaticamente válidos que falham silenciosamente em produção.

RD
Rafael Duarte · 6m
Finanças
Finanças

Taxa mid-market: o câmbio que o banco não repassa (e o que isso custa)

A diferença entre taxa mid-market e câmbio do banco é spread. Veja como calcular o custo real e comparar serviços.

RD
Rafael Duarte · 6m