add homework 4.3 skeleton

This commit is contained in:
2022-04-12 10:34:35 +07:00
parent 10cd187006
commit 7f1c39c306
2 changed files with 77 additions and 1 deletions

View File

@@ -16,5 +16,6 @@
* [3.7. Компьютерные сети, лекция 2](/src/homework/03-sysadmin/3.7) * [3.7. Компьютерные сети, лекция 2](/src/homework/03-sysadmin/3.7)
* [3.8. Компьютерные сети, лекция 3](/src/homework/03-sysadmin/3.8) * [3.8. Компьютерные сети, лекция 3](/src/homework/03-sysadmin/3.8)
* [3.9. Элементы безопасности информационных систем](/src/homework/03-sysadmin/3.9) * [3.9. Элементы безопасности информационных систем](/src/homework/03-sysadmin/3.9)
* [4.1. Командная оболочка Bash: Практические навыки](/src/homework/4.1) * [4.1. Командная оболочка Bash: Практические навыки](/src/homework/04-script/4.1)
* [4.2. Использование Python для решения типовых DevOps задач](/src/homework/04-script/4.2) * [4.2. Использование Python для решения типовых DevOps задач](/src/homework/04-script/4.2)
* [4.3. Языки разметки JSON и YAML](/src/homework/04-script/4.3)

View File

@@ -0,0 +1,75 @@
Выполнение [домашнего задания](https://github.com/netology-code/sysadm-homeworks/blob/devsys10/04-script-03-yaml/README.md)
по теме "4.3. Языки разметки JSON и YAML".
## Q/A
### Обязательная задача 1
Мы выгрузили JSON, который получили через API запрос к нашему сервису:
```
{ "info" : "Sample JSON output from our service\t",
"elements" :[
{ "name" : "first",
"type" : "server",
"ip" : 7175
}
{ "name" : "second",
"type" : "proxy",
"ip : 71.78.22.43
}
]
}
```
Нужно найти и исправить все ошибки, которые допускает наш сервис
### Обязательная задача 2
В прошлый рабочий день мы создавали скрипт, позволяющий опрашивать веб-сервисы и получать их IP. К уже реализованному функционалу нам нужно добавить возможность записи JSON и YAML файлов, описывающих наши сервисы. Формат записи JSON по одному сервису: `{ "имя сервиса" : "его IP"}`. Формат записи YAML по одному сервису: `- имя сервиса: его IP`. Если в момент исполнения скрипта меняется IP у сервиса - он должен так же поменяться в yml и json файле.
#### Ваш скрипт:
```python
???
```
#### Вывод скрипта при запуске при тестировании:
```
???
```
#### json-файл(ы), который(е) записал ваш скрипт:
```json
???
```
#### yml-файл(ы), который(е) записал ваш скрипт:
```yaml
???
```
### Дополнительное задание (со звездочкой*) - необязательно к выполнению
Так как команды в нашей компании никак не могут прийти к единому мнению о том, какой формат разметки данных использовать: JSON или YAML, нам нужно реализовать парсер из одного формата в другой. Он должен уметь:
* Принимать на вход имя файла
* Проверять формат исходного файла. Если файл не json или yml - скрипт должен остановить свою работу
* Распознавать какой формат данных в файле. Считается, что файлы *.json и *.yml могут быть перепутаны
* Перекодировать данные из исходного формата во второй доступный (из JSON в YAML, из YAML в JSON)
* При обнаружении ошибки в исходном файле - указать в стандартном выводе строку с ошибкой синтаксиса и её номер
* Полученный файл должен иметь имя исходного файла, разница в наименовании обеспечивается разницей расширения файлов
#### Ваш скрипт:
```python
???
```
#### Пример работы скрипта:
```
???
```