YAML Zen เจฒเจˆ 10 เจ•เจฆเจฎ

เจ…เจธเฉ€เจ‚ เจธเจพเจฐเฉ‡ เจœเจตเจพเจฌเจฆเฉ‡เจน เจจเฉ‚เฉฐ เจชเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจชเจฐ เจœเจตเจพเจฌเฉ€ YAML เจนเฉˆ. เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจฒเจˆ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸ เจนเจจ: เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจธเฉ‚เจšเฉ€เจ†เจ‚, เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ-เจฎเฉเฉฑเจฒ เจœเฉ‹เฉœเฉ‡, INI เจซเจพเจˆเจฒเจพเจ‚, YAML, JSON, XML เจ…เจคเฉ‡ เจ•เจˆ เจนเฉ‹เจฐเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจนเจจเจพเจ‚ เจธเจพเจฐเจฟเจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เจˆ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡, YAML เจจเฉ‚เฉฐ เจ…เจ•เจธเจฐ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉเจธเจผเจ•เจฒ เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจฒเฉœเฉ€เจตเจพเจฐ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ‡เจธเจฆเฉ€ เจคเจพเจœเจผเจ—เฉ€ เจญเจฐเจชเฉ‚เจฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸเจคเจพ เจ…เจคเฉ‡ เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, YAML เจธเฉฐเจŸเฉˆเจ•เจธ เจ‡เฉฐเจกเฉˆเจ‚เจŸเฉ‡เจธเจผเจจ เจฒเจˆ เจ‡เจธเจฆเฉ‡ เจชเจพเจˆเจฅเจจ-เจตเจฐเจ—เฉ‡ เจชเจนเฉเฉฐเจš เจจเจพเจฒ เจคเฉฐเจ— เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค

YAML Zen เจฒเจˆ 10 เจ•เจฆเจฎ

เจœเฉ‡ YAML เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจฐเฉ‡เจธเจผเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹-เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ! - เจ†เจชเจฃเฉ€ เจจเจฟเจฐเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐเจฏเฉ‹เจ— เจชเฉฑเจงเจฐ เจคเฉฑเจ• เจ˜เจŸเจพเจ‰เจฃ เจ…เจคเฉ‡ YAML เจจเจพเจฒ เจชเจฟเจ†เจฐ เจ•เจฐเจจ เจฒเจˆ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ 10 เจ•เจฆเจฎ เจšเฉเฉฑเจ•เฉ‹เฅค เจ‡เจธ เจธเฉ‚เจšเฉ€ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉ‹เจฃ เจฆเฉ‡ เจจเจพเจคเฉ‡, เจธเจพเจกเฉ‡ เจฆเจธ เจธเฉเจเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจ—เจฟเจฃเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ, เจ…เจธเฉ€เจ‚ เจฎเจฐเจœเจผเฉ€ เจจเจพเจฒ เจงเจฟเจ†เจจ เจ…เจคเฉ‡ เจ…เจงเจฟเจ†เจคเจฎเจฟเจ• เจ…เจญเจฟเจ†เจธเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจพเจ‚เจ—เฉ‡ ๐Ÿ˜‰

0. เจ†เจชเจฃเฉ‡ เจธเฉฐเจชเจพเจฆเจ• เจจเฉ‚เฉฐ เจ•เฉฐเจฎ เจฆเจฟเจ“

เจ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจซเจฐเจ• เจจเจนเฉ€เจ‚ เจชเฉˆเจ‚เจฆเจพ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เจฟเจนเฉœเจพ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจนเฉˆ, เจธเจผเจพเจ‡เจฆ YAML เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจ‡เฉฑเจ• เจชเจฒเฉฑเจ—เจ‡เจจ เจนเฉˆ. เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจฒเฉฑเจญเฉ‹ เจ…เจคเฉ‡ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹เฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ YAML เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจนเจฐ เจตเจพเจฐ เจ–เฉ‹เจœ เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฌเจฟเจคเจพเจ‡เจ† เจ—เจฟเจ† เจธเจฎเจพเจ‚ เจ•เจˆ เจตเจพเจฐ เจญเฉเจ—เจคเจพเจจ เจ•เจฐเฉ‡เจ—เจพเฅค

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเฉฐเจชเจพเจฆเจ• เจเจŸเจฎ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš YAML เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ GNU Emacs เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจพเจงเฉ‚ เจชเฉˆเจ•เฉ‡เจœ เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจเฉ‡ เจชเฉˆเจฃเจ—เฉ‡, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, yaml-เจฎเฉ‹เจก.

