Задать вопрос
  • Как отправить такой же JSON запрос методом POST?

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

    p.s. примеров не будет, так как в вопросе ничего не сказано кроме нескольких несвязных скриншотов дампов запросов
    к тому же, тем кто способен провести реверсинженеринг приложения, объяснять как пользоваться curl не нужно
    Ответ написан
  • Нужно чтобы в результате работы программы XML файл доступный по ссылке?

    @rPman
    Тебе нужен веб сервер, бакэнд не нужен, хватит раздачи файлов 'статикой' (все поддерживают передачу просто файла, mime тип определяется по имени), так же скорее всего нужен SSL/TLS-сертификат для поддержки протокола https (можно без него но тогда любой, начиная с провайдеров, сможет читать пароль и модифицировать файл на лету). А еще нужен сервер, на котором ты запустишь этот веб сервер. По мелочи но не обязательно, защита этого сервера от ддос,... т.е. это ты должен обсудить с заказчиком, включая как долго это должно работать и это может повлиять на стоимость.

    Либо найди готовый, кто даст тебе все это за деньги... или бесплатно, как получится (обычно прямую ссылку для скачивания бесплатные сервисы не дают, так как иначе их начинают использовать на автомате как бесплатное хранилище)
    Ответ написан
    Комментировать
  • Какие есть пути объединения Blockchain и AI?

    @rPman
    Создание ИИ, даже в упрощенном виде (не тот который человека заменяет а тот что для конкретных задач формулируется), обычно это две огромные задачи:
    1. описание проблемы и определение метрики качества ее выполнения
    если говорить про использование нейронных сетей то это обучающая выборка и функция ошибки (оценка качества соответствия обучающей выборке полученной нейронке)
    2. собственно создание ИИ
    в нейронках это создание сети ипоследовательное изменение этой сети с целью минимизации функции ошибки, плюс другие правки (например защита от переобучения)

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

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

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

    @rPman
    например тройка цифр и пробел считать за начало новой строки, поставить перед ним

    \d\d\d\s
    но это как ты понимаешь ненадежно, у тебя потеряна информация в файле и возможны ситуации когда эта регулярка все сломает
    Ответ написан
  • Форматирование смонтированного диска?

    @rPman
    Штатно операционная система не даст офторматировать файловую систему, если она примонтирована, но это не значит что ты не можешь в принципе что то туда записаь, root доступ это позволяет.

    Например можно проделать с помощью виртуализации, если диск передать как устройство внутрь файловой системы и уже из нее провести форматирование

    Так вот если файловая система была открыта с доступом на запись, то во время ее размонтирования, даже если на нее не было проведено какой либо записи во время этого эксперимента, в зависимости от формата файловой системы (например это замечено у btrfs, пишет много при размонтировании), может записывать данные в этот момент, а это значит состояние файловой системы будет в неконсистентном состоянии, и если эти записи попадут на области, которые разметило форматирование - структуры будут повреждены.

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

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

    @rPman
    Смотреть файл чем то более адекватным, json это текстовый формат, его сможет прочитать любой текстовый редактор, с возможностью переноса длинных строк (практически все умеют) например штатный блокнот. Рекомендую любой hex просмотрщик, или к примеу Far Commander, он умеет и то и другое.

    Совершенно не понятно по скрину, что там у тебя выводится, что за NULL, кто выводит эти слова, просмотрщик или это действительно содержимое? Скорее всего эти NULL это символы с кодом 0x00 в файле, в json их быть не должно.

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

    Я знаком со случаем, когда компьютер неправильно выключался вчера а сегодня записанный файл при корректном выключении - не сохранился.

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

    С большими шансами, если нет резервных копий и к примеру исходных данных, - данные потеряны
    Ответ написан
    1 комментарий
  • Возможен ли удаленный доступ обычного ПК через отдельное устройство - посредник?

    @rPman
    гуглить: kvm over ip
    на хабре есть статья самоделка

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

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

    upd. самое дешевое решение я рекомендую не городить устройство посредник, а собрать liveusb образ флешки с ос, в которой настроен удаленный доступ и автоопределение параметров подключения к сети, данный образ выдается клиенту по сторонним каналам (можно даже просто uefi сборку разместить на карте памяти смартфона, подключив его к компьютеру и выбрав режим sdcard в настройках, загрузиться с него, это самый ничего не требующий способ, потому что все можно будет сделать прямо со смартфона)
    Ответ написан
    Комментировать
  • Какая ОС самая быстрая для работы торгового робота на С++?

    @rPman
    К сожалению программы можно написать так что при смене операционной системы их скорость работы может значительно измениться, и не факт что linux окажется быстрее, особенно это касается IPC (обмен приложений данными, в зависимости от способа), чаще всего это является следствием плохой архитектуры приложения, так как в случае правильной ее реализации скорость не будет зависеть от выбора ОС.

    Отличный пример - в windows значительно медленнее работа с файлами и базами данных, но я видел ситуацию когда частые обновления с fflush укладывали на linux сервере дисковую подсистему 'на лопатки' если файл лежит на nfs в сети на соседней машине но тот же код приемлемо работал локлально тоже на linux.
    Ответ написан
    Комментировать
  • Зачем разделяют ввод логина и пароля?

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

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

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

    @rPman
    в существующий нельзя (если он на твоем домене, то доступ есть), но поверх него можно, координаты iframe известны, рисуй поверх него прозрачный canvas или svg и на нем уже что хочешь рисуй
    Ответ написан
    Комментировать
  • Как вычислить координату угла А прямоугольника?

    @rPman
    Странно, обычно известны координаты центра и все размеры

    определяй координаты центра, для этого можно взяв за начало координат точку B (0,0) повернуть расположенный нормально прямоугольник (в твоей схеме это отрицательные значения по X,Y соответственно половина ширины и высоты прямоугольника), используя матрицу поворота

    Затем получаешь координаты центра, прибавив к полученным координатам B, а чтобы получить координаты A снова прибавляешь (так как вектор тот же самый)
    Ответ написан
  • Почему у функции в setInterval "пишем" одни скобки а не две вызывая ее при замыкании?

    @rPman
    потму что ты определил вложенные замыкания (не думал что такое синтаксически возможно)
    (param) => () => {
    вот пример
    var x = (param) => () => {  console.log("Выхлоп!" + param);}
    x();
    // > function x()
    x(1)();
    // Выхлоп!1
    
    var x = (param) => {  console.log("Выхлоп!" + param);}
    x(1);
    // Выхлоп!1


    лично мне интересно почему надо писать x(1)() а не x()(1)
    Ответ написан
    Комментировать
  • Как реализовать парсер сайта скриптами JS из приложения c#?

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

    Подключаешь к проекту какой-нибудь браузер, открываешь требуемую ссылку там, мониторишь итог на предмет окончания загрузки (отдельная проблема)...
    например штатный компонент .net WebBrowser это древний internetexplorer11 на windows, но при запуске проекта на mono - это будет что то основанное на firefox

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

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

    если разработчик делает все же приложение для смартфона то только для одной цели - сбор приватных данных, не надо делать так пожалуйста
    Ответ написан
  • Возможно двойное расходование при реорганизации цепи в Биткоине?

    @rPman
    Не существует консенсуса для децентрализованных проектов, в котором не было бы подобных оговорок

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

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

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

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

    @rPman
    Для игры достаточно:
    на падающий объект действуют силы - вектор приложенной (текущей) скорости, ускорения свободного падения, трения о среду и архимедова сила (для воды)

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

    @rPman
    в grub или что у тебя там и в /etc/fstab, как прописан путь до корневого диска и остальных? через /dev/xxx или UUID=xxxxxx ?
    старые ide диски в старых версиях linux назывались /dev/hdX
    а новые /dev/sdX

    но лучше прописать по UUID=xx а сам идентификатор узнать с помощью к примеру ls -l /dev/disk/by-uuid/

    загружайся в рекавери режим или с livecd любого linux и правь конфиги

    в grub можно временно поправить конфиг, нажав клвишу e на нужном меню
    Ответ написан
    9 комментариев
  • Исправить ошибку после ребута Linux машины?

    @rPman
    загрузиться в рековери режиме (в меню загрузки grub выбирать advanced - recovery) там можно выбрать проверку диска в меню либо вручную зайти в консоль и сделать fsck и раздел то что у тебя /
    Ответ написан
  • Индикатор RDP-подключения для десктопного пользователя?

    @rPman
    Если это твой конфиг, то можно в планировщике задач добавить задание с тригером 'При подключении к пользовательскому сеансу', выбрать пользователя и указать 'при подключении с удаленного компьютера', в действие добавить команду:
    msg имя_пользователя_тебя "сообщение"
    и такое же для отключения, если тебе критично, тебе будут прилетать сообщения в виде модального окошка, пропустить невозможно
    Ответ написан
    1 комментарий
  • Как узнать загрузилась ли страница PHP?

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

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

    Официально html имеет onload атрибут на событие окончания загрузки самой html страницы, если содержимое страницы формируется на сервере то оно будет вызвано когда все элементы будут загружены. Как я уже сказал, для активного содержимого, заполняемого скриптами это не сработает.

    Поэтому в скрипте на это событие делай запрос на веб сервер (fetch или XMLHttpRequest или любую библиотеку, например jquery ajax) а уже на веб сервере сохраняй это событие где-надо, в базе или в сессии
    Ответ написан
    Комментировать