Git Bisect: den Commit finden, der einen Bug eingeführt hat

Die Test-Suite ist seit drei Wochen grün. Heute schlägt npm test bei einer Assertion fehl, die nichts mit Ihrer letzten Änderung zu tun hat, und git log v1.4.0..HEAD zeigt 340 Commits von vier Personen seit dem letzten Release, von dem jemand sicher war, dass er funktioniert. Jeden Diff zu lesen kostet Sie einen ganzen Tag. Wahllos Commits auszuchecken geht schneller, ist aber immer noch kein Plan. git bisect macht daraus eine Binärsuche. Sie nennen ihm einen Commit, der nachweislich gut ist, und einen, der nachweislich kaputt ist; das Tool checkt den Commit in der Mitte dazwischen aus und wartet, bis Sie genau diesen Commit testen und das Ergebnis melden. Jede Antwort halbiert den Bereich. 340 Commits lassen sich in höchstens 9 Tests auflösen, denn 2^9 = 512. ...

22. September 2026 · 6 Minuten · 1169 Wörter · SpaghettiCoder

Was ist DNS und wie funktioniert die Namensauflösung

Was DNS bei jeder Anfrage wirklich tut Jede Anfrage an example.com beginnt mit einer Abfrage, die mit Ihrer Anwendung nichts zu tun hat: Etwas muss diesen Namen erst in eine IP-Adresse umwandeln, bevor ein einziges TCP-Paket die Maschine verlässt. Diese Übersetzung ist DNS, das Domain Name System, und sie läuft bei jeder Anfrage, egal ob der Client ein Browser, curl oder ein Backend-Dienst ist, der einen anderen über dessen Hostnamen aufruft. ...

21. September 2026 · 7 Minuten · 1452 Wörter · SpaghettiCoder

Was ist TLS und wie funktioniert die HTTPS-Verschlüsselung

Was TLS bei einer HTTPS-Verbindung tatsächlich schützt Laden Sie eine Seite über reines http:// in einem Netz, das Sie nicht kontrollieren, an einem Flughafen oder über den Router eines Cafés, dann läuft alles, was Sie senden, als lesbarer Text mit. Der URL-Pfad, die Cookies, die Formularfelder, das Passwort in einem Login-POST: Jeder in diesem Netz mit einem Paket-Sniffer liest es im Vorbeigehen. TLS, Transport Layer Security, verhindert genau das. Es sitzt zwischen TCP und dem Anwendungsprotokoll, sodass die Verbindung bereits verschlüsselt und an eine verifizierte Server-Identität gebunden ist, wenn HTTP zu sprechen beginnt. HTTPS ist HTTP, das über diese Verbindung läuft statt über eine unverschlüsselte. ...

20. September 2026 · 10 Minuten · 1956 Wörter · SpaghettiCoder

Wie man ein LLM lokal mit Ollama ausführt

Jeder Aufruf einer gehosteten LLM-API schickt Ihren Prompt an den Server von jemand anderem und berechnet Ihnen Kosten pro Token. Fällt das Netzwerk aus, antwortet sie nicht mehr. Ollama beseitigt beide Probleme: Es lädt ein Modell mit offenen Gewichten auf Ihren Rechner und stellt es über eine REST-API auf localhost:11434 bereit. Eine einzige Binärdatei ist Modellverwaltung, Chat-Client und Server zugleich. Was Ollama tatsächlich macht Ollama kapselt llama.cpp und ähnliche Inferenz-Engines, sodass Sie nie ein Compiler-Flag oder einen CUDA-Bibliothekspfad anfassen müssen. ollama pull llama3.2 lädt eine quantisierte Modelldatei (GGUF-Format) aus Ollamas eigener Registry herunter statt von Hugging Face, kann aber auch GGUF-Dateien von dort importieren. Beim Ausführen des Modells übergibt Ollama diese Gewichte an einen Hintergrundserver, der sie in den RAM (oder VRAM, falls eine kompatible GPU gefunden wird) lädt, sie einige Minuten nach der letzten Anfrage im Speicher hält, damit die nächste Anfrage schnell beantwortet wird, und sie entlädt, sobald keine Anfragen mehr kommen. ...

19. September 2026 · 7 Minuten · 1383 Wörter · SpaghettiCoder

Was ist eine Message Queue und wie wird sie verwendet

Ein Checkout-Endpunkt, der ein Produktbild verkleinert, eine Bestätigungs-E-Mail verschickt und eine Empfehlungs-Engine aktualisiert, bevor er mit 200 OK antwortet, ist nur so schnell wie sein langsamster Schritt. Läuft auch nur einer davon in ein Timeout, scheitert die ganze Anfrage. Eine Message Queue lässt den Endpunkt diese Arbeit als Nachrichten übergeben und sofort antworten, während separate Worker sie sich nach eigenem Zeitplan holen. Was eine Message Queue tatsächlich macht Eine Message Queue sitzt zwischen zwei Teilen eines Systems, die nicht im selben Moment laufen müssen. Ein Producer veröffentlicht eine Nachricht, die eine zu erledigende Aufgabe beschreibt. Die Queue speichert sie. Ein Consumer holt sie ab, verarbeitet sie und bestätigt sie. Die beiden sprechen nie direkt miteinander. ...

18. September 2026 · 7 Minuten · 1286 Wörter · SpaghettiCoder

