[О блоге]
[наверх]
[пред]
[2023-09-20 18:27:25+03:00]
[58bb9df75946dd8f7fd8f52eac2ea8df66dc782e]
XML лучше YAML
https://changelog.com/posts/xml-better-than-yaml
Статья начинается с утверждения:
There's always something better than YAML
с которым невозможно поспорить. Пишешь 1.20, получаешь 1.2.
Плюс старая проблема с Норвегией (8976383f8feb44fca9cf0b8f4e614b853d671214).
Когда-то я тоже использовал YAML, но одумался. Особенно когда на работе
его хорошенько поиспользовали. YAML не может быть (адекватным) вариантом
-- никогда. XML местами может быть адекватен.
[оставить комментарий]
- комментарий 0:
From: kmeaw
Date: 2023-09-20 20:48:54Z
А вот моя "любимая" особенность YAML - что напечатает эта программа?
import yaml
doc = '''
hosts:
foo:
dhcp-client-id: 1:00:50:19:47:22:59
ipv4-address: 192.0.2.16
ipv6-address: 2001:db8::210
bar:
dhcp-client-id: 1:00:50:19:47:22:60
ipv4-address: 192.0.2.17
ipv6-address: 2001:db8::211
'''
print(yaml.dump(yaml.safe_load(doc)))
А ещё можно вот так делать:
import yaml
doc = '''
!!python/object/new:os.system [uname -a]
'''
print(yaml.load(doc, Loader=yaml.UnsafeLoader))
и когда-то этот loader использовался по-умолчанию.
- комментарий 1:
From: Sergey Matveev
Date: 2023-09-21 17:14:17Z
*** kmeaw [2023-09-20 21:48]:
>А вот моя "любимая" особенность YAML - что напечатает эта программа?
Смело можно устраивать викторину типа "Своей игры". Игрок может выбрать
строчку этого конфига на которую он осмелится дать правильный ответ.
>print(yaml.load(doc, Loader=yaml.UnsafeLoader))
>и когда-то этот loader использовался по-умолчанию.
На работе вроде бы даже где-то использовали его, но на входе только
конфиги нами состряпанные. То что он был по-умолчанию -- самое страшное.