Notação Big O Explicada com Exemplos de Código

Uma busca em um dicionário Python leva cerca de 100 nanossegundos, não importa se o dicionário tem 1.000 ou 1.000.000 de chaves. Um laço duplo que procura duplicatas em uma lista leva meio milissegundo com 200 itens e 136 milissegundos com 3.200. Dezesseis vezes a entrada, quase 280 vezes a espera. Mesma máquina, mesmo Python. A notação Big O é o nome dessa diferença. O que a notação Big O mede Big O descreve como o tempo de execução (ou o uso de memória) de um trecho de código cresce conforme a entrada aumenta. Não é uma leitura de cronômetro, e não importa se o seu notebook é rápido ou lento. O que importa é a forma da curva de crescimento: ao dobrar a entrada, o tempo dobra, quadruplica ou quase não muda? ...

4 de outubro de 2026 · 9 minutos · 1734 palavras · SpaghettiCoder

Ambientes Virtuais Python: venv, pip e uv

Instale dois projetos Python na mesma máquina e o segundo pode quebrar o primeiro. Um precisa de requests==2.28, o outro de requests==2.32, e o pip tem exatamente um diretório site-packages global para escrever. A última instalação vence, em silêncio. Você descobre quando o outro projeto começa a lançar erros que não têm nada a ver com o código que você acabou de alterar. Um ambiente virtual dá a cada projeto o seu próprio site-packages. Nada global é tocado, e dois projetos podem depender de versões incompatíveis da mesma biblioteca sem que nenhum perceba o outro. ...

30 de setembro de 2026 · 7 minutos · 1489 palavras · SpaghettiCoder

Teste Unitário vs Teste de Integração vs End-to-End

Uma função pode ter 100% de cobertura de testes unitários e a página que a chama ainda assim pode retornar um 500 em produção. Isso não é uma contradição. Testes unitários, de integração e end-to-end verificam coisas diferentes, e uma suíte forte em um e fraca em outro tem um buraco específico e previsível. O que cada tipo de teste verifica: unitário, integração e end-to-end Pegue uma funcionalidade de cadastro: uma função valida a entrada, grava uma linha em um banco de dados e envia um email de boas-vindas. Três testes podem cobrir isso, e cada um responde a uma pergunta diferente. ...

29 de setembro de 2026 · 11 minutos · 2282 palavras · SpaghettiCoder