Задать вопрос
  • Как запустить cmd как окружение?

    @res2001
    Developer, ex-admin
    Вам нужно запустить cmd обычным процессом, перенаправив stdin и stdout cmd в каналы, которые вы будете контролировать из питона. Смотрите:
    import os
    import subprocess
    help(subprocess.Popen)
    help(os.pipe)
    Ответ написан
    Комментировать
  • Как научиться решать задачи по программированию с большими числами?

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

    @res2001
    Developer, ex-admin
    В корзине удаленные файлы не смотрел?
    Не удаляй никогда руками файлы из системных каталогов, если на 100% не уверен в том, что делаешь.

    Можно переустановить студию. Но конечно гарантий нет, что заработает. Даже что удалится и потом установится. Так как не известно что ты там наудалял.
    Еще варианты, если какая-то софтина не работает, можно посмотреть ее зависимости с помощью dependency walker и например взять нужные библиотеки с другого компа с такой же версией винды. Но проще уж найти флэшку и переустановить винду. Кстати можно и "дедовским" способом - записать образ на DVD, вдруг где-нибудь завалялся DVD-RW.
    Ответ написан
  • Как выводить цветной текст в bat'нике?

    @res2001
    Developer, ex-admin
    Для полноценного управления цветами используйте Esc последовательности. Вот пример.
    По моему, этот метод работает только начиная с Вин10. В более ранних версиях винды не поддерживался. Сам не проверял.
    Вот дока от микрософта: https://docs.microsoft.com/en-us/windows/console/c...
    Ответ написан
  • Выбор VPN решения (VPS)?

    @res2001
    Developer, ex-admin
    С веб мордой вряд ли что-то найдете. Разве что на VPS воткнете что-то типа pfsence или аналогов.
    Я голосую за openvpn :-)
    Ответ написан
    Комментировать
  • Как получить доступ к оболочке в программе на C на строке system("/bin/bash"); если запускать программу из sh-скрипта?

    @res2001
    Developer, ex-admin
    system() не предоставляет подобного функционала.

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

    Если обратная связь не нужна (т.е. не нужно читать, то что пишет дочерний процесс), то можно делать по упрощенной схеме через popen/pclose.

    На эту тему в гугле и в литературе масса информации, просто правильно задайте вопрос. Искать нужно что-то типа "перенаправление stdin stdout"

    PS: запуск из sh скрипта или на прямую значения не имеет.
    Ответ написан
    Комментировать
  • На каком ресурсе можно получить данные о общем количестве зараженных и общем количестве смертей за n дней в формате .xlsx?

    @res2001
    Developer, ex-admin
    Данные на которых строят свой dashboard университет Хопкинса лежат тут.
    Инструкции по импорту и т.п. можно найти тут. Там по ходите по ссылкам на блоги, в которых все описывается.
    Есть и другие ресурсы, которые работают с этими данными. Данные регулярно обновляются.
    Ответ написан
    Комментировать
  • Какой деббагер для NASM посоветуете?

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

    @res2001
    Developer, ex-admin
    Сделайте загрузочную диагностическую флешку и с ее помощью протестируйте память, диск, устройте стресс тест проца и видюхи. В ходе нагрузочного теста контролируйте температуру проца и видео.
    Если тесты пройдут нормально - проблема софтовая. Возможно какой-то драйвер кривой стоит. Можно, конечно, отключать устройства и/или удалять софт и тестировать дальше, можно просто переустановить винду.
    Если тесты не проходят - значит проблема в железе. Заодно в ходе тестов примерно локализуете проблему.
    Ответ написан
    Комментировать
  • Как подключить библиотеку?

    @res2001
    Developer, ex-admin
    libc/libcmt - это стандартная библиотека, отличаются они разным способом компоновки (libc - динамическая, libcmt - статическая). Есть еще аналогичный комплект для отладочной сборки.
    Стандартная библиотека должна быть в составе студии, причем все ее варианты. Если нет, возможно студия как-то криво поставилась. Или возможно вы ставили выборочную установку и чего-то не включили. Попробуйте переустановить студии или добавить необходимые компоненты. Возможно вы не включили в установку SDK (сейчас не могу точно посмотреть название пакета в инсталяторе, т.к. нет винды со студией под рукой).

    Компоновщик (линкер) есть по любому, просто он вызывается компилятором. Именно он собирает из объектных файлов и библиотек исполняемый файл. Компоновщик является неотъемлемой частью процесса сборки и поставляется вместе с компилятором. Опции ему передаются через опции компилятора. Например те же MT/MD, а так же -L/-l - это опции компилятора для компоновщика.
    Если собирать проект вручную (или через nmake/make), то можно вызывать компоновщик напрямую, задавая необходимые опции. Но студия делает это за вас.
    Ответ написан
  • Удаляется первый символ строки. Как пофикить?

    @res2001
    Developer, ex-admin
    У вас не правильно объявляется массив messge и line. Нужно так:
    char message[255]
    Первый символ у вас видимо съедает getchar(). С какой целью вы их втыкаете везде?
    Ответ написан
    1 комментарий
  • Могут ли вирусы переходить на другой компьютер при подключении по RDP?

    @res2001
    Developer, ex-admin
    Если не брать в расчет, что в самом RDP могут быть какие-то уязвимости, то передать вирус юзера могут только скопировав какой-то файл со своего компа на рабочий, если мапятся диски. Скопировать файлы теоретически может и вирус работающий на домашней машине клиента. Но передать файл мало - его надо еще и запустить удаленно. Если зловред подменит собой стандартный RDP клиент - то тут он сможет сделать уже много чего в рамках пользовательских прав на удаленном ПК. Я про такой вариант вирусов не слышал, но теоретически - почему бы и нет.
    Защита обычная - антивирус на удаленном компьютере и только ограниченные права + блокирующий корпоративный фаервол. Принудительно не мапить диски и прочие флэшки. В таких условиях и в локальном варианте вирусу достаточно трудно развить свою деятельность.
    На счет настроек RDP на десктопной винде - да кнопочек нет, но все то же самое есть в GPO и в локальных политиках безопасности (если AD не развернута).

    Я бы не пускал юзеров на свои локальные компы в сети удаленно, т.к. вы получаете Nое количество толком не контролируемых точек входа в сеть. Вирус то может туда и не проникнет, а вот сами пользователи смогут унести все что плохо лежит.
    По уму выделить терминальный сервер в ДМЗ. С него предоставить доступ в ЛВС через дополнительный (не локальный) закрытый фаервол с доступом только к нужным сетевым ресурсам. Нужные файлы пользователи должны держать в доступных сетевых каталогах. В терминальном сервере оставить работающими только безопасные защищенные протоколы, настроить полноценный сертификат с собственным ЦА, обязательно включить авторизацию на уровне сети.
    Ответ написан
    Комментировать
  • Как настроить OpenVPN для работы в LAN из WAN?

    @res2001
    Developer, ex-admin
    А у вас компы внутри сети знают про маршрут к ВПН клиенту?
    Это работает сразу только в случае, если ВПН сервер является одновременно и шлюзом по умолчанию для компов внутри сети. На сколько я понимаю, это не ваш случай. Если это так, то нужно на компах прописать маршрут к ВПН сети и шлюзом указать внутренний адрес ВПН сервера. Маршруты можете прописывать любым доступным способом: руками, через DHCP, через GPO ...
    Ответ написан
    3 комментария
  • OpenVpn перестал соединять, что случилось?

    @res2001
    Developer, ex-admin
    error=unable to get local issuer certificate:

    У вас проблема с сертификатами.
    Возможно закончился срок действия вашего сертификата или сертификата ЦА или на сервере сменили сертификат ЦА и свой серверный. В общем комбинаций несколько, т.к. в цепочке подключения обычно используются 3 сертификата (ваш, сервера, ЦА).
    В конфиге openvpn в соответствующих директивах указаны пути к файлам сертификатов, проверьте их. Обычно их содержимое в читабельном виде, но могут быть варианты.
    Ответ написан
    Комментировать
  • Как дождаться выполнение предыдущей команды?

    @res2001
    Developer, ex-admin
    Вам нужен батник, который это делает?
    file1.js стартуйте через команду start
    file2.js - старутйте обычным образом (без start).
    Они, конечно, стартуют не одновременно, но по крайней мере file2.js запустится сразу после того как стартанет file1.js. При этом батник будет ждать когда закончит выполнение file2.js и только после этого продолжит выполняться дальше.
    В конце стартуйте file3.js.
    Если до старта file3.js нужно убедится что точно file1.js и file2.js завершили работу (file2.js точно уже завершил работу, а вот file1.js все еще может работать, т.к. запускался через start и с ним батник никак не синхронизирован), то перед его стартом нужно с помощью tasklist в цикле с паузой проверять работает ли еще file1.js.
    Ответ написан
    Комментировать
  • Как пробросить порт через VPN туннель между двумя Mikrotik?

    @res2001
    Developer, ex-admin
    маршруты до сетей прописаны, локальные сети между собой взаимодействуют

    Если это так, то локальный адрес веб сервера должен быть доступен из второй сети. Не нужно ничего пробрасывать. Все работает.
    Если веб сервер не доступен, то что вы имели ввиду под этой фразой? Какой-то противоречие тут.

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

    @res2001
    Developer, ex-admin
    Делайте перенаправление вывода второго скрипта в файл, тогда по размеру файла вы сможете определить, что он какое-то время бездействует.
    Либо можно более технологично - в запускающем скрипте делаете перенаправление в pipe для запускаемого и работаете с каналом, а не с файлом.
    Но лучше бы выяснить причины зависания скрипта и бороться с ними, а не придумывать костыли.
    Ответ написан
    Комментировать
  • Разъясните пожалуйста как работает VPN (UDP и TCP)?

    @res2001
    Developer, ex-admin
    Софт ВПН создает виртуальный сетевой адаптер, который с точки зрения пользователя работает так же как все остальные железные, т.е. по нему может ходить любой трафик (не только TCP/UDP).
    После того как любой трафик попадает в виртуальный сетевой адаптер он шифруется и отправляется на ВПН сервер. Для отправки как раз используется TCP или UDP, который вы настроили в конфиге OpenVPN. На ВПН сервере зашифрованные пакеты расшифровывваются и к ним применяются обычные правила маршрутизации TCP/IP, после чего расшифрованные пакеты попадают клиентским приложениям.
    От себя добавлю, что OpenVPN по UDP более "отзывчив" и более приспособлен к работе на плохих каналах связи.
    Ответ написан
    Комментировать
  • На чем лучше писать на языке Си?

    @res2001
    Developer, ex-admin
    IDE включает в себя в том числе и текстовый редактор, заточенный именно под создание кода.

    В винде MSVS не плох, но имейте ввиду, что компилятор по умолчанию (микрософтовский cl) официально не поддерживает стандарты Си. Возможно поддерживает ANSI C, но тут я не в курсе, т.к. он не актуален. Какие-то вещи из свежих стандартов работают, другие нет, некоторые работают, но не совсем так как в стандарте.
    gcc, clang - поддерживают стандарты.
    Я использую qtcreator. Его можно использовать даже если в проекте не применяется Qt и нет С++.
    Раньше использовал eclipse, но он написан на Java, соответственно тормоза в самый не подходящий момент, изрядно подбешивал этим.

    Тут еще важен момент, какую систему сборки использовать. Если используете MSVS + cl, то система сборки будет msbuild ну и там особо заморачиваться не нужно - конфигурируете проект в студии и все применяется как надо, по сути вы и не видите систему сборки, но она есть, как суслики.
    Так же MSVS поддерживает и другие компиляторы и системы сборки, например cmake, но тут уже придется изучать язык управления системой сборки и писать свои сборочные скрипты.
    В qtcreator по умолчанию используется qmake, так же умеет из коробки cmake. То же нужно писать сборочные скрипты.
    Eclipse - тут можно без системы сборки, через свойства проекта все делать. Eclipse сам все соберет. Но местами довольно запутано, хотя быстро привыкаешь. Кроме того в конце концов вам понадобится собрать проект без IDE (например у заказчика), вот тут вам и понадобится система сборки, которой вы не обзавелись в Eclipse и придется как-то выходить из положения. Я писал makefile в этом случае, мне казалось это самым простым вариантом. Сейчас я так не думаю - проще сразу делать проект используя какую-то систему сборки. В том числе и по этому отказался от Eclipse.
    Ответ написан
    Комментировать
  • Как ограничить доступ на изменения к папке с репозиторием git на windows server?

    @res2001
    Developer, ex-admin
    Есть альтернатива ssh доступу - git-демон.
    Входит в комплект с гитом. Принимает запросы по сети, без непосредственного доступа к файлам для клиентов. Не универсальный как ssh, поэтому с его помощью нельзя запустить например консоль :-) Но в отличие от ssh никак незащищает канал передачи, но в локальной сети это не актуально, а в интернете - доступ к нему можно завернуть в ВПН.
    Ответ написан
    Комментировать