Задать вопрос
  • Как создать формулу курса собственной вымышленной валюты?

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

    Например доходы владельца игры. Как именно доходы игры зависят от курса этой валюты? Торговля является самоцелью игры или в игре есть игровые предметы, которые по этой цене покупаются и могут являться предметом внеигрового торга? В зависимости от цели будет меняться требуемый алгоритм.

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

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

    @rPman
    canvas
    Ответ написан
    Комментировать
  • ROBOTDEMO.exe (майнер) кто сталкивался и как удалить?

    @rPman
    Общие рекомендации
    1. пролечить компьютер бесплатными drweb cleaner/kaspersky removal tool/...
    2. закрыть имеющиеся способы проникновения вирусов (как минимум обновление ОС, перед использованием файлов с ненадежных источников где могут быть вирусы, проверять их на вирусы и глазами подозрительные файлы и т.п.), запаролить/сменить пароли начиная с ОС и кончая wifi (злоумышленник, зная пароль от wifi, может подменить твой сервер/роутер, возможно потырить пароли ОС, подменить файлы и прочее прочее - доступ в локальную сеть, особенно без нормальных настроек безопасности почти всегда - дыра)

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

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

    Смотри что прописано в автозапуск, ищи exe файлы в c:\users\...\appdata, особенно если там имена совпадают с названиями служб в 99% случаев все что в автозапуске там можно безболезненно удалить или хотя бы отключить. автозапуск не только пуск-автозагрузка, но и настройки реестра или в диспетчере задач...

    пользуйся утилитой sysinternails autoruns (скачай с сайта майкрософт) чтобы посмотреть все что автозапускается, как минимум смотри что не имеет цифровой подписи (да, иногда ее нет у легитимных продуктов, но к примеру файлы драйверов реалтек можно тупо запомнить)
    Ответ написан
    4 комментария
  • Стоит ли увеличивать ОЗУ при VirtualBox или Nox?

    @rPman
    Виртуальная машина использует только физическую память, т.е. использовать больше памяти чем есть физически, с помощью файла подкачки почти невозможно (кажется qemu умеет). Если у тебя 8гб ram то виртуальную машину можно создать на 6гб (требуется 64-битная ос).

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

    p.s. если тебе надо больше, то лучше купить физически оперативную память, стоит она дешевле гемороя, который тебе создаст файл подкачки
    Ответ написан
    1 комментарий
  • Перенос Ubuntu с SSD на NVMe, проверить NVMe?

    @rPman
    С нуля на NVMe все устанавливается
    отлично, вот у тебя и решение. ставишь с нуля, и подменяешь копированием всю ос, загрузившись с livecd с которого установка проходит.

    Так как совершенно не понятно что у тебя происходит, ты же ничего не показал, ни ошибки ни скрины, ничего... то можно только гадать.
    С высокой вероятностью причина - проблемы с установкой grub и меню загрузки efi, попытка работать с NVMe в режиме legacy, когда как в твоем конфиге загрузка с него возможна только в режиме UEFI, к сожалению чтобы хотя бы настраивать UEFI нужно в этом режиме и грузиться.
    Ответ написан
  • Почему виснет окно Устройства и принтеры?

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

    перезагрузись
    Ответ написан
  • Обработкой фото и видео занимается процессор или видеокарта?

    @rPman
    Благодаря наличию opencv (а часто привязываются к вендору видеокарты, на примере cuda от nvidia) существует возможность разработки почти любых алгоритмов (лимит размера бинарника кажется в десяток мегабайт +-) для работы на gpu, а там очень многоядерный процессор и на порядок более быстрая память (с нелинейным доступом, память делится на банки с паралельным доступом).

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

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

    @rPman
    99% работы - распознавание чеков.

    Из открытых реализаций берешь Tesseract, возможно изображение пропустить через фильтры, так как обычно на чеках текст состоит из точек, и их нужно объединить в линии. Есть куча неоткрытых платных реализаций с api, просто гугли распознование чеков.

    После тесеракта получаешь текст, проверяешь его по формату, и уже добавляешь логику в водпресс.
    Ответ написан
    Комментировать
  • Возможно ли сделать прозрачную MITM атаку (без промежуточного ip)?

    @rPman
    https как раз и создан как защита от подобных атак

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

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

    @rPman
    Размер и архитектура сети плюс размер обучающей выборки.

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

    Первая метрика, точнее граница, ниже которой скорость обучения максимальная - объем весов сети плюс обучающая выборка должны вмещаться в оперативную память GPU.

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

    Следующая граница - обучающая выборка не влезает в GPU но вмещается в RAM, сама же нейронная сеть влезает в GPU, т.е. вычисление самой сети все еще быстрое а значит единственное ограничение - узкое горлышко между RAM и GPU.

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

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

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

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

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

    @rPman
    Если без редактирования приложения - подключи к планшетнику/смартфону аппаратную клавиатуру (переходник miniusb - usb стоит порядка 150р плюс в том же фикспрайсе за 99р купи usb расширенную цифровую клавиатуру, тебе же пользоваться ей не надо), android увидит ее и сделает ее по умолчанию при активации поля ввода, т.е. не будет выскакивать экранная.

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

    @rPman
    в меню загрузки grub (если машина перезагружзалась по reset то меню при следующем включении появится, ну или нажать esc в первую секунду загрузки) выбрать режим восстановления, ввести пароль root (надеюсь его делали, именно для пользователя root иначе придется грузиться livecd и в chroot и прописывать пароль, хотя в этом режиме можно и без resque все сделать), затем ввести команду:
    journalctl -xf
    выдаст лог ошибок системы, стрелками просмотр, изучай, что не срабатывает

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

    Если черный экран все равно появляется в нужный момент, можно отключить лого совсем, для этого в меню загрузки grub нужно нажать 'e' и отредактировать текстовый конфиг файл выбранного пункта меню загрузки, убрав quiet splash везде где найдешь (это строка настроек ядра linux /boot/vmlinuz....) и запуститься с отредактированными настройками f10 тогда лог будет в текстовом режиме (помогает если проблема с драйверами видеокарты или с ней самой)

    в общем пока не диагностируешь проблему, решить ее не сможешь.

    p.s. данные легко копируются загрузившись с livecd, в подавляющем большинстве случаев хватает копии /home (бакап все равно весь сделай) который можно развернуть на новую установку (само собой пакеты доустанавливать вручную, так же конфигурации машины понадобятся, но их можно копировать из бакапа), и все будет работать
    Ответ написан
    2 комментария
  • Как запустить ASP.NET Core приложение без сервера?

    @rPman
    Да, на машине устанавливаешь (с поддержкой asp.net встроено в windows начиная кажется с 7, хотя возможно домашняя версия ОС потребует рукошевелений, но pro или ultimate точно есть) IIS

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

    Сертификат https так же можно установить.

    инструкции

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

    @rPman
    гуглить учись
    android enable notification light led

    первый же результат говорит о программе light manager
    Ответ написан
    Комментировать
  • Как отправлять письма по email через c++?

    @rPman
    google: c++ lib email
    откроет мир готовых библиотек по работе с почтой, выбирай на любой вкус и твою среду и компилятор.

    c++ такой язык что программы на нем достаточно многословные получаются

    p.s. первый же результат из гугла https://github.com/karastojko/mailio

    message msg;
    msg.from(mail_address("mailio library", "mailio@gmail.com"));
    msg.add_recipient(mail_address("mailio library", "mailio@gmail.com"));
    msg.subject("smtps simple message");
    msg.content("Hello, World!");
    
    smtps conn("smtp.gmail.com", 587);
    conn.authenticate("mailio@gmail.com", "mailiopass", smtps::auth_method_t::START_TLS);
    conn.submit(msg);
    это многословно?
    Ответ написан
    Комментировать
  • Как синхронизировать базы данных Test и Production?

    @rPman
    Правильно - исключить 'ручную' работу в процессе переноса релизных изменений в продакшен базу.
    Т.е. задача разработчика делать скрипты, которые будут приводить базу данных предыдущей версии к следующей, при этом это не только обновление структуры (это кстати можно сделать автоматически, сравнив базы разных версий, гуглить ddl diff, к примеру для postgres это pgadmin shema diff) но и данные, например наполнение новых полей данными или к примеру в старой версии поле было текстовое в 'свободном формате', а в новой на его основе целая структура (вырожденный пример - был адрес текстовой строкой а стал чуть ли не целым ФИАС).

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

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

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

    @rPman
    если идти строго по поставленной в вопросе задачи, то можно взять список ключей объекта, взять нужный по номеру и использовать
    $items[$key][array_keys($items[$key])[1]]
    но так делать однозначно не нужно, никто не гарантирует что порядок элементов в массиве ключей останется прежним, придется все перепроверять.
    Ответ написан
    Комментировать
  • Где взять голый linux?

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

    p.s. если что графическая оболочка есть и у gentoo, по желанию, есть даже вариант с прекомпилированными бинарниками, все как вы любите - готовое на блюдечке но настроенное кем то другим.

    Самые подробные инструкции, а главное, проходя по процессу установки, начинаешь понимать как именно внутри все устроено, что очень важно для обучения. Огромное и дружелюбное сообщество, да и многие инструкции от arch подойдут, а так как при работе с gentoo появляется правильное видение концепций linux, инструкции из других linux типа ubuntu так же помогают, хотя начинаешь понимать ущербность большинства из них.

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

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

    Но и сил на это уйдет столько, что начнешь понимать, почему в мире именно этим процессом занимаются целые компании, так как в конечном счете с gentoo мейнтейнером ос становишься лично ты.
    Ответ написан
    3 комментария
  • Как устранить черный экран?

    @rPman
    панель управления - программы и компоненты
    удаляй там
    Ответ написан
    Комментировать
  • Почему не прожимаются кнопки q, f,z?

    @rPman
    Не скажу про vnc но всякие anydesk/teamviewer, которые под капотом тот же vnc но переработанный, могут странно работать если на удаленной машине и у клиента на текущий момент стоят разные раскладки клавиатуры, и еще более странно все это работает, если на удаленной машине в принципе нет текущей раскладки (не установлен соответствующий язык)
    Ответ написан