2 pontos por GN⁺ 2023-09-29 | 1 comentários | Compartilhar no WhatsApp
  • Este artigo discute o uso de YAML nas tecnologias de DevOps.
  • O YAML é elogiado por ter 100% de cobertura de testes, sempre compilar sem erros ou avisos e estar sempre pronto para entrega.
  • O YAML não força o tratamento de erros durante o desenvolvimento, o que pode causar problemas de runtime em produção.
  • O autor menciona que o YAML foi amplamente adotado no setor e é usado no Kubernetes.
  • O YAML é considerado ligeiramente melhor que o windows.ini e, diferentemente do JSON, oferece suporte a comentários.
  • Este artigo aponta que o YAML carece de documentação oficial além da especificação para implementadores.
  • O YAML é destacado como uma forma de executar código com segurança, com referências a possíveis problemas de segurança.
  • O autor alerta que o uso de YAML pode levar a resultados inesperados, como 'NO' ser interpretado como tipo booleano ou números inteiros grandes serem convertidos automaticamente para octal.
  • Este artigo discute de forma bem-humorada os desafios do uso de YAML, incluindo problemas de depuração relacionados à codificação de tempo e à notação octal.
  • O autor compartilha um tuíte expressando frustração com o YAML no contexto do GitHub Actions.
  • O artigo termina com um cenário hipotético em que o SQL seria baseado em YAML.

1 comentários

 
GN⁺ 2023-09-29
Comentário do Hacker News
  • As suposições do YAML sobre octais e strings podem causar resultados inesperados e falhas de sistema.
  • YAML é um formato de dados legível e editável por humanos, mas surgem problemas quando ele é usado para lógica em vez de dados simples.
  • CI/CD frequentemente inclui lógica, o que não é tratado de forma ideal em YAML puro.
  • YAML não deveria ser usado fora do ecossistema Python, para evitar problemas causados por diferenças entre formatos de script e manter a consistência.
  • Jinja-in-YAML é considerado um antipadrão devido à ausência, no design inicial, de programabilidade.
  • Como alternativas ao YAML, há Dhall, Jsonnet e Starlark, uma linguagem não Turing-completa derivada de Python.
  • A legibilidade do YAML é reconhecida, mas a complexidade de implantação em pipelines de CI/CD é um problema principal.
  • O uso de YAML em infraestrutura como código pode causar confusão e ineficiência, especialmente para desenvolvedores menos familiarizados com infraestrutura.
  • BCL é sugerido como uma possível alternativa ao YAML para definir recursos no estilo do Terraform.
  • Em YAML, observa-se um efeito de plataforma interna, em que a configuração se expande e vira uma linguagem de programação.
  • Colocar aspas em todos os literais no YAML pode resolver muitos dos problemas encontrados com frequência.
  • EDN (Extensible Data Notation), um subconjunto de Clojure, é sugerido como alternativa ao YAML.
  • YAML é útil para avaliações e feedback em ambientes educacionais por causa de sua legibilidade e da facilidade de uso de sintaxe ao estilo Markdown.
  • YAML apresenta dificuldades na escrita de pipelines de CI e configurações de automação residencial.