Git Worktree: Como Trabalhar em Várias Branches Juntas

Você está no meio de um branch de feature, três arquivos alterados e nada commitado, quando um colega avisa sobre um null pointer quebrando a produção. O jeito usual é dar git stash, fazer checkout da main, corrigir, dar push, depois git stash pop e torcer para que nada na sua feature inacabada dependesse dos arquivos que você acabou de trocar. O git worktree elimina essa dança. Ele faz checkout do branch do hotfix em uma segunda pasta, ao lado do seu branch de feature, com os dois apoiados no mesmo repositório. ...

24 de outubro de 2026 · 6 minutos · 1078 palavras · SpaghettiCoder

Git Reset vs Revert vs Restore: Como Desfazer Mudanças

Rode git reset --hard num commit que seu time já deu pull nele, e seu histórico passa a discordar do deles. Rode git revert num typo que você nem chegou a dar push nele, e acaba de acrescentar um commit inútil ao log. O Git tem quatro comandos para desfazer mudanças, restore, reset, commit --amend e revert, e eles não são intercambiáveis. Escolher o errado ou não faz nada, ou faz muito mais do que você queria. ...

3 de outubro de 2026 · 7 minutos · 1400 palavras · SpaghettiCoder

Túnel SSH: Redirecionamento de Portas -L, -R e -D

Como chegar a um banco de dados que só escuta em localhost? Uma instância do Postgres num servidor remoto fica vinculada a 127.0.0.1 de propósito. Nada na rede consegue alcançá-la, só processos rodando naquela mesma máquina. Seu notebook não é essa máquina, então psql -h remote-server -p 5432 falha antes mesmo de chegar à autenticação. Abrir a porta para o mundo anula o motivo pelo qual ela foi vinculada ao loopback. ...

24 de setembro de 2026 · 8 minutos · 1498 palavras · SpaghettiCoder

Como Expor um Servidor Local com o Cloudflare Tunnel

Por que ninguém fora da sua rede consegue acessar o localhost Um provedor de webhook precisa de uma URL para enviar um POST, e seu servidor está em localhost:3000. Ou um colega quer testar a branch que você está rodando, ou seu celular precisa acessar o servidor de desenvolvimento para conferir um layout. O servidor está no ar. Nada fora da sua rede consegue alcançá-lo. Port forwarding no roteador resolveria, mas expõe o IP da sua casa e exige acesso de administrador que você nem sempre tem. O Cloudflare Tunnel segue outro caminho. O cloudflared, um daemon pequeno que roda ao lado do seu servidor, abre uma conexão de saída até a borda da Cloudflare, e a Cloudflare manda o tráfego de volta por ela. Você não abre nenhuma porta de entrada e não precisa de IP público. ...

23 de setembro de 2026 · 8 minutos · 1540 palavras · SpaghettiCoder

Como Fazer Cache de Dependências no GitHub Actions

Um workflow que executa npm ci a cada push baixa do registro as mesmas centenas de pacotes todas as vezes, mesmo quando o lockfile não muda há uma semana. Num projeto com uma árvore de dependências real, isso é um ou dois minutos perdidos antes mesmo do primeiro teste começar, e você paga esse custo de novo a cada push e a cada pull request. O actions/cache guarda esses downloads entre execuções e os devolve quando nada de relevante mudou. ...

23 de setembro de 2026 · 6 minutos · 1274 palavras · SpaghettiCoder

Git Bisect: Como Encontrar o Commit que Quebrou seu Código

A suíte de testes está verde há três semanas. Hoje o npm test falha em uma asserção que não tem nada a ver com o que você acabou de mudar, e git log v1.4.0..HEAD mostra 340 commits de quatro pessoas desde o último release que alguém tinha certeza de que funcionava. Ler cada diff custa um dia inteiro. Fazer checkout de commits ao acaso é mais rápido, mas ainda não é um plano. ...

22 de setembro de 2026 · 6 minutos · 1206 palavras · SpaghettiCoder

O Que É DNS e Como Funciona a Resolução de Nomes

O que o DNS realmente faz em cada requisição Toda requisição para example.com começa com uma busca que não tem nada a ver com sua aplicação: algo precisa transformar aquele nome em um endereço IP antes que um único pacote TCP saia da máquina. Essa tradução é o DNS, o Domain Name System, e ela acontece em toda requisição, seja o cliente um navegador, o curl, ou um serviço de backend chamando outro pelo hostname. ...

21 de setembro de 2026 · 8 minutos · 1564 palavras · SpaghettiCoder

O Que É TLS e Como Funciona a Criptografia HTTPS

O que o TLS realmente protege em uma conexão HTTPS Carregue uma página por http:// puro em uma rede que você não controla, um aeroporto ou o roteador de uma cafeteria, e tudo o que você envia viaja como texto legível. O caminho da URL, os cookies, os campos do formulário, a senha em um POST de login: qualquer pessoa nessa rede com um sniffer de pacotes lê tudo isso ao passar. TLS, Transport Layer Security, é o protocolo que impede isso. Ele fica entre o TCP e o protocolo de aplicação, então quando o HTTP começa a falar, a conexão já está criptografada e vinculada a uma identidade de servidor verificada. HTTPS é o HTTP rodando sobre essa conexão em vez de uma em texto plano. ...

20 de setembro de 2026 · 11 minutos · 2172 palavras · SpaghettiCoder

O Que É uma Fila de Mensagens e Como Usar

Um endpoint de checkout que redimensiona a imagem de um produto, envia um email de confirmação e atualiza um mecanismo de recomendação antes de responder com 200 OK é tão rápido quanto sua etapa mais lenta. Se uma delas der timeout, a requisição inteira falha. Uma fila de mensagens permite que o endpoint entregue esse trabalho como mensagens e responda na hora, enquanto workers separados as processam no próprio ritmo. ...

18 de setembro de 2026 · 7 minutos · 1382 palavras · SpaghettiCoder

O Que É Terraform e Como Funciona o Infrastructure as Code

Todo recurso de cloud que você já criou clicando em um console web (uma VM, um load balancer, um registro DNS) também pode ser descrito em um arquivo de texto e criado com um único comando. O arquivo vive no git, passa por uma pull request e reproduz o mesmo setup em uma segunda conta sem que ninguém precise lembrar quais das nove configurações foram alteradas na mão. É isso que o Terraform faz. ...

17 de setembro de 2026 · 8 minutos · 1615 palavras · SpaghettiCoder