Задать вопрос
  • Аналог Selenium для обработки клика?

    @rPman
    Инжект скрипта с помощью обычного браузера и плагина типа greasemonkey не работает?
    Ответ написан
    Комментировать
  • Как установить qemu вместо virtual box для работы с docker toolbox на windows 10?

    @rPman
    docker это linux. Для запуска на windows используется виртуальная машина, в случае с wsl она просто скрыта от пользователя, но она есть (используется майкрософтовский hyperv), в подавляющем большинстве случаев лучше установить полноценный linux в виртуалке и уже внутри настраивать docker (инструкции уже для linux выбранной версии будут).

    Без поддержки аппаратной виртуализации будет очень медленно работать (примерно в 10 раз медленнее нативного).

    VirtualBox умеет работать без аппаратной виртуализации, если загрузить ExpansionPack с офф сайта (бесплатно для личного использования)
    kvm/qemu точно так же (собственно как я понимаю virtualbox его использует под капотом для этого)

    Если машина не умеет виртуализацию, то либо она не включена в биосе (99% случаев, еще есть редкий случая, на машине стоит руткит вирус, лечить только загрузкой с usb/cdrom антивирус) либо машина ну очень древняя, и в добавок еще и не умеет 64bit (скорее всего).

    p.s. Если windows 32-битный, то есть возможность запустить colinux, проект песочница (это user mode linux портированный под windows) который по факту не является виртуализацией, и в каких то задачах (там где меньше системных вызовов) будет работать быстрее софтварной и даже аппаратной виртуализации. Недостаток - проект не портирован для x64 архитектур и заброшен в 2015 году, я точно помню где то в 2019 я ставил в него ubuntu какую то lts, смотри последнюю, что поддерживала 32-бита, так же как я понял он утилизирует только одно ядро cpu плюс все лимиты 32-битности с памятью

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

    upd. https://cdimage.ubuntu.com/ubuntu-mate/releases/18...
    последняя официально поддерживала i386

    сервера обновлений попробуй яндексовые mirror, типа так /etc/apt/sources.list
    Ответ написан
    7 комментариев
  • Как удалить профиль пользователя в Windows 10?

    @rPman
    Самую важную информацию - как ты до такого дошел, какими действиями, ты не сказал.

    Попробуй вручную все удалить. Открываешь в regedit:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\

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

    @rPman
    Попробуй настроить wireless display receiver linux и подключить к нему свое устройство, транслирующее на этот монитор твой 4k контент.

    например https://github.com/albfan/miraclecast и пиши изображение со своего монитора.

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

    Так же есть аппаратные hdmi энкодеры, используй их
    Ответ написан
    1 комментарий
  • Какая частота монитора больше подходит для 60 FPS?

    @rPman
    Лучше хуже - вопрос личного восприятия.

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

    Мне кажется, для подавляющего большинства нужны циферки
    а не реальное ощущение. выше 60 кадров нужно только кибер спортсменам, а некоторым хватит даже 30-40 (если они стабильны).

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

    upd. еще высокую смену кадров нужно дисплеям очков виртуальной реальности, там 90fps на грани минимума, все из-за особенности смены изображения при поворотах головы, но автору вопроса это не надо
    Ответ написан
    Комментировать
  • MySQL + PHP :: Хранение паролей клиентов в базе данных с целью их извлечения, как защить?

    @rPman
    Забудем что принципиально хранить пароли - плохая практика, но так как задача уже такова что хранение вынужденное то:
    1. шифровать логины и пароли (весь набор данных, не имеющих смысл друг без друга, лучше хранить сериализованными в одном поле, особенно когда от задачи к задачи поля меняются, т.е. логин пароль почта api key, gpg ключи шифрования и т.п. пусть это будет свободная json строчка, за ее анализ отвечает клиентская часть приложения)
    2. ключом/паролем, который не хранится в базе данных (он должен являться частью бакэнда, т.е. в том месте где на бакэнде хранятся настройки подключения к внутренним сервисам либо отдельное место хранения) - при разделении работ между людьми (обслуживать базы могут другие люди, чем те кто имеет доступ к бакэнду) чувствительные данные не утекут легко.
    3. логируй все, т.е. показал пароль - сохрани в специальном логе (в базе или файлах уже вопрос организации работ) - кто, когда, с какой машины, что получил
    4. когда показываешь пароль на клиентской машине, повторно запрашивай авторизацию (чтобы не использовалась автосохраненная), важный момент, это исключит кражу данных уже на стороне клиента, очень мало кто правильно организует рабочее место (это просто неудобно и дорого).
    Ответ написан
    2 комментария
  • Как ускорить запись в базу?

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

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

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

    @rPman
    попробуй найти по именам файлов в каком-нибудь dht поисковике (гуглить btdigg alternative)
    вроде рабочий нашел 1337x.to
    Ответ написан
    Комментировать
  • Почему не срабатывают скрипты после XMLHttpRequest запроса?

    @rPman
    console.log(xhr.status) перед if-ом, проверь, возможно у тебя твой бакэнд возвращает не 200
    а еще в отладочной консоли и networks браузера смотри, если ошибки там про это будет написано
    Ответ написан
    1 комментарий
  • Почему linux сервер при передаче файлов по sftp сохраняет не все файлы?

    @rPman
    mayton2019 абсолютно прав, скорее всего python приложение игнорирует ошибки.
    Если у тебя sftp то включи логи и сравни их с логами твоего python приложения.

    Посмотри внимательно на имена файлов, которые не скопировались, что в их именах необычного, к примеру если клиент у тебя linux а сервер у тебя windows (или vfat файловая система) то файлы с одинаковыми именами но разным буквами строчные/прописные будут считаться одним и тем же файлом и перезаписываться.

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

    @rPman
    Безопасность чего?

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

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

    p.s. oracle дорос до скоростей mysql/postgres веб? особенно если речь об мелких объемах
    Ответ написан
    3 комментария
  • Как в php заблокировать файл от других обращений?

    @rPman
    POST это http?
    Тебе нужен свой http сервер, реализующий нужную логику. Инструментов миллион, попробуй swoole
    .
    Если его реализовать без многопоточности и асинхоронщины, то пока он будет обрабатывать один запрос, никакой другой не будет получен, другие будут ждать в очереди сетевого стека и отваливаться с ошибкой по таймауту.

    Интересно что встроенный отладочный http сервер php -S xxx:port какраз однопоточный, и хотя его не рекомендуют для продакшн, можешь попробовать.
    Ответ написан
    4 комментария
  • Возможны ли коллизии при использовании rename?

    @rPman
    Системный rename атомарный, т.е. два одновременно работающих приложения отработают так что одно вернет true а другое false. Осторожно с сетевыми файловыми системами, к примеру nfs не гарантирует.

    Но вот записи в файл - нет, совершенно нормально получить кашу, если писать в файл к примеру логи (строчки) одновременно из двух потоков/процессов. И fflush тут не спасет, понадобится синхронизация либо через блокировки файлов (не рекомендую) либо через семафоры/мьютексы или другие IPC механизмы. Есть мнение что запись кластера файловой системы - атомарна (если твои writes выровнены по нему и размером с него), но как я понимаю гарантий этого никто не дает.

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

    @rPman
    Есть косвенное решение - разрешить в браузере сохранять загрузки автоматически без запроса места сохранения (на сколько я знаю это поведение по умолчанию) и из скрипта сформировать файл через File, Blob или MediaSource, создать для него ссылку с помощью createObjectURL (на сколько я помню это будет data uri строчка) и кликнуть по ней.

    var file=new Blob([JSON.stringify(obj, null, 2)], {  type: "application/json"});
    var url=URL.createObjectURL(file);
    var a = document.getElementById("a"); // где то на странице невидимая ссылка
    a.href = URL.createObjectURL(file);
    a.download = 'myfilename.json';


    Как вариант строчку сделать самому и отправить его прямо в location, что то типа location.href='data:text/plain;charset=utf-8,test').

    Твое python приложение пусть ожидает файл в каталоге для загрузок, указанном в настройках браузера. Будь готов, что браузер добавить ' (xxx)' к имени файла, если такой же там уже есть.

    Я примерно таким образом добавленным через консоль (или расширением типа greasemonkey) скриптом кликал и собирал данные в веб приложении, после отправлял их на сохранение в виде csv-шника, а затем собрал кучу сохраненных файлов уже десктопным приложением.
    Ответ написан
    Комментировать
  • Локальная учетная запись или учетная запись Microsoft - есть разница с точки зрения использования BitLocker?

    @rPman
    https://learn.microsoft.com/ru-ru/windows/security...

    На сколько я знаю разница только в том что при использовании онлайн учетной записи есть возможность хранить бакап ключа на OneDrive

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

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

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

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

    Почему кратковременное подключение не поможет - так как контроллер банально не успеет проделать всю необходимую работу.
    Ответ написан
    Комментировать
  • Как подключить 6 мониторов?

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

    Выглядит это как расслоение изображения на динамичных сценах.

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

    @rPman
    с точки зрения гендиректора
    в некотором смысле тут все просто

    Либо ты своими силами на своих или арендуемых мощностях (т.е. буквально свой компьютер-сервер, выделенный сервер провайдера DS/виртуальный сервер провайдера VDS/VPS) с реализуешь хранение данных, для этого более чем много инструментов, и если данных относительно мало (миллионы записей) то возможно вам хватит любой sql базы (бесплатные postgres/mysql).

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

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

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

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

    Теперь вопросы - чем вас не устраивает текущее облачное решение от яндекса? Что вы пробовали локально?

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

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

    @rPman
    не тут пишете вопрос, лучше на профильные типа 3dtoday идти, там есть и готовые гайды и таких вопросов было задано миллион.

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

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

    * 0.2мм слой для сопло 0.4 это предельно высокий, уменьшай, тесты показывают что выше 1/3 от диаметра высоту слоя поднимать не рекомендуется, так как это ухудшает сцепление слоев
    Ответ написан
    2 комментария