HTML Diff
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>