TGViewer
Фырнин душнит Фырнин душнит @fyrnin_it · 99 subscribers
Post #13 281
📱Программист будущего.

Давайте представим, что вы — инженер, и вам дали задачу разработать устройство для складывания шара в коробку.

Условный middle-инженер сразу же задумается о системе в целом и задастся вопросами:
1. Особенности составных частей — хрупкий шар сложнее укладывать в жесткую коробку
2. Жизненный цикл — если коробка будет расположена вверх ногами или в невесомости, то будет важно, должен ли шар оставаться в коробке после формального попадания в нее
3. Условия среды эксплуатации — взрывоопасный шар на жаре требует более бережного обращения, а в движущуюся коробку не так просто положить шар, как и в случае, если шары нужно укладывать в коробку тысячу раз в секунду
4. Взаимодействие в рамках системы — в коробке уже могут быть шары, шары в коробку могут укладывать сразу несколько устройств
5. Срок службы — если устройство нужно отправить в другую галактику, это потребует совершенно иного подхода

Теперь возьмем middle-программиста и попросим его логировать последовательность каких-то событий в рамках микросервисной архитектуры.
Ну что может быть проще?!
Условная функция now() возвращает нам временную метку UTC. Логируем каждое событие вместе с меткой, сортируем по ней — profit!

А теперь подключим к этой задаче инженера.
Сразу выяснится масса интересных подробностей.

Время разных микросервисов может отличаться — его регулярно нужно синхронизировать. В лучшем случае между собой, но и этого недостаточно: компьютеры работают с временем UTC, которое поддерживается в синхронизации с астрономическим временем UT1 — основанным на вращении земли.
Земля вращается неравномерно, слегка замедляясь.
Из-за этого время UTC где-то раз в год имеет дополнительную секунду (високосную), чтобы оставаться согласованным с временем TAI, измеряемым сверхстабильными цезиевыми часами.

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

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

Программист будущего будет делать так же.


____
Подписывайтесь и ставьте огоньки (@fyrnin_it).
  • 🔥 20
More from @fyrnin_it
  1. Sep 28, 2026video post
  2. Jul 17, 2026⚡️ИИ можно поручить работу, но не ответственность Поэтому автоматизация заканчивается там,…
  3. Jun 18, 2026👀 А вам уже присылали скриншот из ChatGPT с доказательством, что вы неправы? Если да, вы…
  4. Jun 9, 2026Signore e signori! Долгожданная запись прямого эфира искусственный интеллект в разработке…
  5. Jun 8, 2026🗣LLM с нами три года. Где обещанные революции? Как и обещали, делимся записью митапа про…
  6. Apr 29, 2026🗣 LLM — умные чаты или новая инфраструктура? Пока нейросети обсуждают как удобный сервис,…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →