[БЕЗ_ЗВУКА] [БЕЗ_ЗВУКА] Поздравляю вас с нем, что вы завершили изучение основных шаблонов проектирования. Теперь давайте поговорим о том, как их можно конфигурировать. В какой-то момент своей жизни программиста вы обязательно столкнетесь с тем, что вам необходимо написать некоторую большую программу, которую вы, конечно, будете знать как написать. Но главный вопрос будет состоять в том, каким образом к вашей программе написать некий конфигуратор. То есть, например, создать какой-нибудь файл, желательно текстовый, чтобы в нем хранились все параметры вашей программы, и изменение этих параметров изменяло поведение вашей программы может быть даже значительным образом. Лезем в Интернет, ищем. Первый, и самый простой способ конфигурирования программы — использование INI файла. Это файл, который делится на секции, и в каждой секции у нас есть ключ и его значение. Вторым, более продвинутым способом, является использование XML файлов. Использование этих файлов на сегодняшний момент очень сильно распространено. В частности, все программы офиса от Microsoft используют этот формат для хранения данных. Но этот формат очень неудобен, и в нем присутствует большое количество различного рода мишуры. То есть большинство параметров необходимо окружать тэгами — открывающими и закрывающими. Следующий формат, о котором стоит вспомнить, это, конечно же, JSON — наиболее распространенный формат данных в Интернете. Во-первых, этот файл очень похож на питоновский словарь — удобен и понятен, но второе, более важное, является то, что этот файл фактически является кодом на языке Javascript. На этом языке пишут программы для веб-браузеров. Хороший, удобный формат, но есть еще такой формат, как YAML. Изначально YAML разрабатывался как замена XML. Расшифровывался как Yet Another Markup Language, то есть «еще один язык разметки». Перед ним ставился ряд задач, например следующие: чтобы этот язык был легко понятен человеку, поддерживать структуры данных, родных для языков программирования, быть переносимым между различными языками программирования, расширяемым, а также легко реализуемым в использовании. После того как был создан стандарт YAML, он не остановился и продолжил свое развитие. На сегодняшний день YAML уже не «еще один язык разметки», нет, YAML превратился в рекурсивный акроним. То есть так же как и GNU — YAML Ain't Markup Language. То есть теперь YAML, это совсем не язык разметки. Причем современный стандарт YAML покрывает JSON. То есть любой файл в формате JSON является файлом в формате YAML. В YAML можно перечислять последовательности, можно делать сопоставление имени и значения, ну то есть словарь записывать, использовать блочные литералы, занимающие более, чем одну строчку. Можно использовать подстановки. То есть в каком-нибудь одном месте файла мы помечаем якорь, а в другом месте в файле используем на него ссылку, то есть фактически используем переменные. Файл YAML поддерживает древовидную структуру данных и форматируется он при этом таким же образом, как и в Python-е при помощи пробелов. В YAML-е позволяется явным образом указывать тип хранимой информации. То есть, например, в каком-то месте у вас написано 20, но вы хотите подчеркнуть, что это не цифра 20, а текст «двадцать», и этот формат позволяет вам это сделать. Поддержка YAML есть в большинстве современных языков программирования. В Python-е для этого используется модуль PyYAML, с которым мы и познакомимся в следующем видео. [ЗВУК] [БЕЗ_ЗВУКА]