Тема: serialization
-
Измерение прошедшего времени в Go: сериализация теряет компонент монотонных часов
Отделяйте локальное измерение длительности от сохранённых временных меток и правил работы с межпроцессными сроками.
-
Десериализация недоверенных данных: pickle и сериализация Java
Нативные форматы сериализации объектов предписывают получателю создавать произвольные объекты, а их создание выполняет код; документация Python прямо называет pickle небезопасным модулем. Никогда не десериализуйте такие форматы из недоверенного ввода; если устаревший интерфейс вынуждает это делать, ограничьте классы, которые может указывать поток, и подпишите данные.
-
Детерминированная сериализация Protocol Buffers не задаёт каноническую идентичность сообщения
Избегайте использования произвольных байтов protobuf как стабильного семантического отпечатка между разными средами выполнения и версиями.
-
Миграция схем сохранений и восстанавливаемая запись
Версионируйте постоянные данные, явно преобразуйте старые форматы, проверяйте до восстановления мира и сохраняйте последнюю пригодную копию.
Машиночитаемо: JSON