Задать вопрос
  • Netemul где я допустил ошибку?

    @res2001
    Developer, ex-admin
    С масками и адресацией все в порядке.
    По моему маршрут на R1 для 172.23.73.0/24 должен быть прописан для интерфейса 91.122.40.2.
    В реальности, обычно, интерфейс не задается явно для маршрута, он вычисляется сам по адресу шлюза.
    Ответ написан
  • Как перенаправить весь трафик на интерфейс VPN?

    @res2001
    Developer, ex-admin
    1. Добавить маршрут до внешнего адреса ВПН сервера через текущий шлюз по умолчанию
    2. Удалить текущий маршрут по умолчанию (0.0.0.0)
    3. Добавить новый маршрут по умолчанию через внутренний адреса ВПН сервера.
    Когда ВПН соединение разрывается необходимо все вернуть назад.
    Ответ написан
  • Как автоматизированно переименовать папки?

    @res2001
    Developer, ex-admin
    Вариант батника для файлов в одном каталоге и имена файлов не шаблонные:
    chcp 1251
    for /f "tokens=1,2 delims=<тут подставить символ TAB>" %%a in (file.txt) do (
        ren "<имя каталога>\%%a" "%%b"
    )

    список файлов для переименования складываете в файл file.txt кладете его рядом с батником. file.txt должен быть в кодировке 1251. Формат file.txt:
    <имя исходного файл с расширением><TAB><имя результирующего файла с расширением>

    В именах файлов не должно быть символа TAB
    В скрипт подставить соответствующие значения вместо комментариев в угловых скобках.
    В зависимости от того в каком виде вы можете предоставить список файлов, можно переделать скрипт.
    Скрипт не тестировал.
    Ответ написан
    Комментировать
  • Как в windows вывести в виде древа скрытые папки?

    @res2001
    Developer, ex-admin
    Наверное потому что у команды tree нет параметра --hidden, впрочем как и у dir.

    Можете написать небольшой скрипт: с помощью dir /ahd /b /s - выводите список скрытых каталогов, сохраняете его в файл. Дальше проходитесь attribом по каждому каталогу из файла и снимаете аттрибут "скрытый", выполняете tree, снова attribом устанавливаете аттрибут.

    Другой вариант - ищите стороннюю утилиту, которая умеет строить деревья каталогов включая скрытые.

    PS: вообще нафига вам эти заморочки со скрытыми каталогами? Что .git глаза мозолит?
    Ответ написан
  • Как выводить русские буквы в консоль на С++?

    @res2001
    Developer, ex-admin
    Вечная проблема :-)
    Каждый начинающий виндовый С++ программист должен пройти через это!

    1. Виндовая командная строка по умолчанию имеет кодировку cp866 (да-да, не cp1251). Не рекомендую выводить в UTF8, т.к. cmd до сих пор коряво работает с этой кодировкой.
    2. cmd и консоль powershell - это разные консоли
    3. Компилятор и стандартная библиотека (cin/cout) никак не конвертируют кодировки при вводе/выводе.
    (Возможно преобразование можно как-то задать, но по умолчанию это не делается.)
    4. Компилятор никак не преобразует ваши текстовые строки в программе при сборке, т.е. в какой кодировке вы написали строковую константу, та же кодировка будет выведена на консоль. Таким образом - имеет значение в какой кодировке у вас исходники!
    5. Кодировку в консоли можно поменять из самой консоли командой chcp. Часто так и делают. В русской винде 2 широко используемые кодировки консоли: cp866 и cp1251. Не стоит надеяться на то, что программа всегда будет запускаться только при одной кодировке.

    Исходя из вышенаписанного:
    1. Исходники всегда пишем в UTF8
    2. Перед выводом всегда преобразуем UTF8 в кодировку консоли. После ввода - то же самое. Есть соответствующие функции в WinAPI.
    3. Никогда не меняем принудительно кодировку консоли - это не удобно пользователям программы

    Для самого простого варианта - вы можете написать исходники в cp866 и по умолчанию в cmd у вас все будет нормально с кодировками.

    Удачи!
    Ответ написан
    Комментировать
  • Создание случайной строки в момент компиляции?

    @res2001
    Developer, ex-admin
    1.Текущий timestamp часто берут для инициализации стандартного С/С++ генератора случайных чисел.
    Пример можно найти, например тут: https://en.cppreference.com/w/cpp/numeric/random/srand

    2.Вам придется реализовать свой собственный constexpr rand(), т.к. стандартный не constexpr.

    3.Вам не нужно в принципе вызывать MessageBox и любые подобные функции на стадии компиляции программы.
    constexpr функции выполняются компилятором, поэтому на них накладываются достаточно серьезные ограничения. Когда программа исполняется вместо вызова constexpr функции уже стоит ранее вычисленное компилятором значение.
    Ответ написан
    8 комментариев
  • Как включить программу в автозагрузке C++?

    @res2001
    Developer, ex-admin
    Последний параметр в RegSetValueEx для REG_SZ должен содержать длину строки + 1 на завершающий нулевой символ (strlen(arr)+1) (https://docs.microsoft.com/en-us/windows/win32/api...)

    Не используйте MAX_PATH - это древний уже неактуальный вариант. Читайте до просветления: https://docs.microsoft.com/en-us/windows/win32/fil...
    Ответ написан
    Комментировать
  • Как отпарить POST запрос на сервер на чистом Visual С++ или WinApi по HTTPS и HTTP протоколам?

    @res2001
    Developer, ex-admin
    Можно использовать функционал микрософтовской библиотеке wininet. Есть по умолчанию в винде. Можете начать отсюда:
    https://docs.microsoft.com/en-us/windows/win32/api...
    https://docs.microsoft.com/en-us/windows/win32/api...

    Правда я не знаю, что там у нее с поддержкой HTTPS.
    Ответ написан
    Комментировать
  • Какие посоветуете книги для того чтобы понять как устроен python "под капотом"?

    @res2001
    Developer, ex-admin
    Для понимания как оно устроено под капотом полезно написать на С/С++ какой-нибудь модуль для питона с помощью Python C-API.
    У Бизли в его подробном справочнике есть не плохое введение в эту тему. На русском лучшего больше ни у кого не видел.
    Но в целом Бизли для затравки, остальное из документации по ссылке достаточно, что бы написать модуль.
    Так же можно поковырять исходники питона, там в принципе все достаточно не сложно устроено.

    Все это, конечно, потребует знания С/С++, но ведь и питон написан на Си, так что, чтоб понять как там все внутри в любом случае надо на каком-то уровне освоить Си.
    Ответ написан
    Комментировать
  • Как и где найти единомышленников, чтобы писать свой проект?

    @res2001
    Developer, ex-admin
    Идите работать за деньги, там скорее всего и команда найдется и реальных задач накидают.
    Ответ написан
    Комментировать
  • Определение для переменной укзателя double?

    @res2001
    Developer, ex-admin
    double *dPtr;
    :)
    Ответ написан
    Комментировать
  • Библиотека и пространство имен. В чем разница?

    @res2001
    Developer, ex-admin
    Когда вы пишите код, то вы работаете с пространством имен.
    После того как вы собрали свою программу и запустили ее, программа работает с библиотекой, там уже нет никаких пространств имен.
    В библиотеке может быть несколько пространств имен или не одного (точнее вся библиотека размещается в одном глобальном пространстве имен).

    Если опуститься ниже, то библиотека это файл *.dll и/или *.lib (для винды), пространство имен объявляется в *.h файлах.
    Ответ написан
    Комментировать
  • Как вы поступаете с темами которые плохо понимаете?

    @res2001
    Developer, ex-admin
    Если тема просто интересна для собственного развития, то возвращаюсь время от времени с постепенным более углубленным погружением. Часто бывает процесс затягивается на долго, особенно если есть нехватка качественных материалов.
    Если тема нужна здесь и сейчас, то долбаю до состояния когда могу осознанно применять полученные знания в конкретной задаче. Обычно 1-3 дня хватает для погружения в не слишком сложную тему. Но порой попадаются и достаточно сложные темы, так что недели проводишь копаясь в материале. В таких случаях часто изучаешь только то что нужно для данной конкретной задачи, опуская какие-то не значащие сопутствующие вещи. Бывает потом приходится возвращаться, чтоб изучить, то что пропустил.

    В ходе изучения чего-либо остро стоит вопрос качества материалов. В инете как правило качество материала оставляет желать лучшего. Приходится перелопачивать много хлама, чтоб найти то что нужно. Чем больше погружен в тему, тем проще отличить хлам от бриллианта. Бывает в ходе поисков натыкаюсь на какую-то книгу лохматых годов издания, но в ней все хорошо расписано. Иногда даже покупаю такие раритеты на букинистических сайтах, чтоб было в коллекции.
    Ответ написан
    Комментировать
  • Какие есть программы под windows для Туннелирование трафика?

    @res2001
    Developer, ex-admin
    Встроенный IPSec
    Ответ написан
    Комментировать
  • Как демодулировать BPSK сигнал из .wav файла?

    @res2001
    Developer, ex-admin
    Matlab нормально работает с wav файлами.
    Пример тут: https://www.mathworks.com/help/matlab/ref/audiorea...

    На C\С++ достаточно просто работать c wav файлами, используя, например библиотеку libsndfile.
    Ее порт есть и на питоне, и наверное еще в разных ЯПах.
    Ответ написан
  • Как исправить зависание на логотипе виндовс 10?

    @res2001
    Developer, ex-admin
    С таким описанием проблемы могут быть много где, начиная от кривых драйверов, блока питания и заканчивая процом.

    Что можно предпринять:

    1.Протестировать оперативную память
    Делаете загрузочную флэшку с memtestом и грузитесь с нее.
    Гоняете мемтест. Если ошибки есть и у вас несколько плашек памяти, то нужно выявить сбойную плашку. Оставляете одну плашку и повторяете мемтест, потом меняете плашку и снова тест и т.д. На какой плашке будут ошибки ту и надо поменять. Сбойными могут быть несколько плашек памяти.
    Зависания в этом случае могут быть как признаком ошибки памяти так и признаком других проблем.

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

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

    4. Тест диска.
    Вряд ли в проблеме виноват диск, но это сделать легко, загрузившись с той же флэшки.

    5.Тест блока питания
    Если есть возможность поменять блок питания на заведомо рабочий, отключить все диски, загрузится с флэшки и погонять нагрузочные тесты. Если зависаний не будет (но были на п.1), то видимо причина в блоке питания - покупаете новый БП.

    Если все вышеперечисленное не поможет выявить проблему - в сервис. В этом случае причина скорее всего в материнке или в самом проце.

    Хороший конструктор для изготовления загрузочной диагностической флэшки: https://adminpe.ru/winpe10/
    Ответ написан
    1 комментарий
  • CMD/BAT - Пакетное переименование файлов(.jpg) в разных папках (BAT)?

    @res2001
    Developer, ex-admin
    Примерно так:
    @echo off
    setlocal enabledelayedexpansion
    for /d %%a in (*) do (
      set "count=1"
      for %%b in ("%%~a\*.jpg") do (
         ren "%%~b" "%%~na_!count!%%~xb"
         set /a "count=!count! + 1"
      )
    )

    Сейчас под рукой винды нет - протестировать не могу.
    Никаких файлов со списком папок не требуется. Скрипт проверяет все подпапки в текущей папке и переименовывает все jpg
    Ответ написан
    6 комментариев
  • Не побьет ли новый выпуск Убунты биос от Lenovo, как это было раньше?

    @res2001
    Developer, ex-admin
    Стоит на Lenovo Z510 Ubuntu с версии 18.04. Уже несколько лет - полет нормальный. Про ошибку не знал. Может поэтому "полет нормальный" :-)
    Ответ написан
    2 комментария
  • Как батником открыть программу задать в нее данные?

    @res2001
    Developer, ex-admin
    В текстовый файл забиваете вводимую информацию, затем этот файл с перенаправляете в stdin вашей программы:
    python myscript.py <file.txt
    Ответ написан
    Комментировать