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

    @rPman
    Если пользователь не сопротивляется (например специфические настройки и приватный режим браузера, плагины-блокировщики, виртуализация и т.п.) то:
    * информация о железе - ос, параметры экрана и от сюда вплоть до конкретной модели мобильного устройства, ну по классам, наличие видеоускорителя, бенчмарки процессора и много чего еще
    p.s. кстати webgl это огромная дыра, при должном старании как я понимаю можно даже содержимое экрана получить, буквально чем занимается пользователь вне браузера.
    сюда же можно докинуть шрифты и алгоритмы их отрисовки, к примеру при должном старании можно понять, установлен ли тот или иной софт (крупный, какой-нибудь cad) по тому как браузер отрисовывает тексты шрифтами, устанавливаемыми этим софтом.
    * fingerprint - набор технологий позволяющих вытянуть из поведения браузера идентификатор пользователя (читай куки) даже если он сопротивляется этому
    * наличие плагинов/расширений браузера, по каждому расширению нужно проводить свои проверки но детектировать можно все
    пример:
    посчитай время, необходимое на запрос
    fetch('moz-extension://d81669f0-2f9c-4ccc-b20e-e6942bb9b2ec/options/index.html')

    если без ошибок то значит установлено расширение Simple Translate

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

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

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

    @rPman
    Как верно подметил GavriKos, сначала нужно определиться с целями.

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

    Имея на руках эти суммы можно смотреть у интеграторов готовые конфигурации и сравнивать, стоит ли надежность ниже расходов на потенциальные потери.

    Сервер - понятие в первую очередь философское, и только во вторую очередь материальное (существуют буквально железо и софт, которое производитель позиционирует для серверных задач и поэтому называет "сервер")

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

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

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

    p.s. виртуализация - это не цели, это способ их достижения
    думай бизнес целями
    Ответ написан
    Комментировать
  • Почему обрезается скорость приема по WiFi?

    @rPman
    при каких условиях скорость быстрая а при каких медленная?

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

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

    И напоследок, соединение между устройствами может быть в режиме managed и adhoc, первый - дает 40мбит второй как раз 2мбит. Смотри настройки подключений wifi
    Ответ написан
  • Какие скорости должны быть у RAM DDR4?

    @rPman
    Не там смотришь скорость dram.

    Да у ddr4 максимальные скорости чтения/записи данных именно таковы и являются одной из ограничений дальнейшего их роста (с помощью контроллера памяти данные с ssd диска по линии pci-e копируются напрямую в ddr4 память, они не могут быть скопированы быстрее чем это физически позволяет оперативная память или канал pci-e).

    Но! материнские платы позволяют объединять модули памяти с помощью технологий dual channel/triple channel/quad channel буквально умножая доступную пропускную способность в 2/3/4 раза, но заметно это только на специфичных задачах и синтетических тестах, когда как для обычных задач прирост скорости считанные проценты.

    p.s. Современные ssd диски, точнее энергонезависимая память произвольного доступа, на столько быстрые, что возможно создание систем где ram в принципе заменяется ими, и возможна разработка софта (linux как ядро, на сколько я понял, готов к этому, но вот софт нет) оптимально работающего в такой среде, что может повысить скорость работы даже не в два раза а на порядок. Существуют модули памяти, построенные по этому принципу (это имело смысл пока не изобрели pci-e m.2 nvme стандарт)

    p.p.s. не сильно верь таким тестам работы ssd, всегда делай это с оглядкой на размер файла данных, в пределах которого проводился тест, в данном случае в Crystal Disk Mark установлен всего 1Гб, что легко вмещается во внутренний кеш накопителя, стоит только общему размеру данных увеличиться в 2-3 раза, как итоговая скорость записи (а именно она критична для ssd) падает на порядок.

    Например дешевый nvme диск может давать легко 500мбайт/с чтение и такую же скорость записи, но как только будет записан условный гигабайт данных (за считанные секунды), эта скорость падает до 30мбайт/с

    Дорогие ssd диски имеют бОльшую минимальную скорость записи и бОльший кеш отложенной записи, но эта настоящая скорость записи все же будет в несколько раз меньше скорости чтения.
    Ответ написан
  • HTTP запрос умирает сразу после отправки?

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

    Если же приложение само формирует даже заголовки и контролирует соединение, то добавляй логирование в это приложение на всех этапах формирования соединения (при использовании библиотек это логирование уже там встроено)

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

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

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

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

    p.s. это нормально, для Домашнего Кинотеатра 150 ватт на канал?
    Ответ написан
    Комментировать
  • Как правильно бэкапить файлы в Yandex Storage?

    @rPman
    Инкрементальные бакапы
    Каждый архив должен содержать только разницу между предыдущим состоянием файловой системы и текущим

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

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

    p.s. недостаток инкрементальных бакапов в том что для восстановления состояния нужно "применить снапшоты" за все время с момента первого сохраненного состояния

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

    p.p.s. btrfs имеет встроенные механизмы получения инкрементальных бакапов между снапшотами без сканирования всех файлов (что актуально для ОГРОМНЫХ архивов)
    Ответ написан
  • Как и чем мониторить здоровье SSD и HDD на hyper-v core?

    @rPman
    Для этого нужно в сети выделить отдельную машину из которой опрашивать по wmi состояние дисков

    Вот тут обсуждалось как мониторить smart

    p.s. поищи среди этих утилит, может там в мониторинге есть готовое
    Ответ написан
    Комментировать
  • Как восстановить сайт?

    @rPman
    Выглядит как плохо установившийся вирус.

    Советую найти специалиста который проанализирует способ проникновения и закроет дыру, после восстанавливать из бакапа
    Ответ написан
    Комментировать
  • Как открыть сессию в Tor Browser используя JavaScript?

    @rPman
    веб браузер не поддерживает произвольные tcp запросы, для работы по протоколу socks именно это требуется.

    это сделано чтобы защитить сетевое окружение пользователя от атак со стороны веб сервисов (по той же причине введен cors и запрет кросс http/https запросов)
    Ответ написан
    Комментировать
  • Какой есть аналог Microsoft.Office.Interop.Word для .Net Core?

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

    nuget пакет тут явно не поможет

    еще в интернетах пишут что нужно выбирать правильный тип проекта
    Ответ написан
  • Потянет ли Orange Pi PC H3 1gb OpenCV обработку?

    @rPman
    да
    но в зависимости от задачи и реализации скорость будет гулять 5..30fps (ориентируйся на меньший)

    погугли, первый же пример (там малинка, один фиг)
    Ответ написан
    1 комментарий
  • Какой диск выбрать в старую материнку - 2.5 или М.2?

    @rPman
    m.2 слота у тебя нет (pci-e он называется так как многие из них подключены напрямую к pci-e линии, что исключает задержки из-за протоколов sata, но на самом деле m.2 nvme диски быстрые при сравнительной дешевизне потому что у них контроллер заметно проще, часть работы перекладывает на процессор и память на материнке)

    так что бери sata 2.5" диск

    p.s. существуют pci-e контроллеры m.2 nvme дисков, стоят примерно 1-2 т.р.
    p.p.s. так же существует m.2 sata стандарт подключения дисков, особого смысла в нем я не вижу, только что если остальные слоты уже заняты
    Ответ написан
    Комментировать
  • Как сделать автоподнятие трубки windows?

    @rPman
    Autoit
    Идентификатор окон определить с помощью утилиты идущей в комплекте с ms visual studio - spy, либо sysinternails process explorer (не уверен что будет удобно)

    Также autoit может работать с пикселями экрана, запрограммировать изменение цвета пары из них(появление окна), и автоматизировать нажатие кнопок
    Ответ написан
    Комментировать
  • Как скрыть backend своего сайта?

    @rPman
    В общем случае - никак

    Но можно сделать этот процесс на столько сложным, что смысла в этом уже никакого не будет. С помощью обфускации кода и использовании алгоритмов шифрования данных, передаваемых в браузер (не про https а когда данные, загружаемые браузером и передаваемые в скрипты/данные - зашифрованы). А чтобы конечный скрипт нельзя было вытащить через модификацию браузера (например логировать eval) то можно саму виртуальную машину, исполняющую скрипты, реализовать на js (wasm).

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

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

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

    @rPman
    От задачи.
    Если тебе нужна скорость, то придется пожертвовать памятью и создать массив указателей на элементы (т.е. в твоем примере это массив указателей на элементы с индексом 2,3,6,7,8,10).

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

    Особенно грустно, если структура кусков и размер массива будет меняться. Первый подход сильно все упростит
    Ответ написан
    1 комментарий
  • Подойдёт ли внешняя звуковая карта для наушников?

    @rPman
    Тебе не звуковая карта нужна а простой аудио усилитель

    А лучше ЦАП (DAC) преобразователь, например с spdif. На материнских платах наверное на всех он есть уже десятилетие, максимум докупить за 200р планку spdif на заднюю панель корпуса.
    планка портов spdif
    hkxzhczpuf5bd1qbz3hry7syrgy.png

    Какой именно ЦАП брать хз, у китайцев их стоимость начинается с 300р, а когда речь идет о аудиофилах, как только они видят стоимость ниже шестизначной, начинают дергаться, это сродни религии,..

    При использовании spdif материнская плата и ее звуковая карта перестанут иметь какое либо значение, так как данные будут передаваться в цифровом виде а значит за качество будет отвечать ЦАП усилителя.
    Ответ написан
    3 комментария
  • Как удалить в планировщике заданий "отключение ноутбука через одну минуту"?

    @rPman
    В режиме safe mode пробовал загрузиться? который по F8 на старте сразу после bios появляется?

    Если он не был включен заранее (майкрософт решила всем подложить свинью чтобы как следует зае*ались) то его можно вызвать принудительно, если загрузка системы не прошла успешно подряд несколько раз (нажимай reset во время включения машины примерно через пару секунд как появляется иконка картинка флага майкрософт) и пробуй жать F8)

    Если сам safemode не помогает, то нужно загрузиться в старую консоль восстановления или загурзиться с установочного диска и там отключить службу Schedule
    Ответ написан
  • Почему физически комп не отключается после системного отключения?

    @rPman
    Конфиг в студию (особо актуальна материнская плата но и список переферии, подключенной к pci/usb тоже важен)

    В первую очередь нужно исключить проблемы настройки ОС (обновление и sfc scannow только фактически гарантируют отсутствие сторонних модификаций кода но не настроек), для этого загрузись с liveusb ос какой-нибудь xubuntu/kubuntu (с windows сложнее, так как рабочего liveusb образа с драйверами добыть сложнее, но можно установить на временный раздел чистую версию, благо на это тратится минут 10)

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

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

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