ืืืจ ืึทืืข ืืืืข ืึทื ืกืืืืข, ืึธืืขืจ ืึทื ืกืืืืข ืืื ืืื. ืขืก ืืขื ืขื ืคืืืข ืคึฟืึธืจืืึทืืืจืื ืืขื ืคึฟืึทืจ ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืขืก: ืจืฉืืืืช ืคืื ืืืึทืืืขืก, ืคึผืึทืจืึทืืขืืขืจ-ืืืขืจื ืคึผืขืจื, INI ืืขืงืขืก, YAML, JSON, XML ืืื ืคืืืข ืื ืืขืจืข. ืึธืืขืจ, ืคึฟืึทืจ ืขืืืขืืข ืกืืืืช ืคืื ืึทืืข ืคืื โโืืื, YAML ืืื ืึธืคื ืืขืืืืื ืกืคึผืขืฆืืขื ืฉืืืขืจ. ืืื ืืึทืืื ืืขืจ, ืืจืึธืฅ ืืืื ืจืขืคืจืขืฉืื ื ืืื ืึทืืึทืืืืึทื ืืื ืืืคึผืจืขืกืืื ืงืืืคึผืึทืืืืึทืืื ืคึฟืึทืจ ืืจืืขืื ืืื ืืืืจืึทืจืงืึทืงืึทื ืืืึทืืืขืก, ืื YAML ืกืื ืืึทืงืก ืงืขื ืขื ืืืื ืึทื ืืืื ื ืืื ืืืื ืคึผืืืืึธื-ืืื ืฆืืืึทื ื ืฆื ืื ืืขื ืืืืฉืึทื.
ืืืื ืืึทื"ื ืคึผืืกืก ืืืจ ืึทืืืขืง, ืืืจ ืงืขื ืขื - ืืื ืืืจ ืืึธื! - ื ืขืืขื ืื ืคืืืืขื ืืข 10 ืกืืขืคึผืก ืฆื ืจืขืืืฆืืจื ืืืื ืคืจืึทืกืืจืืืฉืึทื ืฆื ืึท ืคึผืึทืกืืง ืืืจืื ืืื ืืืขืจื ืืื ืืืืข ืืื YAML. ืืืื ืฆื ืืขืจ ืจืฉืืื, ืืื ืืืขืจ ืฆืขื ืขืฆืืช ืืืขืื ืืืื ืืขืฆืืืื ืคึฟืื ืงืจืึทืฆื, ืืืจ ืืืขืื ืืืืื ืงืืขืจื ืืื ืจืืื ืืืช ืคึผืจืึทืงืืืกืื ๐
0. ืืึทืื ืืืื ืจืขืืึทืงืืึธืจ ืึทืจืืขื
ืขืก ืืื ื ืืฉื ืขื ืื ืืืึธืก ืืขืงืกื ืจืขืืึทืงืืึธืจ ืืืจ ืืึธืื, ืขืก ืืื ืืืกืืึธืืข ืืืึท ืืื ืืกืืขืจ ืืืื ืคึผืืืืื ืคึฟืึทืจ ืืจืืขืื ืืื YAML. ืืืื ืืืจ ืืึธื ื ืื ืืึธืื ืืืื, ืืขืคึฟืื ืขื ืืื ืื ืกืืึทืืืจื ืขืก ืืื. ืื ืฆืืื ืคืืจืืจืืื ืืืจื ืืืื ืืื ืืึทืฉืืขืืืงื ืืืขื ืืึทืฆืึธืื ืคืื ืืึธื ืืืืขืจ ืืขืืขืจ ืืึธื ืืืจ ืืึธืื ืฆื ืจืขืืึทืืืจื YAML.
ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืจืขืืึทืงืืึธืจ
Emacs ืืื YAML ืืึธืืข ืืื ืืืืึทื ืกืคึผืืืกืึทื.
ืืืื ืืืื ืืึทืืืืกืืข ืจืขืืึทืงืืึธืจ ืืื ื ืืฉื ืึท YAML ืืึธืืข, ืขืืืขืืข ืคืื โโโโืื ืคึผืจืึธืืืขืืก ืงืขื ืขื ืืืื ืกืึทืืืื ืืืจื ืืจืืขืื ืืื ืื ืกืขืืืื ืืก. ืฆืื ืืืืฉืคึผืื, ืืขืจ ื ืึธืจืืึทื GNOME ืืขืงืกื ืจืขืืึทืงืืึธืจ Gedit ืืื ื ืืฉื ืึท ืืึทืื ืืึธืืข, ืึธืืขืจ ืืืจื ืคืขืืืงืืึทื ืขืก ืืืืืืืฅ ืื ืืึทืื ืกืื ืืึทืงืก ืืื ืึทืืึทืื ืืืจ ืฆื ืงืึทื ืคืืืืขืจ ืึทืจืืขื ืืื ืื ืืขื ืืืืฉืึทื ื:
ืืึทืฉืืขืืืงื ืื ืืขื ืฅ ืืื Gedit.
ืึท ืคึผืืืืื
ืืื ืื ืืขืจืข ืืืขืจืืขืจ, ืคืึทืจืืจืขื ืืขื ืฆืืื ืฆื ืืขืจื ืขื ืืืขืื ืืืื ืืึทืืืืกืืข ืจืขืืึทืงืืึธืจ. ืืขืคึฟืื ืขื ืืื ืืืึธืก ืขืจ ืึธืืขืจ ืืืื ืึทื ืืืืืงืืื ื ืงืื ืึธืคืคืขืจืก ืคึฟืึทืจ ืืจืืขืื ืืื YAML, ืืื ื ืืฆื ืื ืึทืคึผืขืจืืื ืึทืืื. ืืืจ ืืืขื ืืืฉืืืื ื ืื ืืึทืืืืขืจื ืขืก.
1. ื ืืฆื ืึท ืืื ืืขืจ
ืืืขืึทืืื, ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทืื ืืื ืืึทืจืงืึทืคึผ ืฉืคึผืจืึทืื ื ืืฆื ืคึผืจืืืืงืืึทืืึทื ืกืื ืืึทืงืก. ืงืึธืืคึผืืืืขืจืก ืืขื ืขื ืืื ืืื ืคึผืจืืืืงืืึทืืืืืื, ืืืึธืก ืืื ืืืึธืก ืืขืจ ืืึทืืจืืฃ ืคืื
ืื ืกืืึทืืืจื
$ sudo dnf install yamllint
ืืขืจื ืึธื ืืืจ ื ืึธืจ ืืืืคื ืืึทืืืืื ื ืืื ืคืึธืจื ืื YAML ืืขืงืข ืฆื ืงืึธื ืืจืึธืืืจื. ืืึธืก ืืื ืืืึธืก ืขืก ืงืืงื ืืื ืืืื ืืืจ ืคืึธืจื ืึท ืืขืงืข ืืื ืึท ืืขืืช ืฆื ืื ืืื ืืขืจ:
$ yamllint errorprone.yaml
errorprone.yaml
23:10 error syntax error: mapping values are not allowed here
23:11 error trailing spaces (trailing-spaces)
ืื ื ืืืขืจื ืืืืฃ ืื ืืื ืงืก ืืขื ืขื ื ืืฉื ืื ืฆืืื, ืึธืืขืจ ืื ืงืึธืืึธืจืืึทื ืึทืฅ ืคืื ืื ืืขืืช: ืจืืืขืจื ืืื ืืืึทื ื ืืืขืจ. ืื ืืึทืฉืจืืึทืืื ื ืคืื ืืขื ืืขืืช ืงืขื ื ืืฉื ืืึธืื ืืืจ ืขืคึผืขืก, ืึธืืขืจ ืืืจ ืืืืกื ืคึผืื ืงื ืืื ืขืก ืืื. ื ืึธืจ ืงืืง ืืื ืืขื ืึธืจื ืืื ืื ืงืึธื, ืืื ืจืืึฟ ืืกืชึผืื ืึทืืฅ ืืืขื ืืืขืจื ืงืืึธืจ.
ืืืขื ืืึทืืืืื ื ืืขืคืื ื ืงืืื ืขืจืจืึธืจืก ืืื ืึท ืืขืงืข, ืืึธืจื ืืฉื ืืื ืืขืืจืืงื ืฆื ืืขื ืขืงืจืึทื. ืืืื ืึทืืึท ืฉืืืืงืืึทื ืืืขืจืฉืจืขืงื ืืืจ ืืื ืืืจ ืืืืื ืึท ืืืกื ืืขืจ ืืึทืืขืจืงืื ืืขื, ืืืจ ืงืขื ืขื ืืืืคื ืื ืืืืขืจ ืืื ืื ืงืึทื ืืืฉืึทื ืึทื ืืืืืขืจืงืึธื ืืึทืคึฟืขื ืืืจื ืึท ืืึธืคึผื ืึทืืคึผืขืจืกืึทื ื (&&), ืืื ืืึธืก:
$ yamllint perfect.yaml && echo "OK"
OK
ืืื POSIX, ืึท ืืึธืคึผื ืึทืืคึผืขืจืกืึทื ื ืคืืจืขืก ืืืื ืืื ืืืืื ืืืื ืื ืคึผืจืืกืืืื ื ืืึทืคึฟืขื ืงืขืจื 0. ืืื ืืึทืืืืื ื ื ืึธืจ ืงืขืจื ืื ื ืืืขืจ ืคืื ืขืจืจืึธืจืก ืืขืคึฟืื ืขื, ืืืึธืก ืืื ืืืึธืก ืื ืืื ืฆืข ืงืึทื ืืืฉืึทื ืึทื ืงืึทื ืกืืจืึทืงื ืึทืจืืขื.
2. ืฉืจืืื ืืื ืคึผืืืืึธื, ื ืืฉื ืืึทืื
ืืืื ืืืื ืคืจืขืื ืืื ืืืืช, ืฉืจืืื ื ืืจ ื ืืฉื ืืื ืืขื, ืืืฉ. ืขืก ืืึทืคึผืึทื ื ืึทื YAML ืืื ืืขืจ ืืืืื ืคึฟืึธืจืืึทื ืืืึธืก ืื ืึทืคึผืืึทืงืืืฉืึทื ืคืืจืฉืืืื. ืึธืืขืจ ืืคืืื ืืื ืืขื ืคืึทื, ืขืก ืืื ื ืื ื ืืืืืง ืฆื ืฉืึทืคึฟื ืึท YAML ืืขืงืข. ืฉืจืืื ืืืืฃ ืืืึธืก ืืืจ ืืื ืืื ืืขืืึธืื ืืขืจ. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืขืก ืืื ืึท ืืจืืืก ืืืืืืึธืืขืง ืคึฟืึทืจ ืคึผืืืืึธื
ืืื-ืงืึทื ืืืขืจืืฉืึทื
ืืื ืืขื ืคืึทื, ืื ืืึทืื ืืขืงืข ืืื ืืืื ืึท ืคึผืืืืึธื ืฉืจืืคื ืืืึธืก ืืืฉืขื ืขืจืืืฅ YAML. ืืขื ืืืคึฟื ืืื ืืขืกืืขืจ ืคึผืึทืกืืง ืคึฟืึทืจ ืงืืืื ืืึทืื ืฉืืขืื. ืืืจ ืคืฉืื ืฉืจืืึทืื ืื JSON ืืึทืื ืืื ืึท ืคึผืืืืึธื ืืืขืจืืึทืืึทื, ืคึผืจืืคืึทืกืขืก ืขืก ืืื ืึท ืึทืจืืึทื ืคืืจ ืืืจืขืงืืืื, ืืื ืืื ืื ืกืืฃ ืคืื ืื ืืขืงืข ืืืืื ืืจืื ืฉืืจืืช ืฆื ืื ืกืืจืืืขื ื ืื ืจืขืืืืืึทื.
#!/usr/bin/python3
import yaml
d={
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
f=open('output.yaml','w')
f.write(yaml.dump(d))
f.close
ืืืฆื ืืืจ ืืืืคื ืืขื ืืขืงืข ืืื ืคึผืืืืึธื ืืื ืืึทืงืืืขื ืื output.yaml ืืขืงืข:
$ python3 ./example.json
$ cat output.yaml
glossary:
GlossDiv:
GlossList:
GlossEntry:
Abbrev: ISO 8879:1986
Acronym: SGML
GlossDef:
GlossSeeAlso: [GML, XML]
para: A meta-markup language, used to create markup languages such as DocBook.
GlossSee: markup
GlossTerm: Standard Generalized Markup Language
ID: SGML
SortAs: SGML
title: S
title: example glossary
ืืึธืก ืืื ืืืฉืืืืืขืก ืืืืืืง YAML, ืึธืืขืจ ืืึทืืืืื ื ืืืขื ืืืึธืจืขื ืขื ืืืจ ืึทื ืขืก ืืื ื ืืฉื ืึธื ืืืืื ืืื -. ื ื, ืืึธืก ืงืขื ืขื ืืืื ืืืืื ืงืขืจืขืงืืึทื ืืึทื ืืืึทืื ืึธืืขืจ ืึท ืืืกื ืืึทืืึทืคืืื ืืื ืื ืคึผืืืืึธื ืฉืจืืคื.
ืงืึทื ืืืขืจืืฉืึทื ืืืจื ืกืงืจืืคึผืก
ืืื ืืขื ืคืึทื, ืืืจ ืขืจืฉืืขืจ ืฉืจืืึทืื ืืื JSON, ืืื ืืขืืึธืื ืืืืคื ืื ืงืึทื ืืืขืจืืขืจ ืืื ืึท ืืึทืืื ืืขืจ ืคึผืืืืึธื ืฉืจืืคื, ืืืึธืก ืืจืืื YAML ืืื ืจืขืืืืืึทื. ืงืึทืืคึผืขืจื ืฆื ืื ืคืจืืขืจืืืงืข ืืืคึฟื, ืืขื ืืืคึฟื ืืืึธื ืืขืกืขืจ, ืืืืึทื ืื ืงืึทื ืืืขืจืืฉืึทื ืืื ืืึทืืื ืืขืจ ืคืื ืื ืืึทืื.
ืขืจืฉืืขืจ, ืืึธืื ืืื ืื ืฉืึทืคึฟื ืึท JSON ืืขืงืข example.json, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืงืขื ืขื ื ืขืืขื ืขืก ืคึฟืื
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
ืืขืจื ืึธื ืืืจ ืืึทืื ืึท ืคึผืฉืื ืงืึทื ืืืขืจืืขืจ ืฉืจืืคื ืืื ืจืึทืืขืืืขื ืขืก ืืื ืืขืจ ืื ื ืึธืืขื json2yaml.py. ืืขืจ ืฉืจืืคื ืืืคึผืึธืจืฅ ืืืืืข ืืึทืื ืืื ืืืฉืกืึธื ืคึผืืืืึธื ืืึทืืืฉืืื, ืืื ืืึธืืื ืึท ืืึทื ืืฆืขืจ-ืกืคึผืขืกืืคืืขื ืืืฉืกืึธื ืืขืงืข, ืคึผืขืจืคืึธืจืื ืื ืงืึทื ืืืขืจืืฉืึทื, ืืื ืฉืจืืืื ืื ืืึทืื ืฆื ืื output.yaml ืืขืงืข.
#!/usr/bin/python3
import yaml
import sys
import json
OUT=open('output.yaml','w')
IN=open(sys.argv[1], 'r')
JSON = json.load(IN)
IN.close()
yaml.dump(JSON, OUT)
OUT.close()
ืืื ืืขื ืฉืจืืคื ืืื ืื ืกืืกืืขื ืืจื ืืื ืืืืคื ืขืก ืืื ืืืจืฃ:
$ ~/bin/json2yaml.py example.json
3. ืคึผืึทืจืก ืึท ืคึผืืึทืฅ ืืื ืึธืคื
ืืื ืขืก ืืื ื ืืฆืืขื ืฆื ืงืืงื ืืื ืึท ืคึผืจืึธืืืขื ืคืื ืึท ืึทื ืืขืจืฉ ืืืื ืงื. ืืืื ืืืจ ืืึธื ืงืึธื ืคืืืงื ืจืขืคึผืจืืืขื ืืื ื ืื ืืึทืฆืืื ืืขื ืฆืืืืฉื ืืืื ืืึทืื ืืื YAML, ืืืจ ืงืขื ืขื ืืขืืคึผืขืจืขืจืึทืื ืืืขืจืืึทืื ืขืก ืืื ืขืคึผืขืก ืืขืจ ืืึทืงืึทื ื.
ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืื ืืืจ ืืขื ื ืืึทืงืืืขื ืฆื ืึทืจืืขืื ืืื ืืืขืจืืขืจืืื ืจืฉืืืืช ืึธืืขืจ JSON, ืืืจ ืงืขื ืขื ืืขืจ YAML ืฆื JSON ืืื ืืืืื ืฆืืืื ืงืึทืืึทื ืื ืืื ืื ืื ืืขืจืึทืงืืืื ืคึผืืืืึธื ืฉืึธื. ืืื ืก ืืึธืื ืืืจ ืืึธืื ืึท YAML ืืขืงืข mydata.yaml, ืืึธืก ืืื ืืื ืขืก ืืืึธืื ืงืืงื ืืื:
$ python3
>>> f=open('mydata.yaml','r')
>>> yaml.load(f)
{'document': 34843, 'date': datetime.date(2019, 5, 23), 'bill-to': {'given': 'Seth', 'family': 'Kenlon', 'address': {'street': '51b Mornington Roadn', 'city': 'Brooklyn', 'state': 'Wellington', 'postal': 6021, 'country': 'NZ'}}, 'words': 938, 'comments': 'Good article. Could be better.'}
ืืืจ ืงืขื ืขื ืืขืคึฟืื ืขื ืคืืืข ืื ืืขืจืข ืืืืฉืคืืื ืืืืฃ ืืขื ืืขืืข. ืืื ืึทืืืฉืึทื, ืขืก ืืขื ืขื ืคืืืข ืึธื ืืืื ืงืึทื ืืืขืจืืขืจื ืืื ืืืืข ืคึผืึทืจืกืขืจื ืื ืืืฆื. ืึทืืื ืืึธื ื ืื ืงืืืขื ืงืืขื ืฆื ืจืขืคืึธืจืืึทื ืื ืืึทืื ืืืขื ืืืจ ืืขื ืืืืื ืึท ืื ืืงืึทืืคึผืจืึทืืขื ืกืืืึทื ืฆืขืืืฉืื ื ืืื ืขืก.
4. ืืืืขื ืขื ืื ืกืคึผืขืงืก
ืฆืืจืืง ืฆื YAML ื ืึธื ืึท ืืึทื ื ืืจืขืื, ืขืก ืืื ื ืืฆืืง ืฆื ืืึทืืืื
5. ืคึผืกืขืืืืึธ-ืงืึธื ืคืืืก
ืืืขื ืฉืจืืืื ืึท ืืื ืึธืืขืจ ืึทืจืืืงื, ืขืก ืืื ืฉืืขื ืืืง ื ืืฆืืง ืฆื ืขืจืฉืืขืจ ืกืงืืฆืข ืืืืก ืึท ืคึผืจืืืืืึทื ืขืจื ืึทืืืืืื, ืืคึผืืืช ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืื ืืึทืื ืคืื ืืื ืืึทืื. ืืึธืก ืืื ืื ืืขืืืข ืืื YAML. ืจืืึฟ ืืกืชึผืื, ืืืจ ืืึธื ืึท ืืขืืึทื ืง ืคืื ืืืึธืก ืืึทืื ืืึทืจืฃ ืืืื ืืขืฉืจืืื ืืื ืึท YAML ืืขืงืข, ืึธืืขืจ ืืืจ ืืึธื ื ืื ืืึทืงืข ืคึฟืึทืจืฉืืืื ืืื ืฆื ืคืึทืจืืื ืื ืขืก ืืื ืืขืืขืจ ืื ืืขืจืขืจ. ืืขืจืืืขืจ, ืืืืืขืจ ืกืงืึทืืคึผืืื ื ืืื, ืฆืืขื ืึท ืคึผืกืขืืืืึธ-ืงืึธื ืคืื.
ืคึผืกืขืืืืึธ-ืงืึธื ืคืื ืืื ืขื ืืขื ืฆื ืคึผืกืขืืืืึธ-ืงืึธื, ืืื ืืืจ ืืึธื ื ืื ืืึธืื ืฆื ืืึธืจื ืืืขืื ืกืืจืืงืืืจ ืึธืืขืจ ืื ืืขื ืืืืฉืึทื, ืขืืืขืจื-ืงืื ื ืืืฆืืื ืืขื, ืืจืืฉื ืืื ื ืขืกืืื ื. ืืึธืก ืืื ืื ืืขืืืข ืืึธ: ืืืจ ืฆืืขื ืืืขืจืืืฉืึทื ื ืคืื ืื ืืึทืื ืืื ืืื ืฉืืืืขื ืืื ืืืื ืงืึธืคึผ.
ืคึผืกืขืืืืึธ-ืงืึธื ืคืื ืจืฉืืื ืคึผืจืึธืืืจืึทืืขืจื (ืืืจืืื ืืื ืืึทืืืืืึท) ืืื ืืืืขืจ ืกืงืืื (ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทืื: ืคึผืืืืึธื, ืคึผืขืจื, ืคึผืึทืกืงืึทื ืืื ืืืกืคึผ, ืคืึธืจืืจืึทื, ืขืจืืึทื ื, ืจืืกืคึผืขืงืืืืืื).
ื ืึธื ืฆืืืืขื ืื ื ืึท ืคึผืกืขืืืืึธ-ืงืึธื ืคืื ืืืืฃ ืึท ืฉืืืง ืคืื ืคึผืึทืคึผืืจ, ืงืขืจืคืึทืื ืคืื ืึทื ืืขืจืงืืืึทืื ืขืก ืืื, ืืืื ืึทืืฅ ืืื ืืื ืกืืจ, ืคึฟืึธืจืืึทื ืขืก ืืื ืื ืคืึธืจืขื ืคืื ืึท ืืืืืืง ืืึทืื ืืขืงืข.
6. ืื ืืึทืืก ืืืก ืกืคึผืืืกืึทื ืืืืขืืึท
ืืืจ ืืืขื ืืึธืื ืฆื ืกืึธืืืืข ืื ืืืืขืืึท
ืืื ืงืืื ื ืึธืจืืึทื ืืขืงืกื ืจืขืืึทืงืืึธืจ, ืืืจ ืงืขื ืขื ืงืึทื ืคืืืืขืจ ืึทืืืึธ-ืจืืืืืง ืืึทืืก ืฆื ืึท ืกืคึผืขืกืืคืืขื ื ืืืขืจ ืคืื ืกืคึผืืืกืึทื, ืึทืืื ืื ืืจืืื ืคืื ืฉืืืกื ืื ืืขื ืืขืจืก ืงืืืืื ืื ืืืจืคืกื ื ืืฉื ืืืจื ืืืื.
ืืื ืืขืืขืจ ืืึทื"ื ืืึทืกืขืจ ืืืืืกื ืืื, ืืืจ ืงืขื ืขื ื ืืฉื ืืขื ืื ืืืืืง ืฆืืืืฉื ืืึทืืก ืืื ืกืคึผืืืกืึทื ืืืืฃ ืคืึทืจืฉืืขืื. ืืื ืืืขื ืขืคึผืขืก ืืื ื ืื ืงืขื ืืืง, ืขืก ืืื ืืืืฉืึทืืืึทืื ืื ืืขืฆืืข ืืึทื ืืืึธืก ืืขื ืืฉื ืืขืืขื ืงืขื, ื ืึธื ืืื ืืึธืื ืกืึธืจืืื ืืืจื, ืึธืคึผืืขืฉืืขืื ืืื ืืืืืึทื ืืืืึทื ืึทืืข ืื ืืขืจืข ืืขืืืขื ืคึผืจืึธืืืขืืก. ื ืฉืขื ืคืื ืฆืืื ืคืืจืืจืืื ืืืื ืคึฟืึทืจ ืึท ืืึทืืืืึทืืืึธื ืืืกืืืื ืึธืืขืจ ืึท ืืืึธืง ืคืื ืกืคึผืืืกืึทื ืคืฉืื ืกืงืจืืื ืึทื ืืืจ ืืจืื ืืืขื ืืึทืจืคึฟื ืฆื ืฉืึทืคึฟื ืึท ืคึผืึธืืืืืง ืคึฟืึทืจ ืื ื ืืฆื ืคืื ืืืื ืขืจ ืึธืืขืจ ืื ืื ืืขืจืข, ืืื ืืขืืึธืื ืื ืกืืจืืืขื ื ืึท ืจืืื ืคืึธืจืกื ืืึทืืึธื ืขื ืืฉืขืง ืคึฟืึทืจ ืืขืกืงืขื ืืื ืขืก (ืืืฉื, ืืืจื ืึท ืืื ืงืจืืง ืฆื ืฆืืืื ืืขื ืขืก ืืืจื ืึท ืืื ืืขืจ).
7. ืืืืื ืืงืขืจ ืืื ืืขืจ (ืึธืืขืจ ืืขืจ ืืื ืืืืื ืืงืขืจ)
ืขืืืขืืข ืืขื ืืฉื ืืื ืฆื ืฉืจืืึทืื ืืื YAML ืืืืึทื ืขืก ืขืืคืึทืกืืืืื ืกืืจืืงืืืจ. ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืืื ืึทืงืืืืืื ื ืืฆื ืื ืืขื ืืืืฉืึทื ืฆื ืืืืืคึผืื ืงื ืืืึทืงืก ืคืื ืืึทืื. ืืึธืก ืืื ืืื ืคืื ืึท ืกืงืึทื ืฆื ื ืึธืืืึทืื ืืึทืจืงืึทืคึผ ืฉืคึผืจืึทืื ืืืึธืก ื ืืฆื ืืงืกืคึผืืืกืึทื ืืขืืืืึทืืขืจื.
ืืึธ ืืื ืึท ืืืึทืฉืคึผืื ืคืื ืึทืืึท ืกืืจืืงืืืจ ืคืื
# Employee records
- martin:
name: Martin D'vloper
job: Developer
skills:
- python
- perl
- pascal
- tabitha:
name: Tabitha Bitumen
job: Developer
skills:
- lisp
- fortran
- erlang
ืคึฟืึทืจ ืขืืืขืืข, ืื ืึธืคึผืฆืืข ืืขืืคึผืก ืืื ืฆื ืืืกืืืืื ืื ืืึทื"ื ืกืืจืืงืืืจ ืืื ืืืืขืจ ืงืขืค, ืคึฟืึทืจ ืื ืืขืจืข, ืคืึทืจืงืขืจื, ืขืก ืืจืืืืืฅ ืืื ืืื ืึท ืคึผืืึทืฅ ืคืื ืืื ืืืืืง, ืืืื ืืืืขืจ ืืืื ืื ื, ืื ืืขื ืฅ.
ืึธืืขืจ ืืืื ืืืจ ืืขื ื ืื ืืึทืืืฆืขืจ ืคืื ืื YAML ืืึธืงืืืขื ื ืืื ืืืจ ืืขื ื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืึทืืื ืขืก ืืืจ ืืื ื ืึธืจ ืืืจ ืืืื ืืขืคืื ืืจื ืืื ืฆื ื ืืฆื ืื ืืขื ืืืืฉืึทื. ืืืื ืืืจ ืืขื ื ืึทื ืืื ืืืจื ืืจืืืก ืืืึทืื, ืืึทืืื ืขืก ืฆื ืื ืืื ืืืื ืืขืืืขื ืืืื ืื YAML ืืึทืฉืจืืึทืืื ื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืื ืืืืื ืืขืงืข ืคึฟืื ืื Ansible ืืึทืงืืืืขื ืืืืฉืึทื ืงืขื ืขื ืืืื ืจืืจืืื ืืื ืืึธืก ืึธื ืงืืื ืึธื ืืืขืจ:
---
- martin:
name: Martin D'vloper
job: Developer
skills:
- python
- perl
- pascal
- tabitha:
name: Tabitha Bitumen
job: Developer
skills:
- lisp
- fortran
- erlang
8. ื ืืฆื ืืืึทื ืงืก
ืืืื ืืืจ ืงืขืกืืืืขืจ ืืืืขืจืืืจื ืื ืืขืืืข ืืืกืืืืงืก ืืืขื ืืืจ ืคึผืืึธืืืืจื ืึท YAML ืืขืงืข, ืขืก ืืืื ืืื ืขื ืฆื ืึทืจืืึทื ืืืืื ืึท ืืืกืืขืจ ืืื ืขืก ืืื ืึท ืืึทืืขืจืงืื ื. ืืขืจื ืึธื ืืืจ ืงืขื ื ื ืึธืจ ื ืึธืืืึทืื ืืขื ืืืกืืขืจ ืืื ืึทืจืืึทื ืคืึทืงืืืฉ ืืึทืื ืืึธืจื, ืืืฉื:
---
# - <common name>:
# name: Given Surname
# job: JOB
# skills:
# - LANG
- martin:
name: Martin D'vloper
job: Developer
skills:
- python
- perl
- pascal
- tabitha:
name: Tabitha Bitumen
job: Developer
skills:
- lisp
- fortran
- erlang
9. ื ืืฆื ืขืคึผืขืก ืึทื ืืขืจืฉ
ืืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื ื ืืฉื ืืึธืื ืึท ืกืืจืึทื ืืืึธืืื ืืืืฃ ืืืจ, ืขืก ืงืขื ืืืื ืืืขืจื ืืฉืึทื ืืื ื ืื YAML ืฆื ืึท ืึทื ืืขืจืฉ ืคึฟืึธืจืืึทื. ืืืืขืจ ืฆืืึทื, ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืขืก ืงืขื ืขื ืึทืืืืจืึธื ืืื ืืื ืืขืืึธืื ืขืก ืืื ืืขืกืขืจ ืฆื ืืขืจ ืืื ืืื ืคึผืฉืื ืกืงืจืืคึผืก ืืื ืืืึท ืึธืืขืจ ืคึผืืืืึธื.
YAML ืืื ืึท ืืจืืืก ืืึทื ืืืึธืก ืคืืืข ืืขื ืืฉื ืืืืข ืคึฟืึทืจ ืืืึทื ืืื ืึทืืึทืืืืึทื ืืื ืคึผืึทืฉืืขืก, ืึธืืขืจ ืขืก ืืื ืืืืึทื ืคืื ืื ืืืืื ืืขืฆืืึทื ืืื ืืืื ืึทืจืกืขื ืึทื. ืึทืืื ืืื ืืืจ ืงืขื ืขื ืึธืคึผืืึธืื ืขืก. ืคึผืึทืจืกืื ื ืืืืจืึทืจืืขืก ืืขื ืขื ืืจืื ื ืฆื ืืขืคึฟืื ืขื ืคึฟืึทืจ YAML, ืึทืืื ืืืื ืืืจ ืคืึธืจืฉืืึธืื ืืจืื ื ืืืืจืึทืืืึธื ืึธืคึผืฆืืขืก, ืืืื ืืืืขืจื ืืืขื ืืืืึทืื ืืขืื ืืขื ืืืจืืคืึทื ืืขืคืืขืจืขื ืคึผืืื ืืึทืกืื.
ืืืื ืืืจ ืงืขื ืขื ื ืืฉื ืืึธื ืึธื ืืื, ื ืขืืขื ืื 10 ืขืฆืืช ืืื ืืึทืงืืืขื ืืืื ืืืืืื ืคืื ืืื ืึทืืึธื ืืื ืคึฟืึทืจ ืึทืืข!
ืืงืืจ: www.habr.com