Задать вопрос
  • Можно ли получить динамический ip-адрес, если включена услуга статический ip-адрес?

    @res2001
    Откажетесь от услуги, оператор начнет выдавать динамический адрес. Самостоятельно, без участия оператора, вы этого сделать не сможете.
    Написано
  • Почему трясётся виджет во время перемещения мышью?

    @res2001
    Предположу, что координаты мыши и окна в разных единицах измеряются. Соответственно deltу надо переводить в единицы окна перед сложением. Ну или координаты мыши сразу переводить в координаты окна и с deltой уже ничего не надо будет делать.
    https://doc.qt.io/qt-6/qwidget.html#pos-prop
    Написано
  • Проблемы с подключением заголовочных файлов на C++, как исправить?

    @res2001
    Adamos, Да, имя заголовка не удачное. То же думал написать об этом, но решил - пусть чел насладится процессом :)
    Написано
  • Как в Linux найти файлы одинакового размера?

    @res2001
    Теоретически:
    1. Делаете список всех необходимых файлов с полными путями, содержащий путь к файлу и размер
    2. Сортируете список по размеру
    3. Проходитесь по списку ищите файлы одинакового размера - они все будут рядом друг с другом. По каждому отдельному размеру файлов:
    3.1. По файлам с одинаковым размером считаете какую-нибудь контрольную сумму на выбор (MD5, CRC32, SHAXXX без разницы в общем), путь к файлу и контрольную сумму складываете в отдельный временный файл
    3.2. Полученный файл с контрольными суммами сортируете по контрольной сумме
    3.3. Проходитесь по файлу с контрольными суммами и удаляете файлы, где контрольная сумма повторяется с предыдущей
    4. Конец

    В принципе все это можно сделать не сильно сложным bash скриптом.
    Написано
  • Какая структура самая быстрая для поиска по числовым ключам без хэширования?

    @res2001
    Eugene Usachev, Вам бы посмотреть профайлером что у вас съедает производительность.
    Судя по всему хэш таблица вполне подходящая структура. Возможно вектор указателей - не совсем подходит.
    Написано
  • Почему я не могу сохранить изменение в файле, хотя у меня есть все права на каталог где он находится?

    @res2001
    Права на каталог может быть и есть. Есть ли права на файл? Наследование прав можно отключить.
    Возможно файл все еще открыт другим процессом.
    Написано
  • Можно ли обойти блокировку OpenVPN через другой VPN?

    @res2001
    Это не "ВПН поверх ВПН", это просто цепочка из ВПН подключений.
    Но роли это не играет, возможен и тот и другой вариант.
    Написано
  • Как перенести свободную память с sda3 на sda2?

    @res2001
    fwewefef,
    3. как так получается что каталог / всего имеет памяти 53GB, но в этом каталоге находится каталог на 945GB, лично для меня, как виндовс пользователя, это считается как будто есть диск с 50GB и на нем папки на 900 GB можно размещать

    Винда то же так умеет. Есть встроенная команда subst (в командной строке), которая позволяет планировать букву диска на какой-то каталог. Команда эта в винде есть давно, я ею пользовался еще в ВинХР, была ли она раньше не проверял.
    Написано
  • Как писать расширенный лог OpenVPN в Windows?

    @res2001
    PavelMos,
    Хочу подсоединиться к пpoтoну

    Протон - это https://protonvpn.com ?
    С чего вы взяли, что там нужен openvpn? Судя по сайту у них своя софтина для организации ВПН.
    Написано
  • Как писать расширенный лог OpenVPN в Windows?

    @res2001
    PavelMos, Видимо более расширенного лога у него для вас нет.
    Думаю стоит тут опубликовать, что выдает в лог openvpn при запуске соединения и возможно что он при этом пишет на экран.
    В любом случае ошибки должны попадать в любой лог.
    Написано
  • Как писать расширенный лог OpenVPN в Windows?

    @res2001
    Вроде бы у verb максимальное значение 9.
    Проверьте, чтоб у процесса openvpn были права на запись в этот файл.
    Возможно лог не пишется, потому что конфиг с ошибками. Тогда обычно openvpn пишет ошибку на экран и завершается.
    Написано
  • Почему клиент не подключается к серверу OpenVPN?

    @res2001
    carbanak01, Проверьте ключ tls на сервер и на клиенте, должен быть идентичен. Такая ошибка может быть из-за поврежденного или не правильного ключа.
    Добавьте в клиентский конфиг опцию key-direction 1. В опции tls-auth есть 2 параметр, в случае ее inline варианта этот параметр задается с помощью key-direction.
    Написано
  • Как сравнить char в с++ на пустоту?

    @res2001
    limaximy, Выводи ASCII код и просто сравнивай char с этим кодом, например сравнение с пробелом может быть таким: if( c == 32)
    При сравнении уже не нужно конвертировать в int, это нужно только для вывода на экран, чтоб выводилось число, а не символ.
    Написано
  • Как сравнить char в с++ на пустоту?

    @res2001
    В char не может быть пустоты. Переменная типа char - это выделенная память в 1 байт и этот байт ВСЕГДА что-то содержит.
    Самый простой способ узнать, что там у вас за "пустота" - запустить под отладчиком и по шагам пройти по коду, останавливаясь и уточняя возвращаемое функцией значение. Другой вариант, выводить не символы (char), а ASCII код символа, например через преобразования char в int.

    Кроме того, обычно функции должны каким-то образом сигнализировать об ошибках. Каким именно, возвращаемым значением или исключением, надо уточнить в документации. Если возвращаемым значением - вы в коде должны это как-то обработать.

    Если на экран символы не выводятся, то это еще не говорит о том, что там "пустота". Некоторые управляющие символы не печатаются на стандартный терминал.
    Написано
  • Как создать исполняемый файл с помощью make?

    @res2001
    Для проекта из одного файла исходного кода (хедер не считаем) не нужен make. Достаточно выполнить команду:
    gcc main.c -o name
    При условии, что программа не использует дополнительных библиотек, это будет работать.
    Написано
  • Видит ли провайдер к какому порту сервера я подключаюсь при использовании протокола SSH?

    @res2001
    ВПН сервер или все таки SSH? SSH - не ВПН и наоборот.
    Впрочем не важно. В любом случае номер порта - это часть транспортного протокола, которая не шифруется.

    Но вот если ВПН внутри SSH (или наоборот), то тут другое дело - порт внешнего протокола провайдер видит, а порт внутреннего протокола - не видит. Т.к. в этом случае внутренний трафик уже будет зашифрован внешним протоколом.
    Написано
  • Зачем передавать функцию как параметр через указатель с++?

    @res2001
    xfnxfn, имя функции - это указатель на функцию.
    Фактически в C/C++ при передаче функции запись func_name эквивалентна записи &func_name.
    Почти то же самое происходит и с передачей массива как аргумента функции.
    Написано
  • Проблема изучения C++?

    @res2001
    Станислав Романов,
    Вообще где-то читал на хабре, что учить плюсы по книгам — худшая из идей

    Хрень какая-то. Как по мне книги для начала наиболее полезны. Дальше вы уже можете углубляться по документации, статьям в интернете и т.д. и т.п. Но начинать стоит с книг. Плюсом можно использовать все что угодно.

    Из книг, возьми Прата. В принципе подойдет любая не совсем старая, где описан хотя бы С++11/14. Но только она должна быть для новичков с упражнениями и т.п. Гнаться за последними стандартами в книгах смысла нет, т.к. база языка меняется мало, тем более, что учебники обычно сильно отстают от стандартов.
    Написано
  • Проблема изучения C++?

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

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

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

    Если посмотреть, например, на ЯП Си, то там стандартная библиотека еще более скудная, чем в С++, но еще больше свободных библиотек в исходниках. Библиотеки, написанные на Си можно на прямую использовать на С++. В них, конечно, не будет ООП, но можно самому завернуть использование библиотеки в класс-обертку. Наоборот, для использования С++ библиотеки в Си нужно, чтоб этим озаботился разработчик библиотеки и предпринял необходимые действия.

    В связи с вышеизложенным, а так же из-за того, что С++ более низкоуровневый язык, стоит не повторять задачи на питоне, а брать более простые задачи. Можешь купить толстую книгу по С++ для начинающих, там обычно бывают задачи по темам, выполняй их. Выполнение более простых задач, применение решений простых задач для решения более сложных поможет развить очень полезный для программиста навык декомпозиции. Так же есть сайты, где предлагают решать задачи по программированию, можешь решать задачи там.
    Написано