YAML Zen เจฒเจˆ 10 เจ•เจฆเจฎ

YAML เจฎเฉ‹เจก เจ…เจคเฉ‡ เจกเจฟเจธเจชเจฒเฉ‡ เจธเจชเฉ‡เจธ เจตเจฟเฉฑเจš Emacsเฅค

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจฎเจจเจชเจธเฉฐเจฆ เจธเฉฐเจชเจพเจฆเจ• เจ•เฉ‹เจฒ YAML เจฎเฉ‹เจก เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจ•เฉ‡ เจ•เฉเจ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฎเจฟเจ†เจฐเฉ€ เจ—เจจเฉ‹เจฎ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ Gedit เจ•เฉ‹เจฒ YAML เจฎเฉ‹เจก เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจน YAML เจธเฉฐเจŸเฉˆเจ•เจธ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฐเจกเฉˆเจ‚เจŸเฉ‡เจธเจผเจจเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ:

YAML Zen เจฒเจˆ 10 เจ•เจฆเจฎ

เจœเฉ€เจเจกเจฟเจŸ เจตเจฟเฉฑเจš เจ‡เฉฐเจกเฉˆเจ‚เจŸ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพเฅค

เจ‡เฉฑเจ• เจชเจฒเฉฑเจ—เจ‡เจจ เจกเจฐเจพเจ… เจธเจชเฉ‡เจธ เจœเฉ€เจเจกเจฟเจŸ เจฒเจˆ, เจธเจชเฉ‡เจธ เจจเฉ‚เฉฐ เจฌเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เฉฐเจกเฉˆเจ‚เจŸเฉ‡เจธเจผเจจ เจชเฉฑเจงเจฐเจพเจ‚ เจจเจพเจฒ เจ…เจธเจชเจธเจผเจŸเจคเจพ เจจเฉ‚เฉฐ เจฆเฉ‚เจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจ†เจชเจฃเฉ‡ เจฎเจจเจชเจธเฉฐเจฆ เจธเฉฐเจชเจพเจฆเจ• เจฌเจพเจฐเฉ‡ เจธเจฟเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ“เฅค เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ“ เจ•เจฟ เจ‰เจธเจจเฉ‚เฉฐ เจœเจพเจ‚ เจ‰เจธเจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจญเจพเจˆเจšเจพเจฐเฉ‡ เจจเฉ‚เฉฐ YAML เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ•เฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธ เจฆเจพ เจชเจ›เจคเจพเจตเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

1. เจฒเจฟเฉฐเจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹

เจ†เจฆเจฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจชเฉเจฐเฉ‹เจ—เฉเจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจฎเจพเจฐเจ•เจ…เฉฑเจช เจญเจพเจธเจผเจพเจตเจพเจ‚ เจชเฉ‚เจฐเจต เจ…เจจเฉเจฎเจพเจจเจฏเฉ‹เจ— เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจญเจตเจฟเฉฑเจ–เจฌเจพเจฃเฉ€ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจšเฉฐเจ—เฉ‡ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจœเจฟเจธ เจ•เจพเจฐเจจ เจ‡เจน เจธเฉฐเจ•เจฒเจช เจนเฉˆ lintera. เจœเฉ‡ เจ‡เจธเจฆเฉ€ เจนเฉ‹เจ‚เจฆ เจฆเฉ‡ 40 เจธเจพเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจน เจคเฉเจนเจพเจกเฉ‡ เจฆเฉเจ†เจฐเจพ เจฒเฉฐเจ˜ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ…เจœเฉ‡ เจตเฉ€ YAML เจฒเจฟเฉฐเจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน yamllint เจจเฉ‚เฉฐ เจ…เจœเจผเจฎเจพเจ‰เจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉˆเฅค

