Вторая статья автора в серии "Beyond Happy Path Engineering". Автор разбирает, как наивное обращение со временем в продакшене приводит к багам.
Разработчики часто используют now() и wall-clock там, где нужны монотонные часы для измерения длительности, guarded-транзиции состояния вместо сравнения таймстемпов для истечения срока, и явные часовые пояса/календари вместо голого UTC для пользовательских дат.
Автор на примере резервирования товара при покупке показывает, как дрейф часов между машинами вызывает преждевременное освобождение брони, сравнение таймстемпов не доказывает порядок событий, просроченный cron-воркер при наверстывании создает лавину обновлений, а отсутствие монотонного времени приводит к отрицательным измерениям производительности.
А надо явно разделять время на четыре категории: длительность, момент, порядок, бизнес-календар. Подробности в статье
Непростое время
30.07.2026
Похожее
24.07.2026
Виртуальная память
Масштабное погружение в виртуальную память от самых основ. Туториал прикольно на...
23.07.2026
Научные статьи
Это интерактивная семантическая карта ~3 миллионов статей arXiv. Авторы собирали...
21.07.2026
Интернет от самых основ
Масштабный интерактивный разбор устройства интернета от первых принципов до наши...
18.07.2026
А зачем нужны CORS?
Автор разбирает распространенные заблуждения о CORS. Автор любит задавать каверз...