Задать вопрос
  • Есть ли разница между двумя функциями?

    @res2001
    Developer, ex-admin
    Ваша функция работает делает свое дело за 1 проход по массиву, второй вариант - за shift проходов - сложность O(N) и O(N*shift) соответственно. Во втором случае скорость зависит от величины сдвига, что очень плохо для такого алгоритма.

    Циклический сдвиг массива "на месте" реализуется с помощью трех операций revers (операция изменения порядка элементов на противоположный):
    1.весь массив делится на 2 массива в точке сдвига (условно, без выделения памяти)
    2.revers первой части
    3.revers второй части
    4.revers всего массива
    Встречал на stackoverflow реализацию на Си.
    Работает за 2 полных прохода с операциями swap по массиву - O(2*N), но каждая операция тяжелее чем в ваших вариантах. Но быстродействие не зависит от величины сдвига и не требует дополнительной памяти, что может быть важно при работе с массивами большой размерности.
    UPD: вспомнил, этот способ был описан в книге Бентли "Жемчужины программирования"!
    Ответ написан
    Комментировать
  • С++ Как поменять символ на другой?

    @res2001
    Developer, ex-admin
    a[2]='n';
    В двойных кавычках - это строка с завершающим нулем, даже если она содержит 1 символ. В одинарных кавычках - символ.
    Ответ написан
    Комментировать
  • Почему findstr в батнике ведёт себя неадекватно?

    @res2001
    Developer, ex-admin
    Немного переделал, как мне представлялось правильным - должен выводить в лог дату/время когда узел недоступен.
    @echo off
    set "iptoping=127.0.0.1"
    set "pdir=C:\pinglog"
    echo Пингуем %iptoping% пакетами по 5000 байт с выводом в %pdir%\ping_%iptoping%.log. Для завершения закройте окно.
    1>nul 2>&1 md %pdir%
    >"%pdir%\ping_%iptoping%.log" (
    for /l %%i in () do (
       for /f "delims=" %%a in ('ping -l 5000 -n 1 %iptoping% ^| findstr "Превышен Заданный Ответ" ') do echo.%date% %time:~0,8% %%a
      )
    )

    Не могу понять нафига в пинге параметр -l?
    И все таки нужно воткнуть паузу, а то получается какая-то DoS атака.
    Ответ написан
    4 комментария
  • Как добавить в цикл поиска несколько названий?

    @res2001
    Developer, ex-admin
    Фильтровать лучше не в for, а непосредственно в dir:
    dir /b /s z:\*.jpg z:\*.png >>%t%
    И ваш for преобразовывается в такой вид
    For /F "usebackq Delims=" %%I in ("%t%") do copy "%%I" "%c%\"


    Альтернативный вариант:
    Я бы все сделал на xcopy. Изучите ее ключи: xcopy /?
    Это достаточно мощная команда, по моему, несколько ее вызовов может заменить весь ваш скрипт.
    Ответ написан
    7 комментариев
  • Как происходит обнаружение dhcp сервера в сети?

    @res2001
    Developer, ex-admin
    Видимо у вас в сети уже 2 DHCP сервера, конфликты получаются по тому что в одном случае первым успевает отдать адрес один сервер, а в другом - другой. Нужно просто выключить один из DHCP.
    Ответ написан
    Комментировать
  • Как защитить от ddos по tcp/udp?

    @res2001
    Developer, ex-admin
    Кроме смены адреса и работы с оператором можно настроить на своем сервере систему обнаружения атак и сканирования портов (snrot, psad, ...), с тем что бы по данным системы обновлять правила фаервола - это позволит вашему серверу дольше продержаться, а вам вовремя обнаружить атаку и что-нибудь предпринять (например сменить адрес).
    Ответ написан
    Комментировать
  • Как узнать точное время, если доступ к сети не постоянен?

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

    @res2001
    Developer, ex-admin
    PVOID - void*
    PWSTR - wchar_t *
    HANDLE - просто целое, подробностей, обычно, знать не нужно - это идентификатор объекта (хэндл).
    И берите Русиновича по совету 15432
    Ответ написан
    3 комментария
  • Есть китайфон на андроиде. Треснул тачскрин. Нижняя половина дисплея не откликается на касания. как достать информацию с встроенной памяти?

    @res2001
    Developer, ex-admin
    Купить у китайцев новый экран и заменить самому. Делается не сложно, цена вопроса 3-7 тыс.руб + небольшое количество инструмента + прямые руки
    Ответ написан
    Комментировать
  • Как запустить 2 vbs скрипта?

    @res2001
    Developer, ex-admin
    Что в переменной min?
    vbs запускайте через cscript/wscript, т.е.
    cscript.exe C:\Users\pavel\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\WshShell.vbs
    Проблем с путями у вас нет, должны работать оба варианта.
    Ответ написан
  • Странная распиновка коннектора витой пары Почему?

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

    @res2001
    Developer, ex-admin
    Решение под Windows - запускать скрипт через команду start - оно точно работает, проверено лично раз 200 и не нужно убеждать меня в обратном.
    Если у вас не работает, значит нужно разбираться почему, ошибки или что? Если просто ждет закрытия, покажите код вашего скрипт1, тот кусок где start +- несколько строк.
    И да, надеюсь ваши скрипт1/2 в реале имеют другие названия и не называются start.bat к примеру.
    Ответ написан
    3 комментария
  • Нужна ли лицензия на работу с криптографией в заказной разработке?

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

    @res2001
    Developer, ex-admin
    Если совсем просто и деревянно, то сохраните исходный код в кодировке cp866 и пересоберите.
    А если по сложному и по правильному, то учите мат.часть. Можно начать отсюда, так же посмотрите мой комментарий под статьей, в очередной раз уже лень все повторять - тут не однократно этот вопрос обсуждался. Вообще это самый распространенный вопрос у русскоязычных начинающих программистов на Си.
    Ответ написан
    3 комментария
  • Как сделать невидимое консольное приложение - видимым?

    @res2001
    Developer, ex-admin
    Попробуйте в настройках службы, в командной строке запуска приложения, сделать перенаправление потоков стандартного вывода и ошибок в файл:
    proga.exe 1>praga.log 2>&1
    тогда сможете видеть в файле весь вывод приложения без окна. Файл должен быть доступен на запись для пользователя, под которым запускается приложение/служба.
    Настройки всех служб хранятся в реестре в HKLM\System\CurrentControlSet\Services
    Ответ написан
    1 комментарий
  • Windows 10 1709 не видны в WSUS, как исправить?

    @res2001
    Developer, ex-admin
    Видимо нужно обновить WSUS. В свое время было, что микрософт отказывался от поддержки более новых версий ОС в WSUS старых версий, приходилось внепланово обновлять WSUS. Это, кстати, частая история. Так же бывало, что обновление WSUS для поддержки новых версий винды еще не выпустили. В общем есть варианты.
    За подробностями можно сходить к микрософту, предварительно узнав точную версию WSUS.
    Ответ написан
    Комментировать
  • Время ответа HDD зашкаливает. Что делать с жестким диском?

    @res2001
    Developer, ex-admin
    Не помешает проверить наличие места на системном диске - если его там мало, то винда начнет нещадно тормозить.
    А в общем ReSupport прав - нужно подумать про замену диска и побыстрее.
    Ответ написан
    Комментировать
  • Как это работает "без интернета"?

    @res2001
    Developer, ex-admin
    Скорее это поверх текущей инфраструктуры лег интернет и юзает ее, но это не означает, что он владеет инфраструктурой монопольно. Интернет способствует развитию сетей, протоколы интернет из-за своего широкого использования наиболее обкатаны и стабильны и их можно применять и в других сетях - уберите шлюз в интернет из любой локальной сети предприятия - вот вам частная сеть, построенная на технологиях интернет (то что в 90е называли Интранет).
    Вам никогда не приходилось арендовать у оператора связи канал точка-точка? Грубо можно представить ГАС выборы как множество каналов точка-точка, объединенных где-то в ЦИК.
    Ответ написан
    Комментировать
  • Управление приложением с помощью батника. Как реализовать?

    @res2001
    Developer, ex-admin
    cmd в чистом виде такого не умеет. Нужно пользоваться сторонними утилитами типа autoit или nircmd.
    Вообще можно на JavaScript реализовать ваши хотелки "из коробки". В винде есть встроенный интерпретатор JavaScript - cscript/wscript.
    Наверное PowerShell то же с этим справится.
    Ответ написан
    Комментировать
  • Как генерировать уникальное название рандомом?

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