Задать вопрос
  • Какие библиотеки для SQL на C++ есть?

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

    @res2001
    Developer, ex-admin
    Кажется, что вся эта конструкция держится на том, что тот единственный корневой (?) сертификат, которым подписаны все остальные, есть только у удостоверяющего центра.

    Нет. Закрытый ключ этого сертификата есть только у удостоверяющего центра. А сам сертификат раздается всем подряд и даже в некоторых случаях предустановлен. Если у ЦС утечет закрытый ключ, это означает компрометацию всех подписанных им сертификатов.
    А держится вся схема на том, что обе стороны обмена "доверяют" центру сертификации.

    Про fiddler не понял вопроса. Почему он должен не работать? Многие приложения работают с сертификатами. Вы даже сами можете завести свой собственный ЦС и генерить сертификаты своим знакомым.
    А не тем левым, который кто-то подложил в систему.

    Например, подложив левый сертификат ЦС, можно сделать фишинговый сайт с сертификатом, подписанным этим левый ЦС и у вас в браузере все будет красиво. Вряд ли кто-то пойдет проверять подробности сертификатов. А фишинговым сайтам может быть сложно получить "правильный" сертификат. Хотя сейчас, по моему, это уже не актуально - есть службы генерирующие сертификаты всем подряд.
    Ответ написан
    Комментировать
  • Хранение файлов за 2 месяца + 1 файл первого числа месяца?

    @res2001
    Developer, ex-admin
    Можно вызывать в cmd конвеер, в котором попытаться отфильтровать файлы за первое число.
    Примерно что-то такое:
    forfiles -p "c:\folder" -s -m *.* -d -1 -c "cmd /c (dir @path | findstr /v /r /c:"тут регулярное выражение для поиска 1 дня в дате") && del /q @path"

    Это лишь схема, как можно подойти к решению. Ничего не отлаживал.
    Конвеер можно отладить отдельно, запихнув его в батник или прямо из командной строки.
    Сформировать регулярное выражение, думаю, будет не трудно. Я давно ими не пользовался, так что выветрилось из головы, а вспоминать лень.
    Вижу некоторые трудности со вложенными кавычками, возможно надо как-то их экранировать. Может что-то по этому поводу есть в справке по forfiles.
    Кстати, формат вывода даты в dir зависит от системных настроек формата даты, так что на разных компах он может быть разным. Имейте это ввиду. cmd не умеет работать с датами, поэтому приходится использовать только возможности работы со строками.
    Ответ написан
    Комментировать
  • Ошибки этой быть не должно, почему возникает?

    @res2001
    Developer, ex-admin
    Нужно добавить в INCLUDES опцию -I с путем к папке, где содержится Machinarium/Filesystem/Utils.hpp
    Ответ написан
  • Почему вставка элементов занимает такое время?

    @res2001
    Developer, ex-admin
    Потому что, чтоб вставить элемент в массив в произвольное место, надо все остальные элементы сдвинуть на одну позицию.
    Для вставки в список вы должны передать операции ссылку на элемент перед которым (или после которого) должен быть вставлен новый элемент. Имея такую ссылку операция происходит за константное количество шагов.
    Такая же ситуация и с операцией удаления произвольного элемента.
    Ответ написан
    Комментировать
  • Ошибка mutex слишком много обращений к объекту?

    @res2001
    Developer, ex-admin
    Найдите тут подходящую под ваше описание ошибку
    https://linux.die.net/man/3/pthread_mutex_lock
    Я что-то не нашел.
    Единственный более-менее подходящий с натяжкой вариант - EAGAIN - возвращается в случае рекурсивного мьютекса при превышении максимального количества блокировок.

    В целом реализации мьтексов могут быть разные и если это не POSIX совместимая реализация, то вероятно такая ошибка возможна. В этом случае смотрите документацию к вашей системе.
    Ответ написан
    1 комментарий
  • Почему после переезда на другой сервер nodejs иногда при запросах выдаёт ETIMEDOUT?

    @res2001
    Developer, ex-admin
    Таймаут при вызове connect. Это, в принципе, нормально и вполне вероятно в любых сетевых приложениях. Это может говорить о недоступности удаленной стороны или плохом качестве связи.
    Обычной реакцией на подобную ошибку может быть повтор операции или завершение приложения с ошибкой.
    Ответ написан
    Комментировать
  • Как сделать полную блокировку windows update на 10-ке?

    @res2001
    Developer, ex-admin
    Что вдруг такая борьба с обновлениями?

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

    Последний раз подобным занимался на Вин7. Но, думаю, и с Вин10 такой подход вполне прокатит.
    Ответ написан
    3 комментария
  • Можно ли зайти на Linux сервер имея только SSH Private Key?

    @res2001
    Developer, ex-admin
    На стороне клиента используется его приватный ключ. Публичный ключ лежит на сервере.
    Имея приватный ключ можно подключиться по ssh, если на сервере лежит парный ему публичный ключ.
    В вашем случае, видимо публичный ключ лежит на сервере в ~/.ssh/authorized_key
    Ответ написан
    Комментировать
  • Почему в СТЕКЕ разрешается выделять достаточно мало памяти?

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

    @res2001
    Developer, ex-admin
    На роутере пробрасываете порты на локальный адрес и порт веб сервера. При этом внешний порт может отличаться от внутреннего, используемого веб сервером.
    После этого веб сервер должен быть доступен из вне по внешнему адресу роутера.
    Если по какой-то причине сайт не работает - включаете логи на веб сервере и смотрите какие запросы приходят и ответы сервера. Устраняете ошибки в конфигурации веб сервера.
    Прохождению трафика может препятсятвовать фаервол. Фаервол может быть и на веб сервере и на роутере и оба могут блокировать трафик.
    Тестируйте для начала по внешнему IP роутера. Только после того как этот вариант заработает, настраиваете DNS и продолжаете тестирование по доменному имени. Не стоит сразу все мешать в кучу, так будет труднее разбираться.
    Ответ написан
  • Есть ли какое то практическое руководство по программированию контроллера жестких дисков?

    @res2001
    Developer, ex-admin
    Диск же, видимо SATA? Значит вам нужен не контроллер диска, а SATA контроллер - это несколько разные вещи.
    Смотришь какой у тебя SATA контроллер, идешь на сайт производителя и качаешь документацию.
    SATA контроллер может быть встроенным в ЦП в SoC системах. Тогда ищешь документацию по SoC и там раздел по SATA. У производителя можно попытаться найти исходники драйверов SATA под какую-то ОСь.
    У некоторых производителей эта информация может быть закрыта и исходников драйверов то же нет.
    Реализацию драйвера SATA можно посмотреть в исходниках ядра Линукс.
    Ответ написан
    2 комментария
  • Утечка памяти sqlite 3? Откуда?

    @res2001
    Developer, ex-admin
    Не работал с sqlite.
    В table_exists не вызывается sqlite3_finalize. Похоже утечка тут.
    Но ошибка ссылается на 54 строку, что странно. Тут выглядит все Ок.
    Ответ написан
    Комментировать
  • Возможно ли сделать в среде виртуализации коммутотор и маршрутизатор?

    @res2001
    Developer, ex-admin
    Можно. В том или ином виде виртуальный маршрутизатор там есть (не скажу только за qemu), т.к. виртуальным машинам надо эмулировать сеть. Естественно это не аналог какой-нибудь cisco, просто настройки подсетей, VLANов, чего-то еще. Смотрите родную документацию по продукту.
    Ответ написан
    Комментировать
  • Безопасен ли общий IP для VPN?

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

    Есть такое. Но заблочат только на том ресурсе, на котором этот кто-то накосячил.
    Если выделенный IP стоит дополнительных денег, то скорее всего за те же деньги можно арендовать VDS и поднять там свой собственный VPN.
    Ответ написан
    Комментировать
  • Как отключать дисплей через n минут (bat настройка) в домене и без него?

    @res2001
    Developer, ex-admin
    Просто настройте скринсейвер нормально.
    Это можно сделать через реестр для не входящих в домен. После правки реестра начнет работать после перезагрузки. Ключи реестра не скажу, но, думаю, их можно нагуглить без проблем.
    В доменных - наверняка должно быть в GPO.
    Ответ написан
  • Как настроить несколько параллельных RDP-соединений через Windows VPS?

    @res2001
    Developer, ex-admin
    Какая версия винды стоит на VPS?
    Если Windows 10 (7, 8, 11) - то это ограничение десктопной версии винды - она однопользовательская, в том смысле, что одновременно работать может только один пользователь. Это лицензионное ограничение.
    Для многопользовательской работы предусмотрена Windows Server, количество одновременных соединений так же лицензируются отдельно. Вообще тема лицензирования Windows Server довольно не простая.
    На гитхабе есть RDP wrapper, который снимает это ограничение для RDP сессий на десктопной винде. Но вы должны понимать, что это нарушение лицензии. Если VPS в РФ, то сейчас на это можно не обращать внимание. Но думаю, что это не на долго.
    Ответ написан
    Комментировать
  • Перенести каждый файл в свою папку и переименовать папку в имя из имени файла?

    @res2001
    Developer, ex-admin
    Проходитесь по всем файлам в каталоге с помощью цикла for.
    Выделить подстроки в имени файла можно с помощью for /f, установив соответствующий разделитель.
    Создать каталог md
    Перенести файл: move
    За подробностями:
    for /?
    md /?
    move /?

    Наверняка понадобится отложенное расширение переменных:
    setlocal /?
    Ответ написан
    1 комментарий
  • Как организовать сеть (теория)?

    @res2001
    Developer, ex-admin
    0. Да
    1. Да
    2. Да. Только 192.168.111.0 - не подойдет для маски 22. Вам нужно подтянуть теорию по IP адресации.
    3. Тут нет классических/не классических вариантов. Погуглите "серые IP фдреса", узнаете, что подсеть 10.0.0.0/8 - вполне себе "классическая" серая подсеть. Обычно используют 10 подсеть там где очень много компов в сети - несколько тысяч.
    4. Обычно для "общего" влана используют VLAN0, он же влан по умолчанию. В коммутаторах, обычно, этот ВЛАН уже есть и в него входят все порты как не тегированные и, по моему, это изменить нельзя.
    5. Без разницы. Смотрите по факту. Например у вас по каким-то причинам появилась группа компов в своем ВЛАНе или своей подсети и ей нужен "свой" сервер, логично этот сервер поместить в эту же подсеть/влан.
    Имейте ввиду, что помещая сервера в дургие подсети, потребуется обеспечить маршрутизацию между подсетями. Часто это может быть связано с дополнительными пересылками трафика, которых можно избежать, поместив сервера в ту же подсеть с пользователями.
    Вообще тут часто играют внешние факторы, например дополнительные требования к безопасности для каких-то серверов и т.п.
    6. то же что 5.
    7. IP телефония как и камеры то же генерирует сетевой трафик, если его будет слишком много, он может мешать нормально работе сети. Тупо перегрузка сети, дополнительная нагрузка на коммутатор, большие лаги и т.п. Кстати - и наоборот то же актуально - если повышается нагрузка на сеть, то можете столкнуться с тем, что по телефону станет сложно разговаривать. И вообще в случае аварийной ситуации в сети, хорошо когда хотя бы телефоны работают. А то знаете - сбой сетевого адаптера в любом ПК, он начинает флудить пакетами в сеть и телефоны то же перестают работать - апокалипсис местного масштаба.
    8. Да.
    9. Сомневаюсь, что тут есть какие-то рекомендации. Я всегда помещал принтера в ту же подсеть и влан, в котором сидят его пользователи. Естественно, под принтера выделяется отдельный поддиапазон адресов, который не раздается по DHCP пользователям. Если у вас централизованный принт-сервер, то возможно будет удобнее выделить принтера в отдельную подсеть/влан. На мой взгляд, если нет дополнительных требований/хотелок, то нет смысла усложнять схему.
    Ответ написан
  • Как задать размерность массива при помощи константы?

    @res2001
    Developer, ex-admin
    Задай с помощью defineа.
    Размерность статического массива должна быть известна на этапе компиляции. А значение константы в общем случае может быть не извесно при компиляции. К сожалению в Си незавезли из плюсов constexpr.
    Ответ написан
    8 комментариев