Задать вопрос
  • Как перестать делать баги?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    Я делаю много, порой в 10 раз больше. Я не знаю как побороть это.

    Ну если не знаешь, то никак

    Я уже пишу тесты, знаю что и как, но даже это не успокаивает.

    Тесты не должны успокаивать, они должны выполнять свою задачу, а имено заниматься регрешеном и базовым юнит тестированием

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

    А как тесты тогда проходят? Можешь взять test-driven-development. Сперва пиши тест, закоммитить, убедись что он запустился и зафейлился, а потом пиши функционал. И тут уже пока тест не позеленеет, не пропустишь.

    Или я неправильно понял документацию или прочитал но не обратил на важные моменты.

    Читай внимательно, обращай внимание.

    Но как только возвращаюсь к известной таске то сразу появляется 100 багов. Из за того что я где то поменял. И вообще также заметил что даже в тексте тоже самое, порой раз несколько исправляю.

    Плохие названия функций/переменных? Недостаточно комментариев?

    И обычно я знаю правило чистого кода, пользуюсь eslint, изучал алгоритмы и решал задачки.

    Надо знать не обычно, а всегда, упрощает.

    Ну а так - самоорганизация это заставить себя делать аккуратно. Нет волшебного ингредиента.
    Ответ написан
    Комментировать
  • Как завершить ввод строки без нажатия enter?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Программа должна считывать отдельные нажатия, а не ввод строки целиком.

    Каждый раз после нажатия ввод (строка) должен формироваться из ранее нажатых клавиш. Пока он не валидный - продолжать ожидать следующие нажатия. Как только ввод стал валидным - принять его.

    Такое обычно практикуют при вводе подтверждающего кода из смс. Как только ввёл нужное количество цифр и/или правильный код, принять его.
    Ответ написан
    Комментировать
  • Как продолжить выполнение кода, не дожидаясь завершения потока?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    типа того:
    #include <iostream>
    #include <thread>
    #include <vector>;
    
    using namespace std;
    
    void go(int p) {
      while (1) {
        cout << p << endl;
      }
    }
    
    void main() {
      thread *t[3];
    
      for (int i = 0; i <= 2; i++) {
        t[i] = new thread(go, i);
        cout << 123;
      }
      for (int i = 0; i <= 2; i++) {
        t[i]->join();
        delete t[i];
      }
    }
    Ответ написан
    Комментировать
  • Как продолжить выполнение кода, не дожидаясь завершения потока?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Сохрани потоки куда-нибудь, и затем на каждлм из них сделай join. Именно он ждёт завершения.
    Ответ написан
    Комментировать
  • Как выполнить команду в .bat через psexec64 на удаленном ПК?

    @rPman
    PsExec64.exe \\PCNAME cmd.exe /c time 09:00:00
    Ответ написан
    Комментировать
  • Какие есть способы реализации системы внешних скриптов?

    @MarkusD Куратор тега C++
    все время мелю чепуху :)
    Инструментов для решения такого вопроса очень много.
    Методика решения всегда одна: необходимо выбрать и интегрировать в свой проект скриптовой движок.

    Вопрос выбора скриптового движка является очень сложным и зависит от множества неочевидных критериев. Ответ на такой вопрос сможет дать только опытный инженер, неоднократно имевший дело с разными скриптовыми движками. Потому что даже между Lua, LuaJIT и Terra разница по функциональности и особенностям интеграции является очень существенной.
    И, тем не менее, я этот вопрос оставлю открытым. На крайний случай всегда можно взять простой и легкий Lua, если глаза разбегаются, а решения нет.

    Как производят интеграцию. Например - так, так, так, так, так или вот так.
    После интеграции скриптового движка в свой проект, функциональность своего проекта можно прокинуть на сторону скриптов используя непосредственно API скриптового движка.

    Одним из критериев выбора скриптового движка является его производительность. Чтобы не занимать специалистов подобной рутиной, когда-то давно уже были проведены замеры версий различных скриптовых движков. Результаты замеров доступны всем желающим.
    Однако, стоит напомнить, что не всегда самое быстрое решение является самым оптимальным.
    Ответ написан
    1 комментарий
  • Git. Как подтянуть изменения из мастер-бранч в рабочую ветку?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    Я использую интерактивный rebase. Можете загуглить и посмотреть примеры.
    Ответ написан
    Комментировать
  • Парсинг и преобразование данных из 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 комментарий