Задать вопрос
  • Парсинг и преобразование данных из Serial?

    @12rbah
    Как я понял нужно преборазовать строковое представление байта в число?
    Вот готовые решения решения на с++
    Можно и свой костыль написать для конкретно этого случая :
    1) проверяете строку на корректность
    2) разделяете на два символа
    3) преобразуете каждый символ в число
    4) первое число умножаете на 16, второе на 1
    5) складываете и записываете готовое число куда нужно
    Ответ написан
    Комментировать
  • Какой тип данных используется для чисел с фиксированной запятой на C?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Какой тип данных используется для чисел с фиксированной запятой на C?

    Нет такого стандартизированного типа данных.

    мне нужно провести вычисления с фиксированной запятой

    Логичнее всего использовать какой-нибудь целочисленный тип.
    Ответ написан
    2 комментария
  • Сколькибитный пароль считается достаточно сложным, чтобы его не сломало брутфорсом ЦРУ/ФСБ?

    @cicatrix
    было бы большой ошибкой думать
    67 бит это мало.
    100-128 бит вполне достаточно для текущих вычислительных мощностей.
    256 бит, которые используются в большинстве современных криптосистем - overkill с огромным запасом.
    Но надо понимать, что это всё теория, где имеется идеальная безошибочная реализация криптоалгоритма и используется действительно уникальный, никому не известный ключ.
    Так же надо учитывать, что сам алгоритм может быть уязвимым для квантовых алгоритмов. Пока ещё у людей нет квантовых компьютеров, способных взломать, например RSA, но они могут появиться в будущем. Более уязвимы ассимитричные алгоритмы, симметричные будут вполне устойчивы даже после квантовой революции.
    Единожды взломанная база данных какого-нибудь интернет-магазина делает ВСЕ пароли, которые были использованы его пользователями, уязвимыми, даже если это хорошие пароли, потому что сначала будут использовать не брутфорс, а атаку по словарю, в котором уже будут эти пароли.
    Пользователь-идиот - классический вектор атаки. Соц. инженерия, кейлоггеры, зловреды - вполне рабочие инструменты.
    Ну и главное - универсальный метод взлома - терморектальный криптоанализ, имеющий практически 100%-ю эффективность.
    ФСБ будет действовать именно так, как показано на картинке от XKCD:
    538_v1.png
    Ответ написан
    2 комментария
  • Ошибка xmemory при return, как пофиксить?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Скорее всего, тип User нельзя вот так вот читать и писать в файл. Подозреваю, что там содержатся std::string, которые сами в себе хранят лишь указатели на символы в строке. Поэтому, если std::string записать в файл как набор байт, то вы запишете в файл указатели. Прочитав их назад из файла, вы получите случайне адреса, не указывающие ни на что.

    Вам придется писать руками ввод и вывод типа из файла.
    Ответ написан
    1 комментарий
  • Как передать большой объем данных между серверами?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    Если много мелких файлов - rsync или tar c | ssh | tar x через SSH-туннель без шифрования. Если файлы крупные - можно просто scp.

    Ни NFS, ни CIFS подходящими инструментами для вашей задачи не являются.
    Ответ написан
    4 комментария
  • Является ли эффективность данного алгоритма O(n*log(n))?

    wataru
    @wataru Куратор тега Алгоритмы
    Разработчик на С++, экс-олимпиадник.
    Нет, тут O(n^2). С чего вы там взяли log?
    Ответ написан
    1 комментарий
  • Явное приведения типов это сложная операция?

    Griboks
    @Griboks Куратор тега C#
    Приведение вверх практически бесплатное.
    Приведение вниз зависит от языка и сложности типа. В простейшем случае тоже бесплатное, т.к. объект - это набор байт, а тип - это интерпретация этих байт.
    Ответ написан
    Комментировать
  • Как подключиться к домашнему интернету находясь в другом городе?

    @pfg21
    ex-турист
    настроить впн в роутере. в боле менее продвинутых модельках он есть.
    вариант2: прошить роутер прошивкой опенврт (и подобные) и настроить в нем сервер vpn.
    после может делать что хотите.
    Ответ написан
    3 комментария
  • Существует ли метод хранения объектов на c++, похожий на map со способностью дублировать ключи?

    Adamos
    @Adamos
    Для озвученной задачи имеет смысл использовать не мультимап, а std::map< date_t, std::vector< Event > >
    Ответ написан
    Комментировать
  • Использовать mutex при обращении к любой памяти или только конкретной ячейке?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Если потоки точно не пересекаются нигде, мьютекс не нужен, а ошибка где-то в другом месте.
    Ответ написан
    3 комментария
  • Каждый порт свича считается доменом коллизий?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для начала вы путаете термины. Домен коллизий - это группа узлов, конкурирующих за одну среду передачи. Широковещательный домен - это участок сети, на котором возможна передача широковещательных (broadcast) сообщений.
    Порт свитча даёт соединение точка-точка, причём приём и передача сигнала в нём разнесены либо физически (100BASE-T), либо по частотам (1000BASE-TX). Соответственно, домена коллизий не образуется, нет конкуренции передатчиков.
    При этом порт может как входить, так и не входить в широковещательный домен, в зависимости от настроек свитча.
    Ответ написан
    2 комментария
  • Скорость загрузки не соответствует скорости интернета?

    Jump
    @Jump
    Системный администратор со стажем.
    Скорость загрузки не соответствует скорости интернета?
    Интернет это всемирная сеть.
    Он никуда не двигается, у него нет скорости.

    Есть скорость интернета которую отображает Speedtest она равно 100Мбит/с
    Это скорость доступа к определенному ресурсу.

    Если кто знает то подскажите пожалуйста как решить проблему
    В чем проблема?
    Разные ресурсы - разные скорости.
    С чего вы решили что доступ к серверу стима будет идти с такой же скоростью что и к серверу Speedtest?
    Ответ написан
    1 комментарий
  • Возможно ли использовать удаленный рабочий стол 2 людям одновременно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Элементарно. Каждый под своей учёткой.
    Если нет лицензий для RDS, то могут входить одновременно двое, но исключительно в целях администрирования сервера. Если лицензии есть и настроен сервер RDS то двое в режиме администратора (с ключом -admin) и по количеству лицензий в обычном режиме RDS.
    Ответ написан
    2 комментария
  • Как передать информацию с сервера к клиенту?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    После получения данных сервер должен записать в сокет, из которого он сделал recv, ответ через send.

    Клиент после отсылки данных должен из сокета читать ответ.
    Ответ написан
    Комментировать
  • После закрытия скомпилированной программы появляется ошибка Debug Assertion Failed?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как исправить?

    Прочитать сообщение об ошибке для начала. Понять, что оно говорит о том, что поломана куча. Силой мысли найти место в программе которое её ломает. Если силой мысли не получается, то скомпилировать программу с какими-нибудь полезными отладочными опциями, запустить и проанализировать вывод. Для gcc это была бы опция -fsanitize=address, что у M$ для этого есть я не знаю.
    Ответ написан
    1 комментарий
  • Как накидать логику работы будущей программы?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Вы не научитесь писать и проектировать программы, если самостоятельно не набьете на этом шишек.

    Переписывание программы заново - нормальный процесс, называемый рефакторингом. "На берегу", еще до начала написания кода, вы не будете видеть все тонкости и нюансы. Так что хлопанье себя по лбу и отправка кода в корзину = нормальный творческий процесс разработки.

    После нескольких таких заездов по граблям вы получите опыт - ошибки и трудности, с которыми вы начнете сталкиваться будут такие, что ни в книге сказать, ни на StackOverflow прочитать.
    Ответ написан
    1 комментарий
  • Что не так с наследованием?

    Nipheris
    @Nipheris Куратор тега C++
    Т.к. и базовый класс и класс-наследник являются шаблонными, то компилятор C++ считает, что члены класса mnoj являются так называемыми "зависимыми идентификаторами" (dependent names). Такие идентификаторы по-умолчанию не включаются в процесс разрешения имён и их нужно "затаскивать" в него явно.

    Вариант 1 (советую его): обращаться к полям базового класса через this: this->index - это вообще хорошая практика - сразу видно, где используется локальная переменная, а где идёт работа с состоянием объекта.
    Вариант 2: использовать using mnoj<T>::index; и using mnoj<T>::mas внутри описания класса mnoj1.
    Ответ написан
    3 комментария
  • Почему я не могу инициализировать свою структуру как примитивы языка?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    int a(10); // работает
    MyStruct b(); // не работает

    смотри, я пофиксил твой кейс:
    int a(); // не работает
    MyStruct b(); // не работает

    -- теперь одинаково не работает. Ну т.е. одинаково работает, но вместо определения переменной объявляет функцию.
    Или так:
    int a(10); // работает
    MyStruct b(10); // работает

    если завести у MyStruct конструктор с целочисленным параметром.
    Если серьёзно, то в чём проблема-то?
    Ответ написан
  • Почему работает const, а не constexpr для char*?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Дело в том, что указанный слева квалификатор const относится к правой половине спецификации типа до первого модификатора.
    const char& - ссылка на константный символ. Квалификатор - const, модификатор - &.
    const char* - указатель на память константного символа. Квалификатор - const, модификатор - *.

    При этом, указанный справа квалификатор const относится ко всей части спецификации типа левее, включая все модификаторы.
    char* const - константный указатель на память символа.
    const char* const - константный указатель на память константного символа.
    char* const * - указатель на память константного указателя на память символа.
    char& const существовать не может, т.к. квалификаторы не применяется к ссылкам. Тут будет ошибка трансляции.

    И при чем же здесь constexpr? Просто constexpr всегда относится только ко всей спецификации типа со всеми модификаторами.
    const char* - указатель на память константного символа.
    constexpr char* - константный указатель времени компиляции на память символа. Тут нет ошибки, память символа тут считается модифицируемой.

    И если объект с типом constexpr char* получит характеристику ODR-used [?], то после трансляции кода это будет уже объект с типом char* const. Вот так.
    В то же время, строковые литералы имеют тип const char[N], т.е. статически определенный массив константных символов. Такой тип можно привести только к типу const char*.

    В результате, чтобы правильно определить константный указатель времени компиляции на память константного символа, нужно тип определить как constexpr const char*.
    И const в этом месте никакого прямого отношения к constexpr не имеет.
    Ответ написан
    Комментировать
  • Какие файлы редактировать чтобы обычному пользователю дать право на sudo?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    1. Можно отредактировать сам файл /etc/sudoers, обычно это делается командой visudo от рута
    2. Просмотреть файл /etc/sudoers - если там есть доступ для какой-либо группы (например wheel,sudoers,admins), то просто добавить пользователя в эту группу (в /etc/groups)
    Ответ написан
    Комментировать