เจ‡เฉฐเจธเจŸเจพเจฒ เจ•เจฐเจจ เจฒเจˆ yamllint เจคเฉเจธเฉ€เจ‚ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเฉ€เจจเจ•เจธ เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจตเจฟเฉฑเจš Red Hat Enterprise Linux 8 เจœเจพเจ‚ เจซเฉ‡เจกเฉ‹เจฐเจพ เจ‡เจน เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ:

$ sudo dnf install yamllint

เจซเจฟเจฐ เจคเฉเจธเฉ€เจ‚ เจฌเจธ 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 เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฆเฉ€, เจคเจพเจ‚ เจธเจ•เฉเจฐเฉ€เจจ เจคเฉ‡ เจ•เฉเจ เจตเฉ€ เจชเฉเจฐเจฟเฉฐเจŸ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค เจœเฉ‡เจ•เจฐ เจ…เจœเจฟเจนเฉ€ เจšเฉเฉฑเจช เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเจฐเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจซเฉ€เจกเจฌเฉˆเจ• เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ เจˆเจ•เฉ‹ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจกเจฌเจฒ เจเจ‚เจชเจฐเจธเฉˆเจ‚เจก (&&) เจฐเจพเจนเฉ€เจ‚ เจฒเจฟเฉฐเจŸเจฐ เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚:

$ yamllint perfect.yaml && echo "OK"
OK

POSIX เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจกเจฌเจฒ เจเจ‚เจชเจฐเจธเฉˆเจ‚เจก เจซเจพเจ‡เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ…เจคเฉ‡ เจ•เฉ‡เจตเจฒ เจคเจพเจ‚ เจนเฉ€ เจœเฉ‡เจ•เจฐ เจชเจฟเจ›เจฒเฉ€ เจ•เจฎเจพเจ‚เจก 0 เจตเจพเจชเจธ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจ…เจคเฉ‡ yamllint เจธเจฟเจฐเจซเจผ เจฒเฉฑเจญเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจตเจพเจชเจธ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธ เจ•เจฐเจ•เฉ‡ เจ‡เจน เจชเฉ‚เจฐเฉ€ เจ•เฉฐเจกเฉ€เจธเจผเจจเจฒ เจ•เฉฐเจธเจŸเจฐเฉฑเจ•เจŸ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

2. เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‹, YAML เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚

เจœเฉ‡ YAML เจธเฉฑเจšเจฎเฉเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจฐเฉ‡เจธเจผเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธ เจตเจฟเฉฑเจš เจจเจพ เจฒเจฟเจ–เฉ‹, เจธเจผเจพเจฌเจฆเจฟเจ• เจคเฉŒเจฐ 'เจคเฉ‡เฅค เจ…เจœเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ YAML เจ‡เฉฑเจ•เฉ‹ เจ‡เฉฑเจ• เจซเจพเจฐเจฎเฉˆเจŸ เจนเฉˆ เจœเฉ‹ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจธเจฎเจเจฆเจพ เจนเฉˆเฅค เจชเจฐ เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจตเฉ€, เจ‡เฉฑเจ• YAML เจซเจพเจˆเจฒ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ. เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจชเจธเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจ‰เจธ 'เจคเฉ‡ เจฒเจฟเจ–เฉ‹ เจ…เจคเฉ‡ เจซเจฟเจฐ เจฌเจฆเจฒเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจชเจพเจˆเจฅเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจนเฉˆ pyyaml เจ…เจคเฉ‡ เจฆเฉ‹ เจชเจฐเจฟเจตเจฐเจคเจจ เจตเจฟเจงเฉ€เจ†เจ‚: เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจธเจตเฉˆ-เจคเจฌเจฆเฉ€เจฒเฉ€ เจ…เจคเฉ‡ เจชเจฐเจฟเจตเจฐเจคเจจเฅค

