衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

YAML是什么?

汽車電子技術(shù) ? 來源:碼農(nóng)與軟件時代 ? 作者:碼農(nóng)與軟件時代 ? 2023-02-15 09:53 ? 次閱讀

一、YAML是什么?

YAML 首次發(fā)表于2001 年,其官方文檔給出的描述:

“YAML Ain’t Markup Language” (abbreviated YAML) is a data serialization language designed to be human-friendly and work well with modern programming languages for common everyday tasks.

“YAML 不是標記語言 ”(縮寫為 YAML)是一種 數(shù)據(jù)序列化語言 ,旨在 對人類友好 ,并且可以與現(xiàn)代編程語言很好地配合完成常見的 日常任務

不是標記語言 誰是標記語言,XML就是。XML被設計為與標準通用標記語言 (SGML) 向后兼容,SGML 旨在支持結(jié)構(gòu)化文檔。了解更多XML知識:XML是什么與為什么

數(shù)據(jù)序列化語言 使用yaml承載來數(shù)據(jù),并在程序之間傳遞,這部分職責與XML、JSON相似。

對人類友好 使得非專業(yè)人士也能輕松閱讀。

編程語言日常任務 程序本身的屬性、依賴關系表達,程序運行過程產(chǎn)生的數(shù)據(jù),程序之間數(shù)據(jù)的傳遞等這些任務,都要以一種形態(tài)表達出來,常見的有:配置文件、日志文件、進程間消息傳遞、跨語言數(shù)據(jù)共享等等。

二、YAML為什么產(chǎn)生?

YAML的產(chǎn)生是為了:提高人們對“數(shù)據(jù)交換格式”的可讀性;數(shù)據(jù)可在編程語言之間交換。

而JSON的產(chǎn)生是為了:簡單性和通用性。JSON的生成和解析很簡單,但人類的可讀性相對差些。

三、YAML長啥樣?

先來直觀地看看YAML文件(docker-compose),不求甚解。

version: "3.7"

services:
  app:
    image: node:12-alpine
    command: sh -c "yarn install && yarn run dev"
    ports:
      - 3000:3000
    working_dir: /app
    volumes:
      - ./:/app
    environment:
      MYSQL_HOST: mysql
      MYSQL_USER: root
      MYSQL_PASSWORD: secret
      MYSQL_DB: todos

  mysql:
    image: mysql:5.7
    volumes:
      - todo-mysql-data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: todos

volumes:
  todo-mysql-data:

四、YAML文件怎么看?

  1. 了解YAML約定與語法

(1)約定

大小寫敏感;

層級關系使用縮進來表示(用空格,不用TAB鍵;敲幾個空格不限,但相同層級左側(cè)要對齊);

注釋使用 # , # 前帶空格;

內(nèi)容塊:起始使用 --- ;結(jié)束使用 ... ;

重復內(nèi)容的定義:錨點標簽&表達被引用的內(nèi)容,*表達引用。

(2)語法

總的來說,支持的基本數(shù)據(jù)結(jié)構(gòu): 對象 、列表以及純量

對象: 也稱字典,使用key:value來表達。

表達方式一:

Key1:
  key11: value11
  Key12: value12

表達方式二:

Key1: { key11: value11, child-key12: value12 }

列表 也稱序列、數(shù)組。

表達方式一:

values:
  - value1
  - value2
  - value3

表達方式二:

values: [value1, value2, value3]

純量 Null、布爾、字符串、整數(shù)、浮點數(shù)、日期和時間等基本數(shù)據(jù)類型。

  1. 領域YAML規(guī)范約定

不同領域都有各自的YAML規(guī)范約定。

