Задать вопрос
  • Как корректно управлять и воспроизведить медиа на приставке android?

    @rPman
    докинь через termux xserver-xsdl тогда приложения сможешь ставить буквально linux-овые
    Ответ написан
    1 комментарий
  • Как сменить раскладку на английскую по умолчанию в Windows 11?

    @rPman
    Как и все в windows после win7, попробуй найти старую панель управления и выбрать там "языки", скорее всего откроется старое окно настройки, еще смотри там же - клавиатура
    Ответ написан
    Комментировать
  • Свободное использование РФ. Источник заимствования. Вопрос?

    @rPman
    dvd диск это носитель, он не дает никаких прав, это просто техническая реализация процесса доступа к данным.

    Абсолютно не важно, как ты получил видео файл - нашел на улице, скачал с youtube, сделал копию с трансляции на TV или скачал с торрентов, прав на его использование тебе это не дает. Мало того, если ты скачалд видео с сайта на котором написано - пользуйтесь этим как угодно это бесплатно и законно (при этом это ложь) то ответственность за недобросовестное использование лежит снова на тебе.

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

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

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

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

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

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

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

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

    Так же можно попытаться разработать алгоритмы по определению, требует ли сайт полноценный браузер или ему хватит обычного wget и его аналогов. Что то можно вытащить, определив движок, на котором сайт написан, 90% интернета используют готовые фреймворки, у многих из них свои способы, где то можно попытаться вытащить карту сайта из кода, не выполняя его... стоит ли такая работа экономии на процессорах, хз
    Ответ написан
    2 комментария
  • Защита данных в API?

    @rPman
    Обычно два направления атак, от которых нужно защищаться:
    1. защита от кражи передаваемых данных провайдером (любым, на пути следования пакетов, например публичный wifi)
    2. защита от подмены передаваемых данных, так же провайдером
    Для первой задачи нужно шифрование HTTPS, для второй хватит цифровой подписи но при использовании HTTPS это не актуально, так как подменить зашифрованные данные не получится

    Клиент должен не игнорировать предупреждения о невалидности цифровой подписи (любят тут люди вместо корректной настройки последних версий openssl отключать контроль curl --insecure).

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

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

    а тут и 1000 различия есть https://www.mycompiler.io/view/1CQUKga8um2
    Ответ написан
  • Почему команды man и sudo не найдены?

    @rPman
    видно что у тебя только security патчи в списке репозиториев
    например смотри сюда, твой /etc/apt/sources.list должен содержать что то типа такого:
    deb http://deb.debian.org/debian bullseye main
    deb-src http://deb.debian.org/debian bullseye main
    
    deb http://deb.debian.org/debian-security/ bullseye-security main
    deb-src http://deb.debian.org/debian-security/ bullseye-security main
    
    deb http://deb.debian.org/debian bullseye-updates main
    deb-src http://deb.debian.org/debian bullseye-updates main

    посмотри каких строк у тебя нет и добавь (можно еще non-free-firmware добавить)

    после жми apt update и уже тогда apt install xxx
    Ответ написан
  • Как пробросить исходящее соединение через другую машину?

    @rPman
    типовой конфиг на машине Б настраиваешь NAT, гугли, вот примеры
    Затем на машине A прописываешь шлюз по умолчанию (либо если нужно только определенные ip адреса в интернет ходить, то персонально route по каждому прописываешь) был на машину Б
    Ответ написан
    Комментировать
  • Как лучше организовать запрос к БД на основе данных?

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

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

    @rPman
    Я встречал смутно похожие проблемы (когда буквально where like %zzz% выдавал строки в которых не было 'zzz' когда скорее всего из-за ранее повисшей машины была некорректно перезагружена операционная система и были порушены данные в индексах, repair и пересоздание индекса для гарантии проблему решили.

    Не факт что это твой случае, ты бы хотя бы примеры данных и примеры запроса сюда показал, а то бывает люди надеются на то что порядок в не сортированных данных (или сортировка по не уникальному полю) будет постоянным, а это undefined behavior, именно так это и вылезает в редких неуловимых местах.
    Ответ написан
    Комментировать
  • Стоит ли добавлять index для полей таблицы EAV?

    @rPman
    Если нужны сложные индексы, то в EAV модели появляется дополнительная таблица объектов с выделенными полями под нужные атрибуты, наполняемая тригерами, и уже на них настраиваются индексы.

    Скажи, зачем ты выбрал EAV модель? Зачем создал себе проблем?

    В чем проблема каждому атрибуту создать колонку в таблице, сотни колонок никаких особых проблем (главная рекомендация - не делать default value, если в будущем понадобится удалять добавлять колонки), структура отлично кодом модифицируется и анализируется средствами базы данных, и главное гибко организуются многоуровневые индексы, что сложно реализовать на EAV
    Ответ написан
    6 комментариев
  • Что требуется что бы AnyDesk отображал экран игры вместо рабочего стола?

    @rPman
    даже steam remote? который заточен на трансляцию именно игр.

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

    @rPman
    портативная версия Irfan Viewer умеет ставить фон рабочего стола, так же его умеет ставить firefox (правая кнопка на изображении)

    еще гуглится набор скриптов от BAT и WSH до питона
    https://superuser.com/questions/277805/how-do-i-se...
    Ответ написан
    Комментировать
  • Усилитель мобильного сигнала?

    @rPman
    Определись с радио-диапазоном, в котором тебе нужно усиление и приобрети соответствующую пассивную направленную антенну.

    2g: cdma/gprs (до 14 кбит) - www.cqham.ru/logoant.phtml , для edge антенны не очень гуглятся
    3g: CDMA2000 - тот же профиль но другие размеры dl2kq.de/ant/3-54.htm , для UMTS есть готовые (наверное у китайцев есть на все частоты)
    подбирать тщательно, антенна фиксированно усиливает только определенный диапазон
    рекомендуется не использовать каоксиал а размещать модем прямо с антенной
    ...

    Дальше ты должен знать направление до ближайшей вышки радиосвязи ОПСОСов и направлять антенну на нее

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

    @rPman
    Очевидно, что cron-стайл не решит твою задачу, что самое грустное, задача на столько простая, что решать ее сторонними инструментами и библиотеками - странно.

    Мне кажется мочь запилить свой time-task-execute сервис должен каждый программист, начинающий карьеру.

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

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

    @rPman
    Зависит от того, чем являются эмодзи у целевой платформы, кто то довольствуется символами unicode, максимум подобрав шрифты, а кто то в текст закидывает заранее закодированные слова, в каком то своем синтаксисе, типа :smile:, :lol: и т.п. возможно там целый язык состряпали.

    Если платформа это предоставляет, читать ее документацию. Еще можно тупо попробовать скопировать сообщение в текстовый редактор без поддержки изображений, этот синтаксис сразу будет виден.
    Ответ написан
    Комментировать
  • Не запускается Windows 10 после установки диска ssd активным. Как исправить?

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

    Это никак не влияет на производителность.

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

    Скорее всего ты указал не тот раздел активным вот загрузка и сломалась. Восстанавливай, загрузившись с загрузочного компакт диска или usb с той же версией windows которая у тебя установлена и выбирай режим восстановления, там будут варианты от автоматического до ручного, если первый не поможет
    Ручное восстановление делать с помощью diskpart (утилита командной строки - эквивалент графического управления дисками) а так же Bootrec с ключами /fixboot потом /fixmbt и в догонку можно еще /RebuildBcd

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

    p.s. прежде чем дальше ломать систему, пытаясь ее восстановить, сделай сначала ее резервную копию, не жадничай, бакапы экономят время, деньги и нервные клетки
    скачай на флешку clonezilla либо делай то же самое, загрузившись с livecd linux (например xubuntu) clonezilla там как штатное приложение в репозитариях.
    Ответ написан
  • Почему rsync не работает на плохом канале?

    @rPman
    Проксируй, не используй rsync протокол напрямую.

    Используй к примеру ssh (путь для файлов указывай user@server:/path/).
    Или поэкспериментируй с разным vpn, например openvpn, попробуй к примеру udp подключение (на нестабильных каналах этот вариант может оказаться лучше, но не факт, все зависит от причин нестабильности).

    Я помню один раз настраивал (правда не довел до логичного конца, только как концепт) с помощью linux bonding и двух подключений openvpn через разные сервера (пути до них шли через разных провайдеров) к одной и той же машине (на этой машине был настроено два openvpn сервера A и B, а на другой vps-ке было настроено перенаправление портов на openvpn B), подключаясь таким образом к A и B openvpn серверам на клиенте и на сервере получались связанные tapA и tapB вирутальные ethernet устройства, на них поднимается bonding (рекомендую режимы active backup и broadcast), так же на сервере openvpn уменьшаешь таймауты.

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

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