YAML是一种数据序列化语言,可让以紧凑且可读的格式存储复杂数据。它对于 DevOps 和虚拟化来说很重要,因为它对于构建高效的数据管理系统和自动化至关重要。虽然经常被开发人员忽视,特别是前端工程师,但它是一个功能强大且简单的工具,掌握后可以大大改善工作方式和效率。
本文将快速介绍一下 YAML。
什么是 YAML?
YAML 是一种数据序列化语言,用于以人类可读的形式存储信息。它最初代表 Yet Another Markup Language
,但后来改为YAML Ain't Markup Language
,以区别于真正的标记语言。
它类似于 XML
和 JSON
格式 ,但使用更简约的语法,即使同时保持类似的功能。YAML 通常用于在基础架构即代码 (IoC) 程序中创建配置文件或在 DevOps 开发管道中管理容器。
YAML 已被用于创建自动化协议,这些协议可以执行 YAML 文件中列出的一系列命令。这意味着系统可以更加独立和响应迅速,而无需额外的开发人员关注。
随着越来越多的公司采用 DevOps 和虚拟化,YAML 正迅速成为现代开发人员职位的必备技能。通过使用 PyYAML 库、Docker 等流行技术的支持,YAML 也很容易与现有技术结合。
YAML 与 JSON 与 XML
YAML(.yml
)
- 人类可读代码
- 极简语法
- 专为数据而设计
- 类似于 JSON 的内联样式(是 JSON 的超集)
- 允许评注释
- 不带引号的字符串
- 被认为是
更干净
的 JSON - 高级功能(可扩展数据类型、关系锚点和保留键顺序的映射类型)
在nodejs开发中,结合swagger,可以更好的提供 API 文档。
JSON
- 更难阅读
- 明确、严格的语法要求
- 类似于 YAML 的内联样式(一些 YAML 解析器可以读取 JSON 文件)
- 暂无注释
- 字符串需要双引号
实例:JSON 在 Web 开发中很受欢迎,因为它最适合序列化格式和通过 HTTP 连接传输数据。
XML
- 更难阅读
- 更冗长
- 充当标记语言,而 YAML 用于数据格式化
- 包含比 YAML 更多的特性,比如标签属性
- 更严格定义的文档模式
实例: XML 最适合需要对验证、模式和名称空间进行精细控制的复杂项目。XML 不是人类可读的,需要更多的带宽和存储容量,但提供了无与伦比的控制。