第三部分的YAML文件是docker-compose,其規(guī)范約定在Compose Specification中,詳細內(nèi)容參見鏈接3

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    很實用的PyYAML使用技巧

    YAML 是一個被廣泛使用的數(shù)據(jù)序列化和配置語言,作為一個開發(fā)者,總是不免和它打交道。但處理 YAML 文檔,尤其是使用 PyYAML 的過程總是非常痛苦。
    發(fā)表于 12-01 09:41 ?414次閱讀

    SSM框架-SpringBoot-07-yaml格式

    springSpringMVC
    電子學習
    發(fā)布于 :2023年01月07日 20:59:56

    如何將udev規(guī)則和/或netplan config.yaml文件添加到Ubuntu devel rfs?

    我找不到任何將網(wǎng)絡相關內(nèi)容(如 netplan config.yaml 或 udev 規(guī)則)更新到 flex-builder 的 Ubuntu 開發(fā)發(fā)行版的示例。有沒有一種簡單的方法可以做到這一點
    發(fā)表于 03-24 07:15

    xml和YAML文件的寫入_OpenCV3編程入門

    《OpenCV3編程入門》書本配套源代碼:xml和YAML文件的寫入
    發(fā)表于 06-06 15:20 ?6次下載

    xml和YAML文件的讀取_源代碼

    《OpenCV3編程入門》書本配套源代碼:xml和YAML文件的讀取
    發(fā)表于 06-06 15:20 ?6次下載

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的讀取

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的讀取
    發(fā)表于 09-18 16:38 ?0次下載

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的寫入

    OpenCV3編程入門-源碼例程全集-xml和YAML文件的寫入
    發(fā)表于 09-18 16:38 ?0次下載

    xjsonkits超輕量級JSON/xml/YAML解析門面API

    ./oschina_soft/gitee-xjsonkit.zip
    發(fā)表于 06-14 10:38 ?1次下載
    xjsonkits超輕量級JSON/xml/<b class='flag-5'>YAML</b>解析門面API

    Yams YAML解析器

    ./oschina_soft/Yams.zip
    發(fā)表于 06-16 10:18 ?0次下載
    Yams <b class='flag-5'>YAML</b>解析器

    Taskfile的安裝及使用

    Taskfile 通過 yaml 來描述各種執(zhí)行任務, 其核心采用 go 編寫; 相較于 Makefile 的 tab 分割和 bash 結(jié)合語法 Taskfile 顯得更加現(xiàn)代化和易
    的頭像 發(fā)表于 07-18 16:22 ?1386次閱讀

    學習Python值得收藏的小技巧

    YAML 是 “YAML 不是一種標記語言”的外語縮寫。它是一個數(shù)據(jù)格式語言,是 JSON 的父集。和 JSON 不同的是,它可以存儲更復雜的對象,并且可以引用自身的元素。你還可以寫注釋,這讓 YAML 特別適合于書寫配置文件。
    發(fā)表于 12-05 11:37 ?213次閱讀

    怎樣在YAML中添加注釋

    AML 廣泛用于為容器化應用程序編寫配置文件。解釋特定行或者忽略錯誤行,都需要用到注釋。
    的頭像 發(fā)表于 01-30 16:02 ?2287次閱讀
    怎樣在<b class='flag-5'>YAML</b>中添加注釋

    探討使用YAML文件定義Kubernetes應用程序

    Kubernetes已經(jīng)占據(jù)如何管理集容器化應用程序的核心位置。因此,存在許多定義Kubernetes應用程序的約定文件格式,包括YAML、JSON、INI等。
    的頭像 發(fā)表于 04-20 10:03 ?652次閱讀

    OpenCV中YAML配置文件讀寫使用演示

    我們在做OpenCV開發(fā)的時候經(jīng)常需要把算法在一些場景下的調(diào)試好的參數(shù)作為默認值保存然后自動加載,然后在默認值的基礎上根據(jù)需要適度調(diào)整。OpenCV中支持把參數(shù)保存為TXT格式的YAML文件,實現(xiàn)類似XML與JSON的參數(shù)文件讀寫,主要是基于FileStorage這個類完成。
    的頭像 發(fā)表于 08-01 11:14 ?879次閱讀
    OpenCV中<b class='flag-5'>YAML</b>配置文件讀寫使用演示

    ROS編寫參數(shù)配置文件示例程序

    我們設定的參數(shù)對應的執(zhí)行文件main.launch。 這些需要設定的參數(shù),存放在user_config.yaml、pedestrians_config.yaml、obstacles
    的頭像 發(fā)表于 11-26 17:35 ?1708次閱讀
    ROS編寫參數(shù)配置文件示例程序
    最新娱乐城送体验金| 免佣百家乐官网赌场优势| 百家乐官网凯时娱乐平台| 百家乐最新投注方法| 德州扑克高级教程| 百家乐官网最保险的方法| 最好的百家乐投注| 华球网| 云鼎百家乐官网的玩法技巧和规则 | 买百家乐官网程序| 百家乐如何骗人| 赌球网站| 百家乐稳赚打法| 博彩老头排列三| 喜力百家乐官网的玩法技巧和规则 | 尊龙线上娱乐| 网页百家乐官网游戏下载| 大发888下载不了| 送彩金百家乐官网平台| 如何胜百家乐的玩法技巧和规则| 百家乐官网单跳打法| 百家乐小游戏开发| 宝格丽娱乐城| 百家乐庄闲规则| 88娱乐城网址tlyd| 百家乐官网群bet20| 名仕国际棋牌下载| 同花顺百家乐官网的玩法技巧和规则 | 神人百家乐官网赌场| 水浒传老虎机破解| 澳门百家乐官网新濠天地| 威尼斯人娱乐网送38元彩金| 百家乐官网赌现金| 大发888怎么了| 公海百家乐官网的玩法技巧和规则| 大发888 官方| 百家乐官网任你博娱乐场开户注册| 大发888线上娱乐城加盟合作| 百合百家乐官网的玩法技巧和规则 | 24山分别指什么| 易发百家乐|