เจธเจตเฉˆ-เจชเจฐเจฟเจตเจฐเจคเจจ

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจกเฉ‡เจŸเจพ เจซเจพเจˆเจฒ เจ‡เฉฑเจ• เจชเจพเจˆเจฅเจจ เจธเจ•เฉเจฐเจฟเจชเจŸ เจตเฉ€ เจนเฉˆ เจœเฉ‹ 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 เจนเฉˆ, เจชเจฐ yamllint เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเฉ‡เจคเจพเจตเจจเฉ€ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจ•เจฟ เจ‡เจน - เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค เจ–เฉˆเจฐ, เจ‡เจธ เจจเฉ‚เฉฐ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจนเฉฑเจฅเฉ€เจ‚ เจ เฉ€เจ• เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจชเจพเจˆเจฅเจจ เจธเจ•เฉเจฐเจฟเจชเจŸ เจตเจฟเฉฑเจš เจฅเฉ‹เฉœเฉเจนเจพ เจœเจฟเจนเจพ เจธเฉ‹เจงเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเจฐเจฟเจตเจฐเจคเจจ

เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ JSON เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ•เจจเจตเจฐเจŸเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจชเจพเจˆเจฅเจจ เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจœเฉ‹ YAML เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเฉˆเจฆเจพ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจชเจฟเจ›เจฒเฉ€ เจตเจฟเจงเฉ€ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡, เจ‡เจน เจตเจฟเจงเฉ€ เจฌเจฟเจนเจคเจฐ เจธเจ•เฉ‡เจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเจฐเจฟเจตเจฐเจคเจจ เจกเฉ‡เจŸเจพ เจคเฉ‹เจ‚ เจตเฉฑเจ– เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจ‡เฉฑเจ• JSON เจซเจพเจˆเจฒ example.json เจฌเจฃเจพเจˆเจ, เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เจธ เจคเฉ‹เจ‚ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเฉ‹ json.org:

