Задать вопрос
  • Почему мой компьютер не может установить соединение с игровыми серверами?

    @rPman
    Как проверяешь наличие интернета?
    Работают ли ping? tracert и mtr?

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

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

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

    @rPman
    В другом ответе все необходимое уже сказано, добавлю

    - организационный, вы пускаете за один и тот же компьютер людей по очереди, определяя следующего человека вручную.
    Развиваем идею:
    * добавить удаленный доступ по rdp/vnc/rustdesk/... чтобы пользователям не требовалось физически подходить к компьютеру
    * добавить автоматическое управление правами у пользователей (для rdp это штатные пользователи ОС, скрипты будут по нескольку строчек хоть на батниках), отбирая права у всех и выдавая право очередному пользователю по списку
    Ответ написан
    Комментировать
  • Как открывать много TCP соединений и поддерживать их?

    @rPman
    Назначают несколько ip адресов на один интерфейс, и при открытии слушающего сокета, указывают разные ip адреса (обычно указывают 0.0.0.0 - слушать все интерфейсы, но можно указать конкретный). ОС это переваривают корректно.

    Подводные камни - большое количество слушающих сокетов тратят ресурсы (ram).

    У тебя неправильная архитектура - не нужно делать подключение 'все со всеми', делай граф - 'каждый с некоторыми', уведомления передавай через соседей, а для передачи самих данных уже открывай прямое соединение на это время и отключайся. Таких сетей полно, например dht, bitcoin p2p,...
    Ответ написан
    Комментировать
  • Возможно ли установить Windows XP на внешний жесткий диск?

    @rPman
    Невозможно, ни winnt, ни win2k и никакую другую win нельзя поставить на внешний носитель, это специальное ограничение от майкрософт. Начиная с win7 можно ставить на usb (windows 7 to go, гуглить easyuefi) Теоретически это из-за того что своп файл не может находиться на removable drive, отключить своп невозможно (в gui отключение фиктивное, windows создает его в c:\windows).

    Есть winpe сборки от сообщества (основаны на той windows в которой запускается установщик) для запуска приложений, вполне функциональные, на их основе делают всякие реаниматоры. Но на них большая проблема установки драйверов, мало какие могут работать (gpu например нет, только штатный vga)

    p.s. если прямо очень надо старые приложения запускать, ставь linux, запускай виртуалку и в ней уже windows. При должном красноглазии виртуалка qemu влезает в initramfs (т.е. установка будет что то типа десяток мегабайт с загрузчиком grub). А это значит система запустится практически на любой машине, с минимальными затратами ресурсов на виртуализацию. И да, нормальных драйверов на 3d графику не будет

    upd. есть способ, загрузка winxp с ramdisk, который в систему загружает grub, который в свою очередь запущен с флешки (собственно там уже пофиг, хоть по http загружай и вообще всю установку по сети pxe).
    В общем случае сначала систему устанавливают (только pro ревизии), затем клонируют на .vhd диск, и настраивают запуск с ramdisk с помощью драйвера https://github.com/Sha0/winvblock который нужно изначально интегрировать в установку

    Подробных инструкций мало, гугли, они 'почти все протухли', читай github.

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

    Заявлена поддержка 64-битных ревизий winxp/2k и даже vista что очень неплохо
    Ответ написан
  • Как визуализировать магнитное поле?

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

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

    @rPman
    Если у тебя 'устаревший' http rest подход с функционалом server side only (т.е. браузер не будет требовать javascript) то лучшим решением в твоем случае будет использование фреймов. Размести каждую или эту конкретную форму в своем фрейме - тег IFRAME

    В этом случае, если нужно будет из одного фрейма по ссылкам менять адрес всей страницы, то у тега A нужно будет установить атрибут target=_top

    p.s. альтернатива, сделать единую форму, и по нажатию разных кнопок отправлять содержимое всех полей, устанавливая их значение при следующем открытии страницы. Определить, какую кнопку нажал можно по ее имени (в $_POST будет установлено значение name для той кнопки, которая была нажата).
    Ответ написан
    Комментировать
  • Как включить JavaScript в макросе на VBA?

    @rPman
    Если говорить универсально, то для этого требуется не конкретно javascript а полноценный браузер.

    Посмотри, нет ли там компонента WebBrowser (я давно не лез в эти адовые дебри ископаемых технологий майкрософта), он использует штатный internet explorer сейчас это 11 версия, и он будет ругаться что переходите на edge (придется удалить эту компоненту-уведомление в панели управления в свойства браузера и это не просто, она будет возвращаться сама).

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

    Но сам браузер можно использовать как запускалку javascript, формируя страницу самостоятельно (сформировав ссылку через data uri например) либо использовать функционал добавления скрипта.

    p.s. excell и vba самый худший способ решать твою задачу.
    Сейчас такие задачи решают с помощью selenium и современных языков программирования
    Ответ написан
  • Очень плохо работает мобильный интернет?

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

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

    @rPman
    Существуют x86 материнки со встроенным и не только процессором формфактора mini-itx/nano-itx/pico-itx, у меня лежит mitx 2014-го года с двумя гигабитными портами и встроенным intel j 1800, по скорости она быстрее любой современной малинки, стоила дешевле тогдашней малинки и аналогов (у них всегда цена завышена). При этом это стандарт ATX для подключения питания (можно подключить огромный по меркам материнки стандартный atx блок питания), стандартные порты для RAM, для подключения плат расширения типа GPU, usb/hdmi/dsub/dvi/... это x86 софт работает весь, есть адекватный биос и адекватные возможности.

    в наших текущих закрытых реалиях достать современное железо сложно, только если китайцы что предложат. Гугли aliexpress 2 ethernet mini itx или nano itx, предложений там тьма
    Ответ написан
  • Как проверить наличие слова в файле txt (fs)?

    @rPman
    Что значит сверять, давать ответ есть/нет? слово это строка с любыми символами (пробелы, знаки препинания) или набор букв на каком то языке с игнорированием регистра и вспомогательных символов (встречаются в других языках), а кодировка у файла?

    Если просто строка без учета всего иного, то читаешь файл в память fs.readFileSync(filePath, 'utf8'); где utf8 - ожидаемая кодировка файла. Наличие слова в этой строке можно простым регулярным выражением new RegExp(`\\b${targetWord}\\b`, 'gi') и методом regexp.test(строка_с_содержимым_файла). Соответственно fs подключить require('fs').

    Если пользователь будет вводить что угодно (а не слово, например символы \ которые часть регулярного выражения), то можно ограничить его ввод дополнительным регулярным выражением, проверяя и ругаясь соответственно.
    Ответ написан
    Комментировать
  • Скачать все видео автора тик ток?

    @rPman
    Видео отлично качает консольная утилита yt-dlp (устанавливать в linux из pip install в windows с офф githubоно же умеет качать и видео пользователя но именно с тикток это сейчас сломано (само собой тикток борется с качальщиками), я не пробовал самый последний релиз возможно пофиксили, попробуй)

    Еще момент, с российских ip тикток кастрирует и ломает выдачу, скрывает популярных авторов в т.ч. из поиска (вот пример @wannabeteacher поищи как пример), поэтому подбирай локацию хостинга скриптов.

    p.s. у тикток есть api, просто разберись с ним и используй
    https://developers.tiktok.com/doc/tiktok-api-v1-vi...
    Ответ написан
    2 комментария
  • Как ограничить доступ к странице сайта на устройстве пк браузеров?

    @rPman
    Открывамем гугл, пишем github browser mobile detector
    получаем ссылку на почти сотню проектов, отсортированных по популярности, первый какраз на php
    Ответ написан
    Комментировать
  • Lvm versus fsck - как решить проблему курицы и яйца?

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

    lvm однозначно на помойку, его снапшоты это тормозной ад, когда как btrfs/zfs они бесплатны.

    К сожалению переход lvm+ext4 -> btrfs можно сделать только через backup format restore. В похожих ситуциях я несколько раз делал последовательное уменьшение разделов, в пределах свободного места на диске, переносил данные снова уменьшал... Долгий и опасный процесс (вероятность потери данных при сбое во время упаковки и сдвига раздела - высокая) но когда вообще нет возможности сделать оперативно бакап и восстановления - подойдет. Но лучше выбирай бакапы, они так и так нужны.

    Недостатки btrfs/zfs там же где и их достоинство. Это Copy-On-Write файловые системы, каждая следующая запись происходит в новое место, базы данных в таких случаях сильно фрагментируются (на самом деле не на столько все плохо но на hdd это заметно), и само собой есть возможность это отключить для выбранных каталогов (снапшоты само собой нормально перестанут работать с этими файлами).

    upd. Отключи резет физически и научи комбинации ctrl+shift+alt+prnscr.. +u, ...+b,... +s. prnscr отжимать и нажимать следующую букву, не отпуская ctrl+shift+alt, затем отпускать все кнопки и повторять но последний символ другой.
    u - перемонтирует все маунты принудительно в readonly
    s - запускает sync (формально он не нужен, так как после readonly он уже работает, но я могу придумать комбинации конфига ext4 и опций монтирования когда это не так, с другой стороны времени на этот синк дать нужно, поэтому пока пользователь жмет кнопку - процесс идет)
    b - перезагрузка, даже если все висит (я не помню когда это не сработало, даже если ядро в панике, хотя ситуации придумать можно)

    Подробнее - не отпуская ctrl+shift+alt, нажимаешь и затем отжимаешь prnscr и нажимаешь символ b/u/s/... и только после этого отпускаешь ctrl+shift+alt (иначе он не поймает следующий prnscr)

    вот первая попавшаяся инструкция (shift нажимать не надо только если у тебя в режиме терминала, нажимай всегда не попутаешь, та же фигня чтобы переключиться между текстовыми терминалами ctrl+alt+F1...7 один из них графический, но в режиме графического нужно добавлять shift)

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

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

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

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

    @rPman
    заверши транзакцию в конце скрипта перед close - commit
    p.s. в 2024 году использовать mysqli это моветон.

    использовать видео, да еще и такое зашакаленное и на неадекватном хостинге (как так, по пробелу паузу не делает) чтобы передать исходники это прямое издевательство над теми у кого ты просишь помощи.
    Ответ написан
    9 комментариев
  • С чего начать написание своего софта(парсера)?

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

    Если речь о браузере, то языки - это javascript, html и css.

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

    p.s. сообщество полюбило python и javascript (node), я часто использую php, в т.ч. как часть комплекса, так как на питоне и javascript код получается многословнее. Кому то нравится java или c# (использовал когда можно было браузерный компонент легко в свое приложение вставить)
    Ответ написан
    Комментировать
  • Можно ли в mysql хранить 200 колонок, для 10+млн записей?

    @rPman
    Да, для хранения, добавления и чтения данных с анализом этот подход очень хорош, ценой незначительного для твоих объемов (кратного, Rsa97 все расписал) ты получишь огромный прирост производительности. Настоятельно рекомендую протестировать на тестовом стенде на своих данных, особенность хранения null записей в innodb и работа индесов с ними. Что лучше в твоем случае парный индекс в денормализованной форме или 200 индексов в нормальной можно будет определить только тестами (большая таблица может потребовать больше оперативной памяти на индексы).

    Есть еще недостаток - если в таблице будет очень много данных, добавление и тем более удаление колонки будет проходить очень медленно, особенно если база данных в это время будет использоваться.
    Ответ написан
    1 комментарий
  • Как посчитать количество дней в работе в Excel?

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

    Если тебе для всех объектов, то такую строчку нужно делать для каждого объекта (т.е. уже получается таблица целая)

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

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

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

    В третьих, запрос может быть распределенным на несколько машин, т.е. не каждый запрос на свою машину, это само собой, а именно один пользовательский запрос напрягает одновременно целый кластер. Мало того, я почти на 99% уверен что у гугла свое железо используется по полной (с момента как они стали активно использовать ИИ в своих алгоритмах поиска и построения индексов, уже лезт 10 гугл свои TPU пилит, минимум третья итерация, и в задачах ИИ они на пару порядков эффективнее GPU).

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

    Про софт - я не знаю, статей про это не помню, но нисколько не сомневаюсь, что такая компания как гугл могут запилить свой софт, работающий с хранилищем данных немного иначе чем это делают классические linux/win, когда каждый запрос к диску делает чуть ли не два копирования в оперативную память (это еще на уровне posix, затем пользовательский софт сериализацией занимается, это еще копирования), занимая ценный кэш процессора, но физически данные с дисков могут быть прочитаны в нужную область памяти вообще минуя процессор, как минимум nvme это могут штатно, так как висят на pci-e шине, да и sata точно есть механизмы, которые с помощью старого DMA могут копировать данные с указанных портов напрямую в области в памяти, точно читал о таких разработках в linux но до практически потрогать не доходило.

    p.s. первое что нагуглил по теме dma для nvme, обсуждают именно методы реализации инструментария в linux чтобы удобнее и быстрее с этим было работать из userspace (а не уровня драйверов)

    про tensor processing unit у них оказывается уже 5-ая ревизия должна быть (вот сравнение 4-ой ревизии, пишут про 20-кратное понижение carbon emission что бы это не значило)
    Ответ написан
    5 комментариев