2 Punkte von GN⁺ 2023-09-29 | 1 Kommentare | Auf WhatsApp teilen
  • Dieser Artikel diskutiert die Verwendung von YAML in der DevOps-Technik.
  • YAML wird dafür gelobt, 100 % Testabdeckung zu haben, immer ohne Fehler oder Warnungen zu kompilieren und stets auslieferbar zu sein.
  • YAML erzwingt während der Entwicklung keine Fehlerbehandlung, was in der Produktion zu Laufzeitproblemen führen kann.
  • Der Autor erwähnt, dass YAML in der Branche breit angenommen wurde und in Kubernetes verwendet wird.
  • YAML gilt als etwas besser als windows.ini und unterstützt im Gegensatz zu JSON Kommentare.
  • Der Artikel weist darauf hin, dass YAML neben der Spezifikation für Implementierer nur wenige offizielle Dokumente hat.
  • YAML wird als Möglichkeit hervorgehoben, Code sicher auszuführen, und es gibt Verweise auf potenzielle Sicherheitsprobleme.
  • Der Autor warnt, dass die Verwendung von YAML zu unerwarteten Ergebnissen führen kann, etwa dass NO als boolescher Typ geparst wird oder große Ganzzahlen automatisch in Oktalzahlen umgewandelt werden.
  • Der Artikel diskutiert die Herausforderungen bei der Verwendung von YAML auf humorvolle Weise, darunter Debugging-Probleme im Zusammenhang mit Zeitkodierung und Oktalschreibweise.
  • Der Autor teilt einen Tweet, in dem er im Kontext von GitHub Actions seinen Frust über YAML ausdrückt.
  • Der Artikel endet mit einem fiktiven Szenario, in dem SQL auf YAML basiert.

1 Kommentare

 
GN⁺ 2023-09-29
Hacker-News-Kommentare
  • Die Annahmen von YAML zu Oktalzahlen und Strings können zu unerwarteten Ergebnissen und Systemausfällen führen.
  • YAML ist ein für Menschen lesbares und schreibbares Datenformat, aber es verursacht Probleme, wenn es statt für einfache Daten für Logik verwendet wird.
  • CI/CD enthält oft Logik, die sich in reinem YAML idealerweise nicht gut abbilden lässt.
  • YAML sollte außerhalb des Python-Ökosystems nicht verwendet werden, um Probleme durch Unterschiede zwischen Skriptformaten zu vermeiden und Konsistenz zu wahren.
  • Jinja-in-YAML gilt als Anti-Pattern, weil im ursprünglichen Design die Programmierbarkeit nicht vorgesehen war.
  • Als Alternativen zu YAML werden Dhall, Jsonnet und die von Python abgeleitete, nicht Turing-vollständige Sprache Starlark genannt.
  • YAML wird zwar für seine Lesbarkeit anerkannt, aber die Komplexität von Deployments in CI/CD-Pipelines ist ein zentrales Problem.
  • Die Verwendung von YAML für Infrastructure as Code kann zu Verwirrung und Ineffizienz führen, besonders bei Entwicklern, die mit Infrastruktur nicht vertraut sind.
  • BCL wird als potenzielle Alternative zu YAML vorgeschlagen, um Ressourcen im Terraform-Stil zu definieren.
  • In YAML ist ein interner Plattformeffekt zu beobachten, bei dem Konfigurationen wachsen und zu einer Programmiersprache werden.
  • Wenn man in YAML alle Literale in Anführungszeichen setzt, lassen sich viele häufige Probleme vermeiden.
  • EDN (Extensible Data Notation), eine Teilmenge von Clojure, wird als Alternative zu YAML vorgeschlagen.
  • YAML ist wegen seiner Lesbarkeit und der einfachen Nutzung einer Markdown-ähnlichen Syntax nützlich für Bewertungen und Feedback in Bildungsumgebungen.
  • YAML bereitet Schwierigkeiten beim Schreiben von CI-Pipelines und Konfigurationen für die Heimautomatisierung.