Задать вопрос
  • Как сортировать массив после каждой итерации?

    @rPman
    Нужно собрать посылки со складов. Если посылка весит больше 5, то посылка должна быть отправлена со склада "foo", иначе "bar". Но если на складе нет необходимого количества, то это условие нужно опустить и исходить из наличия. Вес посылки становится известен только при обращении к складу.

    Единственное условие выбора склада у вас - 'вес посылки больше 5', не зная веса посылки принять решение невозможно.

    В данной задаче необходимо топать в оба склада одновременно или по очереди и запрашивать посылку.
    Ответ написан
  • Как убрать кнопку "Другой пользователь" на доменом ПК?

    @rPman
    Можно выдать последнего залогиненного
    если я верно понимаю, эту политику, выбери disabled
    If this policy is disabled, the full name of the last user to log on is displayed, and the user’s logon tile is displayed. This behavior is the same when the Switch user feature is used.
    Ответ написан
    Комментировать
  • Как запускать exe файл по расписанию через cmd?

    @rPman
    schtasks create
    есть менее функциональная устаревшая at
    Ответ написан
    Комментировать
  • Какую недорогую сборку ПК можно собрать для программиста?

    @rPman
    30т.р. это приговор, только устаревающее и слабое железо, банально на оперативную память 32g денег не хватит так что понижай требование до 16 (докупишь позже).

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

    Попробуй с этого начать поиски
    https://www.e-katalog.ru/GIGABYTE-A520M-DS3H.htm (само дешевое из нормального что я нашел с поддержкой аж трех не dsub мониторов)

    Были бы деньги,
    посоветовал бы Rysen 7 5700g (3310 single thread rating, 16mb l3 cache) но у него цена 30т+
    Решение по проще AMD Ryzen 5 Raven Ridge 2400G (2162 single thread) ~17т.р.

    Осторожно с выбором оперативной памяти, внимательно читай саппорт лист как процессора так и материнки

    У интеля можно наверное на это обратить внимание
    Intel Core i5 Rocket Lake i5-11400 (3052 single thread rating) ~17т.р. (что то странное с этой ценой, слишком дешево для такого железа сейчас)

    https://www.e-katalog.ru/ASUS-PRIME-H510M-R.htm ~6т.р.

    На оперативку 16gb уйдет порядка 6-10т.р. Бери одной планкой, не гонись за dual channel, это не стоит того, и докупить позже проще будет

    Блок питания еще 5т.р. и по мелочи
    Ответ написан
    Комментировать
  • Фронт и бэк на локалхосте. Как обмениваться данными?

    @rPman
    Отладка и логирование на бакэнде
    Еще смотри что за заголовки у тебя уходят (ты из видишь в инспекторе), может ошибся и не ожидаемые отправляешь?
    Ответ написан
    Комментировать
  • Как подключить Realtek 8811CU к VBOX KALI LINUX?

    @rPman
    Проброс оборудования в виртуалках из windows-хост ограничен, и с высокой вероятностью не работает
    VirtualBox плохо пробрасывает оборудование даже под linux (где с этим гораздо проще), что уж говорить про windows
    И хотя для usb есть инструменты, работа этого не гарантируется.

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

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

    Так же номер можно паковать в другую систему счисления с основанием больше 10 (добавив большие маленькие буквы, как это делают в base64)

    В этом случае имя файла не превысит 4-5 символов плюс расширение (от него тоже можно избавиться, если сборка будет подготавливать конфиг для вебсервера, чтобы статика возвращала правильные заголовки content-type, но это кстати часто и не требуется)
    Ответ написан
    Комментировать
  • RTX после майнинга и рендеринга. Есть ли разница?

    @rPman
    Корень всех проблем с видеокартами - это система охлаждения. Если максимальная и постоянная температура не будет подниматься выше 70 градусов, то проблем скорее всего не будет.

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

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

    Рендеринг не нагружает так сильно железо, профиль нагрузки в рендеринге смещен в сторону процессора
    Ответ написан
    1 комментарий
  • Как найти текст в браузерной игре?

    @rPman
    Правая кнопка - инспектор/исследовать, смотри

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

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

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

    В третьих, данные должны быть правильно поданы, они должны быть нормированы, быть на интервале (обычно 0-1 или к примеру -1..+1), отличный пример - для торговых объемов, подавай на вход 1/(1+v), это число будет гарантированно будет на интервале (0..1], так же старайся избегать дискретных значений и графиков с острыми вершинами (первая производная - бесконечность)...

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

    В пятых, очень рекомендую внимательно подумать над функцией ошибки. Так в классическом виде функция ошибки - это сумма квадратов разницы между целевыми и вычисленными выходами, но ведь можно определить ее как к примеру размер депозита, его ты хочешь максимизировать, так что переверни 1/(a+x), при использовании текущей нейронной сети, если ты будешь торговать по своей стратегии, на каком то интервале (этот интервал должен быть привязан к моменту времени получения входных данных сети, т.е. считаем сеть для момента времени T, и симулируем торговлю за время [T-x..T] или лучше [T..T+x], т.е. в будущем, ты же доход будешь получать на основе будущих сделок после принятия решения на основе текущих значений.

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

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

    В этом случае пользователям в ярлыке запуска укажи не само приложение а команду запуска задачи schtasks run

    Иначе, запилить скрипт на powershell/windows scripting/любимый язык программирования, который будет при запуске приложения сохранять его pid, сохранять его в файле (имя файла должно содержать имя текущего пользователя, тогда каждому пользователю будет разрешен запуск только 1 экземпляра) и сравнивать его при следующем запуске с уже запущенным.

    Можно использовать linux way, найти/собрать утилиту flock или ее аналог, она создает файл с указанным именем и блокирует его, если удачно, запускает указанную команду иначе нет, по завершению файл раблокируется, в некоторых случаях это подходит

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

    @rPman
    Ты запрашиваешь список ссылок на csv файлоы веб запросом, затем загружаешь по одной ссылке с сайта (самое долгое имхо) и для каждого формируешь массив (всего лишь двухмерный, т.е. твой json плоский), фильтруя записи по одному полю, плюс декодируя данные из utf-8 во внутреннее представление python (unicode) и обратно при сохранении, что медленнее чем работать с байтами.

    Т.е. что я бы сделал - либо используя асинхронщину либо (так просто проще закодить) двумя независимыми потоками или процессами, первый загружал бы данные (возможно сразу несколькими запросами, но если там один физический сайт-источник то это может не ускорить загрузку) и складывал бы их в файлы, а второй ждал бы не обработанные файлы (пока файл загружается и сохраняется на диск, его имя должно быть с пометкой о том что файл не готов, а по окончанию переименовывается), и обрабатывал бы их как поток байт (единственное место где нужно декодирование - это поиск подстроки-фильтре но помятуя про utf-8 в данном конкретном случае можно обойтись простым побайтовым поиском). Мало того, даже не надо заниматься кодированием json, просто выводи его print-ом, подставляя где надо имена полей и ковычки, нет нужды промежуточно сохранять это в массиве - прочитал csv строку и тут же ее сохранил в json, если принимающий понимает utf-8 (а сейчас все они понимают), т.е. нет нужды подменять символы на длиннющую конструкцию \uXXXX, максимум экранирование ковычек " и \ (то же самое с чтением csv),.. но прежде чем переписывать эту часть кода, достаточно хотя бы просто оптимизировать загрузку файлов, вполне возможно что 99% тормозов там
    Ответ написан
  • Как подключить по вайфаай комп через RJ-45 вход?

    @rPman
    Почти любое потребительское устройство на базе linux умеющее на аппаратном уровне wifi и ethernet - может это делать (есть шанс что в интерфейсе такой кнопки не будет но через консоль это скорее всего настроить будет можно).

    Я настраивал дешевую wifi веб камеру (кажется dlink или tplink тогда еще стоимостью в полторы тысячи рублей) в режиме 'сетевой мост', объединив wifi и erthernet в одну сеть, и использовал ее чтобы подключить компьютер к сети wifi
    Ответ написан
    Комментировать
  • Работает ли Google с распознавание JS в выдаче?

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

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

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

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

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

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

    Привожу пример простого и дешевого решения для обывателя - любой хостинг, хоть lxc/openvz, (т.е. дающий абсолютный контроль над файлами хостеру), и запуск внутри виртуальной машины, например на основе user mode linux, это буквально ядро linux в виде бинарника (не требует ничего, ни модулей ядра ни поддержки виртуализации, и при этом не замедляет работу), в который можно зашить команды запуска (откуда взять загрузчик, где лежит образ диска, параметры шифрования и т.п.), пароль вводится в консоли ssh загрузчика (initramfs гостевой машины). Все запускаемые бинарники должны размещаться не на сервере а подгружаться с надежного клиента, управляющего запуском. Еще, для kvm были патчи онлайн шифрования оперативной памяти, да ценой очень низкой скорости, но стоимость взлома такой машины становится запредельной.
    --------------------------------------------------------------
    Правильный способ, дающий очень высокие гарантии - для ввода пароля в датацентр для включения машины катается специальный надежный человек, который носит с собой часть оборудования (консоль и диск с загрузчиком) и проводит минимальный визуальный контроль чтобы отследить вскрытие и замену железа (пломбы, сейфы и системы независимого онлайн мониторинга доступа, т.е. буквально вебкамеры и датчики вскрытия со своим каналом в интернет и источником питания), само собой серверное железо тут должно быть не от хостера а от клиента.
    И такие услуги датацентры предоставляют.

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

    @rPman
    официально бесплатные - livecd/liveusb образы
    https://free.drweb.ru/aid_admin/
    https://www.kaspersky.ru/downloads/thank-you/free-...
    https://www.eset.com/ua-ru/support/sysrescue/

    как минимум drweb сделан на основе linux про касперского я уже не помню, но какая разница, если это готовый загрузочный образ
    Ответ написан
    5 комментариев
  • Какой вариант просмотра баланса BTC кошелька лучше?

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

    Самое простое, однократно запросить дамп utxo, а затем на каждый блок собирать информацию по транзакциям и обновлять балансы у себя в базе
    Ответ написан
    1 комментарий
  • Svchost.exe вносит изменения в папки опасно ли это?

    @rPman
    В диспетчере задач включи показ пути (кажется там это зовется образ) и командную строку запуска и посмотри где лежит твой svchost.exe, те что в системном каталоге windows - это часть служб windows, а вот если где то в профиле пользователя, то это 100% зловред, любят они маскироваться под него.

    Еще, загрузи с сайта майкрософт утилиты sysinternails - process explorer и autoruns, первый позволит посмотреть цифровые подписи запущенных процессов (иначе нужно на каждый кликать в диспетчере и смотреть свойства), только очень небольшое количество драйверов их не имеет, в остальных случаях это почти наверняка вирус (но отсутствие таковых не гарантия, так как инструментов цифровой подписи скриптовых сценариев в windows нет), autoruns позволит удобно посмотреть что автоматом запускается в системе, так же проконтролировать цифровые подписи
    Ответ написан
  • Можно ли установить Linux на разные диски?

    @rPman
    нет никакой необходимости раскидывать систему по разным дискам (единственное для чего это имело бы смысл - это удобство переустановки и переноса пользовательских файлов между установками,т.е. windows way), даже swap раздел не обязательно делать, так как уже давно он может размещаться в файле. Даже /boot не требуется, если используется стандартная файловая система без нетиповых конфигов llvm/raid/bcache/... это актуально только для mbr, для gpt все же потребуется 1мб раздел biosboot это если тип загрузки legacy mbr, и вне зависимости от типа разбиения, если используется efi, то нужен раздел fat efiboot)

    Корень размещаешь на ssd, а hdd монтируешь в какой-нибудь технический каталог (я обычно завожу в корне что то типа /o, /g или /i, т.е. максимально короткое имя) и в дальнейшем при необходимости переносишь объемные каталоги с помощью симлинков на подкаталог внутри hdd, т.е. ручное управление размещением файлов

    Например кеши файлов пакетов npm или gradle как минимум занимают десятки гигабайт и не требуют быстрого доступа

    p.s. установи btrfs, в нем включается сжатие zstd, работает на столько быстро (поэксприментируй с уровнем сжатия) и хорошо что шокирует, плюс у docker есть поддержка снапшотов btrfs что еще ускоряет работу
    Ответ написан
    Комментировать
  • Как в txt файле оставить только 2 строчки после определенного слова выше?

    @rPman
    * завести int status переменную, определяющую статус, что сейчас делаем, поиск подстроки (если значение 0) или вывод (если значение 1 или2, т.е. это количество выводимых строк))
    * читать файл построчно в цикле, пока он не закончится
    * для каждой строчки проверять искомую подстроку, если найдена - status =2 и continue
    * если status >0 то выводим строку
    * если status =2, выводим ': ' если status=1 то выводим '\n'
    * если status >0 уменшаем на 1
    Ответ написан
    Комментировать