• [Машина Тьюринга] Каким образом можно разделить число (в десятичной системе счисления) на 5?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Полагаю, что алгоритм: деление в "столбик" (как в тетрадке, без выч.средств).
    Ответ написан
    2 комментария
  • Как формируется размер бит полей?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Если по логике 33/8=4

    Если логика математическая, то 33/8 = 4 1/8. И эту одну восьмую тоже надо где-то хранить.
    Ответ написан
    2 комментария
  • Как сделать или как работает listen localhost?

    Oxyd
    @Oxyd
    Linux enthusiast
    Локальный интерфейс, он-же localhost имеет адрес 127.0.0.1
    Ответ написан
    Комментировать
  • Как сделать или как работает listen localhost?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    я думаю что наверное надо делать bind на 127.0.0.1, но так ли это?

    Да. INADDR_LOOPBACK -- специально макрос для этого адреса есть.
    Ответ написан
    Комментировать
  • Как удалённо перезагрузить Windows 10?

    @rPman
    Если перезагрузка уже не помогала, чем поможет очередная - решайте проблему
    На будущее - ip kvm, универсальное решение, так как позволит по сети видеть изображение и нажимать кнопки (кстати вопрос про кнопку выключения, готовых решений я не видел)

    p.s. самоделки на базе малинки, можно и резето завести через реле на пины.
    Ответ написан
    3 комментария
  • Можно ли из заданных цифр составить последовательность чисел, являющуюся арифметической прогрессией?

    sergiks
    @sergiks Куратор тега Алгоритмы
    ♬♬
    Можно всегда

    В любом случае, при любых цифрах, числом более одной, можно составить «последовательность» всего из двух чисел и объявить её арифметической % )

    51791
    5,  5 + 1786 = 1791, третьим было бы 3577


    Если серьёзно, разбейте на подзадачи.

    Вот, дан набор чисел. Как быстро понять, является ли он арифм. последовательностью?
    Наверное, это должен быть набор из 3 и более чисел. Отсортировать по возрастанию, получить разницу между 0-м и 1-м. Двигаться далее, сравнить 2й и 1й. Как только разница отличится от первой, это fail. Если успешно дошли до конца массива и везде разница одна и та же — это успех, это арфим. последовательноть.

    Другая подзадача: из набора цифр составить все возможные числа. Чисел должно получиться 3 и более. Во всех вариантах перестановок, но с учетом повторяющихся цифр в исходном наборе.

    Можно добавить всяких оптимизаций. Например, проверять чётность.
    В арифметической последовательности чётность либо постоянная, либо чередуется через раз. Чётное число оканчивается на чётную цифру. Поэтому если в исходном наборе есть всего одна нечетная цифра, либо её место не в конце числа, либо в последовательности всего три числа и эта цифра в конце среднего.
    Ответ написан
  • Можно ли это считать авторизацией по RDP?

    hint000
    @hint000
    у админа три руки
    Ищите событие 1149 здесь: Event Viewer -- Applications and Services Logs -- Microsoft -- Windows -- TerminalServices-RemoteConnectionManager -- Operational
    Если есть - это оно, там и ip-адрес увидите.
    Ответ написан
    7 комментариев
  • Работа программы по rdp с 1 лицензией?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Читайте лицензию. Все ваши права на использование ПО указаны в ней.
    Ответ написан
    1 комментарий
  • Как корректно освободить ресурсы в вечно работающем приложении?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега C
    Седой и строгий
    Перед завершение программы необходимо передавать потокам какой-либо сигнал о завершений, который они будут проверять на каждой итерации цикла и завершать его в случае необходимости, а закрытие файлов сделать после цикла.
    Ответ написан
    2 комментария
  • Git передает только измененные строчки файла, или весь файл полностью?

    @deniz1983
    ...
    здесь смотрите . объясняется каким образом гит считывает и сохраняет изменения
    Ответ написан
    1 комментарий
  • Как отключить _id в коллекциях mongo?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    Его нельзя отключить, это уникальный id для каждого объекта. Но вы можете его переопределить, указав в модели своё значение. Вопрос лишь, накой оно вам нужно!!! Ну есть и есть, чем оно мешает
    Ответ написан
    6 комментариев
  • Как выполнить нормализацию адресов?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    После того, как открыли для себя сервис https://dadata.ru/, вообще перестали тратить время и деньги на собственные костыли из граблей. Сервис просто огонь.
    Для нас онлайн режим и скорость обработки не критична, поэтому мы даже уложились в бесплатный пробный тариф.
    Вроде бы у них были решения по установке их ПО в закрытом контуре, а это не что иное, как нужный вам оффлайн. Правда тут уже бесплатно не прокатит точно.

    До дадаты этот вопрос решался жутким нагромождением фильтров, регекспов с заменами и человеко-машинного совокупления.
    Общая схема годится не только для адресов, а вообще любых грязных данных:
    1. Входной датасет сохраняем в CSV и НИКОГДА не меняем.
    2. Обработка многоступенчатая. Каждая ступень состоит из фильтра и модификатора. Фильтр решает применим ли модификатор к каждой записи. Модификатор применяет свою модификацию если фильтр разрешил.
    3. Отладочный выхлоп, который показывает и позволяет быстро просмотреть полностью внесённые изменения.
    4. Каждая ступень должна делать минимальное однотипное улучшение максимально большого числа строк. Цель - каждой ступенью уменьшать разнообразие проблем, увеличивать регулярность, стандартизировать.
    5. При огромных входных датасетах можно сохранять промежуточный выхлоп, но в общем очистка должна выглядеть как пайп их последовательных ступеней обработки.
    - Очень часто бывает, что какая-то ступень незаметно ломает данные, а понимаешь это уже поздно, когда последующие ступени реализованы и отлажены, и сильно опираются на результат ломающей. Благодаря ступенчатости и иммутабельности процесса всегда можно зипнуть текущее состояние с любым предыдущим шагом и очередным фильтром заменить необходимые куски.
    - Часто бывает, что какая-то из ступеней улучшив отдельные записи убирает характерные признаки для фильтрации элемнтов для другой ступени. Благодаря такому инкрементальному процессу можно переставлять ступени местами.
    - При внесении ступенью изменения в запись. ступень должна оставлять свою сигнатуру в отдельном столбце. Удобно для поиска проблем.

    Расскажите подробнее почему не рассматривается онлайн. Заинтриговали.
    Ответ написан
    3 комментария
  • Выражение должно иметь типа указателя на объект. В чем суть ошибки?

    CityCat4
    @CityCat4 Куратор тега C
    //COPY01 EXEC PGM=IEBGENER
    Вынужден согласиться с Illia Nezhyhai - этот код - одна большая ошибка :) Причем главная ошибка в том, что у параметров функции нет типа, а следовательно компилятор предполагает, что они имеют тип int (для С, в С++ типа по умолчанию нет, попытка откомпилировать данный код вызовет ошибку). Поэтому разумеется выражение arr[i][j] = что-то там будет неверным.

    Во-первых, все параметры функций всегда должны типизироваться - это Вас и спасет от таких вот нелепых ошибок и напомнит, что передается в функцию, если Вы по собственной лени не напишете комментарий с описанием этого
    Во-вторых, документирование передаваемых параметров и присвоение переменным нормальных имен, а не i,j,k - поможет и другому, кто будет Ваш код читать, и Вам самому - когда Вы в него полезете через год.
    Ответ написан
    4 комментария
  • Как написать bat для поиска и выбора конкретной строчки с сохранением результата?

    wisgest
    @wisgest
    Не ИТ-специалист
    FINDSTR или FIND и перенаправление вывода в файл.
    Ответ написан
    Комментировать
  • Существуют ли консольные аналоги аиды?

    demon416nds
    @demon416nds Автор вопроса
    Разработчик на чем попало
    спасибо res2001 что напомнил про wmic

    в результате сочетания разных нагугленных батников получилась такая система
    первый батник вызывает второй и сохраняет его выдачу на сетевую шару в текстовый файл с именем как у компьютера на котором запущен
    hw2 > \\server\hw\%computername%.txt
    второй батник под именем hw2.cmd
    @echo off
    chcp 1251>nul
    color 70
    title Внимание! Сведения могут быть не точными!
    echo.
    echo Биос
    echo __________________________
    For /F "tokens=2 Delims==" %%J In ('wmic bios get caption /Value^|FindStr .') Do echo Название: %%J
    echo.
    echo Операционная система
    echo __________________________
    if defined ProgramFiles(x86) (set oper=x64) else (set oper=x32)
    FOR /F "tokens=1* delims==" %%A IN ('wmic os get caption /Format:List ^| FIND "="') DO set "s=%%~B"
    echo Название: %s% %oper%
    For /F "tokens=2 Delims==" %%J In ('wmic os get buildnumber /Value^|FindStr .') Do echo Номер сборки: %%J
    For /F "tokens=2 Delims==" %%J In ('wmic os get systemdrive /Value^|FindStr .') Do echo Установлена на диске: %%J
    wmic os get servicepackmajorversion | 1>nul findstr "0" && echo Сервис пак: Не установлен || (
    For /F "tokens=2 Delims==" %%J In ('wmic os get servicepackmajorversion /Value^|FindStr .') Do echo Сервис пак: %%J
    )
    echo Пользователь: %username%
    For /F "tokens=2 Delims==" %%J In ('wmic os get numberofusers /Value^|FindStr .') Do echo Количество пользователей: %%J
    For /F "tokens=2 Delims==" %%J In ('wmic computersystem get domain /Value^|FindStr .') Do echo Рабочая группа: %%J
    echo.
    echo Материнская плата
    echo __________________________
    For /F "tokens=2 Delims==" %%J In ('WMIC baseboard get manufacturer /Value^|FindStr .') Do echo Название: %%J
    For /F "tokens=2 Delims==" %%J In ('WMIC baseboard get product /Value^|FindStr .') Do echo Модель: %%J
    echo.
    echo Процессор
    echo __________________________
    For /F "tokens=2 Delims==" %%J In ('wmic computersystem get numberofprocessors /Value^|FindStr .') Do echo Количество процессоров: %%J
    For /F "tokens=2 Delims==" %%J In ('WMIC CPU Get Name /Value^|FindStr .') Do echo Название: %%J
    FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get currentclockspeed /Format:List ^| FIND "="') DO set "s=%%~B"
    echo Частота: %s% Мгц
    FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get maxclockspeed /Format:List ^| FIND "="') DO set "s=%%~B"
    echo Максимальная частота: %s% Мгц
    set cachelevel=2
    set cachelevelrus=второго
    call :cache
    set cachelevel=3
    set cachelevelrus=третьего
    call :cache
    goto 1
    :cache
    FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get l%cachelevel%cachesize /Format:List ^| FIND "="') DO set "su=%%~B"
    call :mbgb
    if %su% GTR 1024 set /a su=%su%/1000
    echo Кэш %cachelevelrus% уровня: %su% %uu%
    exit /b
    :1
    FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get numberofcores /Format:List ^| FIND "="') DO set "s=%%~B"
    FOR /F "tokens=1* delims==" %%A IN ('WMIC CPU Get numberoflogicalprocessors /Format:List ^| FIND "="') DO set "ss=%%~B"
    echo Ядер: %s% Потоков: %ss%
    echo.
    echo Видеокарта
    echo __________________________
    set /a numik=0
    FOR /F "tokens=1* delims==" %%A IN ('WMIC Path Win32_VideoController get AdapterRAM /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdo
    goto 2
    :vdo
    set /a numik=%numik%+1
    set /a sss=%s%/1024/1024
    echo Видеопамять %numik%: %sss% Мб
    exit /b
    :2
    set /a num=0
    for /F "tokens=1* delims==" %%A IN ('WMIC Path Win32_VideoController get Name /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdol
    goto 3
    :vdol
    set /a num=%num%+1
    echo Видеокарта %num%: %s%
    exit /b
    :3
    for /F "tokens=2 delims==" %%A IN ('WMIC Path Win32_VideoController get currenthorizontalresolution /Format:List ^| FIND "="') DO call :hor "%%A"
    :hor
    if not "%~1"=="" set hh=%~1
    for /F "tokens=2 delims==" %%A IN ('WMIC Path Win32_VideoController get currentverticalresolution /Format:List ^| FIND "="') DO call :ver "%%A"
    :ver
    if not "%~1"=="" set vv=%~1
    echo Текущее разрешение: %hh% x %vv%
    echo.
    echo Звуковая карта
    echo __________________________
    set /a num=0
    FOR /F "tokens=1* delims==" %%A IN ('WMIC sounddev get Name /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdol
    goto 3
    :vdol
    set /a num=%num%+1
    echo Название устройства: %num%: %s%
    exit /b
    :3
    echo.
    echo Оперативная память
    echo __________________________
    set /a num=0
    FOR /F "tokens=1* delims==" %%A IN ('WMIC memorychip get capacity /Format:List ^| FIND "="') DO set "s=%%~B" & call :vdols
    goto 33
    :vdols
    set /a num=%num%+1
    echo Слот памяти: %num%: %s% б
    exit /b
    :33
    FOR /F "tokens=1* delims==" %%A IN ('WMIC os get totalvisiblememorysize /Format:List ^| FIND "="') DO set "su=%%~B" & call :vdod
    goto 4
    :vdod
    call :mbgb
    goto after
    :mbgb
    if %su% LSS 1 (set uu=б) else if %su% LSS 1024 (set uu=Кб) else if %su% GTR 1024 set uu=Мб
    exit /b
    :after
    set /a sss=%su%/1024
    echo Доступно: %sss% %uu%
    exit /b
    :4
    for /F "tokens=2 Delims==" %%J In ('WMIC memphysical get memorydevices /Value^|FindStr .') Do echo Слотов для памяти: %%J
    echo.
    echo Переносные устройства
    echo __________________________
    For /F "tokens=2 Delims==" %%J In ('WMIC cdrom get id /Value^|FindStr .') Do echo Диск: %%J
    For /F "tokens=2 Delims==" %%J In ('WMIC cdrom get volumename /Value^|FindStr .') Do echo Название: %%J
    echo Диски
    setlocal enableextensions enabledelayedexpansion
    for /f "skip=1 tokens=1-3" %%i in ('2^>nul ^
    WMIC LogicalDisk ^
    WHERE "DriveType='3'" ^
    GET FreeSpace^, Name^, Size^') do (
    set sFreeSize=%%i
    set sFreeSizeOf=%%k
    if NOT 1%%j==1 (
    set /A Free=1
    set /A Size=!sFreeSizeOf:~0,-3!/1024/1024
    set /A prc=!Size!/100*3
    set /A Size=!Size!-!prc!
    set /A Free=!sFreeSize:~0,-3!/1024/1024
    set /A prcc=!Free!/100*3
    set /A Free=!Free!-!prcc!
    set /A Procent=!Free!*100/!Size!
    set /A a+=!Size!
    set /A al+=!free!
    set /A all+=!Procent!
    echo Свободно %%j !Procent!%%. !Free! Гб из !Size! Гб
    ))
    
    echo.
    echo Настройки сети
    echo __________________________
    ipconfig /all
    
    
    )
    )
    exit
    Ответ написан
    1 комментарий
  • Как настроить маршрутизацию для клиента openvpn в маршрутизаторах mikrotik?

    @Drno
    Поставить настройку в впн клиенте - шлюз по умолчанию в удаленной сети...
    ну или - использовать для интернета по умолчанию. как то так
    Ответ написан
    Комментировать
  • Что не так с логикой if else?

    myjcom
    @myjcom Куратор тега C++
    symbol[answer] == 'x'; // 'о'
    ???
    Ответ написан
    3 комментария
  • Отказоустойчивый удаленный доступ, возможен ли при следующих условиях?

    Нет, данная схема не обеспечит отказоустойчивость для ip, если он арендовал у одного из провайдеров.

    Для обеспечения отказоустойчивость внешнего адреса должны выполняться условия:
    • IP пренадледит вашей организации
    • На вашу организацию зарегистрирована AS
    • С каждым провайдером у вас bgp пиринг и вы анонсируете провайдерам свой ip-адрес
    Ответ написан
    Комментировать
  • Как с помощью .bat файла выполнить определенное действие в зависимости от имени компьютера на котором исполняется файл?

    idShura
    @idShura
    Примерно вот так:
    @echo off
    
    rem Имя компьютера из переменной окружения COMPUTERNAME
    set fullName=%COMPUTERNAME%
    rem echo %fullName%
    
    rem Первые три симовла имени
    set subName=%fullName:~0,3%
    rem echo %subName%
    
    rem Если имя начинается на 001 вывести true иначе false
    IF %subName%==001 (echo true) ELSE (echo false)
    
    rem Если имя начинается на 002 вывести true иначе false
    IF %subName%==002 (echo true) ELSE (echo false)
    Ответ написан
    1 комментарий