Обновить
32K+
166
Александр Рябиков@rsashka

Системный архитектор

68,2
Рейтинг
86
Подписчики
Отправить сообщение

“Так же как в С++” - это отсутствие гарантий в данной области. Конечно в C++ и Rust это реализуется по разному из-за разного подхода и общей архитектуры “по умолчанию”.

В С++ действительно сперва придется прорабатывать архитектуру и API приложения, чтобы обезопаситься от data race на уровне типов, тогда как в Rust это изначально проверяется в самом компиляторе.

Согласен, в этому случае, без std::variant или std::optional не обойтись.

Если честно, то я не понял как связаны “поверка доменной модели” и std::variant c std::optional. Под проверкой доменной модели я понимаю что-то в этом духе:

#include <concepts>

struct UserId { int value; };
struct Email  { const char* value; };

template<class T>
concept UserModel = requires(T u) {
    { u.id }    -> std::same_as<UserId&>;
    { u.email } -> std::same_as<Email&>;
};

struct GoodUser {
    UserId id;
    Email email;
};

struct BadUser {
    int id;
    const char* email;
};

static_assert(UserModel<GoodUser>);
static_assert(!UserModel<BadUser>);

Пруфы на доказательства будут? Или это со слов заинтересованных лиц и компаний?

Насчет сговора не уверен, но так как одна из СМС была с портала sravni.ru, то это однозначно МФО, что и подтвердил потом сотрудник МВД

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

И вот тут уже надо решать: либо потратить пару недель на воспроизведение, поиск и исправление бага в многопоточном коде гигантской плюсовой кодовой базы (даже с использованием санитайзеров!), либо получить удар по рукам от компилятора раста сразу при разработке. …

Это хорошо только в тории, тогда как на практике Rust не гарантирует безопасную работу в многопоточном коде, так же как и С++. Поэтому вы точно так же будете тратить те же пару недель на его воспроизведение. Собственно об этом и была изначальная статья.

Суета и движуха - это совпадение интересов нескольких заинтересованных групп: корпорации хотят снизить затраты на безопасность, государства используют регуляторные рычаги как повод для повышения защиты инфраструктуры, (что тоже пересекается с интересами корпораций, как исполнителями госзаказа), инфобизнес монетизируют хайп, а молодые разработчики используют эту поднятую волну для карьерного роста :-)

Но фишка в том, что “хочу чтобы компилятор проверял мою доменную модель” - это может быть реализовано и на других языках программирования, на том же самом C++.

Если писать unsafe - тогда какой смысл перехода? Но я согласен насчет новых проектов без большой базы старого кода.

Да, было видно по имени отправителя. Проблема в том, что когда висишь на линии и тебя фактически ведут по шагам скрипта, то этот факт ускользает от внимания.

Я не утверждаю, что проблема именно в людях, а пишу про то, что дело не только в самом инструменте. Платить приходится за все, и разработчиком Rust в том числе (ограничениями, изменением архитектуры, соглашениями или упрощениями предметной области и т.д.).

Поэтому было бы честно признавать, что в С++ нет встроенной memory safety, поэтому приходится либо использовать сторонние инструменты/библиотеки, либо жертвовать безопасностью с прицелом на последующие исправления, либо нанимать еще одну команду разработчиков Rust и какое-то время платить x2 (а скорее всего даже больше) за миграцию кода, синхронизацию фич и т.д. и все ради чего? Чтобы не было ошибок при работе с памятью? Если бы это было критично для бизнеса, он бы давно перешел на более безопасные решения (библиотеки, стандарты или языки).

Ведь за ошибки платит пользователь, а не бизнес, тогда как у бизнеса всего есть классный аргумент для обоснования необходимости оплаты новой версии версии ПО с целью устранения ошибок и уязвимостей.

Недавно приезжали из МВД насчет заявления, так как не смотря на его подачу в электронном виде, им все равно требуется реальная подпись на бумажном документе. Сфотографировали СМС, чтобы приобщить к заявлению и сразу сказали, что это - классический сценарий для оформления кредита в МФО (и я такой у них такой не один).

Еще немного поговорили о перспективах расследования. Как и ожидал, перспектив скорее всего никаких, но на всякий случай посоветовали сделать самозапрет через Госуслуги на дистанционное оформление кредитов и похвалили за телефон :-).

В C++ при использовании “неправильных” типов данных ты молча получаешь UB, …

Так может нужно научится правильно использовать С++, не пенять на плохой инструмент?

У меня спрашивал, но в СМС было написано что-то вроде “сообщите код сотруднику”

Мне назвали вполне правильный адрес отделения, но это ищется в поиске на раз-два :-(

что в реальности значат слова …

Значат ровно то, что и написано. Вот так, не вставая со стула написал заявление в полицию и отправил в электронном виде вместе с детализацией звонков. Заявление был присвоен ID обращения (заявление должны принять в течение трех дней).

Только сейчас проверил, заявление было зарегистрировано еще вчера и ему присвоен номер в областном УВД. На руках ID обращения, номер заявления и дата его регистрации.

Ну так у меня и включился сигнал полундра :-)

Я же пишу про то, что если бы у меня не было вынужденной паузы в разговоре на чтение СМС и минимальное осмысление ситуации, то я бы реально продиктовал код подтверждения :-(

… шансы мошенников обмануть любого минимально адекватного человека стремительно достигают нуля.

Значит у вас еще очень мало жизненного опыта, раз вы так категоричны в своих утверждениях.

Информация

В рейтинге
123-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Инженер встраиваемых систем, Архитектор программного обеспечения
Ведущий
C++
ООП
Linux
Программирование микроконтроллеров
Встраиваемая система
C
Qt
Разработка программного обеспечения