Notazione Big O Spiegata con Esempi di Codice

Una lookup su un dizionario Python impiega circa 100 nanosecondi, che il dizionario contenga 1.000 chiavi o 1.000.000. Un doppio ciclo che cerca duplicati in una lista impiega mezzo millisecondo su 200 elementi e 136 millisecondi su 3.200. Sedici volte l鈥檌nput, quasi 280 volte l鈥檃ttesa. Stessa macchina, stesso Python. La notazione Big O 猫 il nome di quella differenza. Cosa misura la notazione Big O Big O descrive come cresce il tempo di esecuzione (o l鈥檜so di memoria) di un pezzo di codice all鈥檃umentare dell鈥檌nput. Non 猫 una lettura al cronometro e non le importa se il tuo portatile 猫 veloce o lento. Le interessa la forma della curva di crescita: raddoppiando l鈥檌nput, il tempo raddoppia, quadruplica, o si muove appena? ...

4 ottobre 2026 路 8 minuti 路 1678 parole 路 SpaghettiCoder

Ambienti Virtuali Python: venv, pip e uv

Installa due progetti Python sulla stessa macchina e il secondo pu貌 rompere il primo. Uno richiede requests==2.28, l鈥檃ltro requests==2.32, e pip ha un鈥檜nica cartella site-packages di sistema in cui scrivere. L鈥檜ltima installazione vince, in silenzio. Te ne accorgi quando l鈥檃ltro progetto comincia a lanciare errori che non hanno nulla a che fare con il codice che hai appena modificato. Un ambiente virtuale d脿 a ogni progetto il proprio site-packages. Il venv non tocca nulla a livello globale, e due progetti possono dipendere da versioni incompatibili della stessa libreria senza che nessuno dei due se ne accorga. ...

30 settembre 2026 路 7 minuti 路 1458 parole 路 SpaghettiCoder

Test Unitari vs Test di Integrazione vs Test End-to-End

Una funzione pu貌 avere il 100% di copertura dei test unitari e la pagina che la chiama pu貌 comunque restituire un 500 in produzione. Non 猫 una contraddizione. Test unitari, test di integrazione e test end-to-end controllano cose diverse, e una suite pesante su uno e leggera su un altro ha un buco specifico e prevedibile. Cosa controllano test unitari, di integrazione ed end-to-end Prendi una funzionalit脿 di registrazione: una funzione valida l鈥檌nput, scrive una riga su un database e invia un鈥檈mail di benvenuto. Tre test possono coprirla, e ognuno risponde a una domanda diversa. ...

29 settembre 2026 路 11 minuti 路 2218 parole 路 SpaghettiCoder