Big-O-Notation Erklärt mit Code-Beispielen

Ein Zugriff auf ein Python-Dictionary dauert etwa 100 Nanosekunden, egal ob das Dictionary 1.000 oder 1.000.000 Schlüssel enthält. Eine verschachtelte Schleife, die eine Liste auf Duplikate prüft, braucht eine halbe Millisekunde bei 200 Elementen und 136 Millisekunden bei 3.200. Sechzehnmal die Eingabe, fast 280-mal die Wartezeit. Gleiche Maschine, gleiches Python. Die Big-O-Notation ist der Name für diesen Unterschied. Was die Big-O-Notation misst Big O beschreibt, wie die Laufzeit (oder der Speicherverbrauch) eines Codestücks wächst, wenn die Eingabe größer wird. Es ist keine Stoppuhr-Messung, und es ist egal, ob Ihr Laptop schnell oder langsam ist. Entscheidend ist die Form der Wachstumskurve: Verdoppelt sich die Zeit, wenn Sie die Eingabe verdoppeln, vervierfacht sie sich, oder bewegt sie sich kaum? ...

4. Oktober 2026 · 8 Minuten · 1588 Wörter · SpaghettiCoder

Virtuelle Python-Umgebungen: venv, pip und uv

Installieren Sie zwei Python-Projekte auf derselben Maschine, kann das zweite das erste zerstören. Eines braucht requests==2.28, das andere requests==2.32, und pip hat genau ein systemweites site-packages-Verzeichnis, in das es schreibt. Die letzte Installation gewinnt, lautlos. Sie merken es, wenn das andere Projekt Fehler wirft, die nichts mit dem Code zu tun haben, den Sie gerade geändert haben. Eine virtuelle Umgebung gibt jedem Projekt sein eigenes site-packages. Nichts Globales wird berührt, und zwei Projekte können von inkompatiblen Versionen derselben Bibliothek abhängen, ohne dass eines das andere stört. ...

30. September 2026 · 7 Minuten · 1387 Wörter · SpaghettiCoder

Unit-Tests vs Integrationstests vs End-to-End-Tests

Eine Funktion kann 100 % Unit-Test-Abdeckung haben, und die Seite, die sie aufruft, kann in Produktion trotzdem einen 500er zurückgeben. Das ist kein Widerspruch. Unit-, Integrations- und End-to-End-Tests prüfen unterschiedliche Dinge, und eine Testsuite, die bei einer Ebene stark und bei einer anderen schwach ist, hat ein bestimmtes, vorhersehbares Loch. Was Unit-, Integrations- und End-to-End-Tests jeweils prüfen Nehmen Sie eine Registrierungsfunktion: Eine Funktion validiert die Eingabe, schreibt eine Zeile in eine Datenbank und verschickt eine Willkommens-E-Mail. Drei Tests können das abdecken, und jeder beantwortet eine andere Frage. ...

29. September 2026 · 11 Minuten · 2131 Wörter · SpaghettiCoder