Учебник по YAML: начните работу с YAML за 5 минут

YAML — это язык сериализации данных, который позволяет хранить сложные данные в компактном и удобочитаемом формате. Это важно для DevOps и виртуализации, потому что важно для создания эффективных систем управления данными и автоматизации.

Хотя разработчики часто упускают из виду этот мощный и простой инструмент, который может значительно улучшить ваши перспективы трудоустройства с помощью всего лишь пары часов обучения.

Сегодня мы поможем вам быстро изучить YAML с помощью практического руководства и узнаем, как вы можете использовать его в своем следующем решении на основе данных.

Вот что мы рассмотрим сегодня:

  • Что такое YAML?
  • Основные особенности YAML
  • Синтаксис YAML
  • Дополнительные концепции для изучения далее

Добавьте сертификат 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 

Пример YAML
 {"Имаро": {"автор": "Чарльз Р. Сондерс", "язык": "английский", "год публикации": "1981", "страницы": 224,}  } 

Пример JSON

Обратите внимание, что передается та же информация; однако удаление двойных кавычек, запятых и скобок во всем файле 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
  • Руководство по проектированию баз данных
Оцените статью
nanomode.ru
Добавить комментарий