0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>YAML (YAML Ain't Markup Language) - это формат сериализации<a>1</a>данных, который используется для представления структурированных данных в человекочитаемом формате. Считается, что в отличие от таких форматов, как JSON или XML, YAML - это более простая и интуитивно понятная структура. Также важно отметить, что YAML в отличие от многих других форматов не является языком разметки, а предназначен для предоставления данных в структурированном виде.</p>
1
<p>YAML (YAML Ain't Markup Language) - это формат сериализации<a>1</a>данных, который используется для представления структурированных данных в человекочитаемом формате. Считается, что в отличие от таких форматов, как JSON или XML, YAML - это более простая и интуитивно понятная структура. Также важно отметить, что YAML в отличие от многих других форматов не является языком разметки, а предназначен для предоставления данных в структурированном виде.</p>
2
<h2>Содержание</h2>
2
<h2>Содержание</h2>
3
<ul><li><a>Основы синтаксиса YAML</a></li>
3
<ul><li><a>Основы синтаксиса YAML</a></li>
4
<li><a>Какие типы узлов поддерживает YAML</a></li>
4
<li><a>Какие типы узлов поддерживает YAML</a></li>
5
<li><a>Сферы применения</a></li>
5
<li><a>Сферы применения</a></li>
6
<li><a>Заключение</a></li>
6
<li><a>Заключение</a></li>
7
</ul><h2>Основы синтаксиса YAML</h2>
7
</ul><h2>Основы синтаксиса YAML</h2>
8
<p>Одной из ключевых особенностей YAML является использование пробелов вместо специальных символов для формирования структур данных.</p>
8
<p>Одной из ключевых особенностей YAML является использование пробелов вместо специальных символов для формирования структур данных.</p>
9
<p>В YAML ключи и значения разделяются двоеточием, сами пары ключ-значение отделяются переносом строки. Списки представляются с использованием дефиса, а вложенные структуры данных создаются с помощью отступов.</p>
9
<p>В YAML ключи и значения разделяются двоеточием, сами пары ключ-значение отделяются переносом строки. Списки представляются с использованием дефиса, а вложенные структуры данных создаются с помощью отступов.</p>
10
<p>Комментарии в YAML начинаются с символа решетки # и могут использоваться для пояснения структуры данных или для временного исключения части информации.</p>
10
<p>Комментарии в YAML начинаются с символа решетки # и могут использоваться для пояснения структуры данных или для временного исключения части информации.</p>
11
<h2>Какие типы узлов поддерживает YAML</h2>
11
<h2>Какие типы узлов поддерживает YAML</h2>
12
<p>Формат YAML в основном использует 3 типа узлов:</p>
12
<p>Формат YAML в основном использует 3 типа узлов:</p>
13
<ol><li><p><em>Maps/Dictionaries</em>- называют отображениями (mappings) Содержимое узла отображения представляет собой неупорядоченный набор пар ключ/значение, с одним ограничением, что каждый из ключей является уникальным.</p>
13
<ol><li><p><em>Maps/Dictionaries</em>- называют отображениями (mappings) Содержимое узла отображения представляет собой неупорядоченный набор пар ключ/значение, с одним ограничением, что каждый из ключей является уникальным.</p>
14
</li>
14
</li>
15
<li><p><em>Arrays/Lists</em>- называют последовательностями (sequences) Содержимое узла последовательности представляет собой упорядоченную серию узлов. Тут последовательность может содержать один и тот же узел более одного раза, и даже саму себя.</p>
15
<li><p><em>Arrays/Lists</em>- называют последовательностями (sequences) Содержимое узла последовательности представляет собой упорядоченную серию узлов. Тут последовательность может содержать один и тот же узел более одного раза, и даже саму себя.</p>
16
</li>
16
</li>
17
<li><p><em>Literals</em>- содержат данные типа строки, числа, булевы значения и т.д</p>
17
<li><p><em>Literals</em>- содержат данные типа строки, числа, булевы значения и т.д</p>
18
</li>
18
</li>
19
</ol><p>Например, курсы программирования<a>Code-basics</a>используют описанные выше узлы для описания структуры урока следующим образом:</p>
19
</ol><p>Например, курсы программирования<a>Code-basics</a>используют описанные выше узлы для описания структуры урока следующим образом:</p>
20
<p>Рассмотрим более подробно эту структуру и остановимся на каждом виде узла:</p>
20
<p>Рассмотрим более подробно эту структуру и остановимся на каждом виде узла:</p>
21
<h3>Отступы</h3>
21
<h3>Отступы</h3>
22
<p>Для создания вложенной структуры используются пробелы, каждый следующий уровень содержит отступ на 2 пробела больше, чем предыдущий. Очень важно понимать, что tab использовать нельзя, это должны быть именно пробелы.</p>
22
<p>Для создания вложенной структуры используются пробелы, каждый следующий уровень содержит отступ на 2 пробела больше, чем предыдущий. Очень важно понимать, что tab использовать нельзя, это должны быть именно пробелы.</p>
23
<h3>Отображения (mappings)</h3>
23
<h3>Отображения (mappings)</h3>
24
<p>Отображения используются, чтобы соединить пары ключ-значение.</p>
24
<p>Отображения используются, чтобы соединить пары ключ-значение.</p>
25
<h3>Последовательности (sequences)</h3>
25
<h3>Последовательности (sequences)</h3>
26
<p>Последовательности формируются с использованием дефиса - и пробела. Здесь важно помнить, что они упорядоченные и могут быть вложены с использованием отступов.</p>
26
<p>Последовательности формируются с использованием дефиса - и пробела. Здесь важно помнить, что они упорядоченные и могут быть вложены с использованием отступов.</p>
27
<h3>Литералы (literals)</h3>
27
<h3>Литералы (literals)</h3>
28
<p>В качестве литералов могут использоваться такие типы данных как строки, цифры, и булевы значения.</p>
28
<p>В качестве литералов могут использоваться такие типы данных как строки, цифры, и булевы значения.</p>
29
<p>Обратите внимание, что строковые литералы не требуют наличия кавычек. Но они могут пригодиться в случае, если текст содержит какие-либо специальные символы, которые могут быть интерпретированы неверно. Например:</p>
29
<p>Обратите внимание, что строковые литералы не требуют наличия кавычек. Но они могут пригодиться в случае, если текст содержит какие-либо специальные символы, которые могут быть интерпретированы неверно. Например:</p>
30
<p>Если значением ключа является текстовый блок, например, из нескольких строк, то можно воспользоваться | (pipe character), который сообщает, что следующий текст надо интерпретировать как блок строк:</p>
30
<p>Если значением ключа является текстовый блок, например, из нескольких строк, то можно воспользоваться | (pipe character), который сообщает, что следующий текст надо интерпретировать как блок строк:</p>
31
<h2>Сферы применения</h2>
31
<h2>Сферы применения</h2>
32
<p>Благодаря своей простоте и гибкости YAML находит применение в различных областях разработки программного обеспечения и интеграции систем:</p>
32
<p>Благодаря своей простоте и гибкости YAML находит применение в различных областях разработки программного обеспечения и интеграции систем:</p>
33
<ul><li><em>Файлы конфигурации</em>: YAML используется для создания конфигурационных файлов приложений и сервисов. Он позволяет легко описывать параметры конфигурации, настройки и свойства, используемые при развертывании и настройке приложений.</li>
33
<ul><li><em>Файлы конфигурации</em>: YAML используется для создания конфигурационных файлов приложений и сервисов. Он позволяет легко описывать параметры конфигурации, настройки и свойства, используемые при развертывании и настройке приложений.</li>
34
<li><em>Сериализация данных</em>: YAML служит форматом для сериализации и десериализации структур данных, и используется для обмена данными между различными системами или компонентами, что обеспечивает простоту взаимодействия.</li>
34
<li><em>Сериализация данных</em>: YAML служит форматом для сериализации и десериализации структур данных, и используется для обмена данными между различными системами или компонентами, что обеспечивает простоту взаимодействия.</li>
35
<li><em>Спецификации API</em>: YAML часто используется для определения спецификаций и документации API, например, OpenAPI. Он обеспечивает краткий и понятный способ определения конечных точек, схем запросов/ответов и других деталей, связанных с API.</li>
35
<li><em>Спецификации API</em>: YAML часто используется для определения спецификаций и документации API, например, OpenAPI. Он обеспечивает краткий и понятный способ определения конечных точек, схем запросов/ответов и других деталей, связанных с API.</li>
36
<li><em>Инфраструктура как код (IaC)</em>: YAML часто используется для описания конфигураций инфраструктуры. Например, он используется в плейбуках Anisble для описания задач, которые необходимо выполнить на удаленных хостах; в файлах Docker Compose для определения и управления много контейнерными приложениями; в файлах конфигурации Terraform. YAML позволяет декларативно определять ресурсы инфраструктуры и их конфигурации.</li>
36
<li><em>Инфраструктура как код (IaC)</em>: YAML часто используется для описания конфигураций инфраструктуры. Например, он используется в плейбуках Anisble для описания задач, которые необходимо выполнить на удаленных хостах; в файлах Docker Compose для определения и управления много контейнерными приложениями; в файлах конфигурации Terraform. YAML позволяет декларативно определять ресурсы инфраструктуры и их конфигурации.</li>
37
<li><em>Управление тестированием и конфигурацией</em>: YAML используется в средах тестирования и инструментах для определения тестовых примеров, тестовых данных и тестовых конфигураций.</li>
37
<li><em>Управление тестированием и конфигурацией</em>: YAML используется в средах тестирования и инструментах для определения тестовых примеров, тестовых данных и тестовых конфигураций.</li>
38
</ul><h2>Заключение</h2>
38
</ul><h2>Заключение</h2>
39
<p>YAML - мощный и удобный инструмент для представления структурированных данных. Благодаря своей простоте и интуитивно понятном синтаксисе его можно легко читать и писать, что делает его подходящим для различных случаев использования.</p>
39
<p>YAML - мощный и удобный инструмент для представления структурированных данных. Благодаря своей простоте и интуитивно понятном синтаксисе его можно легко читать и писать, что делает его подходящим для различных случаев использования.</p>
40
<p>В контексте IaC (Инфраструктура как код) YAML позволяет декларативно определять ресурсы инфраструктуры и их конфигурации, что упрощает управление инфраструктурой и автоматизирует развертывание.</p>
40
<p>В контексте IaC (Инфраструктура как код) YAML позволяет декларативно определять ресурсы инфраструктуры и их конфигурации, что упрощает управление инфраструктурой и автоматизирует развертывание.</p>
41
<ol><li><p>Cериализация - это процесс преобразования сложных структур данных в форму, пригодную для сохранения или передачи.<a>↩</a></p>
41
<ol><li><p>Cериализация - это процесс преобразования сложных структур данных в форму, пригодную для сохранения или передачи.<a>↩</a></p>
42
</li>
42
</li>
43
</ol>
43
</ol>