Задать вопрос
  • В каком файле хранит данные расширение Onetab для firefox?

    @rPman
    Почти все данные firefox в профиле хранит в виде sqlite файлов

    Открывваешь каталог профиля в linux - .mozilla/firefox/xxxx или в windows - %appdata%\Roaming\Mozilla\Firefox\Profiles\xxxx

    все данные сайтов хранятся в /storage/default и там же есть каталоги для расширений, типа /storage/default/moz-extension+++XXXXXXXXXXXX

    достаточно скопировать из старого профиля в новый (браузер должен быть закрыт) чтобы все перенеслось

    p.s. установи какое-нибудь ide для этого типа SQLiteStudio и открывай файлы им, можно много что поковырять и даже подправить вне возможностей интерфейса, но само собой без нормальной документации и гарантий, т.е. бакапы бакапы и еще раз бакапы ДО экспериментов
    Ответ написан
    Комментировать
  • Есть ли андроид-браузеры с полноценной панелью разработчика?

    @rPman
    Есть лайфхак, устанавливаешь любой инструмент linux-песочницы, самый простой - debian no root в googl play (есть и другие инструкции, например через termux, больше контроля что происходит)

    Настоятельно рекомендуется настоящая мышка и клавиатура (usb otg + хаб или bluetooth)

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

    @rPman
    Такое возможно только с серверами и видеокартами nvidia серверными типа a100
    Вот полистай, вот настройка vgpu у vmware
    Ответ написан
    3 комментария
  • Free inodes в Windows. Что это и как с этим бороться?

    @rPman
    https://habr.com/ru/post/462849/

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

    с ходу для windows решения не подскажу, в статье по ссылке народ писали что к примеру размещали файлы веб сервера в zip файле без сжатия и модулем к этому веб серверу получали доступ, все работало плюс бонус по месту получили
    Ответ написан
  • Почему не парсится Wildberries beautifulsoup4?

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

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

    @rPman
    почитай там ответ

    смысл в том что это оптимизация wifi подключения для broadcast передач, по крайней мере очень похоже
    Ответ написан
  • Как использовать свой компьютер как прокси сервер в локальной сети?

    @rPman
    Самое простое это socks proxy, подходит для браузер и многих программ

    Реализуется любым ssh сервером на машине с интернетом, подключается к этому ssh серверу в локальной сети с ключом -D1080 где 1080 любой порт, и получаешь локально, где запущен клиент, socks proxy сервер, который можно прописать в браузере

    Этот способ максимально простой и не требует ничего особого.

    Для настройки nat, как универсальный способ раздачи интернета в локальной сети, windows не подходит
    Ответ написан
    2 комментария
  • Как определить самый больший процент разници в if?

    @rPman
    В чем совет то тебе дать?

    Почему не работает код? так скажи что в нем не так.

    Про получение данных, если тебе нужны ОПЕРАТИВНЫЕ данные, забудь про http rest, используй websocket, binance выдает в поток в 4 тысячи событий по всем парам, подписывайся на них и анализируй, это ты сможешь сделать в одном подключении. Если же все же http rest то внимательно прочитай про лимиты на запросы, они указываются в минуту и на практике еще меньше
    IP Limits

    Every request will contain X-MBX-USED-WEIGHT-(intervalNum)(intervalLetter) in the response headers which has the current used weight for the IP for all request rate limiters defined.
    Each route has a weight which determines for the number of requests each endpoint counts for. Heavier endpoints and endpoints that do operations on multiple symbols will have a heavier weight.
    When a 429 is received, it's your obligation as an API to back off and not spam the API.
    Repeatedly violating rate limits and/or failing to back off after receiving 429s will result in an automated IP ban (HTTP status 418).
    IP bans are tracked and scale in duration for repeat offenders, from 2 minutes to 3 days.
    The limits on the API are based on the IPs, not the API keys.

    p.s. Исторические данные по фьючерсам недоступны (только в пределах текущего квартала)
    я пользовался, минуток тут более чем достаточно:
    https://dapi.binance.com/dapi/v1/continuousKlines?pair={$pair}&contractType={$type}&limit=1500&interval=1m&startTime={$startTime}&endTime={$endTime}"

    Где startTime и endTime нужно устанавливать на основе предыдущих полученных и сохраненных данных
    https://dapi.binance.com/dapi/v1/exchangeInfo
    Даст всю информацию о рынке (без стакана), там же видно где какой тип контракта PERPETUAL/CURRENT_QUARTER/NEXT_QUARTER какое наименование инструмента, типа LTCUSD_230630 или ETHUSD_230331 (там же есть все данные по времени начала и окончания периода), PERP фьючерсы повторяют spot рынок, поэтому для удобства можно эти данные брать

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

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

    Наблюдения показали что последние годы (лет 7-8) нормальный цикл жизни midend смартфона 3 года, при условии что он лежал в коробке - еще примерно +2 года (кстати lowend смартфонам заложена смерть через 2 года, вне зависимости от 'коробки')

    Если покопаться в сроках поддержки вендоров версий ОС то там как раз фигурируют числа от 3 до 6 лет, 6 - у iphone, 4 у пиксела, сяоми, самсунги 3-4г,.. погуглите. Плюс один год.

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

    После этого срока начнутся проблемы и тормоза, например приедут обновления которые что то сломают. Лежат у меня устройства без замены прошивки 7-8-летней давности, кстати обновления - главная беда этих железок, даже если на аппаратном уровне все хорошо, подобрать набор софта нужной версии будет очень сложно, компания гугл сделали все чтобы это было так.
    Ответ написан
    21 комментарий
  • Почему разный результат байт?

    @rPman
    У тебя разные типы данных и соответственно размеры int это 4 байта (или 8 в зависимости от компилятора и архитектуры) и char - 1 байт
    int in_stream[100]
    и
    char packet_data[100];

    memcpy работает с байтами а значит копирует только часть данных
    Ответ написан
  • Как использовать микрофон и динамик одновременно на беспроводных наушниках без режима головного телефона?

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

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

    @rPman
    с помощью if или case switch преврати value_remove/add в знак -/+ перед value, теперь делай sum по получившемуся значению и group by по дням (дату в номер дня преврати, например с помощью day_of_year или бери только день, месяц, год .. как тебе удобно)
    Ответ написан
    Комментировать
  • Почему при запуске grpc сервера с телефона через компьютер не получается подключится?

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

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

    эти ограничения искусственные, созданы для того чтобы пользователи не использовали смартфон как универсальное устройство а шли покупать новые устройства и новые тарифные планы
    Ответ написан
    Комментировать
  • Как законектить драйвер PDO mysql?

    @rPman
    скорее всего php устанавливался вручную готовым пакетом, все .so идут в поставке по умолчанию
    настраивается в php.ini

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

    @rPman
    Все способы хороши, да и тупой while sleep и более умный готовый event loop с асинхронными библиотеками.

    Часто все завязано на способе проверки, если хватит http запроса то да, приложение из 4 строчек сможет решить задачу

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

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

    @rPman
    почему нет, все есть, та же libcxx

    так же для работы с исходниками существуют библиотеки, позволяющие проанализировать код и работать с его структурой, например для поиска и рефакторинга (на их основе делают ide)
    Ответ написан
    Комментировать
  • В чем можно хранить около триллиона значений key=>value?

    @rPman
    ключ 49 бит - log(66^8) - пусть для простоты 8байт, значение 32 байта (у тебя там hex строка)
    только на значения тебе нужно 30 терабайта на каждый триллион - 32*10^12 и даже в идеальном случае еще 16тб на индекс ключа (чем больше оптимизируешь хранение тем больше операций на чтение и запись каждой)

    Недавно была статья на хабре про тесты производительности работы mssql с похожими ключами миллионы записей

    Я бы предложил схему с самописным индексом (мне кажется тут колхозить идеальнее всего).
    * делишь ключ на 2 части (если бы ключ был не такой равномерный, то нужно было бы брать хеш от него), например по 4 байта
    * младшие 4 байта (они наиболее равномерно будут распределены) - это номер блока в общем хранилище (на 1 триллион примерно 9кб, рекомендую. 16кб или 32кб, ssd на таких кластерах идеально работают), с массивом элементов: каждый из которых это вторые 4 байта ключа (старшие байты) + 32 байта искомое значение
    для 16кб блока итоговое хранилище будет 70 тб - 2^32*16кб, можно прямо в дисковое устройство писать без файловой системы, по дискам пусть какой-нибудь рейд 0 раскидывает
    * последняя запись в 16кб блоке - ссылка на дополнительное хранилище переполнений неравномерного распределения, его можно организовать как хочешь, на отдельном носителе

    Итого на каждый запрос ты делаешь ровно одно чтение 16кб блока с диска, в полученном массиве ищешь нужный ключ и получаешь значение (если нет значит переполнения из-за неравномерного заполнения индекса, топать в дополнительное хранилище), кстати можно читать по секторно в процессе поиска, тогда если диск сумеет это оптимизировать будет 2х профит. Запись то точно так же - 1 чтение 16кб и запись 1 сектора диска, дозапись в массив. Кстати, если контролировать порядоковый номер ключевого значения (а что то мне говорит там будет простой перебор всех паролей) то будет последовательная запись блоков на диск, для hdd это идеальная ситуация. Иначе всю оперативную память используешь как самодельный lazy write буфер, при переполнении записываешь его на диск, отсортировав согласно дисковым устройствам и отсортировав порядок номеров секторов (тогда либо понимать как работает рейд либо самому раскидывать по дискам), операционные системы и контроллер диска это умеют но у них кеш маленький.

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

    Добавь еще один уровень, будет 2 чтения по 8-16кб (когда ты не на 2 части делишь ключевое значение а на 3, первая часть ссылается на список ссылок на вторую часть, которые уже ссылаются на блоки с третьей частью), можно уменьшить этот оверхед но мне кажется скорость в твоей задаче важнее, ведь она упадет в два раза.
    Универсальные базы данных делают многоуровневые древовидные индексы (это настраивается) и ради удобства и универсальности ты теряешь в скорости.
    Ответ написан
    3 комментария
  • Какой процессор выбрать для виртуалок 4-5 машины в VMware esxi?

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

    Но выбирают обычно по деньгам.

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

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

    Второй критерий - хорошая быстрая оперативная память, можно сэкономить на процессоре и даже на материнке, но на оперативной памяти не стоит!

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

    p.s.
    у меня сейчас середнячок от интель i5-12600 c 6-тью ядрами (12 thread, 4.5GHz), за очень дешево ()меньше 20т.р.), виртуалки (kvm правда) летают, с паравиртуализацией больше 200мбайт/с простая самба файлы гоняет, а условная ntlite весь пакет обновлений на msdn windows 7 накатило меньше чем за 10 минут,.. с башенным кулером я его не слышу даже в нагрузке
    Ответ написан
    3 комментария
  • Не работает две планки оперативной памяти, что делать?

    @rPman
    одна планка на 32 нормально работает и артефактов нет?

    если что, смени профиль памяти/настрой кастомно на менее агрессивные тайминги и частоты и может даже повысь напряжение на них

    особенно это может быть актуально для noname китайских железок, плюющих на тесты и рисующих нереалистичные параметры в профилях
    Ответ написан
  • Файловая система на диске без разделов?

    @rPman
    можно ли как то прочитать такой диск в windows

    попробуй через wsl, но если идти этим путем то лучше установить нормальную виртуальную машину (по факту она же и будет но без извращений), в ней смонтировать и расшарить диск через samba
    Ответ написан
    Комментировать