DennyD314, Кроме того я согласен с ответом dmshar - это то же имеет место быть.
Когда нужно обрабатывать большое количество данных, то надо использовать numpy его массивы и его функции для работы с массивами, а не родные питоновские структуры.
Я практически уверен, что реализация with_min с использованием numpy array станет лидером по производительности (без лямд, конечно).
DennyD314, Зная, что вы передаете в функцию лямбду, вы должны сразу подумать, что эта лямбда будет вызываться и это дополнительные накладные расходы. А когда у вас в массиве 100500 элементов и на каждый нужно вызвать лямбду, то это уже будет заметно.
Добавьте еще реализацию аналогичную with_min, но с использованием numpy массивов, numpy.min() и numpy.abs(). Было бы интересно посмотреть на результат.
По второму системнику я бы начал с того, что отключил бы в нем все, кроме памяти по минимуму и видео (если не встроенное) и в таком виде попробовал загрузиться.
Судя по описанию 3 пунктом стоит заняться однозначно.
Еще для тестов хорошо бы поиметь нормальный работающий блок питания.
MaxxDamage, Почему в обеих командах одинаковые подсети? Команды для разных сетей, я же описал ситуации, когда та и другая используются. Вы статью прочитали по ссылке? Обе команды пишутся в конфиге сервера.
MaxxDamage, т.е. у вас играют обе директивы:
push route - добавляете маршрут на клиенте в сеть за сервером
route - добавляете маршрут на сервере в сеть за клиентом
MaxxDamage, push route - прописывает указанный маршрут на стороне клиента.
Вам же нужно прописать маршрут на сервере, это директива route
И не забывайте про п.2.
Roman, Зато в векторе есть push_back() и pop_back().
Классический стек - это аппаратный что ли? Конечно можно память адресуемую одним указателем и воспринимать как массив, но как-то это странно, имхо :-)
dsherbakov, Вас в гугле забанили?
Я вам дал ссылку на видюху :-) там чел пишет стек. Подобного добра в гугле хватает.
Вот тут про наследование. Вам не нужно писать лишнего в классах, не относящихся к самому стеку, можете просто в конструкторе что-нибудь вывести на экран и все. Просто формально несколько ничего не делающих классов, которые образуют некоторую иерархию наследования, чтоб сделать 5 классов как требуется.
Эти дополнительные классы вы будете в main() создавать и помещать в стек, а потом извлекать.
А сам стек делайте, чтоб он принимал ссылку/указатель на базовый класс вашей иерархии.
dserafimov, Пароль состоящий только из цифр подбирается за несколько минут при наличии доступа к базе паролей, т.е. физического доступа к компу (хотя бы чтоб загрузиться с флэшки и скопировать базу).
Сам сталкивался с такими начальниками :-) бороться обычно бесполезно. Для таких особо одаренных есть регулярная смена паролей - настройте замену пароля раз в месяц и чтоб предыдущие пароли нельзя было использовать минимум год.
Кстати, исключать физический доступ к компу нельзя, инсайдеры они везде вас окружают. Сегодня он нормальный сотрудник, а завтра решить отомстить компании :-)
На практике архисложные пароли могут применять только спецы по ИБ либо те у кого от длины пароля зависит бабло. Для обычного персонала достаточно пароля в 7-10 символов (цифры, буквы, спец. символы) и регулярная смена паролей. Ну и весь остальной комплекс мер безопасности :-)
dsherbakov, я уже писал, что для самого стека достаточно 1-2 классов/структур, остальные - придумайте сами произвольную иерархию классов, которые будете укладывать в стек.
На счет реализаций - в гугле их полно.
Стек одна из самых простых структур, вы просто начните думать в этом направлении и какое-то решение придет.
К тому же в стандартном std:vector весь функционал уже есть, от вашей реализации стека требуется только спрятать лишнее.
MaxxDamage, Нужно!
Тут 2 момента:
1. Сам сервер должен знать, что за каким-то клиентом (их может быть много) находится какая-то сеть. Для этого есть соответствующие директивы для настройки клиента и сервера OpenVPN (смотри ссылку выше).
2.Компы в сети за сервером должны знать, что сеть за клиентом доступна через вот этот сервер. Это уже отношения к OpenVPN не имеет. Если сервер OpenVPN является и шлюзом по умолчанию для компов внутри сети за сервером, то ничего дополнительно предпринимать не нужно. Если же нет - нужно любым доступным способом прописать маршрут до сети за клиентом через сервер OpenVPN.
Maksim Herasim, В целом согласен, но у автора вопроса и так все яйца в одной корзине, поэтому от виртуализации единственного сервера ничего не меняется, но гибкость повышаем. В дальнейшем можно будет подумать и о развитии серверной инфраструктуры. Бэкапы в любом случае "наше все" хоть с виртуализацией и дублированием хоть без.
Можете начать с того, что поставьте на комп любой сниффер и посмотрите что идет от вашего сервера.
Если сервер шлет текстовые сообщения, то в сниффере вы текст увидите и можно будет примерно понять что там внутри. Если же протокол сервера двоичный, то без анализа исходников не обойтись. Так же, возможно, протокол где-то описан в документации.
David Dato, Для 6 задачи у вас приведен код от 7.
В 7 в самом начале инициализируйте res нулем.
Восьмая - у вас какой-то бред.
Если хотите ее реализовывать циклом - можете поиграть побитовым сдвигом влево имея ввиду, что в степени двойки всегда только 1 бит установлен в 1, остальные все нулевые.