Git Worktree: Mehrere Branches gleichzeitig bearbeiten

Sie sind drei Dateien tief in einem Feature-Branch, noch nichts committet, als ein Kollege wegen eines Null-Pointer-Crashs in Produktion anklopft. Der übliche Weg: git stash, zu main wechseln, den Fehler fixen, pushen, dann git stash pop – und hoffen, dass nichts in Ihrer halbfertigen Feature-Arbeit von den Dateien abhing, von denen Sie gerade weggewechselt sind. git worktree macht dieses Hin-und-Her überflüssig: Es checkt den Hotfix-Branch in einen zweiten Ordner aus, neben Ihrem Feature-Branch, beide auf Basis desselben Repositorys. ...

24. Oktober 2026 · 5 Minuten · 995 Wörter · SpaghettiCoder

Git Reset, Revert, Restore: Änderungen rückgängig machen

Führen Sie git reset --hard auf einem Commit aus, den Ihr Team schon per Pull geholt hat, und Ihre Historie weicht ab sofort von der der anderen ab. Führen Sie git revert auf einen Tippfehler aus, den Sie noch nicht gepusht haben, und Sie haben dem Log einen überflüssigen Commit hinzugefügt. Git hat vier Befehle zum Rückgängigmachen, restore, reset, commit --amend und revert, und sie sind nicht austauschbar. Wählen Sie den falschen, passiert entweder gar nichts, oder es passiert deutlich mehr, als Sie wollten. ...

3. Oktober 2026 · 7 Minuten · 1376 Wörter · SpaghettiCoder

SSH-Tunnel: Lokales, Remote- und Dynamisches Port-Forwarding

Wie erreichen Sie eine Datenbank, die nur auf localhost lauscht? Eine Postgres-Instanz auf einem entfernten Server ist absichtlich an 127.0.0.1 gebunden. Nichts im Netzwerk kann sie erreichen, nur Prozesse, die auf genau dieser Maschine laufen. Ihr Laptop ist nicht diese Maschine, also scheitert psql -h remote-server -p 5432, bevor es überhaupt zur Authentifizierung kommt. Den Port nach außen zu öffnen, hebt genau den Grund auf, aus dem er an Loopback gebunden wurde. ...

24. September 2026 · 7 Minuten · 1422 Wörter · SpaghettiCoder

Abhängigkeiten in GitHub Actions cachen

Ein Workflow, der bei jedem Push npm ci ausführt, lädt jedes Mal dieselben paar Hundert Pakete aus der Registry herunter, selbst wenn sich die Lockfile seit einer Woche nicht geändert hat. Bei einem Projekt mit einem echten Abhängigkeitsbaum sind das ein bis zwei Minuten, bevor der erste Test überhaupt startet, und Sie zahlen das bei jedem Push und jeder Pull Request erneut. actions/cache behält diese Downloads zwischen den Ausführungen und gibt sie zurück, wenn sich nichts Relevantes geändert hat. ...

23. September 2026 · 6 Minuten · 1154 Wörter · SpaghettiCoder

Lokalen Server mit Cloudflare Tunnel freigeben

Warum niemand außerhalb Ihres Netzwerks localhost erreicht Ein Webhook-Anbieter braucht eine URL, an die er POSTen kann, und Ihr Server läuft auf localhost:3000. Oder ein Teamkollege möchte sich durch den Branch klicken, den Sie gerade laufen haben, oder Ihr Handy muss den Dev-Server erreichen, um ein Layout zu prüfen. Der Server läuft. Von außerhalb Ihres Netzwerks kommt niemand heran. Portweiterleitung auf dem Router würde funktionieren, legt aber Ihre private IP offen und braucht Admin-Zugriff, den Sie oft gar nicht haben. Cloudflare Tunnel geht den anderen Weg. cloudflared, ein kleiner Daemon, den Sie neben Ihrem Server laufen lassen, baut eine ausgehende Verbindung zum Edge-Netzwerk von Cloudflare auf, und Cloudflare schickt den Traffic durch genau diese Verbindung zurück. Sie öffnen keinen eingehenden Port und brauchen keine öffentliche IP. ...

23. September 2026 · 7 Minuten · 1372 Wörter · SpaghettiCoder

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

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