Задать вопрос
  • Как мне организовать доступ пользователя на компы двух отделов одновременно, чтобы не выключать сети?

    @res2001
    Developer, ex-admin
    А что вас заставляет отключать сеть, когда подключаетесь к другой?
    Адреса в сетях разные, друг с другом не конфликтуют, поэтому доступ будет одновременно к обоим в текущей конфигурации при одновременном подключении.
    Нужно только чтоб оба сетевых адаптера были одновременно в компе.
    Ответ написан
  • Как подключиться к WiFi-сети через CMD без профиля?

    @res2001
    Developer, ex-admin
    Гуглите "netsh create wifi profile"
    Ответ написан
    Комментировать
  • Как сделать доступ к нескольким Raspberry использую OpenVPN?

    @res2001
    Developer, ex-admin
    Для того чтобы веб сервер на Raspberry мог и дальше принимать запросы из интернета надо просто настраивать OpenVPN сервер так что бы он не делал себя маршрутизатором по умолчанию для клиентов. Для этого достаточно не указывать/закоментировать одну директиву в конфиге сервера (впрочем она, по моему, и так закоментирована по умолчанию):
    push "redirect-gateway def1 bypass-dhcp"

    Предусмотрите раздачу фиксированных IP адресов клиентам в вашем ВПНе для Raspberry, иначе будете постоянно искать нужную малинку.
    Ответ написан
    Комментировать
  • Что не так с кодом? Как правильно делать?

    @res2001
    Developer, ex-admin
    Кодировка консоли в винде по умолчанию cp866 (а не 1251 как многие думают). Но можно переключить.
    Для простоты сохраните ваши исходники в 866 кодировке.
    setlocale работает только на вывод. Для ввода используйте cout.imbue.

    Переключать кодировку консоли из утилиты - дурной тон. Для студенческой лабы это еще терпимо, но нормальная русская консольная утилита должна уметь правильно выводить текст не зависимо от того какая кодировка установлена в консоли 866 или 1251. Например, почти все родные виндовые консольные утилиты с этим справляются успешно.

    По уму делать примерно по следующей схеме:
    1.Исходники в UTF8
    2.Все строковые константы с префиксом L"string"
    3.Строки хранить в wchar_t
    4.Определять кодировку консоли для ввода и вывода и перекодировать свои юникодные строки в нужную кодировку и только потом выводить или после ввода перекодировать в UTF8. Для перекодирования в WinAPI все есть, но без windows.h не обойтись.
    Ответ написан
    Комментировать
  • Что использовать для централизованного резервного копирования (сервера бекапов)?

    @res2001
    Developer, ex-admin
    Symantec BackupExec он же Veritas BackupExec
    Ответ написан
    Комментировать
  • Какие есть хорошие учебные материалы по архитектуре вычислительных приложений?

    @res2001
    Developer, ex-admin
    Где освещен не знаю.
    Я использовал потокобезопасные очереди для передачи данных между вычислительными потоками. Схема рабочая. Если грамотно разделить потоки, то вся синхронизация может происходить только с помощью очередей.
    Для плюсов можно заюзать Intel TBB там как раз такой подход используется.
    Ответ написан
    Комментировать
  • Что значит "написанная на чистом C++"?

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

    @res2001
    Developer, ex-admin
    ESXi лучше всего поставить на флэшку и с нее грузиться, потребуется небольшое изменение конфига в плане перенаправления записи логов (чтоб они не писались на флэшку).
    Установщик поддерживает эту возможность.
    Таким образом все дисковое пространство отдается виртуалкам. Сам ESXi читает флэшку только на этапе загрузки.
    Ответ написан
    6 комментариев
  • Как парсить txt файл с помощью bat файла?

    @res2001
    Developer, ex-admin
    Посмотрите описание:
    for /?
    Ваш случай - это for /f - построчно читает файл и разбивает его на лексемы.
    Например:
    for /f "usebackq tokens=1,2 delims= -" %%a in ("%Src%\*.txt") do (
      echo.%%a = %%b
    )

    На счет set, могу добавить к ответу Saboteur еще такой момент - чтоб пробелы, случайно попавшие в конец строки, не присваивались переменной нужно команду давать в таком виде:
    set "Src=D:\tmp"
    Ваша задача нормально решается на cmd, поэтому можно не искать другой вариант.
    На счет других вариантов - из коробки в винде присутствуют, кроме cmd: PowerShell, JavaScript, VBScript
    Ответ написан
    Комментировать
  • Как просмотреть исходящие соединения приложения в windows?

    @res2001
    Developer, ex-admin
    Чем не устраивает встроенный монитор ресурсов (запускается из менеджера задач)?
    Для копания в содержимом пакетов уже нужен будет сниффер, они есть, даже микрософт бесплатно раздает.
    Ответ написан
    5 комментариев
  • Как удалить первые 4 символа в имени файла в Windows?

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

    @res2001
    Developer, ex-admin
    Выход за границу массива тут:
    for(int i=0;i<s->m;i++){
    ...
       s->secondSortedArray[i]=num;
    }

    У вас количество элементов в обоих массивах 4, а m вы инициализируете 5. При последнем присваивании secondSortedArray происходит выход за границу массива, а т.к. после secondSortedArray в структуре идет m, то m у вас заменяется последним рандомным значением.
    В firstSortedArray то же есть выход за границу массива, но это не носит деструктивных последствий.
    Подобные вещи часто приводят к краху программы. Вы могли бы это отловить в отладчике. Пользуйтесь им. Отладчик - друг программиста! :-)
    Ответ написан
    4 комментария
  • Можно ли вывести список enum?

    @res2001
    Developer, ex-admin
    Можно с помощью такого Сишного подхода:
    // .h файл
    #define ENUM_MAP(XX) \
      XX(0, laborer, Laborer help msg) \
      XX(1, secretary, Secretary help msg)\
      XX(2, manager, Manager help msg)\
      XX(3, accountant, Accountant help msg)\
      XX(4, executive, Executive help msg)\
      XX(5, researcher, Resercher help msg)
    
    enum etype
    {
    #define XX(num, name, string) name = num,
      ENUM_MAP(XX)
    #undef XX
     };
    
    // .cpp файл, включающий предыдущий .h
    #define XX(num, name, string) #string,
    const char * enum_msg[] = [
      ENUM_MAP(XX)
    ]
    #undef XX

    Такими образом имеем массив enum_msg со строками из третьего параметра XX в ENUM_MAP.
    Набор параметров в XX можно варьировать как угодно.
    Подобная техника применяется, например, тут.
    Ответ написан
    Комментировать
  • В чем ошибка (работа с памятью, деструкторы)?

    @res2001
    Developer, ex-admin
    delete[] _coords;
    В таком виде в Dist создаются копии объектов с помощью конструктора копирования по умолчанию, т.е. просто побайтовое копирование. После завершения Dist память под coords в копиях освобождается. Когда завершается main() та же самая память будет освобождена еще раз, что приведет к ошибке.
    Поэтому в Dist передавайте ссылки!
    Ответ написан
    Комментировать
  • Почему в решениях с одинаковой сложностью существенная разница во времени расчета?

    @res2001
    Developer, ex-admin
    Виноваты накладные расходы.
    В traditional_way они минимальны.
    Замените лямбды вычислением промежуточного массива содержащего abs(a-x) в остальных случаях и получите дополнительный прирост производительности.
    Ответ написан
  • Кто может помочь с кодом visual?

    @res2001
    Developer, ex-admin
    Возможно в CRC.h (или где-то еще) объявлены функции возвращающими int, а в реализации они возвращают DWORD.
    Ответ написан
    Комментировать
  • Почему нужно делать сложные пароли Windows?

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

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

    @res2001
    Developer, ex-admin
    Стек, конечно, можно делать и на массиве, но обычно его делают на списке.
    Для самого стека обычно хватает 1-2 структур/классов: Класс стека и класс узла стека.
    Для остальных можете придумать произвольную простейшую иерархию наследования, что бы объекты этих классов можно было укладывать в стек по ссылке/указателю на базовый класс.
    Модули это файлы:
    1. основной код - сюда запихнете main(), возможно какие-нибудь вспомогательные функции.
    2. и 3. стандартное разбиение С++ классов на заголовок (.h) и реализацию (.cpp).
    Т.к. классов не менее 5, то и заголовков и реализаций по уму делать на каждый класс, но в вашем случае можно все сложить в 2 файла. Хотя я бы сам стек выделил в отдельные "модули".
    Ответ написан
  • Черный экран с мышкой (ошибка winlogon.exe), что такое и как лечить?

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