YAML — это язык сериализации данных, который позволяет хранить сложные данные в компактном и удобочитаемом формате. Это важно для DevOps и виртуализации, потому что важно для создания эффективных систем управления данными и автоматизации.
Хотя разработчики часто упускают из виду этот мощный и простой инструмент, который может значительно улучшить ваши перспективы трудоустройства с помощью всего лишь пары часов обучения.
Сегодня мы поможем вам быстро изучить YAML с помощью практического руководства и узнаем, как вы можете использовать его в своем следующем решении на основе данных.
Вот что мы рассмотрим сегодня:
- Что такое YAML?
- Основные особенности YAML
- Синтаксис YAML
- Дополнительные концепции для изучения далее
- Добавьте сертификат YAML в свое резюме
- Что такое YAML?
- YAML vs JSON vs XML
- Основные особенности YAML
- Поддержка нескольких документов
- Встроенный комментирование
- Читаемый синтаксис
- Неявная и явная типизация
- Нет исполняемых команд
- Продолжайте обучение.
- Синтаксис YAML
- Пары ключ-значение
- Скаляры и отображение
- String
- Последовательность
- Словари
- Дополнительные концепции для изучения дальше
- Продолжить чтение о DevOps и управлении данными
Добавьте сертификат YAML в свое резюме
Получите практический опыт и менее чем за час получите официальный сертификат YAML, который вы можете добавить в свое резюме, профиль LinkedIn или свой личный веб-сайт. .
Введение в YAML
Что такое YAML?
YAML — это язык сериализации данных для хранения информации в удобочитаемой форме. Первоначально он обозначался как «Еще один язык разметки» , но с тех пор был изменен на «YAML Ain’t Markup Language» , чтобы отличать себя от истинного язык разметки.
Он похож на файлы XML и JSON, но использует более минималистский синтаксис даже при сохранении аналогичных возможностей. YAML обычно используется для создания файлов конфигурации в программах «Инфраструктура как код» (IoC) или для управления контейнерами в конвейере разработки DevOps.
В последнее время YAML использовался для создания протоколов автоматизации, которые могут выполнять серия команд, перечисленных в файле YAML. Это означает, что ваши системы могут быть более независимыми и отзывчивыми без дополнительного внимания разработчика.
Поскольку все больше и больше компаний используют DevOps и виртуализацию, YAML быстро становится обязательным навыком для современных разработчиков. YAML также легко интегрировать с существующими технологиями благодаря поддержке популярных технологий, таких как Python с использованием библиотеки PyYAML, Docker или Ansible.
YAML vs JSON vs XML
YAML (.yml):
- Удобочитаемый код
- Минималистский синтаксис
- Разработан исключительно для данных
- Подобный встроенный стиль для JSON (является расширенным набором JSON)
- Разрешает комментарии
- Строки без кавычек.
- Считается «чистым» JSON.
- Расширенные функции (расширяемые типы данных, реляционные привязки и типы сопоставления, сохраняющие порядок ключей)
Пример использования : YAML лучше всего подходит для приложений с большим объемом данных, использующих конвейеры DevOps или виртуальные машины.. Это также полезно в тех случаях, когда другие разработчики в вашей команде будут часто работать с этими данными и, следовательно, нуждаются в их более удобном чтении.
- Сложнее для чтения
- Явные строгие требования к синтаксису
- Подобный встроенный стиль для YAML (некоторые синтаксические анализаторы YAML могут читать файлы JSON)
- Без комментариев
- Для строк требуются двойные кавычки.
Пример использования : JSON предпочитается в веб-разработке, так как он лучше всего подходит для форматов сериализации. и передача данных по HTTP-соединениям.
XML
- Сложнее читать
- Более подробный
- Действует как язык разметки, в то время как YAML предназначен для форматирование данных
- Содержит больше функций, чем YAML, например атрибуты тегов.
- Более жестко определенная схема документа
Вариант использования: XML лучше всего подходит для сложных проектов, требующих точного контроля над проверкой, схемой и пространством имен. XML не читается человеком и требует большей пропускной способности и емкости хранилища, но предлагает беспрецедентный контроль.
Нравится статья? Прокрутите вниз, чтобы подписаться на нашу бесплатную, двухстороннюю -месячный информационный бюллетень.
Основные особенности YAML
Вот некоторые из лучших возможностей YAML.
Поддержка нескольких документов
Вы можете иметь несколько документов YAML в одном файле YAML, чтобы сделать упростить организацию файлов или анализ данных.
Разделение каждого документа отмечено тремя дефисами ( ---
)
--- player: playerOneaction: attack (промах) --- player: playerTwoaction: attack (hit) ---
Встроенный комментирование
YAML позволяет добавлять комментарии к файлам с помощью символа решетки ( #
) аналогично Python комментарии.
key: # Вот однострочный комментарий - строка значения 5 # Вот # многострочный комментарий - строка значения 13
Читаемый синтаксис
Файлы YAML используют систему отступов, аналогичную Python, для отображения структуры вашей программы. Вам необходимо использовать пробелы для создания отступов, а не табуляции, чтобы избежать путаницы.
Это также устраняет большую часть «шума» форматирования, обнаруживаемого в файлах JSON и XML, таких как кавычки, скобки и фигурные скобки.
Вместе эти спецификации форматирования повышают удобочитаемость файлов YAML помимо XML и JSON.
Имаро: автор: Чарльз Р.. Язык Сондерса: английский год публикации: 1981 страниц: 224
{"Имаро": {"автор": "Чарльз Р. Сондерс", "язык": "английский", "год публикации": "1981", "страницы": 224,} }
Обратите внимание, что передается та же информация; однако удаление двойных кавычек, запятых и скобок во всем файле YAML значительно упрощает чтение с первого взгляда.
Неявная и явная типизация
YAML обеспечивает универсальность набора текста за счет автоматического определения типов данных, а также поддерживает явные параметры ввода. Чтобы пометить данные как определенный тип, просто включите !! [typeName]
перед значением.
# Значение должно быть int: is-an-int: !! int 14.10 # Превратите любое значение в строку: is-a-str: !! str 67.43 # Следующее значение должно быть логическим: is-a-bool: !! bool yes
Нет исполняемых команд
В качестве формата представления данных YAML не содержит исполняемых файлов. Поэтому очень безопасно обмениваться файлами YAML с внешними сторонами.
YAML должен быть интегрирован с другими языками, такими как Perl или Java, для добавления исполняемых файлов.
Продолжайте обучение.
Получите сертификат YAML менее чем за час. Практические курсы Educative позволят вам получить необходимые навыки и сертификаты, чтобы выделиться среди лучших рекрутеров.
Введение в YAML
Синтаксис YAML
В YAML есть несколько основных концепций, которые составляют большую часть данных.
Пары ключ-значение
В общем, большинство вещей в файле YAML представляют собой форму пары «ключ-значение», где ключ представляет имя пары, а значение представляет данные, связанные с этим именем. Пары ключ-значение являются основой для всех других конструкций YAML.
:
Скаляры и отображение
Скаляры представляют собой одно сохраненное значение. Скаляры назначаются именам клавиш с помощью сопоставления. Вы определяете сопоставление с именем, двоеточием и пробелом, а затем значением, которое оно должно содержать.
YAML поддерживает общие типы, такие как целые числа и числовые значения с плавающей запятой, а также нечисловые типы Логическое и строковое.
Каждый может быть представлен по-разному, например, в шестнадцатеричном, восьмеричном или экспоненциальном виде.. Существуют также специальные типы для математических понятий, таких как бесконечность, -бесконечность и не число ( NAN
)
integer: 25hex: 0x12d4 # оценивается как 4820octal: 023332 # оценивается как 9946float: 25.0exponent: 12.3015e + 05 # оценивается как 1230150.0boolean: Yesstring: "25" infinity: .inf # оценивается как бесконечностьneginf: -.Inf # оценивается в отрицательную бесконечностьnot: .NAN #Not Число
String
Строки — это набор символов, представляющих предложение или фразу. Вы либо используете |
, чтобы печатать каждую строку как новую строку, либо >
, чтобы печатать ее как абзац.
Строки в YAML не обязательно заключать в двойные кавычки.
str: Hello Worlddata: | Эти новые строки являются прерванными обновлениями:> Этот текст обернут и представляет собой один абзац
Последовательность
Последовательности — это структуры данных, похожие на список или массив, содержащий несколько значений под одним и тем же ключом. Они определены с использованием блочного или встроенного стиля обтекания.
Блочный стиль использует пробелы для структурирования документа. Его легче читать, но он менее компактен по сравнению со стилем потока.
--- # Последовательность покупок в списке стилей блоков: - молоко - яйца - сок
Стиль потока позволяет записывать последовательности в строке с использованием квадратных скобок, аналогично объявлению массива в таких языках программирования, как Python или JavaScript. Стиль потока более компактен, но его труднее читать с первого взгляда.
--- # Последовательность списка покупок в Flow Styleshopping: [молоко, яйца, сок]
Словари
Словари — это коллекции пар «ключ-значение», все вложенные в одну и ту же подгруппу. Они помогают разделить данные на логические категории для последующего использования.
Словари определяются как сопоставления: вы вводите имя словаря, двоеточие и пробел, за которыми следует 1 или несколько клавиш с отступом — пары значений.
# Запись о сотруднике Сотрудники: - dan: name: Дэн Д. Велопер. Работа: Команда разработчиков: DevOps-dora: имя: Дора Д. Велопер. Должность: Менеджер проекта. team: веб-подписки
Словари также могут содержать более сложные структуры, например последовательности. Вложенные последовательности — хороший прием для представления сложных реляционных данных.
Дополнительные концепции для изучения дальше
Поздравляем, вы сделали первый шаг к изучению YAML. Несмотря на то, что YAML часто упускается из виду, это простой и эффективный инструмент, который можно использовать в своем наборе инструментов DevOps.
Следующие дополнительные темы, на которые стоит обратить внимание:
- Якоря
- Шаблоны
- YAML с внешними инструментами (Docker, Ansible и т. д.)
- Расширенные типы последовательностей/сопоставлений
- Расширенные типы данных (временная метка, null и т. Д.. )
Чтобы помочь вам быстро освоить YAML, компания Educative создала курс Введение в YAML . Этот мини-курс подробно охватывает весь синтаксис YAML, от простых сопоставлений до продвинутых методов привязки.
Менее чем через час вы овладеете всеми основными навыками YAML и получите сертификат YAML для ваше резюме DevOps.
Удачного обучения!
Продолжить чтение о DevOps и управлении данными
- Когда использовать развертывания, модули и службы Kubernetes.
- Что такое запрос к базе данных? Объяснение запросов SQL и NoSQL
- Руководство по проектированию баз данных