{
	"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 เจจเจพเจฎ เจนเฉ‡เจ  เจธเฉ‡เจต เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ‡เจน เจธเจ•เฉเจฐเจฟเจชเจŸ YAML เจ…เจคเฉ‡ JSON Python เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฆเฉ‹เจตเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจฏเจพเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจงเจพเจฐเจค JSON เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฒเฉ‹เจก เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจฐเฉ‚เจชเจพเจ‚เจคเจฐเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจกเจพเจŸเจพ เจจเฉ‚เฉฐ 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 'เจคเฉ‡ เจตเจพเจชเจธ เจ†เจ‰เจฃเจพ, เจ‡เจน เจฆเฉŒเจฐเจพ เจ•เจฐเจจเจพ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉˆ yaml.org เจ…เจคเฉ‡ เจธเจชเฉˆเจธเฉ€เจซเจฟเจ•เฉ‡เจธเจผเจจ (เจธเจชเฉˆเจ•เจธ) เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจชเฉœเฉเจนเฉ‹เฅค เจœเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ YAML เจจเจพเจฒ เจฎเฉเจธเจผเจ•เจฒเจพเจ‚ เจนเจจ, เจชเจฐ เจจเจฟเจฐเจงเจพเจฐเจจ เจคเฉฑเจ• เจจเจนเฉ€เจ‚ เจชเจนเฉเฉฐเจšเจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจ† เจ—เจฟเจ† เจนเฉˆเฅค เจšเจธเจผเจฎเจพ เจฒเจฟเจ–เจฃ เจฒเจˆ เจนเฉˆเจฐเจพเจจเฉ€เจœเจจเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ†เจธเจพเจจ เจนเจจ, เจ…เจคเฉ‡ เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ€เจ†เจ‚ เจœเจผเจฐเฉ‚เจฐเจคเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจจเจพเจฒ เจฆเจฐเจธเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ เจ—เจฒเจพเจต 6.

5. เจธเฉ‚เจกเฉ‹-เจธเฉฐเจฐเจšเจจเจพ

เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจ•เจฟเจคเจพเจฌ เจœเจพเจ‚ เจฒเฉ‡เจ– เจฒเจฟเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ€ เจธเจพเจฐเจฃเฉ€ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจฐเฉ‚เจชเจฐเฉ‡เจ–เจพ เจคเจฟเจ†เจฐ เจ•เจฐเจจเจพ เจนเจฎเฉ‡เจธเจผเจพ เจฒเจพเจญเจฆเจพเจ‡เจ• เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน YAML เจจเจพเจฒ เจตเฉ€ เจ…เจœเจฟเจนเจพ เจนเฉ€ เจนเฉˆเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ, เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจตเจฟเจšเจพเจฐ เจนเฉˆ เจ•เจฟ YAML เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เจฟเจนเฉœเฉ‡ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ, เจชเจฐ เจคเฉเจธเฉ€เจ‚ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจน เจจเจนเฉ€เจ‚ เจธเจฎเจเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฆเฉ‚เจœเฉ‡ เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจœเฉ‹เฉœเจจเจพ เจนเฉˆ. เจ‡เจธ เจฒเจˆ, YAML เจจเฉ‚เฉฐ เจฎเฉ‚เจฐเจคเฉ€ เจฌเจฃเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ‡เฉฑเจ• เจธเฉ‚เจกเฉ‹-เจธเฉฐเจฐเจšเจจเจพ เจฌเจฃเจพเจ“เฅค

เจธเฉ‚เจกเฉ‹-เจธเฉฐเจฐเจšเจจเจพ เจธเฉ‚เจกเฉ‹-เจ•เฉ‹เจก เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆ, เจœเจฟเฉฑเจฅเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจขเจพเจ‚เจšเฉ‡ เจœเจพเจ‚ เจ‡เฉฐเจกเฉˆเจ‚เจŸเฉ‡เจธเจผเจจ, เจฎเจพเจคเจพ-เจชเจฟเจคเจพ-เจฌเฉฑเจšเฉ‡ เจฆเฉ‡ เจธเจฌเฉฐเจงเจพเจ‚, เจตเจฟเจฐเจพเจธเจค เจ…เจคเฉ‡ เจ†เจฒเฉเจนเจฃเฉ‡ เจฌเจพเจฐเฉ‡ เจšเจฟเฉฐเจคเจพ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจฅเฉ‡ เจตเฉ€ เจ‰เจนเฉ€ เจนเฉˆ: เจคเฉเจธเฉ€เจ‚ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจฆเฉเจนเจฐเจพเจ“ เจ–เจฟเฉฑเจšเจฆเฉ‡ เจนเฉ‹ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจน เจคเฉเจนเจพเจกเฉ‡ เจธเจฟเจฐ เจตเจฟเฉฑเจš เจชเฉˆเจฆเจพ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค

YAML Zen เจฒเจˆ 10 เจ•เจฆเจฎ

เจธเฉ‚เจกเฉ‹-เจธเฉฐเจฐเจšเจจเจพ เจธเฉ‚เจšเฉ€เจ•เจฐเจจ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ (เจฎเจพเจฐเจŸเจฟเจจ เจ…เจคเฉ‡ เจŸเฉˆเจฌเจฟเจฅเจพ) เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจนเฉเจจเจฐ (เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚: เจชเจพเจˆเจฅเจจ, เจชเจฐเจฒ, เจชเจพเจธเจ•เจฒ เจ…เจคเฉ‡ เจฒเจฟเจธเจช, เจซเฉ‹เจฐเจŸเจฐเจจ, เจ…เจฐเจฒเจพเจ‚เจ—, เจ•เฉเจฐเจฎเจตเจพเจฐ)เฅค

เจ•เจพเจ—เจœเจผ เจฆเฉ‡ เจŸเฉเจ•เฉœเฉ‡ 'เจคเฉ‡ เจธเฉ‚เจกเฉ‹-เจธเฉฐเจฐเจšเจจเจพ เจฌเจฃเจพเจ‰เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจงเจฟเจ†เจจ เจจเจพเจฒ เจ‡เจธเจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเฉ‹ เจ…เจคเฉ‡, เจœเฉ‡ เจธเจญ เจ•เฉเจ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจนเฉˆ, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเฉˆเจง YAML เจซเจพเจˆเจฒ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจซเจพเจฐเจฎเฉˆเจŸ เจ•เจฐเฉ‹เฅค

6. เจŸเฉˆเจฌเจธ เจฌเจจเจพเจฎ เจธเจชเฉ‡เจธ เจฆเฉเจฌเจฟเจงเจพ

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉเจฌเจฟเจงเจพ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพ "เจŸเฉˆเจฌเจพเจ‚ เจœเจพเจ‚ เจธเจชเฉ‡เจธ?". เจ‡เฉฑเจ• เจ—เจฒเฉ‹เจฌเจฒ เจ…เจฐเจฅ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚, เจชเจฐ เจธเจฟเจฐเจซ เจคเฉเจนเจพเจกเฉ€ เจธเฉฐเจธเจฅเจพ เจฆเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡, เจœเจพเจ‚ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจ‡เฉฑเจ• เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ. เจ‡เจน เจฎเจพเจ‡เจจเฉ‡ เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฆเจพ เจ•เจฟ เจ‡เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉˆเจก เจธเจ•เฉเจฐเจฟเจชเจŸ เจจเจพเจฒ เจชเฉ‹เจธเจŸ-เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ, เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจฎเจธเจผเฉ€เจจเจพเจ‚ 'เจคเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ, เจœเจพเจ‚ เจฌเจฐเจ–เจพเจธเจคเจ—เฉ€ เจฆเฉ‡ เจ–เจผเจคเจฐเฉ‡ เจตเจฟเฉฑเจš เจฒเจฟเฉฐเจŸเจฐ เจฆเฉ€เจ†เจ‚ เจนเจฆเจพเจ‡เจคเจพเจ‚ เจฆเฉ€ เจธเจ–เจคเฉ€ เจจเจพเจฒ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจตเจฟเจ†เจชเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจฐเจธเฉ€เจฆเจพเจ‚ เจฒเฉˆเจฃเจพ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจชเจฐ เจคเฉเจนเจพเจกเฉ€ เจŸเฉ€เจฎ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจฎเฉˆเจ‚เจฌเจฐ เจœเฉ‹ YAML เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจœเจพเจ‚ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจธเจฟเจฐเจซเจผ เจ–เจพเจฒเฉ€ เจฅเจพเจ‚เจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ YAML เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉเจ†เจฐเจพ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจนเฉˆ)เฅค

เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจงเจพเจฐเจฃ เจŸเฉˆเจ•เจธเจŸ เจเจกเฉ€เจŸเจฐ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจธเจตเฉˆ-เจธเจนเฉ€ เจŸเฉˆเจฌเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจฟเจฐเจงเจพเจฐเจค เจธเฉฐเจ–เจฟเจ† เจตเจฟเฉฑเจš เจธเจชเฉ‡เจธ เจฒเจˆ เจธเฉฐเจฐเจšเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‡เจธเจฒเจˆ เจฎเฉเฉฑเจ– เจ…เจจเฉเจฏเจพเจˆเจ†เจ‚ เจฆเฉ€ เจฌเจ—เจพเจตเจค เจŸเฉˆเจฌ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจนเจฐ YAML เจจเจซเจผเจฐเจค เจ•เจฐเจจ เจตเจพเจฒเจพ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจœเจพเจฃเจฆเจพ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจธเจ•เฉเจฐเฉ€เจจ 'เจคเฉ‡ เจŸเฉˆเจฌเจพเจ‚ เจ…เจคเฉ‡ เจธเจชเฉ‡เจธ เจตเจฟเจšเจ•เจพเจฐ เจ…เฉฐเจคเจฐ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ…เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจšเฉ€เจœเจผ เจฆเจฟเจ–เจพเจˆ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ, เจ‡เจน เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ†เจ–เจฐเฉ€ เจšเฉ€เจœเจผ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจฒเฉ‹เจ• เจฏเจพเจฆ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจ, เจœเจฆเฉ‹เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจนเฉ‹เจฐ เจธเจพเจฐเฉ€เจ†เจ‚ เจธเฉฐเจญเจพเจตเจฟเจค เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ, เจœเจพเจ‚เจšเจฟเจ† เจ…เจคเฉ‡ เจ–เจคเจฎ เจ•เฉ€เจคเจพ. เจ‡เฉฑเจ• เจŸเฉ‡เจฌเจฒเฉ‡เจธเจผเจจ เจ•เจฐเจต เจœเจพเจ‚ เจธเจชเฉ‡เจธ เจฆเฉ‡ เจ‡เฉฑเจ• เจฌเจฒเจพเจ• เจฆเฉ€ เจ–เฉ‹เจœ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฌเจฟเจคเจพเจ‡เจ† เจ—เจฟเจ† เจธเจฎเจพเจ‚ เจธเจฟเจฐเจซเจผ เจšเฉ€เจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจ‡เฉฑเจ• เจœเจพเจ‚ เจฆเฉ‚เจœเฉ‡ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจ‡เฉฑเจ• เจจเฉ€เจคเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เจธเจฆเฉ€ เจชเจพเจฒเจฃเจพ เจฒเจˆ เจ‡เฉฑเจ• เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹โ€‹โ€‹เจ•เฉฐเจ•เจฐเฉ€เจŸ เจœเจพเจ‚เจš เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจฒเจฟเฉฐเจŸเจฐ เจฆเฉเจ†เจฐเจพ เจ‡เจธเจจเฉ‚เฉฐ เจฎเจœเจฌเฉ‚เจฐ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจ—เจฟเฉฑเจŸ เจนเฉเฉฑเจ•)เฅค

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 เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉ‡ เจฎเจพเจฒเจ• เจนเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจธเจพเจ‚เจญ-เจธเฉฐเจญเจพเจฒ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ…เจคเฉ‡ เจธเจฟเจฐเจซเจผ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฐเจกเฉˆเจ‚เจŸเฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเฉ€ เจนเฉˆ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจตเฉฑเจกเฉ‡ เจชเฉˆเจกเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจจเจพเจฐเจพเจœเจผ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ YAML เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡ เจฐเฉฑเจ–เฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเจตเจพเจฌเจฆเฉ‡เจน เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจคเฉ‹เจ‚ เจ‰เจชเจฐเฉ‹เจ•เจค เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจจเฉเจ•เจธเจพเจจ เจฆเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจฒเจฟเจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

---
- 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 เจฒเจˆ เจชเจพเจฐเจธเจฟเฉฐเจ— เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเฉฑเจญเจฃเจพ เจ†เจธเจพเจจ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ†เจธเจพเจจ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจตเจฟเจ•เจฒเจช เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจนเจพเจกเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เจธ เจ…เจธเจซเจฒเจคเจพ เจจเฉ‚เฉฐ เจฎเฉเจ•เจพเจฌเจฒเจคเจจ เจฆเจฐเจฆ เจฐเจนเจฟเจค เจฌเจšเจฃเจ—เฉ‡เฅค

เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ YAML เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡, เจคเจพเจ‚ เจ‡เจน 10 เจธเฉเจเจพเจ… เจฒเจ“ เจ…เจคเฉ‡ YAML เจฆเฉ€ เจ†เจชเจฃเฉ€ เจจเจพเจชเจธเฉฐเจฆ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจ…เจคเฉ‡ เจนเจฎเฉ‡เจธเจผเจพ เจฒเจˆ เจฆเฉ‚เจฐ เจ•เจฐเฉ‹!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