Задать вопрос
  • Как узнать качество передачи данных с помощью сокетов и COM портов в Java?

    @rPman
    Программы мои: 1) между 2 программами передаются данные с помощью сокетов;

    качество передачи данных

    скорость

    если твои программы, то все просто

    собираешь статистику принятых и отправленных данных, на обоих сторонах, на каком то интервале
    добавляешь в протокол передаваемых данных пакеты с этой статистикой
    профит

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

    какой то капитанский ответ, непонятно почему такой вопрос у автора возник
    Ответ написан
    Комментировать
  • Как можно заработать запустив на своем сервере какие-нибудь скрипты?

    @rPman
    Даю идею для бизнеса ;)

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

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

    Чтобы это сделать, парси их базу, это не просто, так как они сопротивляются, к примеру их страничка в html занимает 600кб, и на ее анализе пасуют почти все существующие инструменты (из тысячи страниц с десяток могут выдавать странный результат) кроме наверное самого браузера. Структура меняется, ответы от сервера меняются если он заподозрит в сканировании и т.п.
    Ответ написан
    Комментировать
  • Брут ip. Зайти с чужого ip?

    @rPman
    облачные сервисы типа amazon ec2 или тот же российский селектел, позволяют взять в аренду ip адрес с почасовой оплатой, но они не дадут гарантии что следующий ip адрес не будет выдан новый, а не тот что недавно тебе же выдавали, но к примеру разом взять пул адресов, использовать его часок - нормальный юзкейс.
    Ответ написан
    Комментировать
  • Удаленное подключение и прослушка окружения в стелс режиме?

    @rPman
    любое приложение превращающее смартфон в вебкамеру - например ip webcam, в локальной сети работает без каких либо проблем, позволяет снимать аудио-видео, настраивать режиме камеры и вообще много чего полезного.
    начиная с 6 или 7 версии android умеет работать с выключенным экраном
    Ответ написан
    Комментировать
  • Как упростить данный скрипт, слишком долго выполняется?

    @rPman
    первый вариант - генерируй sql скрипт вида
    select ... from ... where id in (1,2,3,4,5,6....)
    у этого способа ограничение на количество записей в скобках кажется 1000, так что в цикле генерируй (чуть чуть подправить твой скрипт)

    второй вариант - идеологически более верный, создаешь временную таблицу в базе с одной колонкой id, заливаешь в нее твои идентификаторы, и затем одним запросом получаешь весь список записей
    select ... from temp_ids a left join table_1 b on a.id=b.id
    Ответ написан
  • Узнать источник трафика, с какой страницы пользователи заходят на сайт?

    @rPman
    На своем сайте можно самостоятельно собирать по логам базу рефереров, придется самостоятельно же ее анализировать
    Ответ написан
    Комментировать
  • Как работает цикл for и fillRect() в данном примере?

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

    @rPman
    ip4 адрес это число 32бит, все ip адреса тут это все значения unsigned int32 от 0 до 0xFFFFFFFF
    т.е. пишешь один единственный цикл от 0 до 0xFFFFFFFF а затем из числа получаешь ip в нужном тебе виде, либо последовательным получением остатка отделения на 256, либо вручную побитовыми операциями (маска и сдвиг) либо сконвертировав число в массив байт
    Ответ написан
    Комментировать
  • Как пробросить порт в виртуальную машину?

    @rPman
    bridge internet adapter - сетевой мост
    там выбираешь, с каким сетевым адаптером нужен бридж, в этом режиме виртуальная машина как бы подключается через свитч к той же сети что и хост машина, т.е. ей должен быть выдан ip адрес (вручную или автоматически dhcp сервером локалки, если есть)

    нет никакого тут проброса портов, машины с точки зрения сети полностью независимы

    p.s. настройка rdp в virtualbox это доступ через сети ip хост машины к экрану (этакий ip kvm), ей сеть виртуавиртуалки побоку, даже если ее там не будет
    Ответ написан
  • Бесплатная реляционная бд в облаке?

    @rPman
    sqlite локально рядом с файлами веб сервера
    Ответ написан
    Комментировать
  • Скачал файл с фирусом, это опасно?

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

    но он очень низкий.

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

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

    С высокой вероятностью, многие игры так запускал когда то, несколько экземпляров одной и той же игры запускаются, установленные В РАЗНЫЕ места на диске при запуске из под разных учетных записей windows, правая кнопка на приложении, run as (запуск другим пользователем). Установку игр производить изначально выбрав вход windows при включении компьютера под нужным пользователем.

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

    @rPman
    Тебе нужен веб сервер с поддержкой серверных скриптов (active pages в терминологии майкрософта), скорее всего cgi, на запрос запускается консольное приложение, post данные идут в stdin, параметры запроса в переменных окружения, вывод stdout

    в вопросе указан python, как вариант можно поднять веб сервер на самом python http.server, обработка запросов в классе SimpleHTTPRequestHandler метод do_POST()
    Ответ написан
    Комментировать
  • Какую сборку пк собрать для программиста?

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

    AMD-5600G или AMD-5700G (оба имеют встроенную графику) ~33т.р. (интель сравнимой производительности будут дороже примерно на 10т.р.)
    Не гонись за количеством ядер для разработчика это не критично, а вот single thread cpubenchmark очень важен (у них он 3000+), железки с большим количеством ядер в полной нагрузке будут тротлить (нет конечно можно взять следующий класс с сокетом tr4, но имхо это не для задач обывателя)

    материнку любую am4 с не старым чипсетом и наличием m.2 ~4т.р., например Gigabyte A520M H (важно на сайт производителя заглянуть и проверить поддержку процессора и поддерживаемые типы m.2)

    Память, в одной вкладке открывай суппорт лист материнки, на другой каталог перебирай комбинацию частоты и таймингов (ухудшай до своего лимита денег), минимальный рекомендованный объем 16гб (2x8 но не обязательно, можно купить 1х16 одну потом докупить, почти все современные материнки поддерживают 32гб и выше), если что указанный мной проц не дает сильно разгуляться, так что смотри где то такую ~17т.р. (дешевые от 9т.р.)

    cpu кулер любой башенный, лучше с двумя вентиляторамии, 4пин для контроля скорости и шума (говорят можно и 3 но как я понимаю это не все материнки умеют) ~2т.р.

    системный ssd диск m.2, выбирать по типу подключения материнки и скорости записи ~5т.р. (для 512гб)

    блок питания, 80PLUS bronse и выше, дешевые работать будут норм но скорее всего будут шуметь, листай по отзывам, я ничего не посоветую, отстал на много лет от рынка, порядок цены для 600-тника ~4т.р. (с запасом на видеокарту, и без нагрузки будет тихий и безпроблемный)

    корпус, кулеры, периферия на твой вкус.

    Итого, как раз примерно штука баксов

    p.s. вторую штуку баксов трать на видеокарту (если возьмешь что то типа nvidia 1650 за ~23т.р. + доставка, по деньгам будет достаточно дешево, да, мало оперативки для игр с tenzorflow, точнее для изучения хватит любого железа, но чтобы запускать серьезные сети, нужны видеокарты с ценами выше 100т.р.)
    Ответ написан
    3 комментария
  • Как защититься от двойного списания в многопоточном приложении?

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

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

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

    @rPman
    главный параметр современного процессора не частота, а размер кеша:
    Объем кэша L3 - 4 МБ

    сейчас минимум что имеет смысл брать в принципе, это 16мб и выше

    например за те же деньги и тот же чипсет AMD Ryzen 3 3300X по cpubench он даст 2690 single thread, супротив твоих 2126

    Осторожно, в моем предложении процессор не имеет встроенной видеокарты, так что найди что-нибудь, (самые дешевые в днс по тестам будут примерно в 2 раза медленнее встроенной).

    Кулер брать надо обязательно с 4-пинами, чтобы была возможность авторегуляции оборотов (штатная фича всех современных и старых материнок), 3-пиновые будут крутить всегда на постоянке (бывают со своими датчиками температуры но это изврат)
    Плюс лучше tdw брать с запасом, например AeroCool Verkho 2 Dual
    Ответ написан
    Комментировать
  • Как правильно реализовать структуру БД, где пользователь имеет несколько балансов?

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

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

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

    @rPman
    архитектура должна совпадать
    ты установил x86-64 а в настройках виртуальной машины выбрал 32-битную i686
    иди в настройки 'общие' -> 'версия' и меняй

    если хост система у тебя сама 32-битная, и очень очень надо, то остается только софтварная виртуализация qemu, будет медленней раз в 10 (операционка вообще может минут 15 запускаться)
    Ответ написан
    1 комментарий
  • Смазка неразборного кулера за 300р. Смазать или купить новый?

    @rPman
    смени кулер и добавь пылевой фильтр, пользы будет больше
    Ответ написан
    Комментировать
  • Сколько обычно живут кулеры за 300 рублей?

    @rPman
    Смотреть нужно не на цену а на тип подшипника и условия работы
    И даже в этом случае цена может определять только вероятность смерти (обратно пропорционально) но не время.

    например в пыльном помещении с переменной влажностью смерть вероятнее во много раз (пыль налипает на лопасти, повышает их вибрацию которая разбивает подшипник)
    Ответ написан
    Комментировать