2 puntos por GN⁺ 2023-09-29 | 1 comentarios | Compartir por WhatsApp
  • Este artículo analiza el uso de YAML en la tecnología DevOps.
  • Se elogia a YAML por tener una cobertura de pruebas del 100%, compilar siempre sin errores ni advertencias y estar siempre listo para enviarse.
  • YAML no obliga al manejo de errores durante el desarrollo, lo que puede causar problemas de ejecución en producción.
  • El autor menciona que YAML ha sido ampliamente adoptado en la industria y que se usa en Kubernetes.
  • YAML se considera ligeramente mejor que windows.ini y, a diferencia de JSON, admite comentarios.
  • Este artículo señala que YAML carece de documentación oficial suficiente, aparte de la especificación para implementadores.
  • Se destaca YAML como una forma de ejecutar código de manera segura, con referencias a posibles problemas de seguridad.
  • El autor advierte que usar YAML puede provocar resultados inesperados, como que 'NO' se interprete como un tipo booleano o que enteros grandes se conviertan automáticamente a octal.
  • Este artículo comenta con humor los desafíos de usar YAML, incluidos problemas de depuración relacionados con la codificación de tiempo y la notación octal.
  • El autor comparte un tuit en el que expresa su frustración con YAML en el contexto de GitHub Actions.
  • El artículo concluye con un escenario hipotético en el que SQL está basado en YAML.

1 comentarios

 
GN⁺ 2023-09-29
Opinión de Hacker News
  • Los supuestos de YAML sobre octales y cadenas pueden provocar resultados inesperados y fallas del sistema.
  • YAML es un formato de datos legible y editable por humanos, pero causa problemas cuando se usa para lógica en lugar de datos simples.
  • CI/CD a menudo incluye lógica, y eso no se maneja idealmente en YAML puro.
  • YAML no debería usarse fuera del ecosistema de Python para evitar problemas derivados de diferencias en formatos de scripting y mantener la consistencia.
  • Jinja-in-YAML se considera un antipatrón debido a la ausencia inicial de un diseño pensado para la programabilidad.
  • Como alternativas a YAML se mencionan Dhall, Jsonnet y Starlark, un lenguaje no Turing completo derivado de Python.
  • A YAML se le reconoce su legibilidad, pero la complejidad del despliegue en pipelines de CI/CD es un problema importante.
  • El uso de YAML en infraestructura como código puede generar confusión e ineficiencia, especialmente para desarrolladores poco familiarizados con la infraestructura.
  • BCL se propone como una posible alternativa a YAML para definir recursos al estilo de Terraform.
  • En YAML se observa un efecto de plataforma interna, donde la configuración se expande hasta convertirse en un lenguaje de programación.
  • Poner entre comillas todos los literales en YAML puede resolver muchos de los problemas más comunes.
  • EDN (Extensible Data Notation), un subconjunto de Clojure, se propone como alternativa a YAML.
  • YAML es útil para evaluaciones y retroalimentación en entornos educativos por su legibilidad y por la facilidad de uso de la sintaxis tipo Markdown.
  • YAML presenta dificultades al escribir pipelines de CI y configuraciones de automatización del hogar.