techtrain TechTrain 2019 (24.08.2019 — 25.08.2019)

Этюды о буферизации: асинхронные оповещения, репликация обновлений, объединение ожидающих запросов

img

На примере трёх задач, взятых из практики и объединённых общей темой хранения данных в буфере, будет показано применение современных средств языка C++.

Практика разработки конкретного приложения может приводить к постановке задачи, которая, в зрелом размышлении, оказывается достаточно общей, чтобы вычленить её в абстракцию, потенциально полезную для множества различных приложений. Приведение решения к виду, пригодному для многократного применения, в отличие от решения, отвечающего нуждам конкретного приложения, требует дополнительных мыслительных усилий по выделению вариативных аспектов задачи, и по их моделированию средствами языка.

В докладе представлен опыт реализации трёх абстракций, объединенных общей темой — буферизацией данных при многопоточной обработке. Показан ход мысли от анализа задачи до реализации средствами языка C++17.