Тёмный

Иван Смирнов - YsonStruct: дешевая сериализация иерархических JSON-структур 

C++ User Group
Подписаться 15 тыс.
Просмотров 254
50% 1

Подробнее о конференции C++ Russia: jrg.su/W8skjE
- Для описания настроек сервисов часто используются конфигурационные файлы в форматах наподобие JSON и YAML. В разных высокоуровневых языках есть возможность автоматически преобразовывать JSON в нативные структуры языка: marshalling в Go, модули JSON и YAML в Python.
Яндекс представляет библиотеку, позволяющую реализовать сериализуемые в JSON структуры на C++. Важное отличие от аналогов - это поддержка сложных иерархий классов, в том числе со множественным и виртуальным наследованием: в сложных системах конфиги неизбежно обрастают десятками и сотнями опций, и развесистая иерархия становится неизбежной.
В своем выступлении Иван рассказал про:
- высокоуровневый дизайн библиотеки;
- технические трудности в реализации (поведение виртуальных методов, линковка шаблонных классов и т. д.);
- опыт внедрения библиотеки в большую кодовую базу;
- попытки сделать хороший интерфейс.
Что есть в докладе: погружение в детали layout-а классов в различных иерархиях наследования, специфика работы с offset-ами полей, подходы к реализации рефлексии.
Чего нет в докладе: парсинга JSON и сериализации примитивных типов - эта задача хорошо выполняется и сторонними библиотеками.
Доклад будет интересен практикам, которые ищут способы удобной конфигурации сервисов, и language lawyers, желающим познакомиться с подводными камнями в укладке классов, dynamic cast и множественного наследования.
Используемые технологии: C++17 и произвольный сторонний JSON-парсер.
Скачать презентацию с сайта С++ Russia - jrg.su/pxidlK

Опубликовано:

 

12 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1   
Далее
A small kitten was dumped #cat #kitten #cutecat
00:41
ФОКУС -СВЕТОФОР
00:32
Просмотров 267 тыс.
The Pointer to Implementation (pImpl) idiom in C++
6:54
КАК УСТРОЕН TCP/IP?
31:32
Просмотров 89 тыс.