Задать вопрос
  • Как сделать грамотную декомпозицию ООП?

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

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

    @res2001
    Developer, ex-admin
    SQL не ограничивается 4 операторами (select, insert, update, delete). Обычно разработчики СУБД добавляют в SQL еще и процедурное расширение, благодаря чему становится возможным писать скрипты со сложной логикой, при этом работать из скрипта с БД. Плохо то, что эти процедурные расширения у каждой СУБД свои и там нет никакой совместимости.
    Что бы выполнить вашу задачу нужно написать скрипт в котором вы первым запросом получаете имя таблицы в переменную, потом собираете нужный select с нужным именем таблицы и исполняете его.
    Исполнять динамически сгенерированный запрос придется с помощью EXECUTE.
    Скрипт можно оформить в хранимую процедуру, но можно выполнять и сам по себе, если это разовая задача.
    Ответ написан
    Комментировать
  • Какую подобрать операционную систему для сетевой архитектуры офиса?

    @res2001
    Developer, ex-admin
    Смотрите на то ПО которое будет крутится как на сервере так и на клиентах. Часто выбора нет совсем (например используемое ПО только под винду).
    На сервере возможна виртуализация, т.к. на 15 компов у вас, возможно, достаточно не плохой сервер. Но это, конечно, зависит от нагрузки, которую будет тянуть сервер. В качестве гипервизора можете выбрать линукс+kvm|xen|.../ESXi/MS Hyper-V. В случае виртуализации лучше не совмещать на хосте роль гипервизора с чем-то еще - чем-то еще пусть занимаются виртуалки.

    Если используемое ПО позволяет выбор ОС, тогда включайте другие критерии отбора: умения работать с ОС как админов так и юзеров (хотя юзера обычно с ОС не работают - они работают с приложениями), цена, и т.п.
    Ответ написан
  • Один рабочий стол на двух пользователей Windows 10 1809?

    @res2001
    Developer, ex-admin
    Последнее время участились вопросы с похожей тематикой.
    Поэтому ниже краткий курс на тему установки софта.

    Сейчас многие приложения научились ставиться не в Program Files, а в профиль пользователя.
    При этом, если софт ставиться в Program Files, то ему требуется повышение привилегий, если в профиль пользователя - то повышение привилегий не требуется.
    Самые честные в процессе установки спрашивают "Будем ставить для всех или только для себя любимого?". Другие запросто могут поставиться в варианте "только для себя" не спрашивая пользователя ни о чем.

    Как должно быть понятно вариант "для всех" - это установка в Program Files.
    Есть некоторые уникумы, которые устанавливают себя в варианте "для всех" в каталог %SystemDrive%\ProgramData и еще небольшое количество софта, которые "по умолчанию" имеют свое собственное размещение типа "c:\program folder". Эти варианты установки то же требуют повышения привилегий.
    Но не только это - ярлыки на софт в меню пуск размещаются в "общем меню" ("C:\ProgramData\Start Menu"), ярлыки, размещаемые на рабочем столе, размещаются на "общем рабочем столе" (C:\Users\Public\Desktop\), глобальные настройки программы установщик записывает в реестр в ветку HKLM.
    Для всех этих действий нужны повышенные привилегии.

    Установка "только для себя" меняет вышеперечисленные места размещения:
    каталог установки: %USERPROFILE%\AppData
    Ярлыки в меню пуск: "%USERPROFILE%\Start Menu"
    Ярлыки на рабочем столе: "%USERPROFILE%\Desktop"
    Настройки программы: ветка реестра HKCU
    Во все эти размещения текущий пользователь имеет доступ без повышения привилегий.
    Ответ написан
    1 комментарий
  • Можно ли через стандартный UEFI-загрузчик Microsoft загружать другие *.efi-файлы?

    @res2001
    Developer, ex-admin
    efi файлы загружает не загрузчик микрософт, а UEFI BIOS, поэтому ответ - можно.
    Винда создает стандартный загрузочный EFI раздел и размещает там свой загрузчик, вы можете разместить там что-то свое.
    Проще всего закинуть туда какой-нибудь универсальный загрузчик и через него грузить все что потребуется.
    Ответ написан
    1 комментарий
  • При запуске программы выдает ошибку в DLL. Как исправить?

    @res2001
    Developer, ex-admin
    inet_pton - появилась вместе с IPv6. В XP вполне вероятно ее нет. Возможно есть IPv6 для ХР и там будет более новая версия винсока.
    Ответ написан
    Комментировать
  • Оцените код. Как можно заменить goto?

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

    @res2001
    Developer, ex-admin
    У вас в пути русские буквы.
    По умолчанию кодировка в cmd cp866, а вы батник скорее всего сохранили в кодировке cp1251 (или того хуже в UTF8), поэтому и русские буквы у вас стали кракозябрами и такой путь найтись не может.

    Либо добавьте перед вашей командой в батнике команду
    chcp 1251
    Либо сохраните батник в кодировке cp866 любы доступным средством, только убедитесь, что русские буквы правильно конвертировались.
    Ответ написан
    7 комментариев
  • Почему Python установился в \Appdata\Locals\Programs\ и как его безболезненно переместить?

    @res2001
    Developer, ex-admin
    1.Потому что при установке вы выбрали "Установить только для меня". Сейчас многие установщики освоили этот скил, это как раз и означает - установку в профиль пользователя. Установка "Для всех" - в Program Files (или возможно в ProgramData) при этом установщик запросит повышение привилегий (если включен UAC).
    2.Скорее нет. Про 260 символов - у вас устаревшая информация. Сейчас в винде нет этого ограничения. Многие программы "по привычке" встраивают это ограничение в собственный код сами (правда микрософт им в этом помогает). На сколько я знаю, питон этим не страдает.
    3.Я бы снес и переустановил. Но вообще, по моему питон в системе кроме PATH нигде не прописывается, так что можно попробовать.
    Ответ написан
    Комментировать
  • Какие возможные варианты подписи документов онлайн, ЭЦП пользователя, по ГОСТ Р 34.10-2012?

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

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

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

    @res2001
    Developer, ex-admin
    Я так понял у вас клиент на андроиде?
    Сертификаты нужно указывать так:
    <ca>
    # script-security 2
    # up /etc/openvpn/update-resolv-conf
    # down /etc/openvpn/update-resolv-conf
    -------BEGIN CERTIFICATE-----
    ....
    -------END CERTIFICATE-----
    </ca>

    Аналогично и для других опций, содержащих ссылки на файлы ключей (ca, cert, key).
    На сколько вижу у вас не хватает открывающего тега - . Это типичные xml теги - должен быть начальный тег и конечный.
    Ответ написан
    5 комментариев
  • Есть ли смысл разделять принтеры, телефоны, компьютеры по отдельным VLAN'ам?

    @res2001
    Developer, ex-admin
    Отдельный VLAN для принтеров - это лишний гемор себе устраиваете. Вы их сначала загоните в отдельный ВЛАН (не понятно для чего), а потом будете искать возможность обходить ограничения ВЛАНа. "КПД этих двух действий - 0" :-)
    Для телефонов отдельный ВЛАН вполне оправдан.
    Если уж очень хочется расплодить ВЛАНы, заведите шлюз, который будет сидеть во всех ВЛАНах и через него сможете ходить с любого места в нужный ВЛАН, после настройки маршрутизации на раб. месте.
    Ответ написан
    3 комментария
  • Как оживить windows xp?

    @res2001
    Developer, ex-admin
    Поставьте ХР с диска поверх старой.
    Ответ написан
    4 комментария
  • Как можно повторить все транзакции журнала транзакций за конкретную дату без бэкапов в MS SQL SERVER?

    @res2001
    Developer, ex-admin
    Егор Никитин, Если у вас нет бэкапов, то почему вы решили, что у вас есть журнал транзакций?
    При отсутствии бэкапов обычно стоит простая модель восстановления, а в этом случае журнал транзакций автоматически чистится mssqlем.
    Если же настроена полная модель восстановления и нет бэкапов, то журнал транзакций постоянно разрастается и обычно довольно быстро заканчивается дисковое пространство (разве что у вас очень мало используемая база данных).

    Если все же журнал транзакций есть, то можно сделать бэкап журнала. Затем восстановление из бэкапа до нужной временной отметки.
    Перед началом всех операций рекомендую файлы базы скопировать в безопасное место с помощью перевода базы в offline режим - если что-то не получится - просто восстановите файлы копированием.
    Ответ написан
  • Как сделать, чтобы пакеты из одной локальной сети передавались в другую через два роуетра на Ubuntu?

    @res2001
    Developer, ex-admin
    Если роутеры являются шлюзами по умолчанию для компов в своих сетях, то достаточно только на роутерах прописать маршруты до сети соседа.
    Если же роутеры не шлюзы по умолчанию, то маршруты надо прописывать на всех компах шлюзом указывать свой роутер. И конечно, сами роутеры должны знать сети своего соседа.
    Добавлять маршрут командой
    route add --help
    Печать таблицы маршрутизации:
    route print
    Ответ написан
    Комментировать
  • Как работать с VPN так чтобы можно было пользоваться обычным инетом?

    @res2001
    Developer, ex-admin
    Это совсем не "само собой".
    Суть проблемы в том, что обычно ВПН соединение прописывается в качестве шлюза по умолчанию и перекрывает предыдущие настройки.
    Обычно в настройках клиента или сервера ВПН есть соответствующая опция, выключающая такое поведение. Тогда по ВПН будут доступны только сети явно сконфигурированные в ВПН, а весь остальной трафик пойдет на шлюз по умолчанию.
    На счет конкретно вашего варианта (Nordvpn) я не в курсе, но общий подход именно такой.
    Например в OpenVPN это конфигурируется на стороне сервера, в виндовом L2TP/PPTP - в свойствах соединения есть соответствующая галка.
    Ответ написан
    Комментировать
  • Функция автоматические подгоняющая длину строки на C?

    @res2001
    Developer, ex-admin
    Причем здесь Си?
    1.у вас скриптовый Си подобный язык - это совсем не то что Си
    2.Си окон не рисует и ими не управляет
    3.Как вы себе представляете подгон длины строки (сокращать слова, заменять на более короткие синонимы, добавь свой вариант)? Си тем более этим не занимается. Это уже лексический анализатор какой-то. Оно вам надо?

    Может вы просто определитесь с примерным количеством символов в строке (которое влазит в удобный вам размер окна) и будете формировать строки нужной длины сами?
    Ответ написан
    Комментировать