Задать вопрос
  • Как данные из одной таблицы sqlite3 передавать в другую?

    @rPman
    существует sql запрос insert or replace, который обновляет запись в указанной таблице по условию, но если условие выдает пустой список - создает запись

    Но я настоятельно рекомендую для упрощения кода исключить ситуацию, когда в обновляемой таблице нет нужных записей, в момент, когда в твоей базе появляется поддержка нового токена, добавлять в эту таблицу запись о нем с нулевым объемом. В этом случае хватит простого update mytable set amount=amount+? where cryptoname=?

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

    @rPman
    понижение в 48 раз это конечно много

    по теме:
    * проверь что включена аппаратная виртуализация в bios, так же попробуй выбери 'интерфейс виртуализации' kvm в настройках ускорения виртуальной машины (на linux должны доступны штатный от virtualbox и kvm, а hyper-v это только для windows хоста)

    * установи на windows guest additions - это по факту драйвера на виртуальные устройства, после установки которых в настройках виртуальной машины можно включить контроллер virtio (и для сети тоже)

    по умолчанию virtualbox использует эмулятор контроллера sata и он медленнее (но не в 48 раз, это конечно что то не то), особенно это видно при использовании сети на максимальной скорости, не virtio-... устройства начинают использовать cpu очень сильно
    Ответ написан
    Комментировать
  • Очень медленный mysql запрос из-за ORDER BY, как можно ускорить?

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

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

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

    p.s. если диск не отображается как внешний и в трее нет кнопки - безопасное извлечение, то можно в реестре принудительно задать его как внешний
    вот статья описывающая обратный процесс, тебе вместо значения 1 нужно поставить 0 у нужного
    Ответ написан
    Комментировать
  • В чем отличие классической/продвинутой торговли на Binance от обмена фиата внутри Binance?

    @rPman
    комиссии и скорость получения активов.

    binance предлагает следующие инструменты:
    * спотовый рынок
    * p2p
    * маржинальная торговля, рядом с ними фьючерсный рынок (пара - с залогами в usd и bitcoin), в интерфейсе они в разных местах но идеологически это то же самое (фьючи отдельный разговор, там куча нюансов и неожиданных 'комиссий')
    есть еще множество финансовых инструментов, например nft который можно тоже называть рынком но не хочу это рассматривать, плюс сопроводиловка типа стейкинг фарминг криптозаймы и прочее прочее, по факту являющимся очередным из 100500 способов отъема денег у населения (цель - добровольная блокировка пользователем своих активов на площадке биржи)

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

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

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

    после 10.5 версии были добавлены worker_threads гре разработчик может создавать настоящие треды, но для доступа к данным из соседних потоков нужно использовать соответствующие типы данных, например слать сообщения или создавать SharedArrayBuffer...

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

    @rPman
    Запрети всем доступ к usb и запили скриптик, который к примеру по крону будет проверять список устройств, например с помощью lsblk (там можно настроить подробный вывод) и смотри там uuid или метку или идентификатор устройства и монтируй

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

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

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

    @rPman
    вот тут как раз обсуждался пример такого скрипта
    Ответ написан
    Комментировать
  • Файловый сервер на Windows просто решение?

    @rPman
    syncting
    Если вас устраивал dropbox то это опенсорс решение, не требующее сервера в принципе.

    Устанавливается на машины пользователей (лучше всего прописать в автозапуск через task scheduler), веб интерфейс в браузере, поддерживает win/linux/android и точно знаю есть проекты для mac/iphone. Позволяет настраивать многоуровневое копирование при этом между узлами можно настраивать как двунаправленное распространение изменений так и однонаправленное...

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

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

    p.p.s. контроль версий лучше выдать на откуп других программ, например git (для windows есть графический интерфейс, и не один, посмотри tortoisegit), так как хранилище у него в файлах, он будет совместим с syncting, работающий с файлами, и работать все будет более менее эффективно без оверхеда.
    Ответ написан
    Комментировать
  • Чем заменить иностранные облачные хранилища S3 в условиях санкций находясь в РФ?

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

    Сам кошелек имеет удобный и простой http rpc api по работе с файлами, есть куча инструментария (например fuse модуль по работе с хранилищем, даже без кошелька и прогрузки блокчейна), скорость понятно зависит от выбранных нод и размещения сервера но минимум десятки мегабит, по ценам с этим хранилищем можно сравнивать с amazon deep archive

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

    @rPman
    При запросе видео по указанным ссылкам, есть примерно полсекундная задержка, затем идет загрузка (ростелеком 1.5мб/с)
    если зайти на сайт, примерно 6 секунд идет загрузка, потом появляется анимация loading.. еще через секунд 5 уже появляется анимация и запускается видео (на запуск видео уходит как раз эта секунда его загрузки), обновление страницы загружает сайт меньше чем за секунду (это в основном анимация 'раскрытия окна')

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

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

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

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

    так же у меня вот под рукой старый монитор с vga входом, который при использовании даже древней видеокарты amd hd5830 через dvi-vga переходник, корректно сообщает компьютеру о своем штатном разрешении 1600x900, но при подключении к материнской плате (встроенная видео от amd) нужное разрешение не обнаруживается, само собой все драйвера установлены, включая на сам монитор! (это inf файл с описанием его параметров).

    для linux используй штатную утилиту xrandr, для windows ищи, их много было, в т.ч. у nvidua control panel есть соответствующий пункт
    Ответ написан
    Комментировать
  • Как создать бота для windows?

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

    чтобы получить базовую информацию о графической структуре окон требуемых приложений (а все они так или иначе будут использовать хотя бы одно win32 окно), используй штатную утилиту, идущую в поставке с visual studio - microsoft spy++ (даже если нет ярлыков, утилита spyxx.exe лежит в каталоге visual studio... tools)
    Ответ написан
    3 комментария
  • Двойная шифровка файла?

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

    так что нет, это нисколько не повысит сложность распознавания вируса

    а если это не вирус то причем тут антивирус?
    Ответ написан
    7 комментариев
  • Как убрать пустоты в видео?

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

    советую включать 2x скорость проигрывания (или подбирай скорость по ситуации) - помогает

    p.s.
    извините не удержался
    Ответ написан
    1 комментарий
  • Как определить значение X и Y по нажатию курсора на область графика?

    @rPman
    математика? график это график функции?

    Когда ты сам рисуешь график, ты должен реализовать формулу, которая из x и y=F(x) твоего графика вычислять screenX и screenY, т.е. координаты (чаще всего в пикселах) точек на экране

    соответственно обратный процесс, из клика по экрану, тебе нужно написать обратное преобразование

    если с X обычно все просто, пусть minx и maxx это минимальное и максимальное значения на графике для x, а график на экране рисуется с minScreenX до maxScreenX, то вычисление точки screenx = ((x-minx)*(maxScreenX-minScreenX)/(maxx-minx))+minScreenX
    точно так же считаешь screeny, только вместо x берешь y=f(x), miny, maxy и minScreenY, maxScreenY соответственно

    обратное преобразование для x проблем не составит, это школьный курс, но вот для y немного сложнее, если у f(x) можно аналитически вывести обратную функцию x=FF(y) то все просто, иначе, есть простой способ - сохранить в памяти в массиве все значения функции для каждой точки screenX на экране в виде ассоциативного массива ff[x]=[...] и использовать его вместо обратной функции
    Ответ написан
    Комментировать
  • Потеря оплат от пользователей из РФ в Google Play в условиях санкций, что делать?

    @rPman
    Ты не осознал корень проблем?

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

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

    нет других вариантов кроме как искать другие площадки или другой способ заработать деньги
    Ответ написан
    Комментировать
  • Какую ОС подобрать для этого ноутбука?

    @rPman
    Настоятельно рекомендую ubuntu, но устанавливать в вручную через debootstrap или брать xubuntu
    Версию последнюю lts, поддерживающую 32bit, кажется это 12 версия

    Почему ubuntu а не что то экзотичное? Потому что на нее можно найти зеркала репозиториев на любые версии
    Ответ написан
    3 комментария
  • Как загрузить старую версию llmv-8?

    @rPman
    Ubuntu backports llvm
    Как я вижу есть даже 6 версия но только для. Lts релиза

    Так что ставить только в chroot или какой нибудь контейнер типа lxc или docker
    Ответ написан
    Комментировать