Задать вопрос
  • Intel core i3 10100f или ryzen 1600 af?

    @rPman
    ryzen больше ядер (6 при 12 потоках) чем у этого intel (4 ядра - 8 потоков), но в пределах одного потока intel быстрее, примерно на 25%

    Выбор amd ошибочный, за такие же деньги лучше брать AMD Ryzen 5 3500X, у него single thread rating даже выше чем у твоего интеля, но главное l3 кеш у amd сильно выше (32мб) чем у intel (6мб), а это значит высокая производительность будет больше на типичных (не синтетических как в тестах) задачах, так что бери именно ryzen 5 3500X
    Ответ написан
    Комментировать
  • Как отключить вай-фай?

    @rPman
    Что значит отключить сеть не отключая адаптера?

    Из своей программы запускай системные приложения netsh/route/... и анализируй вывод

    Чтобы сеть перестала работать и не отключать интернет, можно сломать его настройки, самый простой - удалить шлюз по умолчанию (команда route delete ip_роутера, нужны права администратора и заранее отключить автоматическое назначение ip адреса, прописав настройки интернета статикой, иначе настройки вернутся в верные через некоторое время автоматически).
    Ответ написан
  • Что нужно модифицировать в Linux системе что бы время модификации\получения доступа к файлу заменялось каждый раз на случайное, вместо реального?

    @rPman
    Менять libc, или сразу ядро. Чуть проще драйвер файловой системы, самое простое запилить fuse прослойку, это пользовательский драйвер файловой системы в юзерспейсе.
    Ответ написан
    Комментировать
  • В чем сложность майнинг биткойна?

    @rPman
    Там уже давно используют дополнительную транзакцию, и меняють ее (одно время ещё таймстамп крутили)
    Ответ написан
  • Как обновлять зависимости на сервере?

    @rPman
    Боюсь это дико сложно в общем случае, по факту компонента должна уметь это делать. А главное, это может породить кучу неочевидных проблем.

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

    Так как этим никто не заморачивается, придется переписывать практически все используемые компоненты.
    Ответ написан
    Комментировать
  • Как в foreach, в каждом варианте выводить контент с небольшим отличием?

    @rPman
    Чтобы обратиться к переменной, имя которой в другой переменной, нужно использовать двойной $
    $var1=1;
    $var2=2;
    foreach(['var1','var2'] as $name) echo $$name;
    Ответ написан
    3 комментария
  • Есть идеи как диспатчить события в WS сервере ratchet?

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

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

    @rPman
    Не использовать массив а объект (конвертировать с помощью Object.assign) или Map, в этом случае последовательность может быть разорвана, да и порядок элементов по ключу может быть не упорядочным
    Ответ написан
    Комментировать
  • Создание многопользовательского сервера на го?

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

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

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

    На практике многие разработчики плюют на валидацию, пишут как получится (к примеру берут синглпеерный движок который ничего не проверяет типа старый unreal engine, пилят на его основе AAA MMRPG а потом получают читеров, которые кастуют любые скилы любым классом или летают или проходят сквозь стены и т.п.)
    Ответ написан
    Комментировать
  • Как парсить данные с сайта C#?

    @rPman
    Берешь штатную компоненту WebBrowser, кидаешь его на форму если gui или вручную, прописываешь ему ссылку и инжекти в него на body.onload свой скрипт, который вызывает уже твои калбеки на с# либо сам со стороны программы проверяй содержимое document, там полноценный доступ к dom

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

    недостаток - если используется майкрософтовский компилятор, то компонента будет устаревший internet explorer 11, если же собрать mono - будет фаерфокс
    Ответ написан
  • Возможно ли управление двумя компьютерами одновременно с одной переферии (выполнение команд сразу на двух пк)?

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

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

    Если задача автоматизации, то лучше воспользоваться autoit, это возможность написать программу, которая будет нажимать кнопки и двигать мышкой, с некоторой логикой контроля (например дождаться когда окно станет активным, проверить заголовок окна или содержимое поля ввода (только для win32 based контролов) и т.п.
    Ответ написан
    Комментировать
  • Как начать цикл не в перовом байте файла?

    @rPman
    В коде отсутствует смещение позиции чтения файла, перед циклом for нужно сделать Seek?

    И в цикле ошибка, в условии окончания его зачем то к length прибавляется startByte
    Ответ написан
    Комментировать
  • Как можно автоматизировать следующую систему?

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

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

    @rPman
    Ты же сам задал размер в vh/vw а они по определению процент от размера окна.
    Делай в px или хотя бы в em

    canvas такой же элемент как и другие, устанавливайте стиль background:transparent; или opacity:XXX;
    Ответ написан
  • Как объединить одинаковые поля в php?

    @rPman
    В цикле собираешь не строку а массив, складывая значения в ключи $result[$value]=true; это автоматически уберет дубликаты $value

    После цикла собираешь строку с помощью implode взяв ключи как массив array_keys, при этом порядок будет сохранен.
    Ответ написан
    Комментировать
  • Большинство .exe файлов заражены вирусом "Win32.Neshta", что делать?

    @rPman
    Только лечить.

    Идешь на официальные сайты и скачиваешь на выбор утилиты kaspersky removal tool или drweb cleaner (они бесплатные для домашнего использования), достаточно какой то одной.

    Если антивирус не может вылечить операционную систему из самой себя, а такое бывает, то скачиваешь так же на выбор kaspersky free rescue disk (инструкция для usb) или drweb live disk и загружаешься с них.

    Очень часто бывает что вирус вылечить невозможно и приходится удалять файлы, и если с операционной системой еще можно легко все починить (запустить штатную виндовую утилиту sfc /scannow она потребует установочный диск, его можно скачать с майкрософт или торентов, не сборки а оффициальные msdn образы, выбрав верную версию) то с программами и играми потребуется их переустановка
    Ответ написан
    2 комментария
  • Можно ли расширить функционал Телеграм канала для интеграции с другими приложениями?

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

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

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

    Не представляю, как ты собираешься настраивать gitlab репозитарий а главное зачем.
    Ответ написан
  • Не работают определённые программы?

    @rPman
    Первая причина - нехватка памяти.
    На 32-бтных системах (если это не сервер с PAE но тогда драйвера видяхи облом) программам доступно максимум 2 гигабайта (с оговорками больше но на практике даже меньше) но меньше 4гб (минус объем памяти видеокарты, у вас это 1гб)

    Вторая причина - драйвера (как вы переставили opengl?)

    p.s. народ говорит что запускали в похожих конфигах как то, может поиграться с настройками, по закрывать лишние приложения и т.п.
    Ответ написан
    Комментировать
  • SSD M.2 или HDD+SDD M.2?

    @rPman
    Если деньги позволяют, бери конечно 1Тб SSD, но очевидно что это дороже

    Если у тебя Linux то вариант с HDD+SSD позволит настроить SSD как кеш к HDD, и после того как он 'прогреется' (с сохранением между перезагрузками) ты получишь сравнимую с чистым SSD производительность без необходимости ломать голову что и как складывать на HDD а что на SSD но дешевле.

    p.s. я играл со следующей конфигурацией в windows - ставил на windows миниатюрную виртуалку с linux, внутри которой крутился istgt (iscsi сервер), который раздавал устройство bcache, собранное на основе физических устройств ssd и hdd, проброшенных внутрь виртуалки из windows, сам же iscsi подключается из windows штатными средствами. Накладных расходов на слабой машине было на удивление не много (мне надо было просто прочитать данные). Очевидно что винду так не установить.
    Ответ написан
    Комментировать