Задать вопрос
  • Как организовать соединение VPN между двумя виртуальными машинами из разных подсетей?

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

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

    @rPman
    Писать серверную часть можно и на php, и да, даже если нужна работа с сокетами

    Например реалтайм браузерную игру (не пошаговую, когда используется http rest архитектура) можно написать с использованием websocket (например реализация Ratchet).

    Если хотите хоть какой то надежности от 'взлома' (от появления читеров) то ваша игра должна идти на сервере, а клиент - только отображение, т.е. это например классический игровой цикл запускаете на сервере, клиенты подключаются и передают свои действия и забирают изменения состояния мира. Если у вас реалтайм и не хотите лагов, то клиент должен как то сам додумывать как должна идти игра в следующие сотню миллисекунд, т.е. возможно на клиенте будет так же запущен тот же игровой цикл, с оглядкой на то что верить можно только серверу, т.е. например возможны откаты состояния мира если клиент додумал его неправильно (во время лага сервер думает что пуля все еще летит, когда как на сервере врезалась в цель, которая удачно изменила свое направление под пулю перед началом сетевого лага).
    Ответ написан
    6 комментариев
  • Нужно что-то вроде бесплатного VPS/VDS под Linux, где взять?

    @rPman
    amazon aws free tier 1год бесплатно
    Ответ написан
    Комментировать
  • Возможно ли предотвратить декомпилирование приложения?

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

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

    Все остальное можно будет взломать, трафик проанализировать. Конечно можно сделать это максимально сложной и дорогой, но это и для вас разработку усложнит.
    Ответ написан
  • Как разработать стакан котировок на vue?

    @rPman
    А причем тут vue или python?

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

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

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

    @rPman
    Не обязательно все делать именно в mysql так что если я говорю база это значит может быть в т.ч. к примеру локальные переменные сессии веб-сервера.

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

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

    Человека идентифицируйте сессией, понятие сессия есть во всех фреймоврках для вебсервера, например php - смотрите session_start()
    Ответ написан
  • Как сделать скриншот с одного компьютера на другой?

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

    Для браузера - https://developer.mozilla.org/ru/docs/Web/API/Scre...
    Ответ написан
    Комментировать
  • Как получить JS-объект через dev tools в Chrome?

    @rPman
    Смотрите по коду как к объекту обращается сайт.

    Скорее всего там будет какой то глобальный объект и где то в дебрях его мемберов будет ваш объект.

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

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

    @rPman
    что за бред, все линии будут пересекаться, в точках.

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

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

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

    Проект по вашей ссылке выше по мне так идеален под сформулированную задачу, тормозит скорее всего неправильно сконфигурированное железо (нет драйверов на видеокарту) либо вообще нет GPU
    The ResNet architecture is recommended for computers with even more powerful GPUs.
    Ответ написан
  • Можно ли перенести жесткий диск с windows на другой пк?

    @rPman
    Обычно главную проблему переноса составляет смена архитектуры intel <--> amd а точнее проблемы с контроллером жесткого диска, обычно драйвера/службы одной архитектуры не работают на другой, а так как дефолтные универсальные при этом отключены - система бует уходить в bsod

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

    p.s. а еще слетит лицензия, нужно читать внимательно что она говорит о смене железа. например предустановленные ОС (OEM) легально так переносить нельзя
    Ответ написан
    Комментировать
  • C# Net Core Web Api. Можно ли отправить файл через POST api на сервер и получить временную ссылку на него?

    @rPman
    https://docs.microsoft.com/ru-ru/aspnet/core/mvc/m...
    файл складывайте в определенную папку и удаляйте по таймауту (неправильно но просто), можете анализировать логи сервера чтобы понять скачивает кто файл или нет, либо реализуйте раздачу файла сами (неправильно с архитектурной точки зрения)
    Ответ написан
    Комментировать
  • Как делать post и get запросы с https на http?

    @rPman
    без локального https прокси post запросы никак (есть опция командной строки браузера отключающая запрет), с get запросами можно попытаться выкрутиться, например картинки загружаются. Пробуйте грузить данные в script type=text/html
    Ответ написан
    Комментировать
  • Как удалить язык в Windows 10?

    @rPman
    Если лишний язык не отображается в параметрах - то добавьте его, сохраните (даже перезагрузитесь) и удалите.
    Ответ написан
    2 комментария
  • Видеокарта периодически не выводит изображение на монитор?

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

    @rPman
    Возможно ваш дом стоит в планах под снос или попадает под критерии таковых в будущем.

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

    Провайдер просто не хочет рисковать, подключая одного абонента на потенциально короткий срок. Решение - спросить о персональной стоимости услуги.

    p.s. если интернет действительно есть в соседних домах, неправильное (незаконное) решение - найдите друга/снимите квартиру а прямой видимости, и настройте подключение по воздуху, современный wifi более чем подходит и вы можете обеспечить себе до 200мбит в хороших условиях.
    Ответ написан
  • Какой есть рабочий вариант PHP7.4+Oracle8?

    @rPman
    https://www.php.net/manual/en/ref.pdo-oci
    https://www.php.net/manual/ru/oci8.requirements.php

    там в требованиях веселая чехарда с версиями библиотек и клиента, но теоретически возможно.

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

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

    Не уверен но есть шанс что данная прослойка уже существует (http => sql), ищите.
    Ответ написан
    Комментировать
  • Как получить доступ к содержимому iframe?

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

    Если кодом - то только свой браузер (миллион вариантов от сложного типа силениум до примитивного своего приложения на основе вебкит/контролов webbrowser)
    Ответ написан
    7 комментариев