简述 YAML

简介: 笔记

1.pngYAML是一种数据序列化语言,可让以紧凑且可读的格式存储复杂数据。它对于 DevOps 和虚拟化来说很重要,因为它对于构建高效的数据管理系统和自动化至关重要。虽然经常被开发人员忽视,特别是前端工程师,但它是一个功能强大且简单的工具,掌握后可以大大改善工作方式和效率。

本文将快速介绍一下 YAML。


什么是 YAML?


YAML 是一种数据序列化语言,用于以人类可读的形式存储信息。它最初代表 Yet Another Markup Language,但后来改为YAML Ain't Markup Language,以区别于真正的标记语言。

它类似于 XMLJSON 格式 ,但使用更简约的语法,即使同时保持类似的功能。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 不是人类可读的,需要更多的带宽和存储容量,但提供了无与伦比的控制。


相关文章
|
7月前
|
XML JSON 数据格式
YAML语言介绍
YAML语言介绍
35 0
|
10月前
|
JSON 数据格式
|
10月前
|
Kubernetes JavaScript 前端开发
YAML+PyYAML笔记 1 | YAML简介和基础知识了解
YAML+PyYAML笔记 1 | YAML简介和基础知识了解
55 0
|
存储 JSON Kubernetes
编写 K8S YAML
编写 K8S YAML
478 0
编写 K8S YAML
|
JSON Kubernetes Devops
kustomize (一) 管理yaml部署入门hello world
kustomize (一) 管理yaml部署入门hello world
kustomize (一) 管理yaml部署入门hello world
|
XML JSON Java
yaml 简介|学习笔记
快速学习 yaml 简介
89 0
|
Java 开发者
yaml 语法|学习笔记
快速学习 yaml 语法
110 0
|
存储 设计模式 运维
如何不编写 YAML 管理 Kubernetes 应用?
Kubernetes 将自身边界内的事物都抽象为资源。其中的主要部分,是以 Deployment、StatefulSet 为代表的 workload 工作负载控制器,其他各类资源都围绕这些主要的资源工作。这些资源合并起来,可以为 IT 技术工作者展现出一个以 workload 为中心的模型。Kubernetes 中所有的资源,都通过声明式配置文件来编辑描述,一条条的 Yaml 字段定义,给了 IT 技术人员最大的自由度的同时,也对技术人员的能力提出了极高的要求。
|
XML JSON Kubernetes
Kubernetes YAML 编写 讲解
Kubernetes YAML 编写 讲解
175 1
|
XML JSON JavaScript
第7期 YAML入门学习
YAML入门学习
137 0