一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

YAML是什么?

汽車(chē)電子技術(shù) ? 來(lái)源:碼農(nóng)與軟件時(shí)代 ? 作者:碼農(nóng)與軟件時(shí)代 ? 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 不是標(biāo)記語(yǔ)言 ”(縮寫(xiě)為 YAML)是一種 數(shù)據(jù)序列化語(yǔ)言 ,旨在 對(duì)人類(lèi)友好 ,并且可以與現(xiàn)代編程語(yǔ)言很好地配合完成常見(jiàn)的 日常任務(wù) 。

不是標(biāo)記語(yǔ)言 誰(shuí)是標(biāo)記語(yǔ)言,XML就是。XML被設(shè)計(jì)為與標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言 (SGML) 向后兼容,SGML 旨在支持結(jié)構(gòu)化文檔。了解更多XML知識(shí):XML是什么與為什么

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

對(duì)人類(lèi)友好 使得非專(zhuān)業(yè)人士也能輕松閱讀。

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

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

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

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

三、YAML長(zhǎng)啥樣?

先來(lái)直觀地看看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約定與語(yǔ)法

(1)約定

大小寫(xiě)敏感;

層級(jí)關(guān)系使用縮進(jìn)來(lái)表示(用空格,不用TAB鍵;敲幾個(gè)空格不限,但相同層級(jí)左側(cè)要對(duì)齊);

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

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

重復(fù)內(nèi)容的定義:錨點(diǎn)標(biāo)簽&表達(dá)被引用的內(nèi)容,*表達(dá)引用。

(2)語(yǔ)法

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

對(duì)象: 也稱(chēng)字典,使用key:value來(lái)表達(dá)。

表達(dá)方式一:

Key1:
  key11: value11
  Key12: value12

表達(dá)方式二:

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

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

表達(dá)方式一:

values:
  - value1
  - value2
  - value3

表達(dá)方式二:

values: [value1, value2, value3]

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    很實(shí)用的PyYAML使用技巧

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

    SSM框架-SpringBoot-07-yaml格式

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

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

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

    xml和YAML文件的寫(xiě)入_OpenCV3編程入門(mén)

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

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

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

    OpenCV3編程入門(mén)-源碼例程全集-xml和YAML文件的讀取

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

    OpenCV3編程入門(mén)-源碼例程全集-xml和YAML文件的寫(xiě)入

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

    xjsonkits超輕量級(jí)JSON/xml/YAML解析門(mén)面API

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

    Yams YAML解析器

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

    學(xué)習(xí)Python值得收藏的小技巧

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

    怎樣在YAML中添加注釋

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

    探討使用YAML文件定義Kubernetes應(yīng)用程序

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

    模型精度驗(yàn)證及調(diào)優(yōu)建議

    目前地平線浮點(diǎn)轉(zhuǎn)換工具鏈需要依據(jù) yaml 配置文件實(shí)現(xiàn)模型轉(zhuǎn)換,而某些參數(shù)如果配置有誤將會(huì)導(dǎo)致最終模型的性能/精度不理想,甚至直接轉(zhuǎn)換失敗,本文將針對(duì) yaml 文件中的相關(guān)配置項(xiàng)進(jìn)行說(shuō)明,作為工具鏈文檔的額外補(bǔ)充……
    的頭像 發(fā)表于 04-07 15:53 ?1231次閱讀
    模型精度驗(yàn)證及調(diào)優(yōu)建議

    OpenCV中YAML配置文件讀寫(xiě)使用演示

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

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

    我們?cè)O(shè)定的參數(shù)對(duì)應(yīng)的執(zhí)行文件main.launch。 這些需要設(shè)定的參數(shù),存放在user_config.yaml、pedestrians_config.yaml、obstacles
    的頭像 發(fā)表于 11-26 17:35 ?2069次閱讀
    ROS編寫(xiě)參數(shù)配置文件示例程序