Pull to refresh
16K+
1
Илья Королев@Antako

программист

13,1
Rating
Send message

CONTRACT: одна схема вместо N×M сериализаторов

Level of difficultyMedium
Reading time9 min
Reach and readers8.9K

Одна C++ схема — protobuf, binary, JSON, YAML и structured logging без ручных маппингов. В статье разбираю, как CONTRACT отделяет стабильный контракт типа от конкретных форматов, зачем нужны BASE, PROPERTY и REFERENCE и как атрибуты полей задают общую политику для разных адаптеров. Всё - на реальном коде из репозитория: YAML-конфиг, структурированный лог и сравнение производительности с libprotobuf. GitHub.

Читать далее

Как мы сделали протобаф-адаптер CONTRACT быстрее libprotobuf

Level of difficultyMedium
Reading time10 min
Reach and readers10K

CONTRACT умеет писать protobuf-совместимый wire-формат — и в 20 из 28 замеров обогнал по скорости настоящий libprotobuf, включая его собственный сгенерированный protoc-код. Разбираем три инженерных решения, которые это дали, и два сценария, где не получилось. CONTRACT — это C++ библиотека сериализации без кодогена и рантайм-рефлексии: схема объявляется один раз, в самой C+±структуре, и работает сразу под разные форматы.

Читать далее

Information

Rating
608-th
Location
Россия
Date of birth
Registered
Activity

Specialization

Системный инженер, Технический директор
Ведущий
From 700,000 ₽
Python
CI/CD
MySQL
PHP
PostgreSQL
ООП
C++
Golang
Apache Kafka
RabbitMQ