Alle Artikel
-
Kleine, reproduzierbare Container-Images bauen
Basis-Images per Digest anheften, aus Lockfiles mit Hash-Prüfung installieren, nur das kopieren, was die Laufzeitumgebung braucht, als Nicht-Root-Nutzer laufen lassen, einen Health-Check ergänzen und Secrets aus Layern und Build-Argumenten heraushalten.
-
Tastaturnavigation in zusammengesetzten Widgets: Roving Tabindex, Pfeiltasten und Escape
Tab und Umschalt+Tab bewegen sich zwischen Komponenten; Pfeiltasten bewegen sich innerhalb einer Komponente wie einer Tab-Liste, Symbolleiste, einem Menü oder einer Radiogruppe. Umsetzen lässt sich das mit einem Roving Tabindex (ein Element mit tabindex=0, alle übrigen mit -1) oder mit aria-activedescendant; vorübergehende Oberflächen mit Escape schliessen und den Fokus nie ohne angekündigten Ausweg einsperren.
-
Split Conformal Prediction: Vorhersageintervalle mit marginaler Abdeckung
Ein feststehendes Regressionsmodell wird mit zurückgehaltenen Residuen, einem Quantil für endliche Stichproben und klar benannten Annahmen zur Austauschbarkeit zu einem Verfahren für Vorhersageintervalle erweitert.
-
Lang laufende Operationen: 202 Accepted und eine Statusressource
Dauert eine Anfrage länger, als ein Client warten sollte, mit 202 Accepted und einer Operations-Ressource antworten, die der Client abfragen kann; darauf done, error und result offenlegen, angeben, wann sie verfällt, und das schliesslich vorliegende Ergebnis abrufbar halten; RFC 9110 und Googles AIP-151 beschreiben die Form.
-
Screen-Space Reflections: Was die Kamera-Buffer nicht zeigen können
Fehlende Screen-Space-Reflexionen, Artefakte durch die Tiefendicke und Übergänge zum Fallback lassen sich diagnostizieren; der Strahlaufwand wird dabei getrennt vom Aufwand der Rekonstruktion budgetiert.
-
NFS, Samba, chrony, Unbound und Kea per Kommandozeile prüfen: eine Checkliste
Ein fünfminütiger Durchlauf auf der Kommandozeile, um zu bestätigen, dass jeder Infrastrukturdienst läuft und korrekt antwortet: rpcinfo -p und showmount -e für NFSv3 (exportfs -v und bestehende Verbindungen bei reinem NFSv4-Server), smbstatus für Samba, chronyc tracking und chronyc clients für die Zeit, unbound-control status für den Resolver sowie Kea-Lease-Datei oder kea-shell für DHCP.
-
Physikalische Grössen in JSON darstellen: Wert, Einheit und Genauigkeit als getrennte Felder
Ein Vorgehen, um gemessene oder berechnete Grössen in JSON zu übertragen: eine kanonische Einheit pro Grössenart, die Einheit im Feldnamen für Felder mit fester Einheit und ein Objekt aus Wert und Einheit mit kontrolliertem Einheitscode für Felder mit wechselnder Einheit, Genauigkeit explizit angegeben statt über die Anzahl Nachkommastellen, sowie Strings dort, wo der exakte Dezimalwert zählt.
-
Die Testpyramide und wo jeder Test hingehört
Die Testpyramide empfiehlt viele schnelle Unit-Tests, weniger Integrationstests und sehr wenige End-to-End-Tests; die Form ergibt sich aus Geschwindigkeit, Isolation und diagnostischem Wert, nicht aus Dogma.
-
Software-Stücklisten (SBOM): das Inventar der eigenen Lieferkette
Eine Software-Stückliste zählt maschinenlesbar auf, welche Komponenten in welcher Version in einem gelieferten Artefakt stecken. SPDX (ISO/IEC 5962:2021) und CycloneDX (OWASP) sind die verbreiteten Formate; erzeugt wird sie pro Release aus dem gebauten Artefakt, daneben abgelegt und zum Abgleich mit Schwachstellenmeldungen und Lizenzpflichten genutzt. Zusammen mit Herkunftsnachweisen (SLSA) macht sie die Lieferkette prüfbar.
-
Host-Firewalls im Vergleich: nftables, firewalld, ufw, Windows Defender Firewall, pf und ipfw
Regeln auflisten, einen Port öffnen, die Änderung über einen Neustart hinaus erhalten und das Ganze ohne Aussperren per SSH oder RDP: dieselben vier Aufgaben mit nftables, firewalld, ufw, der Windows Defender Firewall sowie den BSD-Paketfiltern pf und ipfw.
-
Flüchtige Tatsachen beim Fortsetzen einer Programmiersitzung erneut prüfen
Eine unterbrochene Programmieraufgabe fortsetzen, ohne eine frühere Sitzungszusammenfassung als aktuelle Beobachtung von Dateien, laufenden Prozessen oder externem Zustand zu behandeln.
-
Wie originalgetreu muss eine API-Sandbox sein, und wie halten Anbieter sie so?
Offene Frage: Anbieter wie Twilio (Test-Zugangsdaten mit magischen Eingabewerten) und PayPal (eine in sich geschlossene Sandbox, die Produktionsfeatures spiegelt) veröffentlichen Sandboxes, aber welches Genauigkeitsniveau, welche Seed-Daten und welche Praktiken zur Drift-Kontrolle haben es Integratoren ermöglicht, echte Integrationsfehler vor der Produktion zu finden, ohne dass die Sandbox zu einem zweiten, mitzupflegenden Produkt wird?
-
GraphQL oder REST: wie man sich für eine neue API entscheidet
GraphQL gibt Clients ein typisiertes Schema und einen einzigen Endpunkt, an dem sie genau die Felder anfragen, die sie brauchen; REST gibt Ressourcen mit URLs, die HTTP-Caches, Proxys und Statuscodes verstehen. Die Entscheidung richtet sich danach, wer die Clients sind, wie unterschiedlich ihr Datenbedarf ist, und ob sich die von GraphQL geforderten Kontrollen der Abfragekosten betreiben lassen.
-
Reproduzierbare Asset-Importe: Identität, Einstellungen und Tool-Versionen erhalten
Einen Asset-Workflow aufbauen, der sich aus einem sauberen Checkout rekonstruieren lässt, indem Quelldateien, Referenzidentität, Importer-Konfiguration und die vorgesehene Toolchain erhalten bleiben.
-
Eine von einem Agenten erzeugte Testerwartung unabhängig von der Implementierung halten
Prüfen, ob ein vorgeschlagener Test die Anforderung verifiziert oder lediglich dieselbe fehlerhafte Annahme wiederholt, die zum Schreiben der Implementierung diente.
-
Testen, ob Zählungen und Zusammenfassungen die Sichtbarkeit verborgener Datensätze respektieren
Prüfen, ob abgeleitete Antworten den Sichtbarkeitsregeln des Produkts für geschützte Datensätze folgen. Der Vorschlag unterscheidet eine zulässige Aggregation von einer unbeabsichtigten Offenlegung, statt anzunehmen, jede Zählung müsse privat sein.
-
SUSE Linux mit zypper administrieren: Refresh, Patch, Update und dup sowie nicht interaktive Läufe
zypper trennt das Aktualisieren der Repository-Metadaten, das Einspielen offizieller Patches, das Update einzelner Pakete und das vollständige Distributions-Upgrade in vier eigene Befehle. Wer weiss, welcher Befehl wann passt, wie zypper unbeaufsichtigt läuft, wie sich nach einem Update Prozesse finden lassen, die noch gelöschte Dateien verwenden, und wie eine Paketversion gesperrt wird, verhindert, dass ein Agent einen SUSE-Host beschädigt.
-
Ein Behauptungsbudget für folgenreiche Antworten verwenden
Unbelegte Breite verringern, indem eine Antwort auf notwendige, nachvollziehbare Behauptungen beschränkt wird und ungeklärte Annahmen offengelegt werden.
-
Konsistentes Hashing: stabile Schlüssel-Platzierung, wenn Knoten kommen und gehen
Einen Schlüssel modulo der Knotenanzahl zu hashen, ordnet die meisten Schlüssel neu zu, sobald ein Knoten hinzugefügt oder entfernt wird. Konsistentes Hashing platziert Knoten und Schlüssel auf einem Ring, sodass sich nur die Schlüssel neben dem geänderten Knoten verschieben; virtuelle Knoten gleichen die Last aus, und tabellenbasierte Varianten wie Maglev tauschen etwas Platzierungsstabilität gegen schnelleres Nachschlagen ein.
-
Tries für Präfix-Lookups: Autovervollständigung und Longest-Prefix-Matching
Ein Trie speichert Strings mit einem Knoten pro gemeinsamem Präfix, sodass die Kosten eines Lookups nur von der Schlüssellänge abhängen, unabhängig davon, wie viele Schlüssel existieren; alle Schlüssel mit einem Präfix bilden einen Teilbaum, und das längste gespeicherte Präfix einer Anfrage lässt sich in einem einzigen Durchlauf finden; für Autovervollständigung und Routing einsetzen, und zuerst mit einem sortierten Array vergleichen.
Maschinenlesbar: JSON