Задать вопрос
  • Есть ли альтернатива специализированным облачным ML-хостингам, для развертывания на проде API-сервиса на основе ML-модели?

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

    Tensorflow обычно используют на python но есть реализация для c++

    И да, tensorflow может работать на cpu, народ пишет что в этом случае повышаются требования к ram примерно в 3-4 раза чем на gpu (точнее в 2 но еще 2х на запуск, что можно пережить со свопом) и работает при сравнении топового железа где то в 16-32 раз медленнее (распарлеливание на несколько компьютеров не эффективное по умолчанию)
    Ответ написан
    Комментировать
  • Как защитить offsets от RE?

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

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

    И повторюсь - взломать можно все, вопрос только в цене процесса и целесообразности. Обычно стоимость защиты сравнима со стоимостью взлома и чаще всего взлом (специалистом) будет немного проще. Как минимум не пользоваться типовыми решениями.
    Ответ написан
  • Как используя минимум ресурсов, при помощи python, sql и библиотек psycopg2 и pandas составить запрос к базе postgre используя данные dataframe?

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

    все остальные варианты - некрасивые

    p.s. судя по коду тебе просто нужно взять идентификаторы из экселя и по ним найти записи в базе, попробуй собрать все идентификаторы в список и сделать огромный select ... where id in (...), кстати можно собирать некоторое их количества и делать блоками по к примеру 1000 записей

    p.p.s. когда народ перестанет делать так и начнет пользоваться именованными параметрами?
    t.id=\'" + str(m_list[i][1]) + '\'
    Ответ написан
    Комментировать
  • Где лучше хранить БД? В докере или нет?

    @rPman
    За плюшки докера приходится платить понижением производительности файловой системы (хотя при использовании btrfs докером уже не так, но там сам btrfs дает накладные расходы, неоднозначные), можно получить до 20-30% понижение (это тюнится но в ущерб безопасности), кстати не только дисковый io, падает скорость системных вызовов.

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

    Если по производительности ты не упираешься в дисковую систему то используй докер
    Ответ написан
    Комментировать
  • Почему не устанасливаются видеодрайвера intel (0xe0000246)?

    @rPman
    отсюда
    open regedit
    go to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DeviceInstall\Parameters
    change DeviceInstallDisabled to 0


    так же причиной может быть не удаленный драйвер, вот на примере другого устройства с той же ошибкой смотри как удалить
    Ответ написан
    2 комментария
  • Как вкл весь объем диска?

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

    Почему пропал диск, это вопрос, требующий исследования, но у меня вопрос, 'а был ли мальчик'? Может быть это было два раздела одного диска? а после установки windows разделы были пересозданы (windows создает раздел дополнительный маленький загрузочный где то на 200мб) но главное, kalapanga правильно написал, '512гб по паспорту' это как раз 470гб свободных для файлов пользователя
    Ответ написан
  • Создание виртуального диска в Hyper-v?

    @rPman
    Даже если это можно сделать, то при использовании ntfs не всегда возможно сжатие/уменьшение размера диска, даже если там достаточно свободного места (кажется это связано с расширением mfat, если при его увеличении части его разместятся в конце диска, уменьшить за эти сектора уже не получится)

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

    @rPman
    Я так понимаю при установке windows было выбрано рекомендованное подключение к майкрософтовскому облаку (windows hello)? завели аккаунт, настроили вход по пинкоду, но он работает только при наличии интернета (кстати а разве из-за санкций этот способ входа уже не забанили?)

    Ну значит страдай, этого хочет майкрософт, особено пользователи win11.

    Правильно - нужно вспомнить пароль локального администратора либо сбросить сторонними утилитами (загрузочный диск/usb гугли как сбросить пароль администратора windows 10/11 что у тебя там) и уже от этого пользователя устанавливай драйвера
    Ответ написан
  • Как отключить предложение установить McAfee на windows 10?

    @rPman
    sysinternails autoruns - мощная утилита от майкрософт, показывает в одном списке практически все места где идет автоматический запуск, тут же можно удалить, тут же видно наличие цифровой подписи exe файла и ее владелец.

    Если не понимаешь чья утилита висит в автозапуске и нужна ли она, можно в виртуалке поставить систему и так же запустить в ней autoruns и сравнить.

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

    @rPman
    Все очень зависит от запросов.

    Самые простые запросы - поиск по конкретному значению, в sql запросе это выглядит select ... from ... where ПОЛЕ = 'значение'
    Как частный случай этого, выбор значения справочника (это такой список значений, обычно выделяют в таблицу с полями id,name а в целевой таблице оставляют идентификатор а не значение) в фильтрации where пишешь ПОЛЕ = идентификатор_из_справочника (в интерфейсе же ты можешь показывать не id а значения из справочника)

    Чуть по сложнее, это запрос по подстроке, как ни странно sql для этого подходит плохо, но если что есть запросы вида where ПОЛЕ like '%подстрока%', в зависимости от наличии % в начале и выбора типа индекса, такой запрос может перебирать все поля в базе или только те что нужно по индексу.

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

    Само собой есть еще поиск по дате, агрегатные функции (например поиск по сумме), сортировка, постраничная навигация и прочее прочее, на каждый момент есть свои способы реализации.
    Ответ написан
  • Что такое "100 вычислительных блоков в месяц" в Google Colab?

    @rPman
    Стоимость в 9$ для попробовать незначительная, чтобы самому ответить на этот вопрос.

    погуглил бы что ли отзывы
    Ran a pytti project on colabpro and it sucked up all the compute unit in about 10 min....for the month.....sucks

    it is ridiculous! I paid for a month of the pro and after 2 days I am using the same GPU as the free users! SO BAD!! I unsubscribed from the service and thinking about an alternative service!


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

    Если твои задачи не требуют большого объема RAM, покупай что то типа gtx1660 (6Gb), (можно взять 8-gb amd есть модели по хорошей цене, но только если ты упираешься по памяти) или gtx3060 (12Gb), это покроет 99% задач, и если честно многие задачи можно и на процессоре решить (да долго), уже через 2-3 месяца ты увидишь что затраты окупились, и при этом у тебя останется железо на руках, когда как после аренды ты остаешься только с результатом вычислений
    Ответ написан
    1 комментарий
  • Удалились файлы, как вернуть?

    @rPman
    windows

    Ищи в корзине на рабочем столе
    Если файлы на windows складывал на диск C:, ну например в мои документы или рабочий стол, то немедленно выключай компьютер и неси в сервис восстановления, каждый раз когда ты что то пишешь на диск C ты уменьшаешь шансы на восстановление файлов

    Можно попробовать самостоятельно файлы восстановить, новичку для этого понадобится дополнительный диск размером с тот на котором лежали эти файлы (точнее раздел). При наличии опыта и понимании что делаешь, можно попытаться все сделать на этом диске. Загружаешься с liveusb/livecd какой-нибудь linux, делаешь посекторную копию раздела на котором нужно восстановить файлы и дальше ковыряешься уже с этой копией.
    Ответ написан
    2 комментария
  • Как найти драйвер на для определенного устройства?

    @rPman
    Причём, получается, что сначала должна загрузится хвостовая ОС (причем не давая возможность управлять ею), затем загрузится VirtualBox, затем виртуальная ОС и в ней уже софтина и что бы пользователь имел возможность взаимодействовать только с ней.
    это очень легко провернуть, на linux машине достаточно в /usr/share/xsessions/ оставить только один файл .desktop (формат тот же когда создаешь ярлык на рабочем столе) со скриптом запуска виртуалки, если virtualbox то используй VBoxManage

    p.s. точно знаю что qemu можно запускать вообще без X-сервера (опция -display sdl), и при должном красноглазии его можно завернуть в initramfs, т.е. как таковой системы и устанавливать не придется (на все хватит /boot раздела с ядром и initramfs), я помню настраивал текстовый linux с одним приложением, запускаемый по сети (networkboot) там как раз приложение интегрировал в initramfs который загружался по сети в память.
    Ответ написан
    Комментировать
  • Планшет с 4 гб оперативки, 128 гб, 7-8 дюймами существует?

    @rPman
    смотри смартфоны 6.5" диагональ

    смартфон realme c31 4гб/64гб за 8т.р
    Oppo A55 за 9т.р.
    Ответ написан
  • Локальная сеть через телефон для windows?

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

    При наличии root и установленного инструментария можно это реализовать без интерфейса (из командной строки, в основе android - обычный хоть и кастрированный linux), но начиная с установки root и кончая поиска и установки нужного тулчейна (brctl) и еще хуже - настройки его, можно 'поседеть'

    проще купить usb wifi (цена вопроса 500р)
    Ответ написан
  • Как попасть с BIOS?

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

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

    p.s. а еще можно нагуглить видео работы такого же ноутбука и в слепую нажать кнопки
    Ответ написан
    5 комментариев
  • Как работать с 8-ю мониторами?

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

    а чтобы вставить 16x pci-e видеокарту в 4x/8x pci-e разъем, используют рейзеры, специальные переходники (в этом случае видеокарту придется как то по другому закреплять нестандартно

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

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

    p.s. DisplayPort в своей основе поддерживает одновременную работу нескольких мониторов на одной линии, но нужна поддержка в мониторах, зовется DisplayPort Multi-Stream Transport (MST), вот например у dell
    v6l7yt5u136mudzjocql6m2yt_s.png

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

    @rPman
    За то, какой именно код будет запускаться на разных доменах, обычно отвечает веб сервер, смотри настройки в нем. Там на каждый домен своя секция конфига. Работать такие сайты будут совершенно независимо, т.е. база сессий у каждого своя, ну а настройки баз данных сам пропишешь в коде у каждого свой.
    Ответ написан
    2 комментария
  • Как делать периодический бекап сайта если свободного места почти нет?

    @rPman
    Вроде как есть утилита rsinc для centos, но ей нужен доступ куда будет писать
    из-за вот этой фразы непонятно что у вас не получается.

    Если на машине получателе установить rsync как демон, то не потребуется даже ssh подключение, никаких накладных расходов тоже не будет

    Так же вместо rsync можно использовать старейшую программу для создания архивов - tar, отправляя результат в процессе его создания на целевую машину, любым доступным способом (смонтировать сетевой диск, по ssh или даже netcat), кстати хранить архив tar-ом так же вполне нормально

    Я успешно пользовался tar-ом и netcat, перемещая архив между серверами с разными ОС (linux/windows), к сожалению с rsync тогда могли бы возникнуть проблемы, поэтому пользуйся инструментом что для этого создавался.

    p.s. если бы у тебя была файловая система btrfs, то можно было бы создавать снапшоты, сохраняя последний и удаляя все старее, тогда можно было бы одной командой получать накопившуюся разницу в виде файла, который можно как хранить и передавать, так и применять на сторонней машине (там так же должна быть btrfs).
    https://btrfs.wiki.kernel.org/index.php/Incrementa...

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

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

    @rPman
    Твое понимание неверное.

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

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

    p.s. по поводу скорости, php и javascript (node) это самые быстрые и эффективные 'языки программирования' из интерпретируемых, причем в каких то случаях лидирует php а в каких то node. Писать эффективный код можно и на c (был такой кейс у меня давно, недолго участвовал в веб проекте, где все было именно на чистом Си), причем наверное самый эффективный, но в бизнесе это так не работает и важным является не скорость исполнения решения, а скорость и затраты на его разработку и поддержку, вот тут всякие c,c++,go,rust и прочая экзотика, не шибко поддерживаемая коммунити становятся не таким привлекательными.

    Еще про скорость. Изначальный выбор архитектуры и базовых технологий, на которых будет основываться проект, может оказать большее влияние чем сами эти языки. Например уход от парадигмы http rest - запрос = вызов приложения, к приложению, сочетающее в себе веб сервер, и непрерывным соединениям websocket, может оказаться, особенно на старте, очень выгодным..
    spoiler
    Помню исключительно для теста писал на php приложение в стиле http rest с использованием php+web-сервер и то же самое на основе асинхронного ReactPHP websocket сервера (протокол общения с клиентом тоже был на сокетах), на очень слабом не серверном железе выдавало несколько тысяч rpc и больше десятка тысяч rpc соответственно (т.е. смена подхода поднимала скорость на порядок, но усложняла масштабирование в будущем, точнее чуть сложнее код пришлось бы писать)

    Если говорить про совет, какой язык выбрать, выбирай то в чем лучше разбираешься, как я понимаю TS? или лучше его основу node javascript. Если лично мои рекомендации - используй php, скилы в этих двух языках сейчас наиболее востребованные на рынке веб.
    Ответ написан