Was ist Terraform: Wie Infrastructure as Code funktioniert

Jede Cloud-Ressource, die Sie je durch Klicken in einer Web-Konsole erzeugt haben (eine VM, ein Load Balancer, ein DNS-Eintrag), lässt sich auch in einer Textdatei beschreiben und mit einem einzigen Befehl erstellen. Die Datei liegt in git, durchläuft eine Pull Request und reproduziert dasselbe Setup auf einem zweiten Account, ohne dass sich jemand merken muss, welche neun Einstellungen er von Hand geändert hat. Genau das macht Terraform. Was Terraform tatsächlich tut Terraform ist ein Open-Source-Tool von HashiCorp, das Infrastruktur als Konfigurationsdateien in HCL (HashiCorp Configuration Language) beschreibt und diese dann gegen die API eines Cloud-Providers anwendet. Sie schreiben einen resource-Block, der den S3-Bucket, die EC2-Instanz oder den Cloudflare-DNS-Eintrag beschreibt, den Sie wollen, führen terraform apply aus, und Terraform ermittelt die nötigen API-Aufrufe, damit diese Ressource existiert — und verfolgt sie danach weiter, sodass ein zweites apply nur ändert, was sich tatsächlich geändert hat. ...

17. September 2026 · 7 Minuten · 1474 Wörter · SpaghettiCoder

Was ist ein CDN und wie funktioniert es

Was ein CDN mit einer Anfrage tatsächlich macht Ein Nutzer in Tokio, der eine Seite von einem Server in Virginia lädt, bezahlt für diese Distanz zweimal: einmal für den Hinweg der Anfrage, einmal für den Rückweg der Antwort. Glasfaser überträgt mit einem festen Bruchteil der Lichtgeschwindigkeit, und allein diese Strecke kostet etwa 150-200ms Round-Trip-Zeit, bevor der Origin-Server überhaupt etwas getan hat. Kommen noch eine Datenbankabfrage und ein, zwei langsame Hops dazu, fühlt sich eine Seite, die nebenan sofort lädt, auf der anderen Seite des Planeten träge an. ...

16. September 2026 · 7 Minuten · 1351 Wörter · SpaghettiCoder

Wie Redis-Caching funktioniert und wie Sie es nutzen

Eine Abfrage, die 200ms gegen Ihre Datenbank braucht, braucht auch beim millionsten Aufruf noch 200ms, und jeder dieser Aufrufe konkurriert um dieselben Verbindungen, dieselbe Disk-I/O und dieselbe CPU. Redis hält die Antwort im Speicher, auf einem Server, der sonst nichts tut, sodass der millionste Lesevorgang einen Netzwerk-Roundtrip kostet statt eines Query-Plans. Was Redis als Cache wirklich macht Redis ist ein Key-Value-Store im Arbeitsspeicher. Werte liegen im RAM, daher liegen Lese- und Schreibzeiten im Sub-Millisekunden-Bereich statt bei den zehn bis hundert Millisekunden, die eine relationale Abfrage kostet, sobald Joins, belastete Indizes oder ein ausgelasteter Connection-Pool ins Spiel kommen. Redis steht neben Ihrer Datenbank, nicht an ihrer Stelle: Ihre Anwendung fragt zuerst Redis und geht nur dann zur Datenbank, wenn Redis die Antwort nicht hat. ...

15. September 2026 · 7 Minuten · 1404 Wörter · SpaghettiCoder

Was ist ein Reverse Proxy und wie funktioniert er

Was zwischen Browser und Ihrer App steht Rufen Sie im Browser example.com auf, erreicht die Anfrage nie direkt den Prozess, der Ihren Code ausführt. Sie trifft zuerst auf etwas anderes: einen Server, der die Anfrage liest, entscheidet, welches Backend antworten soll, sie dorthin weiterleitet und die Antwort zurückschickt, als hätte er sie selbst erzeugt. Dieser Server ist ein Reverse Proxy. Nginx, Caddy, Traefik und HAProxy übernehmen alle diese Aufgabe, ebenso der Load Balancer vor einem Kubernetes-Cluster. Das Grundmuster ändert sich nie: Clients sprechen nur mit dem Proxy, mit sonst nichts. Die eigentlichen Server bleiben dahinter, egal wie viele es sind und wo sie laufen. ...

14. September 2026 · 6 Minuten · 1263 Wörter · SpaghettiCoder

Git Rebase vs Merge: Unterschiede und wann welches

Sie holen sich das neueste main per Pull, und Git bricht ab mit CONFLICT (content): Merge conflict in checkout.js. Sie lösen den Konflikt, und im Log steht jetzt ein Commit namens Merge branch 'main' into feature/checkout, oben auf den drei Commits, die Sie tatsächlich geschrieben haben. Vier Commits, eine einzige echte Änderung. Ein Kollege, der diese Historie nächsten Monat liest, kann nicht erkennen, welcher welcher ist. git merge und git rebase beantworten dieselbe Frage: Wie bringe ich meinen Branch auf den Stand der Änderungen, die anderswo gemacht wurden. Sie hinterlassen sehr unterschiedliche Spuren, und die falsche Wahl auf einem geteilten Branch richtet echten Schaden an. ...

13. September 2026 · 8 Minuten · 1597 Wörter · SpaghettiCoder