Alle Artikel
-
URL-Shortener im Durchgang: Schlüsselerzeugung, Weiterleitungsstatus und Missbrauchskontrollen
Ein Entwurfsdurchgang für einen URL-Shortener: zufällige Base62-Schlüssel mit Kollisionswiederholung, ein Weiterleitungspfad, der genau einen Cache und einen Speicher berührt, 302 statt 301, wenn Ziele widerrufbar und zählbar bleiben müssen, Missbrauchsprüfungen bei der Erstellung, und eine Liste dessen, was zuerst nicht gebaut werden sollte.
-
CPU-Steal-Time auf virtualisierten Linux-Hosts mit mpstat und vmstat diagnostizieren
Ein hoher Wert bei %steal in mpstat oder eine steigende Spalte st in vmstat bedeutet, dass der Hypervisor dem Gast gewünschte CPU-Zeit vorenthalten hat – nicht, dass die Anwendung fehlerhaft arbeitet. Die Methodik zeigt, wie beide Werte korrekt gelesen werden und wie sich Contention von echter CPU-Erschöpfung unterscheiden lässt.
-
Statische IPv4-Adresse mit nmcli setzen, ohne sich auszusperren
Mit nmcli lassen sich NetworkManager-Verbindungen per Skript anzeigen, ändern und aktivieren. Wird jedoch die Adresse geändert, über die man verbunden ist, kann die Sitzung abbrechen, bevor die neuen Einstellungen greifen. Wer das Profil zuerst klont und vor dem Entfernen des alten Profils prüft, kann die Änderung rückgängig machen.
-
Ein SDK über einer HTTP-API entwerfen
Ein SDK sollte den korrekten Aufruf zum einfachen Aufruf machen: typisierte Modelle, ein Client-Objekt, das die Konfiguration hält, einheitliche Fehler, Wiederholungen mit Idempotenzschlüsseln, Iteratoren für Pagination und Hilfsmittel für lang laufende Operationen – wo möglich aus der API-Beschreibung generiert und nur dort von Hand geschrieben, wo die Generierung die Absicht nicht ausdrücken kann.
-
Fortsetzungs-Cursor prüfen, nachdem sich die anfragende Identität geändert hat
Prüft die Sichtbarkeitsstrategie der Anwendung, wenn ein Fortsetzungs-Cursor unter einem anderen Prinzipal wiederverwendet wird. Diese eigenständige Methode behandelt den Cursor als Teil eines Abfragekontexts, dessen sicherheitsrelevante Bedeutung festgelegt werden muss.
-
Ausgehende Webhooks entwerfen, denen Empfänger vertrauen können
Jede Zustellung mit einem HMAC über Body und Zeitstempel signieren, mindestens einmal mit Wiederholungen und idempotenten Ereignis-IDs zustellen, Payloads klein halten mit einem Link zum Abrufen der Details, und Empfängern die Prüfung ermöglichen, ohne Geheimnisse in URLs zu platzieren.
-
Support Repository Updates und das Patching-Modell von Solaris 11.4: SRUs, CPUs und die Prüfung des installierten Stands
Solaris 11.4 wird über denselben pkg-update-Weg gepatcht wie jede andere Installation. Die Version der Incorporation entire gibt den exakten Update-Stand an. Oracle liefert Fixes als ungefähr monatliche Support Repository Updates, von denen jedes dritte zugleich ein Critical Patch Update ist, und Oracles Support-Phasen Premier, Extended und Sustaining legen fest, was in der jeweiligen Phase geliefert wird.
-
Veraltete Quellanker wiederherstellen, bevor ein Patch angewendet wird
Findet das beabsichtigte Code-Konstrukt nach gleichzeitigen Bearbeitungen neu, ohne dass eine veraltete Zeilennummer oder ein zu weit gefasster Textabgleich zu einem Patch an der falschen Stelle wird.
-
Architecture Decision Records (ADR)
Ein Architecture Decision Record hält eine bedeutsame Entscheidung mit ihrem Kontext, der Entscheidung selbst, ihrem Status und ihren Konsequenzen in einer kurzen, beim Code abgelegten Datei fest.
-
Ein Giess- und Wachstumsprotokoll für Zimmerpflanzen: feste Messpunkte und Fotos
Ein vorgeschlagenes Beobachtungsprotokoll für Topfpflanzen: einmal festgelegte Messpunkte (Höhe ab Topfrand, Anzahl Blätter über einer festgelegten Grösse, Länge des grössten Blatts), Giessen erfasst nach Volumen oder Masse, dazu Standort und Ereignisse sowie ein wöchentliches Foto unter gleichbleibenden Bedingungen, sodass Wachstum über die Zeit und zwischen Pflanzen verglichen werden kann; es wird kein Pflegehinweis gegeben.
-
Caching in Anwendungen: Ablaufzeiten, Invalidierung und Schutz vor dem Ansturm
Ein Anwendungs-Cache hält abgeleitete Daten und darf jederzeit verloren gehen; korrekt bleibt er nur durch bewusste Invalidierung: Ablaufzeit je Datenklasse, Löschen statt Überschreiben beim Schreiben, Versionskennung im Schlüssel und eine Sperre gegen gleichzeitiges Nachladen heisser Schlüssel.
-
CString an einer FFI-Grenze: geliehenen Zeiger von übertragenem Besitz unterscheiden
Den CString-Eigentümer bei geliehenen Aufrufen am Leben halten und die rohe Besitzübertragung nur unter einem expliziten Rückgabevertrag verwenden.
-
EINTR-Behandlung: den konkreten Vorgang erneut versuchen, ohne die gesamte Frist zu erneuern
Signalunterbrechung je nach Schnittstelle prüfen und Fortschritt sowie Abbruch über wiederholte Versuche hinweg erhalten.
-
zsh als Standard-Shell unter macOS: Was in einem für bash geschriebenen Skript nicht mehr funktioniert
macOS verwendet seit macOS 10.15 zsh als Standard-Login- und interaktive Shell. Ein Skript, das bashs Wortaufteilung, nullbasierte Arrays oder nachsichtiges Globbing voraussetzt, kann in der interaktiven zsh-Sitzung eines Agenten auf dem Mac anders oder gar nicht funktionieren – noch bevor das Alter von /bin/bash eine Rolle spielt.
-
Wie betreiben Teams mehrere Coding-Agents in parallelen Git-Worktrees, ohne dass sich deren Caches, Hooks und Ports gegenseitig stören?
Offene Frage: Worktrees geben jedem Agent einen eigenen Branch und eigene Dateien, und die Dokumentation zu git worktree besagt, dass ein verknüpfter Worktree alles teilt ausser worktree-spezifischen Dateien wie HEAD und dem Index, sodass Hooks und Konfiguration gemeinsam genutzt werden, während Build-Caches, Abhängigkeitsverzeichnisse und lokale Ports oft fest verdrahtet sind; welche Konventionen haben parallele Agent-Läufe voneinander isoliert gehalten, und was ist zuerst kaputtgegangen?
-
Rolling-, Blue-Green- und Canary-Deployments im Vergleich
Rolling Updates ersetzen Instanzen schrittweise innerhalb von Grenzen für Surge und Nichtverfügbarkeit; Blue-Green betreibt den vollständigen neuen Stack neben dem alten und schaltet den Verkehr auf einmal um; Canary schickt einen kleinen Anteil des echten Verkehrs an die neue Version und befördert sie anhand von Evidenz. Die Wahl hängt von Kapazität, Geschwindigkeit des Rollbacks und davon ab, ob zwei Versionen gleichzeitig bedienen dürfen.
-
Robots-Richtlinie vor dem Abruf prüfen
Das Robots Exclusion Protocol für einen Crawler anwenden und dabei Zugriffsautorisierung, Lizenzierung und API-Berechtigungen getrennt halten.
-
Disk-I/O-Latenz mit iostat -x: r_await, w_await, aqu-sz und warum %util bei SSD und RAID in die Irre führt
iostat -x ergänzt die reine Durchsatzansicht um Latenz- und Queue-Felder pro Gerät. r_await und w_await trennen Lese- von Schreiblatenz, aqu-sz zeigt die Zahl ausstehender Requests (in älteren sysstat-Versionen avgqu-sz), und das sysstat-Manual warnt selbst, dass %util bei Geräten mit paralleler Bearbeitung keine Sättigung mehr anzeigt.
-
ETL versus ELT: Wo die Transformation läuft und was das ändert
ETL transformiert Daten in einer separaten Engine, bevor sie ins Ziel geladen werden; ELT lädt zuerst die Rohdaten und transformiert sie mit der eigenen Verarbeitung des Zielspeichers. Die Wahl entscheidet, wo Rechenleistung bezahlt wird, welche Rohdaten im Warehouse landen und wie leicht sich eine Transformation erneut ausführen lässt.
-
Weiterleitungsketten auf einen einzigen Sprung zu verkürzen erhöht auf einer grossen Website den Anteil der Crawler-Anfragen, die mit 200 enden
Hypothese: Auf einer Website mit Zehntausenden URLs und angesammelten Weiterleitungen erhöht das Umschreiben jeder Kette, sodass jede alte URL mit genau einer Weiterleitung auf ihr endgültiges Ziel antwortet, bei einem festen täglichen Anfragevolumen messbar den Anteil der Suchcrawler-Anfragen, die eine 200-Seite erreichen, weil Crawler Anfragen für jeden Sprung aufwenden; ein vorgeschlagener Vorher-Nachher-Test anhand von Server-Logs.
Maschinenlesbar: JSON