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

    @res2001
    MaxxDamage, т.е. у вас играют обе директивы:
    push route - добавляете маршрут на клиенте в сеть за сервером
    route - добавляете маршрут на сервере в сеть за клиентом
  • Как заставить работать туннель от сервера к клиенту?

    @res2001
    MaxxDamage, push route - прописывает указанный маршрут на стороне клиента.
    Вам же нужно прописать маршрут на сервере, это директива route
    И не забывайте про п.2.
  • Как заставить работать туннель от сервера к клиенту?

    @res2001
    MaxxDamage, На сервере это делается в конфиге OpenVPN, смотри ссылку.
  • Как сделать грамотную декомпозицию ООП?

    @res2001
    Roman, Зато в векторе есть push_back() и pop_back().
    Классический стек - это аппаратный что ли? Конечно можно память адресуемую одним указателем и воспринимать как массив, но как-то это странно, имхо :-)

    dsherbakov, Вас в гугле забанили?
    Я вам дал ссылку на видюху :-) там чел пишет стек. Подобного добра в гугле хватает.
    Вот тут про наследование. Вам не нужно писать лишнего в классах, не относящихся к самому стеку, можете просто в конструкторе что-нибудь вывести на экран и все. Просто формально несколько ничего не делающих классов, которые образуют некоторую иерархию наследования, чтоб сделать 5 классов как требуется.
    Эти дополнительные классы вы будете в main() создавать и помещать в стек, а потом извлекать.
    А сам стек делайте, чтоб он принимал ссылку/указатель на базовый класс вашей иерархии.
  • Почему нужно делать сложные пароли Windows?

    @res2001
    dserafimov, Пароль состоящий только из цифр подбирается за несколько минут при наличии доступа к базе паролей, т.е. физического доступа к компу (хотя бы чтоб загрузиться с флэшки и скопировать базу).
    Сам сталкивался с такими начальниками :-) бороться обычно бесполезно. Для таких особо одаренных есть регулярная смена паролей - настройте замену пароля раз в месяц и чтоб предыдущие пароли нельзя было использовать минимум год.
    Кстати, исключать физический доступ к компу нельзя, инсайдеры они везде вас окружают. Сегодня он нормальный сотрудник, а завтра решить отомстить компании :-)

    На практике архисложные пароли могут применять только спецы по ИБ либо те у кого от длины пароля зависит бабло. Для обычного персонала достаточно пароля в 7-10 символов (цифры, буквы, спец. символы) и регулярная смена паролей. Ну и весь остальной комплекс мер безопасности :-)
  • Как сделать грамотную декомпозицию ООП?

    @res2001
    dsherbakov, я уже писал, что для самого стека достаточно 1-2 классов/структур, остальные - придумайте сами произвольную иерархию классов, которые будете укладывать в стек.
    На счет реализаций - в гугле их полно.
    Стек одна из самых простых структур, вы просто начните думать в этом направлении и какое-то решение придет.
    К тому же в стандартном std:vector весь функционал уже есть, от вашей реализации стека требуется только спрятать лишнее.
  • Как заставить работать туннель от сервера к клиенту?

    @res2001
    MaxxDamage, Нужно!
    Тут 2 момента:
    1. Сам сервер должен знать, что за каким-то клиентом (их может быть много) находится какая-то сеть. Для этого есть соответствующие директивы для настройки клиента и сервера OpenVPN (смотри ссылку выше).
    2.Компы в сети за сервером должны знать, что сеть за клиентом доступна через вот этот сервер. Это уже отношения к OpenVPN не имеет. Если сервер OpenVPN является и шлюзом по умолчанию для компов внутри сети за сервером, то ничего дополнительно предпринимать не нужно. Если же нет - нужно любым доступным способом прописать маршрут до сети за клиентом через сервер OpenVPN.
  • Можно ли воссоздать файл зная только контрольную сумму?

    @res2001
    Это не восстановление, а подбор, об этом писал Алексей
    Так что даже формально - нет.
  • Рекурсия в SQL запросе POSTGRESQL?

    @res2001
    Если у вас по данным вечный цикл, то что вы хотите от запроса?
    Может надо избавится от цикла в данных?
  • Какую подобрать операционную систему для сетевой архитектуры офиса?

    @res2001
    Maksim Herasim, В целом согласен, но у автора вопроса и так все яйца в одной корзине, поэтому от виртуализации единственного сервера ничего не меняется, но гибкость повышаем. В дальнейшем можно будет подумать и о развитии серверной инфраструктуры. Бэкапы в любом случае "наше все" хоть с виртуализацией и дублированием хоть без.
  • Как парсить мультикасты на QT или чистом с++?

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

    @res2001
    David Dato, Для 6 задачи у вас приведен код от 7.
    В 7 в самом начале инициализируйте res нулем.

    Восьмая - у вас какой-то бред.
    Если хотите ее реализовывать циклом - можете поиграть побитовым сдвигом влево имея ввиду, что в степени двойки всегда только 1 бит установлен в 1, остальные все нулевые.
  • Споткнулся на решени задачи на степике по циклам. Что не так?

    @res2001
    Где конкретно у вас затык?
    В вопросе приведите текст задачи, ваш вариант ответа и опишите проблемы по вашему варианту.

    На счет задачи про степени двойки - она решается просто:
    if(!(N & (N-1)))
      printf("YES\n");
    else
      printf("NO\n");

    Чтобы понять почему это работает переведите любую степень двойки (N) в двоичное представление и (N - 1) то же и сравните эти два числа. А потом возьмите любое другое число, не являющееся степенью двойки, и проделайте то же самое.
  • Почему #define не рекомендуетс к использованию?

    @res2001
    Василий Мельников,
    Но это не причины, а способы обойти использование макросов.

    Одно другому не мешает :-)
  • Почему #define не рекомендуетс к использованию?

    @res2001
    Я думаю, есть еще одна самая важная причина - потому что в С++ давно уже есть замена подобным макросам - шаблоны, и у них нет вышеперечисленных недостатков.
  • Один рабочий стол на двух пользователей Windows 10 1809?

    @res2001
    Применительно к вопросу автора:
    Если при установке софта в меню пуск и на рабочем столе ярлыки появились у всех пользователей, то приложение поставилось в варианте "для всех".
    Перекидывать ярлык приложения, установленного "только для себя" другим пользователям нет смысла, т.к. сама установленная софтина не доступна другим пользователя - нет прав.
    Универсального способа ставить весь софт в режиме "только для себя", как хочет автор вопроса не существует, т.к. далеко не все программы освоили этот скил. Кроме того - это надо научить пользователей выбирать режим установки в каждом отдельно взятом установщике.

    Если речь идет о компьютере на предприятии, то я бы вообще запретил пользователям самостоятельную установку софта, т.е. отобрал бы у них админские права и запретил установку "только для себя".
  • Как узнать какие папки/файлы уже не доступны из-за 255 длины символов Windows?

    @res2001
    Проблема с ограничением в 260 (не 255) символов в пути к файлу давно уже не актуальна в винде.
    Ограничения могут быть в каких-то отдельно взятых программах, которые сами себе злобные буратины.
    Сейчас актуальное ограничение - 32К символов.

    Вы можете и дальше решать проблему, а можете сменить софт, на тот который не страдает старческими болезнями.
    Как вариант - можно написать разрабам вашего любимого софта, чтоб убрали это древнее ограничение, мешающее жить.
  • Перевести wav файл в числовую последовательность значений от 0 до 255?

    @res2001
    Для питона это самый простой вариант.

    Только в wavах не всегда отсчеты записаны в байтовые значения, чаще это int16, так же возможны int32, float и double. Анализируйте тип, который будут иметь элементы возвращаемого массива.
    Кроме того, wav - это не всегда не сжатые данные, формат поддерживает множество вариантов сжатия. Есть вероятность, что scipy.io.wavfile.read что-то не поддерживает. Смотрел по диагонали исходники scipy.io.wavfile.read - создалось впечатление, что там поддерживаются только не сжатые данные.

    Для C/C++ можно воспользоваться библиотекой libsndfile.
    Эта библиотека поддерживает множество вариантов сжатия, применяемых в wavах, и не сжатые данные, конечно, то же.

    Я вас удивлю, но в любом wav файле на каждую секунду обычно приходится по несколько тысяч значений.
    Конкретное количество зависит от частоты дискретизации сигнала. Ее scipy.io.wavfile.read возвращает в первом параметре.
    Типовой аудио файл с CD качеством записан с частотой дискретизации 44100 Гц - это значит, что на каждую секунду записи на каждый канал приходится 44100 отсчетов сигнала.
    Кроме того в wav файле может содержаться не один канал записи, а несколько. Для стерео записи - это 2 канала и т.п. Для определения количествва каналов смотрите вторую размерность возвращаемого массива. Первая размерность - общее количество отчетов в файле.

    Из минусов scipy.io.wavfile.read - он читает сразу весь файл. Сталкивался с очень большими файлами (несколько Гб), которые было проблематично прочитать за один раз (ограничения памяти), приходилось искать другие варианты или более мощный комп.
  • Как работает арифметика указателей Си?

    @res2001
    Дополню:
    Когда указатель складывается/вычитается с целым числом (c+3), то и в этом случае заданное целое число является количеством элементов указанного типа. Т.е. по факту, если считать в байтах будет (c + sizeof(*c) * 3).

    Для компилятора любой указатель (кроме void*) - это адрес первого (нулевого) элемента массива указанного типа, поэтому адресная арифметика является на самом деле "арифметикой массивов", если так можно выразиться. Все арифметические действия с указателями производятся на самом деле не в байтах, а в элементах массива, на который указывает указатель.
    Почему указатель на void является исключением уже должно быть понятно - потому что void - это не известно какой тип и размер этого типа компилятор вычислить не может, поэтому адресная арифметика не поддерживается для void*.
  • Как заставить систему видеть путь в батнике?

    @res2001
    Vladislav123321123, лог файл записывается в той же кодировке, что указана в команде chcp.
    Текстовые файлы они не такие простые, как кажутся на первый взгляд :-)