Задать вопрос
  • Как при помощи C# менять ip на пк?

    @rPman
    вызывать штатную утилиту netsh, это будет наиболее простой способ решить почти любую задачу связанную с сетью, которую в принципе можно решить, даже те которые не решаемы в официальном gui
    Ответ написан
    3 комментария
  • В Firefox нет звука, pulseaudio, debian11?

    @rPman
    что значит не нашел пакет?
    https://packages.debian.org/search?keywords=firefox-esr
    ранее firefox в debian назывался Iceweasel

    Если пользуешься linux, такими как debian или redhat (и всеми основанными на них), то в первую очередь нужно пользоваться встроенным репозитарием и инструментами по установке программ (поиск нужного репозитария, добавление и установка из него, так к примеру google chrome делает).

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

    Возможно snap становится параллельным способом установки (предложили в ubuntu, пинать их ногами за созданный в будущем всем геморой), а так же исторически python pip тоже мейнтейнит свой стандарт для пакетов (часто пересекающийся кстати с базовым) но в остальных случаях лучше не мешать ничего.
    Ответ написан
    Комментировать
  • Как можно слушать порт у работающей программы?

    @rPman
    предложения про WinPCAP, NDIS-драйвер, ws2_32.dll и т.п.
    Ничего страшного. Сложности заставляют развиваться.
    тебе дали дважды намек, что это направление решения - неадекватно сложно по сравнению с поставленной целью.

    Правильное решение - поставить фаервол (адекватность тут должна подсказывать *nix* ОС или готовые железки с нужным функционалом) между интернетом и целевым сервером с приложением, этот фаервол и будет слушать подключения и принимать решение.

    Любой вариант этого решения будет по стоимости и времени дешевле чем исследования в области 'как разобраться с тем что майкрософт наговнокодили наломали дров сетевой подсистеме и стандартах'

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

    @rPman
    Универсального ответа нет, в мире остались только два браузера, на которые обращают внимание разработчики - chromium и все его производные (microsoft edge, google chrome, opera,...) и спасибо mozilla firefox (и то я часто вижу что ленивые даже его игнорят но такие сайты и я из принципа игнорю, если могу).

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

    У разработчика веб сервера есть куча способов, чтобы усложнить эту работу.

    p.s. совет, firefox headless (используется как основе для стандартной компоненты WebBrowser у mono) потребляет не в пример меньше ресурсов чем chromium, кстати этот компонент все еще работает и в .net windows, основан на internet explorer, сами понимаете с какой поддержкой сайтов.

    Каких то 3-4 года назад я бы рекомендовал webkit библиотеку (с ее помощью работают компоненты к примеру javafx WebEngine (раньше оно требовало примерно 50мб озу на инстанс, теперь все 150-200) но все же попробуй.
    Ответ написан
    Комментировать
  • Какой ноутбук брать?

    @rPman
    Intel Core i7-10750H @ 2.60GHz:
    Average CPU Mark: 12505
    Single Thread Rating: 2732

    12mb cache

    AMD Ryzen 5 5600H
    Average CPU Mark: 17429
    Single Thread Rating: 2986 - лучше примерно на 9% чем указанный интель

    16mb cache


    с видяхой сложнее, 2080 super быстрее 3060, но у второй памяти чуть больше (8 против 12гб) и скорость (19502 против 16590 - 15%) для игр все это пофиг, и если у тебя нет 4к монитор, то и разницу в скорости ты не почувствуешь.

    Современным играм более чем достаточно 16гб озу, плюс ее можно апгрейдить

    Остается еще критерий - цена, не нашел в продаже твою модель msi, за lenovo хотят порядка 150р, за аналогичный конфиг что у тебя msi то же lenovo хотят 180т.р.
    я бы брал ryzen

    p.s. мое мнение - игровой ноутбук это извращение, все из-за сложностей с отводом тепла, он будет шуметь и пыхтеть под нагрузкой, выжирая ресурсы системы охлаждения и железа строго под гарантийный срок. И если со стационаром еще можно потратиться на водянку, то с ноутбуком уже нет. Да и по цене, ноутбуки ощутимо дороже.
    Ответ написан
  • Как узнать кто заходит на сервер debian?

    @rPman
    Вход на сервер с помощью логина не единственно возможный

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

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

    Решение - проводите полноценный аудит безопасности компании в целом, а не только сервера.
    Ответ написан
    Комментировать
  • Как восстановить раздел SSD диска?

    @rPman
    Внезапно винда перестала видеть диск
    если потеря разделов не в следствии манипуляций с данными на диске, то это аппаратная проблема (особенно если в менеджере не видно его размера) с высокой вероятностью смерть контроллера диска (кстати есть вариант когда умер контроллер на материнке или проблема с кабелем, но это проверяется, перетыканием диска в другой sata разъем, так как ты проверял на другом ПК, этот вариант отпадает).

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

    @rPman
    Задача - подсчет значимы цифр после десятичной запятой в строковм представлении.
    Интересно, у меня впереди маячит решение этой маленькой задачи, но только максимально эффективно на c++ ибо данных много.

    Пока решение на основе работы со строкой:
    * убираешь все что не цифры и не точка
    * проверяешь наличие точки (число может быть целым), если нет - ответ 0
    * если есть точка, начинаешь считать нули с конца, как только обнаружишь не ноль
    * продолжаешь двигаться справа на лево до символа точки, считая уже в другую переменную, возвращаешь эту переменную

    p.s. осторожно, данный алгоритм на php может оказаться медленнее других, менее адекватных с первого взгляда.

    Например, в цикле делишь на pow(10,x) берешь intval и снова умножаешь на этот же pow, начиная с максимально большого значения x (для double это где то 15, для криптовалютных бирж тебе скорее всего нужно 8 или 9) и уменьшаешь его до тех пор, пока полученное значение не станет не равно изначальному. Очень может оказаться что деление в php сравнимо по скорости работы со строками
    Ответ написан
    Комментировать
  • На какой операционной системе развернуть машину под бекап?

    @rPman
    с точки зрения эффективности - поставить windows server (стоимостью больше 20т.р.) под такую простую задачу - это оверкил.

    linux же бесплатен (либо очень дешев, если брать тот же редхат), да работать с ним кому то может сложнее чем с windows но это та цена которую мы платим за free/opensource/свободу...

    Ставь linux, без вариантов, так как он гибче и предоставляет больше возможностей и сложнее конфигурации по решению твоих задач. Если что, штатный windows 10 инструмент резервного копирования (он называется резервное копирование и восстановление windows 7) прекрасно складывает бакапы на samba шару, размещенную на linux и это только один из вариантов настройки... если нет нужды копировать права доступа на файлы, то linux без проблем может сам подключаться к шаре windows и по расписанию делать резервные копии, в т.ч. с использованием shadow copy если надо, так что мне не ясно почему некоторые думают что windows безальтернативен тут
    Ответ написан
  • Что такое "селен"?

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

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

    Про 'селен' - когда речь идет о загрузке данных с чужого сайта, то никаких других вариантов кроме selenium тут нет (в смысле слова, работу можно сделать и другими технологиями, но не обязательно такими удобными)
    Ответ написан
    5 комментариев
  • Как транслировать музыку с спотифай(андроид) на пк?

    @rPman
    https://support.google.com/chromecast/answer/62793...
    google chrome cast https://4pda.to/forum/index.php?showtopic=769198

    попробуй, умеет ли твоя машина работать как chromecast рецивер https://pikabu.ru/story/translyatsiya_yekrana_tele...

    если нет, то покупай специфическую железку (примерно 1т.р.)либо продолжаем красноглазить,
    устарело https://gist.github.com/skylord123/892b6e30b724b81a8a48
    https://github.com/thibauts/node-castv2

    так же при наличии рута можно водрузить на смартфон полноценный pulseaudio а не огрызок и настроить связь со своим linux (опять в виртуалке)

    p.s. как работает anydesk/teamviewer? они же вместе с экраном транслируют и звук, нужно найти приложение которое будет это делать без лишнего шума
    кстати teamviewer точно умеет работать без интернета, если указать в качестве адреса ip адрес в локальной сети
    Ответ написан
    Комментировать
  • Как удалить переменные из URL страницы без её перезагрузки?

    @rPman
    в приведенном примере - невозможно
    но если переменные хранить с использованием anchor:
    https://site.com/payment#id=12345678910

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

    Этим активно пользуются в SPA приложениях, когда реально страница грузится один раз за все время работы сайта, а все остальное подгружается с помощью ajax
    Ответ написан
  • Какой тип данных у выпадающего списка?

    @rPman
    Исторически и из соображений эффективности хранения, выпадающий список реализуют связью '1 ко многим', в целевой таблице заводится числовое поле, и создается связь (индекс freign key) споравочной таблицей Отдел, где идентификатор того же типа.

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

    @rPman
    Окей, буду умничать, если нужно объединить файлы именно на php (лимит памяти, нельзя вызывать сторонние утилиты shell_exec и т.п.) то делать это придется по частям.

    Читаем от файла сколько то килобайт в память, пишем столько же в результирующий, снова читаем кусочек... потом повторяем со вторым.

    fopen
    fread
    fwrite
    fclose

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

    @rPman
    ключевые слова для поиска
    gsm розетка

    Без особых проблем можно сколхозить свою со своей логикой из любого умного железа (например малинка) или перепрошитый роутер и даже wifi/gsm камера (кстати без перепрошивки просто используют контакты шторки ночного режима), подключив управление розетки через электромагнитное/полупроводниковое реле.
    Ответ написан
    Комментировать
  • Где взять 32-битную версию Ghidra?

    @rPman
    не понимаю, оно же на java? ей пофиг на битность же
    https://github.com/NationalSecurityAgency/ghidra
    Ответ написан
  • Можно ли восстановить бекап MBR на GPT?

    @rPman
    hint000 абсолютно прав

    От себя добавлю, для загрузочного раздела в gpt
    * если используется legacy загрузка ( с помощью mbr boot sector), необходимо создать 1мб раздел biosboot (его содержимое заполнит grub автоматически когда будешь делать grub-setup)

    * если используется uefi загрузка, то необходимо создать ~128мб раздел efiboot, формат fat, его заполнит grub-setup автоматически (если текущая загрузка linux совершена с помощью efi меню, важный момент, иначе доступа efimgr к таблице разделов в биосе будет недоступна)

    В обоих случаях раздел /boot не обязателен, если корневая система простая (не размещена на raid, lvm или не зашифрована и прочие сложные конфиги) и отформатирована в известную grub-у файловую систему ext/btrfs/...

    p.s. загрузочные разделы должны располагаться примерно с начала диска, до 2тб, иначе могут быть проблемы, даже у uefi. По этой причине /boot раздел все же создают, чтобы гарантировать что загрузочные файлы не уедут за эту границу

    восстанавливать бакап можно просто развернув tar, при условии что структура файловой системы смонтирована как надо (бывает что создавая бакап в него помещают только корневую систему без /boot /efi и прочего, тогда пофиг)

    после восстановления grub-setup и grub-update обязательны (при работе с cdrom и монтировании корня не в корень, указывай его с помощью --root-directory

    grub-setup (точнее он запускает efibootmgr) обязателен для uefi загрузки, он прописывает ссылку на диск в биосе в меню (спасибо майкрософту за этот геморой в стандарте), для загрузки с флешек (removable devices) это не требуется.

    p.p.s. не забудь поправить /etc/fstab, если разделы там прописаны по uuid, создав новые разделы, им выдаются новые идентификаторы
    Ответ написан
    Комментировать
  • Как настроить сервер, чтобы браузер открывал страницу в нужной кодировке?

    @rPman
    https://stackoverflow.com/questions/34983425/iis-8...

    нужно добавить в
    <configuration>
       <system.webServer>
          <staticContent>
    ...
             <remove fileExtension=".txt" />
             <mimeMap fileExtension=".txt"  mimeType="text/plain; charset=utf-8" />
    ...
          </staticContent>
       </system.webServer>
    </configuration>
    Ответ написан
  • Автопополнение/вывод криптовалютой?

    @rPman
    криптовалюта это по определению способ 'сделать все самому и ни от кого не зависеть'.

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

    p.s. топовые биржи криптовалют предлагают для этого api, например такое предлагает binance и coinbase (последний не доступен в россии)
    Ответ написан
    Комментировать
  • Как оптимизировать данный код?

    @rPman
    if(g >= m) break;
    else pays--;
    из-за этих двух странных строк (логику понять не могу, если текущая взвешенная сумма станет больше указанного на старте значения то прекращяем, иначе вычитаем 1 из pays которая поделенная сумма на m, логику чисел pays и m я понять не могу) избавиться от acc не получится, (в твоем коде нет ничего жрущего оперативную память кроме этого массива) так как нужно сначала посчитать всеобщую сумму. Т.е. если приложению на вход дать 16 миллионов строк (или 8 миллионов, int там 8 или 4 байтный?) то приложение точно выйдет за лимит памяти.
    Ответ написан
    1 комментарий