Задать вопрос
  • Как сделать автоподнятие трубки windows?

    @rPman
    Autoit
    Идентификатор окон определить с помощью утилиты идущей в комплекте с ms visual studio - spy, либо sysinternails process explorer (не уверен что будет удобно)

    Также autoit может работать с пикселями экрана, запрограммировать изменение цвета пары из них(появление окна), и автоматизировать нажатие кнопок
    Ответ написан
    Комментировать
  • Как скрыть backend своего сайта?

    @rPman
    В общем случае - никак

    Но можно сделать этот процесс на столько сложным, что смысла в этом уже никакого не будет. С помощью обфускации кода и использовании алгоритмов шифрования данных, передаваемых в браузер (не про https а когда данные, загружаемые браузером и передаваемые в скрипты/данные - зашифрованы). А чтобы конечный скрипт нельзя было вытащить через модификацию браузера (например логировать eval) то можно саму виртуальную машину, исполняющую скрипты, реализовать на js (wasm).

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

    Нужно понимать, что затраты на разработку такого решения будут сравнимы со стоимостью его взлома.

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

    @rPman
    От задачи.
    Если тебе нужна скорость, то придется пожертвовать памятью и создать массив указателей на элементы (т.е. в твоем примере это массив указателей на элементы с индексом 2,3,6,7,8,10).

    Если память жалко, то заплати процессором и храни массив индекс+длина (код при этом будет неадекватно большим, если ты начнешь оптимизировать поиск попадания искомого номера элемента в соответствующий кусок)

    Особенно грустно, если структура кусков и размер массива будет меняться. Первый подход сильно все упростит
    Ответ написан
    1 комментарий
  • Подойдёт ли внешняя звуковая карта для наушников?

    @rPman
    Тебе не звуковая карта нужна а простой аудио усилитель

    А лучше ЦАП (DAC) преобразователь, например с spdif. На материнских платах наверное на всех он есть уже десятилетие, максимум докупить за 200р планку spdif на заднюю панель корпуса.
    планка портов spdif
    hkxzhczpuf5bd1qbz3hry7syrgy.png

    Какой именно ЦАП брать хз, у китайцев их стоимость начинается с 300р, а когда речь идет о аудиофилах, как только они видят стоимость ниже шестизначной, начинают дергаться, это сродни религии,..

    При использовании spdif материнская плата и ее звуковая карта перестанут иметь какое либо значение, так как данные будут передаваться в цифровом виде а значит за качество будет отвечать ЦАП усилителя.
    Ответ написан
    3 комментария
  • Как удалить в планировщике заданий "отключение ноутбука через одну минуту"?

    @rPman
    В режиме safe mode пробовал загрузиться? который по F8 на старте сразу после bios появляется?

    Если он не был включен заранее (майкрософт решила всем подложить свинью чтобы как следует зае*ались) то его можно вызвать принудительно, если загрузка системы не прошла успешно подряд несколько раз (нажимай reset во время включения машины примерно через пару секунд как появляется иконка картинка флага майкрософт) и пробуй жать F8)

    Если сам safemode не помогает, то нужно загрузиться в старую консоль восстановления или загурзиться с установочного диска и там отключить службу Schedule
    Ответ написан
  • Почему физически комп не отключается после системного отключения?

    @rPman
    Конфиг в студию (особо актуальна материнская плата но и список переферии, подключенной к pci/usb тоже важен)

    В первую очередь нужно исключить проблемы настройки ОС (обновление и sfc scannow только фактически гарантируют отсутствие сторонних модификаций кода но не настроек), для этого загрузись с liveusb ос какой-нибудь xubuntu/kubuntu (с windows сложнее, так как рабочего liveusb образа с драйверами добыть сложнее, но можно установить на временный раздел чистую версию, благо на это тратится минут 10)

    Поперебирай доступные опции энергосбережения и питания (все что хоть как то напоминает acpi) в биосе. не 4-сек короткое нажатие - это не выключение компьютера, а просьба к операционной системе сделать это, которая посылает соответствующие сигналы переферии и есть хоть одно из них откажется, выключение не сработает, так что если проблема не в софте, то значит в каком то устройстве. На время тестов исключи все что возможно, вплоть до оставить материнку + процессор + память + видеокарта + клавиатура.

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

    @rPman
    500кб очень маленький объем, загружаешь и парсишь локально в своем скрипте весь файл, затем полученный массив в цикле собираешь во временный, сохраняя его в файл при достижении какого то лимита, например по количеству объектов (можно точнее по размеру json но это медленнее)
    Ответ написан
  • Как отлаживать Django в продакшн?

    @rPman
    Различаются архитектуры процессоров и операционки
    самое простое что можно сделать сначала - попробовать среду разработки сделать ближе к той что на продакшне, т.е. установить у себя в виртуалке хотя бы ту же ОС и битность (или наоборот на сервере)

    я правильно понимаю что ты дома пытаешься на x64 windows разрабатывать, а на продакшне у тебя виртуалка почему то x86 32-битная (иначе как объяснить падения преобразования float -> int).

    Еще момент, все зависит как ты разворачиваешь свою версию в продакшне, собирай списки файлов там и тут, сравнивай по хешам (благо речь о паре команд в консоли), в общем удостоверься что у тебя действительно одинаковые копии файлов и нет лишних

    Удостоверься что у тебя нет ошибок в логах, если есть - изучи их, они не зря там появляются, многие разработчики по глупости оставляют варнинги и не критичные ошибки типа - ну там и так все ясно, а когда их пара сотен набирается, уже не могут отличить знакомые от незнакомых.
    Ответ написан
  • Какую выбрать портативную кнопку с подключением к смартфону?

    @rPman
    самые дешевые bluetooth кнопки для камеры продаются везде начиная с фикспрайса

    они симулируют нажатие на громкость, это событие в android отлавливается штатно даже в заблокированном режиме
    Ответ написан
    Комментировать
  • Проблема со скоростью интернета, в чем может быть проблема?

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

    Удостоверься что проблема не в программных ошибках и настройках, исключи свою текущую ОС из уравнения и загрузись с какой-нибудь liveusb/livecd версии (рекомендую linux xubuntu/kubuntu), настройки устройства смотри и меняй с помощью ethtool
    # ethtool enp4s0
    Settings for enp4s0:
    Supported ports: [ TP MII ]
    Supported link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    2500baseT/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    2500baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Link partner advertised link modes: 10baseT/Half 10baseT/Full
    100baseT/Half 100baseT/Full
    1000baseT/Full
    Link partner advertised pause frame use: Symmetric
    Link partner advertised auto-negotiation: Yes
    Link partner advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Auto-negotiation: on
    master-slave cfg: preferred slave
    master-slave status: slave
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: external
    MDI-X: Unknown
    Supports Wake-on: pumbg
    Wake-on: d
    Link detected: yes
    Ответ написан
    Комментировать
  • Пропадают данные при записи в JSON файл?

    @rPman
    В необходимость правильного использования базы данных тебя уже "ткнули носом", повторять не буду.

    Но если прямо очень хочется работать с файлами (а иногда это оправдано, например при монопольном однопользовательском доступе к данным) то совет, не храни 100500 данных в одном файле, создай каталог и внутри на каждый объект создавай json файл, с именем - идентификатор этого объекта

    такая key-value база данных простая, удобная, быстрая, подходит там где sql это излишне. Иногда поверх этого делают индексы (файл в котором фильтруемым данным сопоставляется список id) но если возникает такая необходимость лучше все же задуматься о нормальной базе данных
    -------------------

    Теперь по вопросу, чтобы найти место и причину потери данных, создай лог, текстовый файл, в который будешь записывать факты чтения данных (прочитан объект id) и факты помещения их в итоговый файл (записан объект id), затем для каждого id, не попавшего в итоговый файл добавь дополнительного логирования по условию по каждой ветке условий в коде

    Многие нормальные IDE позволяют вести отладку с брекпоинтами по условию, в этом случае все эти логи не нужны и все можно решить парой прогонов, расставив в нужных местах брекпоинты
    Ответ написан
    Комментировать
  • Как сделать задание cron?

    @rPman
    php для веб сервера и php для консольных команд - разные пакеты

    чтобы в командной строке запускать php test.php нужно установить пакет php-cli, да еще и настроить его персонально и включить модули в /etc/php/8.1/cli и modst-available (тут 8.1 версия, так как на сервере их может стоять несколько)

    путь до php интерпретатора определяется
    whereis php

    ну и на последок, настраивай не глобальный крон а пользовательский, залогинившись под ним по ssh и запустив crontab -e
    тогда скрипты будут запущены из окружения этого пользователя

    следи за правами доступа на запись своих логов
    Ответ написан
    Комментировать
  • ChatGPT создаёт новый код или только дублирует существующий из примеров? Он понизит зарплаты фронтендерам-джунам?

    @rPman
    Текущую версию ChatGPT "бояться" не надо, на текущий момент это продвинутый поисковик по некой обобщенной базе данных с зачатками интеллекта, он не способен понять свои ошибки а значит нужен тот кто будет за ним следить.

    p.s. попробуйте попросить ИИ загадать число, цвет и совершить "в уме" некие действия с ним, не сообщая загаданное
    он не сразу вас поймет но научить его этому можно

    нужно понимать что контекст этот бот сохраняет тупым способом - каждый запрос дожен включать все предыдущие запросы и ответы этого контекста

    но это ограничение api а не логики на серверах openai
    Ответ написан
    Комментировать
  • Получить ID канала YouTube по псевдониму?

    @rPman
    тупым search вот зашел в api explorer забил туда первый попавшийся мне @xxx из поиска и указал его в качестве поисковой строки
    curl \
      'https://youtube.googleapis.com/youtube/v3/search?channelType=any&q=%40samsonprof&key=[YOUR_API_KEY]' \
      --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
      --header 'Accept: application/json' \
      --compressed
    в ответе приехали все его каналы
    Ответ написан
    Комментировать
  • Что делать если случайно отформатировал все разделы и теперь устройство зависло в фастбут?

    @rPman
    прошить заново

    fastboot это не кирпич, это штатный инструмент прошивки устройства, ищи на 4pda или xda-developers готовые инструкции, все будешь делать через штатный adb

    p.s. главное не блокировать загрузчик после установки неофийиальных/модифициарованных прошивок, а то можно действительно кирпич получить
    Ответ написан
  • Кроссплатформенное программирование на C?

    @rPman
    Ну, про "большинство" мне кажется это преувеличение.

    winapi ничем особым не отличается от других UI библиотек, чуть сложнее кастомизация, достаточно неудобная работа, C-структуры а не классы и старые форматы строк (и проблемы с кодировками). Главное его достоинство - минимальные требования к ресурсам, в том смысле что не нужно использовать какую то прослойку, формирующую свою логику и способ рисования UI только чтобы проще его было кастомизировать.. но если тебе нужен только голый функционал, тянуть весь этот лишний мусор психологически неприятно.
    Когда то очень давно
    , впечатлившись возможностями delphi и успешными потугами msvc сделать разработку UI удобным, пробовал реализовать некую IDE, позволяющую рисовать формочки и генирирующую чистый winapi код для их создания (никаких библиотек), попытка была так себе но идея витает до сих пор (надобности в этом теперь нет).

    Ответ на вопрос - использовать libwine
    Ответ написан
    4 комментария
  • Выбор ноутбука для программирования на основе CPU?

    @rPman
    amd Single Thread Rating: 1824
    intel Single Thread Rating: 2205
    при примерно одинаковом общем score - 6524 и 6329 соответственно (да интель медленнее в многопотоке получается на синтетике).

    Второй от интель, у него m.2 ssd, больше портов (есть lan), видео от intel (в мобильных устройствах как я понял они лидирует как минимум по энергопотреблению) и заметно шустрее в single thread

    но киллер фича первого - сенсорный экран, так что от задач исходи.
    Ответ написан
    Комментировать
  • Как сделать скрытый редирект в гугле?

    @rPman
    В стандарте http есть заголовок Location, где можно указать новый адрес, в т.ч. другой домен
    работает прозрачно для всех браузеров, в т.ч. многоуровневые (ссылка ссылается на другую и так многораз, браузеры отслеживают ошибки циклических)
    Ответ написан
    Комментировать
  • Почему не загружается Windows 10 с установочной флешки Rufus?

    @rPman
    Странно, надписи говорят что в efi режиме уже началась загрузка (т.е. все читается и обнаруживается) но почему то не успешно.

    Сам установочный диск где брал?

    В качестве тестового варианта, попробуй записать iso образ флешки в режиме dd-образ

    если в режиме UEFI такая флешка тоже не загрузится, переключи в биосе режим загрузки legacy mbr или old compatibility (там по разному бывает называют его)
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать для изучения основ работы с алгоритмами и структурами данных?

    @rPman
    Язык программирования выбирают под наличие инструментов, написанных для этого языка, для решения поставленной задачи.

    Только в этой последовательности и не наоборот.

    Очень не эффективно изучать абстрактные технологии, ведь попав на задачу, ты точно так же будешь не понимать что как зачем и почему.

    Если говорить про структуры данных в смысле - сетевые пакеты, сериализация данных на диске и хранение переменных в памяти, то изучать лучше прямо с низов, с С, затем С++ std, который основательно поломает мозг, но без основ си это будет сложнее.

    Почему си? потому что когда начнешь ковыряться с отладчиком в дампах памяти (программ на любых языках программирования), именно эти знания тебе понадобятся, а не наслоения синтаксического сахара и абстракций высокоуровневых языков.

    Если же тебе это не нужно (а бывает не нужно), то и не заморачивайся
    Ответ написан
    Комментировать