Задать вопрос
  • MS Windows Server - английская ОС против русской. Мысли?

    @res2001
    Developer, ex-admin
    Сейчас этот вопрос не актуален, имхо, т.к. языки во всех версиях системы добавляются через LanguagePack. Т.е. локализация вынесена отдельно и не влияет на работу ОС, поэтому "неопознанных багов" в локализованной версии по сравнению с англоязычной в Вин7+ быть не должно.
    Осталась одна причина, о которой написал Довольный Жизнью "перевод ошибок на русский иногда ужасен и по английскому варианту даже нагуглить решение проще". Но это сильно зависит от скилов в поиске, можно и по английскому варианту ничего не найти.
    Ответ написан
    1 комментарий
  • Слетает маршрутизация vpn через Yota, подбросьте идей?

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

    @res2001
    Developer, ex-admin
    Так и есть - куча RFC, дополняющих друг друга. Одного документа, полностью описывающего протокол нет.
    Версии перевода на русский встречал только по устаревшей версии 1.0 (RFC1945), на вид был достаточно полный перевод. По HTTP1.1 находил только частичные переводы. Начните с вики, там есть ссылки на другие ресурсы.

    Можно вполне начинать и с RFC2616, он хоть и заменен, но основа осталась та же. Собственно даже RFC1945 вполне актуален - все это работает.

    Если найдете толковый перевод, киньте сюда ссылку - заберу себе в закладки, иногда бывает нужно.
    Ответ написан
    Комментировать
  • Проблема загрузки Windows 10?

    @res2001
    Developer, ex-admin
    1.Проверьте журнал винды на предмет ошибок софта или железа, возможно они укажут причину тормозов.
    2.Чтоб исключить проблемы с железом проверьте память и диск с загрузочного носителя.
    Кроме этого проблемы могут быть с блоком питания или материнкой. Материнку можно протестировать каким либо стресс-тестом, а блок питания - отключением периферии (дополнительных дисков, приводов и т.д.) или заменой БП.
    3.Обновите все драйвера.
    4.В менеджере задач винды можно посмотреть как долго стартуют процессы в автозагрузке. Если какой-либо процесс явно слишком долго стартует, нужно разбираться с ним. Часто в этом списке все более-менее в порядке, но тормоза все равно наблюдаются, так что это не панацея. Там же можно убрать не нужные задачи из автозагрузки.
    5.Иногда в винде глючат служба индексации или служба обновлений (обычно это проявляется немного не так как у вас). При этом эти службы значительно съедают процессорное время. Не работающая служба индексации определяется, например, не возможностью осуществить поиск в главном меню. Служба обновлений - ошибки при обновлении.
    6.Если ничего не помогает начинайте сносить установленный софт и проверять реакцию компа на это действие.
    7.переустановка винды.
    8.Если добрались до этого пункта, значит явно проблемы с железом, которые вы не смогли определить - сервис.
    Ответ написан
    Комментировать
  • Что случилось с ноутбуком?

    @res2001
    Developer, ex-admin
    Захожу в биос и там кнопки сами нажимаются

    Видимо проблемы с железом. Возможно клавиатура глючит или адаптер.
    Черный экран при загрузке винды может говорить о том же.
    Что можно сделать самому:
    1. тест памяти с загрузочного носителя
    2. отключить родную клавиатуру, подключить любую рабочую USB клавиатуру, посмотреть как будет себя вести. Повтыкать клаву в разные порты.
    А вообще - в сервис.
    Ответ написан
  • Почему в либе собранной g++ jna не находит функцию?

    @res2001
    Developer, ex-admin
    Объявляйте функции с extern "C".
    Ответ написан
    Комментировать
  • Нужно извлечь файлы из архивов .zip?

    @res2001
    Developer, ex-admin
    Как-то так.
    :: Каталог с входными архивами
    set "indir=c:\temp"
    :: Каталог куда складывать выходные архивы, можно указать тот же, что и в indir
    set "outdir=c:\temp\out"
    :: Каталог для временных распакованных файлов
    set "unarhdir=c:\temp\unarh"
    :: Полный путь для запуска архиватора
    set "arh=%ProgramFiles%\WinRAR\winrar.exe"
    for %%a in ("%indir%\*.zip") do (
      "%arh%" x -y "%%a" "%unarhdir%"
      "%arh%" a -y -df "%%~dpna" "%unarhdir%\*"  
    )

    Правильно инициализируйте переменные в начале скрипта.
    Скрипт не проверял, т.к. winrarом не пользуюсь.
    Ответ написан
    Комментировать
  • BAT. Как скопировать часть файла начиная с определённой строки?

    @res2001
    Developer, ex-admin
    Немного допилил:
    @echo off
    set "file=1.txt"
    set "search=Заголовок нужных данных"
    set "header_line="
    for /f "tokens=1  delims=[]" %%a in ('find /i /n "%search%" "%file%" ') do set "header_line=%%a"
    if defined header_line (
      more +%header_line% "%file%"
    )
    Ответ написан
  • Машинные константы и асимптотический анализ алгоритмов?

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

    В практических задачах часто оптимизируют алгоритмы для того что бы можно было выполнять задачу на более слабом устройстве, при этом имеют конечную цель снизить энергопотребление устройства. Актуально для разного рода встроенных решений.
    Ответ написан
    1 комментарий
  • Как отключить буферизацию ввода и эхо-вывод (termios.h, stdin)?

    @res2001
    Developer, ex-admin
    На сколько я понял вам нужно перевести терминал в raw режим.
    Для этого нужно выставить кучу флагов в struct termios и вызвать tcsetattr(().
    Вот как это реализовано в libuv:
    struct termios tmp;
          tmp.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
          tmp.c_oflag |= (ONLCR);
          tmp.c_cflag |= (CS8);
          tmp.c_lflag &= ~(ECHO | ICANON | IEXTEN | ISIG);
          tmp.c_cc[VMIN] = 1;
          tmp.c_cc[VTIME] = 0;
      tcsetattr(fd, TCSADRAIN, &tmp);

    Код выдран из исходников libuv: src/unix/tty.c -> uv_tty_set_mode().
    Ответ написан
    1 комментарий
  • Как запустить код на удаленной машине нестандартными или стандартными средствами Windows?

    @res2001
    Developer, ex-admin
    На счет "couldn't access" - мешает UAC. Для его обхода (для удаленного доступа к компу с администраторскими правами) нужно выставить ключ в реестре:
    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    LocalAccountTokenFilterPolicy [REG_DWORD] = 1
    И, конечно, выполнять нужно от пользователя с правами администратора.
    psexec - нормально работает.
    Есть и родное средство - wmic.
    Для wmic можно задать в опциях имя удаленного пользователя и пароль (см. wmic /?). Пользователь так же должен иметь администраторские права на удаленном компьютере.
    Есть еще winrm, но сходу не скажу как его правильно готовить.

    PS: средства удаленного запуска в винде предназначены для нужд администратора, поэтому везде требуется администраторские права. Если нужно без админских прав, то можно настроить удаленный рабочий стол и пусть чел заходит по RDP и запускает что надо руками.

    PPS: если приложение как-то взаимодействует с пользовательским интерфейсом (открывает окна и т.д. и т.п.), то при удаленном запуске через psexec или wmic могут быть трудности, т.к. для удаленного запуска создается отдельный пользовательский сеанс не связанный с локальным сеансом. Соответственно приложению негде будет открывать свои окна. Из-за этого может быть не возможно удаленно запустить приложение. Консольные приложения запускаются нормально - они автоматически перенаправляют вывод на ваш удаленный компьютер. В psexec для разрешения приложению открывать окна нужно использовать ключ -i. В wmic подобного ключа, по моему, нет.
    Ответ написан
    6 комментариев
  • Как упаковать файл в проект и затем извлечь на C++ в Visual Studio?

    @res2001
    Developer, ex-admin
    Это делается с помощью ресурсов. Последний раз работал с ресурсами года 3 назад - с текстовым файлом.
    Создаете в студии файл описания ресурсов (.rc), добавляете ваш файл туда. Какие конкретно кнопки жать при этом не скажу.
    Затем в коде с помощью WinAPI функций FindResource и LoadResource загружаете ресурс в память как байтовый массив.
    Дальше делайте с ним, что хотите.
    Смысла сохранять файл на диск нет, т.к. потом снова будете с диска читать.
    Ответ написан
    4 комментария
  • Почему freebsd 11 не показывает версию SQUID? Какую версию squid лучше поставить?

    @res2001
    Developer, ex-admin
    Это список опций, с которыми собран squid. Возможно у вас и так стоит 3.5.
    squid -v | less
    Ответ написан
    Комментировать
  • Хедеры в C/C++ - отдельные папки или вместе с исходниками? Подключать c путями или нет? Системные или обычные?

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

    @res2001
    Developer, ex-admin
    Для 1 байтового без знакового числа ~0 дает 11111111.
    Делая (~0) << k вы обнуляете последние k бит числа. Далее битовое И с подобной маской дает обнуление последних k бит чилса, что и требовалось.
    Ответ написан
    1 комментарий
  • C++ собственный обработчик событий для отдельного экземпляра класса?

    @res2001
    Developer, ex-admin
    Обычно подобное делают через наследование, а не сохранение указателей на функции. Тогда вы будете иметь из методов полный доступ к членам класса.
    Т.е. вы имеете базовый класс TButton с виртуальной функцией onClick. Делаете собственный класс, родителем которого является TButton, переопределяете onClick. Профит.
    Так устроены многие GUI библиотеки типа Qt, MFC и т.п.
    Ответ написан
    Комментировать
  • В чем смысл работы побитово с десятичными цислами?

    @res2001
    Developer, ex-admin
    Используют доступ к битам, обычно, для хранения и проверки некоторого набора флагов. Т.е. каждый бит некоторой переменной является флагом, если бит равен 1 - флаг выставлен, если 0 - сброшен.
    Результат функции getbits можно интерпретировать как логический признак - выставлен определенный флаг или нет. В этом случае вызов getbits можно спрятать за макросами, которые будут подставлять соответствующие параметры в getbits в зависимости от того какой флаг проверяется.
    То же самое можно решить и структурой с битовыми полями, в этом случае компилятор возьмет на себя всю работу с битами. Результат при этом будет примерно тем же, что и в случае ручного манипулирования битами.
    Ответ написан
    Комментировать
  • Как фиксануть правило фаервола?

    @res2001
    Developer, ex-admin
    Если правило при "Любом адресе" отрабатывает, а при установленных конкретных адресах - нет, при прочих неизменных параметрах, значит вы устанавливаете не правильные адреса.
    Ответ написан