Задать вопрос
  • В чем сложность майнинг биткойна?

    @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 штатными средствами. Накладных расходов на слабой машине было на удивление не много (мне надо было просто прочитать данные). Очевидно что винду так не установить.
    Ответ написан
    Комментировать
  • Как сделать майнер Dogecoin на Java?

    @rPman
    Вы выбрали максимально неудачными для изучения все - и язык (java), и платформу (android) и алгоритм (doge scrypt).

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

    По теме, берете проект майнинга scrypt в webgl, это стандарт на основе OpenGL ES, который так же скорее всего поддерживается в android. Соответственно ваша задача разобраться какие там шейдерные скрипты, адаптировать их под android (может и не придется) и реализовать на java.

    Адский и бессмысленный труд, сочувствую.
    Ответ написан
    Комментировать
  • Можно ли пропускать некоторые id?

    @rPman
    Будет запускать много телеграмм ботов. Хотел чтобы они работали на порте=id. Но не все порты свободны.

    Правильное решение - составные идентификаторы.

    Т.е. идентификатором должны являться одновременно пара портов - id записи и id порта (или устройства).

    Существует практика, когда в один числовой идентификатор запихивают два, самый простой способ - для каждой новой записи увеличивать значение идентификатора не на 1 а на N, где N - максимальное количество устройств (в вашем случае ботов), пусть и с запасом. Т.е. если номер порта P то идентификатор будет равен P+N*seq, пока количество устройств меньше N они не пересекутся и простым делением по модулю N можно из идентификатора извлечь P

    У вас postgres он поддерживает сиквенсы
    Ответ написан
    Комментировать
  • Как понимать програм-е, и писать собственный код?

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

    Еще важный момент - правильный выбор задач.

    Задача не должна быть слишком сложной - иначе неудачи отобьют желание учиться.
    Задача не должна быть бессмысленной - найдите какую-нибудь простую задачу, которую вы делаете руками постоянно, файлики переименовываете, запятые в экселе лишние удаляете ручками,... вроде простые задачи руками легко, но и польза от автоматизации будет.
    Выбирайте удобный и приятный для использования именно вам инструмент, а не то что советую откружающие. Одно время все говорили - бери bash крутой скриптовый язык, мегакруто, мегаудобно... ага, но мне почему то на php скрипты общего назначения писать получается гораздо удобнее, и читабельнее абракадабры.

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