TGViewer
Борьба с киберпреступностью | F6 Борьба с киберпреступностью | F6 @f6_cybersecurity · 22.4K subscribers
Post #4416 1.03K
Type-driven development в Rust, часть 3/5: цепочка проверок и порядок событий в типах — от эксперта F6.

Продолжаем серию о type-driven development в Rust. Во второй части типы описывали контракты между компонентами. В третьей разработчик MXDR F6 Никита Тимофеенко разбирает прием заявки на стороне биржи: перед стаканом ее ждет цепочка проверок, и состав этой цепочки записывается в тип, чтобы шлюз без обязательной проверки не компилировался, а непроверенная заявка не доходила до стакана.

В третьем материале — три механизма:

▪️ type-level lists (HList);
▪️ compile-time validators;
▪️ event sourcing.

Эксперт разобрал каждый по схеме:
проблема ➡️ решение ➡️ хорошие практики ➡️ как это используют известные крейты.

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

Примеры во всей серии — из биржевой торговли, но сами приемы работают в любом домене со сложными состояниями и правилами их изменения.

ЧИТАТЬ НА HABR
  • 👍 9
  • 🔥 6
  • ❤ 5
  • 👏 3
  • 😁 2
More from @f6_cybersecurity
  1. Oct 8, 2026📢 «Можно долго и дорого развивать бренд, а в один момент — просто потерять его, потому чт…
  2. Oct 7, 2026Каждому ходу мошенника — свой уровень защиты. Остановить автоматизированную атаку до бизне…
  3. Oct 7, 2026⚡️ Стилер RedWing: с этой версией ВПО злоумышленники атакуют клиентов банков России, Узбек…
  4. Oct 6, 2026⚡️ «КИОН» и F6 добились возбуждения уголовного дела по факту нарушения авторских прав. Фиг…
  5. Oct 5, 2026🎥 Дуэт Райана Рейнольдса и Кеннета Браны возглавил пиратский рейтинг фильмов за июль. Каж…
  6. Oct 5, 2026«Бензин бочками»: скамеры начали «продавать» топливо оптом. Аналитики Digital Risk Protect…
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 →