News Grower

Независимое покрытие AI, стартапов и технологий.

Opaque Types в Scala: типобезопасность без runtime‑overhead

Строгая типизация не всегда спасает от глупых ошибок. Если userId, orderId и productId — это один и тот же Int или Long, компилятор не увидит разницы и спокойно пропустит неверный аргумент. В Scala 3 для таких случаев есть opaque types: они позволяют сделать доменные типы разл...

Автор: badcasedaily1 (OTUS) Оригинальный источник
Opaque Types в Scala: типобезопасность без runtime‑overhead

Строгая типизация не всегда спасает от глупых ошибок. Если userId, orderId и productId — это один и тот же Int или Long, компилятор не увидит разницы и спокойно пропустит неверный аргумент. В Scala 3 для таких случаев есть opaque types: они позволяют сделать доменные типы различимыми на этапе компиляции, но без лишних обёрток и накладных расходов в рантайме. Разберём, как это работает и чем этот подход лучше type alias, case class и AnyVal.

Краткая сводка

Строгая типизация не всегда спасает от глупых ошибок. Если userId, orderId и productId — это один и тот же Int или Long, компилятор не увидит разницы и спокойно пропустит неверный аргумент.

Связанные теги

Компании и люди

Линия сюжета

Продолжить следить за темой

Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.

Прозрачная антенна в роутере Huawei с Wi-Fi 7: что это и как работает

Прозрачная антенна в роутере Huawei с Wi-Fi 7: что это и как работает

В марте Huawei представила Wi-Fi 7 — роутер WiFi Mesh X3 Pro с интегрированной «кристаллической» антенной, заменяющей классические внешние излучатели. Это весьма занятный девайс...

Реверс-инжиниринг в КОМПАС-3D. Основы и примеры

Реверс-инжиниринг в КОМПАС-3D. Основы и примеры

Тема обратного (реверс-) инжиниринга становится всё более популярной в инженерной среде. А для некоторых проектно-конструкторских организаций такая деятельность вообще является ...

Почему эволюция не прошла бы код-ревью: инженерный разбор гемоглобина

Почему эволюция не прошла бы код-ревью: инженерный разбор гемоглобина

Представьте, что вам на собеседовании дали задачу: спроектировать систему доставки газа по трубам переменного давления, причём система должна загружаться почти на 100% в зоне вы...

От идеи до MVP за час: full-stack приложение с Platform V DataSpace Community Edition

От идеи до MVP за час: full-stack приложение с Platform V DataSpace Community Edition

Привет, Хабр! Platform V DataSpace Community Edition — это open source-инструмент для быстрой разработки бизнес-приложений. В статье мы познакомимся с созданием решений с DataSp...

Почему ваш VPN не спасёт АСУ ТП: физика, алгоритмы и реальная поверхность атаки

Почему ваш VPN не спасёт АСУ ТП: физика, алгоритмы и реальная поверхность атаки

Всем привет. Сегодня поговорим про доверие в ИБ. Но не про сертификаты и «мировых лидеров», а про физику, математику и алгоритмы. Разберём, почему квантовый ПАК надёжнее межсете...

Архитектура vs Цели: почему при выборе платформы мы забываем спросить: «Зачем?»

Архитектура vs Цели: почему при выборе платформы мы забываем спросить: «Зачем?»

Привет, Хабр! Я Наталья Самсонова, фулстек-аналитик в ГК «Юзтех». Последнее время работаю пресейл-аналитиком в продуктовой команде. Несколько десятков встреч с клиентами в этом ...

Рекламный слот

Встроенный блок в статье

Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.

Партнерский слот

Похожие статьи

Еще материалы, которые пересекаются по тегам, источнику или категории.

Прозрачная антенна в роутере Huawei с Wi-Fi 7: что это и как работает

Прозрачная антенна в роутере Huawei с Wi-Fi 7: что это и как работает

В марте Huawei представила Wi-Fi 7 — роутер WiFi Mesh X3 Pro с интегрированной «кристаллической» антенной, заменяющей классические внешние излучатели. Это весьма занятный девайс...

Реверс-инжиниринг в КОМПАС-3D. Основы и примеры

Реверс-инжиниринг в КОМПАС-3D. Основы и примеры

Тема обратного (реверс-) инжиниринга становится всё более популярной в инженерной среде. А для некоторых проектно-конструкторских организаций такая деятельность вообще является ...

Почему эволюция не прошла бы код-ревью: инженерный разбор гемоглобина

Почему эволюция не прошла бы код-ревью: инженерный разбор гемоглобина

Представьте, что вам на собеседовании дали задачу: спроектировать систему доставки газа по трубам переменного давления, причём система должна загружаться почти на 100% в зоне вы...

От идеи до MVP за час: full-stack приложение с Platform V DataSpace Community Edition

От идеи до MVP за час: full-stack приложение с Platform V DataSpace Community Edition

Привет, Хабр! Platform V DataSpace Community Edition — это open source-инструмент для быстрой разработки бизнес-приложений. В статье мы познакомимся с созданием решений с DataSp...

Еще материалы от Habr

Свежие публикации и продолжение темы от той же редакции.

Открыть страницу источника
Как ИИ следит за трендами и конкурентами: настраиваем мониторинг рынка за 5 шагов

Как ИИ следит за трендами и конкурентами: настраиваем мониторинг рынка за 5 шагов

«Видели, конкурент запустил новую фичу? – Нет, а когда? – Да уже неделю как». Если рынок генерирует больше информации, чем команда способна обработать вручную, пора внедрять ИИ-...

«Поставить себя на ваше место». Мы занялись метаболизмом ИИ

«Поставить себя на ваше место». Мы занялись метаболизмом ИИ

TL;DR Индустрия жжет мегаватты, чтобы GPT научился говорить «мне жаль» убедительнее. Спойлер: не научится. Transformer — это калькулятор с хорошей памятью, у него нет «себя», ко...

Как поход в кино превратился в сессию системного дизайна

Как поход в кино превратился в сессию системного дизайна

Недавно ходил в кино и, пока стоял в очереди на вход, поймал себя на мысли, что проектирую систему, которой пользуется контролер. На первый взгляд задача примитивная: есть база ...