O Que É CORS e Como Corrigir Erros CORS

Seu frontend roda em http://localhost:5173, sua API em http://localhost:4000, e a chamada fetch que funcionava sem problemas no Postman falha no navegador com uma parede de texto vermelho: Access to fetch at 'http://localhost:4000/api/users' from origin 'http://localhost:5173' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Seu servidor pode muito bem ter processado a requisição e retornado um 200. O navegador simplesmente se recusou a entregar a resposta ao seu JavaScript. ...

26 de setembro de 2026 · 8 minutos · 1663 palavras · SpaghettiCoder

O Que É Spaghetti Code e Como Refatorá-lo

Você abre uma função para corrigir um bug de uma linha e quarenta minutos depois ainda está rastreando qual ramo define qual variável. Três tarefas sem relação entre si estão soldadas em um único bloco, e nenhuma delas tem nome. Você puxa um fio e não consegue saber quais outros se movem. Isso é spaghetti code, e o nome não tem nada a ver com indentação ou estilo de nomenclatura. Ele descreve o fluxo de controle: a execução pula entre condições da mesma forma que um fio de macarrão cruza todos os outros na tigela, e seguir um único caminho até o fim significa manter quatro níveis de if na cabeça ao mesmo tempo. ...

25 de setembro de 2026 · 10 minutos · 2075 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 Configurar a Depuração Remota no Visual Studio

Depurando um bug que só acontece em uma máquina sem Visual Studio Um bug reproduz no servidor de teste e não no seu notebook. O servidor de teste não tem Visual Studio, e instalar uma IDE inteira ali só para colocar um breakpoint não é uma opção. A depuração remota existe para esse caso. Um programa pequeno e independente roda na máquina alvo, seu Visual Studio local se conecta a ele pela rede, e você ganha breakpoints e inspeção de variáveis em um processo que não está rodando nem perto da sua mesa. ...

23 de setembro de 2026 · 7 minutos · 1469 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

Como Funcionam os Agentes CLI de Código e Qual Escolher

O que diferencia um agente de CLI de código do outro Peça a um agente de CLI para código que conserte um teste que está falhando, e ele não vai responder com uma sugestão. Ele lê a saída do teste, abre o arquivo, edita uma linha, roda o teste de novo e avisa quando ele passar. Esse loop é o produto, não a janela de chat. O modelo dentro do loop recebe a maior parte da atenção, e é também a parte que muda mais rápido: os fornecedores trocam de modelo a cada poucos meses, e vários agentes deixam você escolher. O que fica fixo é o harness ao redor do modelo — quais tools ele alcança, como gerencia o contexto, o que pode rodar sem perguntar, e onde esses comandos executam. Dois agentes rodando o mesmo modelo podem se comportar de forma bem diferente por causa disso. O harness é o que você está de fato escolhendo. ...

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

O Que É um Modelo System One e Quando Usá-lo

Por que tantas chamadas de LLM são na verdade classificação Boa parte do tráfego de LLM em produção devolve uma palavra só. Escalar esse ticket ou não. Spam ou não spam. Qual dos seis handlers processa esse evento. Para conseguir essa palavra, você manda o prompt inteiro para um modelo de propósito geral, espera ele decodificar uma resposta token por token, e extrai um objeto JSON do resultado. Você paga o preço e a latência de geração de texto, e o que volta é uma decisão que cabe em um enum. ...

23 de setembro de 2026 · 7 minutos · 1382 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