Задать вопрос
  • Редактор PDF и AstraLinux, какой использовать?

    @rPman
    qpdf например,в командной строке
    так же есть imagemagic или gs (ghostscript)
    Ответ написан
    Комментировать
  • Как правильно оформить вопрос на QNA.Habr, чтобы получить ответ?

    @rPman
    Первая проблема задающих вопрос (не только на хабре а вообще) - это дано недостаточно информации. Из вопрошающих приходится чуть ли не клещами выбивать ее.

    Выдавай максимум информации. Что есть, что хотел, как думал решать, как получилось, как не получилось.

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

    @rPman
    Много раз отвечал на подобные вопросы следующее:
    1. использовать виртуализацию, внутри виртуальной машины любые правила
    бесплатно, заметные затраты ресурсов (от 10% до 30% производительности), нет адекватной поддержки 3d видео в госте (для linux хоста есть исключение, можно внутрь пробросить целый gpu)
    с легальной точки зрения в виртуалке разрешено запускать только ревизии enterprise windows (дорогие) но технически почти никаких ограничений не происходит даже с домашними

    2. использовать windows server и каскадирование подключений rdp (при использовании одного, если отключиться, то кнопки нажимать внутри не получится, но если одна сессия будет исключительно ради открытия внутри себя подключения rdp, то внутри оно будет открытым а это первое может быть отключено.
    с лицензионной точки зрения это дико дорогой способ, зато полностью независимые сеансы, нет использования виртуализации, но и не совсем полноценная 3d (спец софт, который затачивают на использование неактивной видеокарты будет работать, но те кто по умолчанию пытаются работать с активной видеокартой, те обломятся)
    p.s. для старых версий до 22-го года win10 есть была rdpwrap которая легально включала множество терминальных сессий для десктопных windows, но майкрософту это не понравилось и с ней боролись и победили

    3a. использовать linux и для каждого приложения запускать свою сессию, на выбор либо использовать xvfb (отдельная сессия) или надстройки поверх него (проверьте x2go, вроде должно работать если держать подключение)
    недостаток - нетривиальная настройка

    3b. использовать linux и штатный его механизм разделения сеансов (утилита loginctl, не работает с wayland), позволяет настроить полностью независимые рабочие места, если на каждое подключить видеокарту, мышку, клавиатуру (достаточно видеокарты, управлять по vnc), с помощью xephyr можно обойти требование видеокарта на одно рабочее место.
    достоинства - полноценные рабочие места, очень легко настраивать (xephyr все еще сложно)

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

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

    4. использовать ibik aster (я их уже столько рекламирую, они мне наверное должны уже зп платить ;) ) это то же самое что 3b в linux но для десктопных ревизий windows, по цене годовой подписки рабочего места в один обед.
    достоинства - полноценные рабочие места, может работать на одной видеокарте (сколько подключить мониторов/заглушек сможешь), к сожалению мне не удалось тогда настроить автологин всех рабочих мест, но он точно должен быть
    Ответ написан
    Комментировать
  • Безопасно ли загружать docx файлы пользователей на сервер?

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

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

    p.s. что бы исключить запуск вируса по ошибке администратором сервера, файлы можно хранить на диске с 'техническими' именами (например числовой идентификатор из базы), так как подавляющее большинство приложений (файловые менеджеры, интерфейсы ОС и т.п.) ожидают нужное расширение (часть имени файла с конца с точкой, например ".exe" или в твоем случае ".docx") и/или атрибут файловой системы (linux "x" для скриптов и бинарных файлов)
    Ответ написан
  • Как правильно написать техническое задание для разработки одностраничного вебсайта?

    @rPman
    100р в месяц это не обслуживаемые vps, т.е. настраивать и администрировать самому, с не высокими SLA (примерно раз в несколько месяцев будут останавливаться, часто без уведомления заранее, по техническим причинам хостера), например поисковик по таким lowendstock.com (там даже с оплатой в криптовалюте).

    С таким подходом, начинать лучше вообще с домашней машины, некоторые роутеры (не самые дешевые, например с поддержкой OpenWRT, но тут еще вопрос про требования к серверу, а точнее оперативной памяти) или лучше любой дешевый компьютер (мне нравятся решения на базе mitx soc плат с ценами порядка 13-15т.р. например на базе intel celeron n или j серий, они в несколько раз лучше малинки а больше всего в 2-3 раза, их обычно напаивают на материнскую плату и решения с ними можно сделать до 10т.р. и там на цену больше может повлиять способ питания и корпус а не сама электроника, в россии такие уже не поставляются но вот первый же интересный из доступных пример ему блок питания и память добавить любые, потребление у него 15ватт) а экстремалы могут даже на android устройствах запустить (любой БУ смартфон).

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

    С самой задаче не сюда, тут посоветуют в каком направлении решать задачу самому. Принять решение о стоимости не получится, не видя задачу. Но первый вопрос, почему нужно именно сайт?
    spoiler
    С помощью visual studio на winforms/wpf даже новички могут сделать десктопное приложение со сложными формами просто кликая по экрану с минимумом кода


    p.s. в некоторых случаях могут подойти решения на базе облачных услуг каких-нибудь гугл диск но это извращение, хостить может будет бесплатно/дешево но разрабатывать и поддерживать сложнее
    Ответ написан
    4 комментария
  • Где можно бесплатно зарегистровать домен навсегда?

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

    Регистрация правда платная, стоит примерно $0.01 на 200-250 суток (36000 блоков), так что считаю это можно считать бесплатным

    Пользователи такого домена должны прописать у себя либо публичный dns (первое что нагуглил - OpenNIC 161.97.219.84, CryptAware 5.45.96.220), поддерживающий namecoin либо установить открытый софт (ncdns и ноду namecoin) у себя, тогда не будут ни от кого зависеть.
    Ответ написан
    3 комментария
  • Как повторить такую "отрисовку" в терминале на Linux?

    @rPman
    За раскраску символов в терминале отвечает сам терминал, а управление - ESC последовательности
    ты просто выводишь в stdout среди обычного текста последовательности вида
    "\033[31m" - весь последующий текст будет красным
    "\033[0m" - весь последующий текст стандартного цвета

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

    @rPman
    Пишите приложение, которое перебирает элементы json и отправляет переводчику по отдельности каждое

    к сожалению даже топовые gpt с некоторыми не нулевыми шансами (даже если и 1% вам не понравится) могут пропустить что то важное или додумать или изменить структуру.

    Есть structured output, ты описываешь выходную структуру и gpt сгенерирует ответ строго по этому формату, как минимум этот подход позволит защититься от повреждения структуры... не думаю что описать формат твоей json будет проще чем написать приложение, которое будет разбирать json на элементы.

    Переводить можно как универсальными нейронками (это перебор конечно но почему нет, особенно когда нужно контролировать неоднозначности, пилишь огромный пропт, в котором указываешь правильный перевод имен, пол каждого или способ обращения, другие особенности а затем добавляя к нему короткие текстовые строчки получаешь перевод, благодаря nv-cache длинный пропт будет кешироваться и стоить меньгше/бесплатно) а можно специализированными, публично доступна вполне терпимая от facebook m2m100 или новее nllb-200, они мелкие и приемлемо работают на процессоре
    Ответ написан
    Комментировать
  • Как синхронизировать процессы используя только std?

    @rPman
    c++11 и есть стандарт std::thread, std::mutex, std::lock_guard, std::unique_lock, std::condition_variable
    типа так:
     std::mutex m;
     // ...
     {
      std::lock_guardstd::mutex lock(m);
      // критическая секция
     }
    Ответ написан
  • Сможет ли чайник собрать костюм с помощью chatGPT и добрых Хабровчан?

    @rPman
    Неправильные вопросы задавал chatgpt
    сейчас, любители делают motion capture с помощью обычных камер и софта, вот например
    Ответ написан
    5 комментариев
  • Может ли мобильный оператор блокировать интернет при подключении компьютера?

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

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

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

    Т.е. в твоем случае Сайт 1 и Сайт 2 должны на своих страницах в ключевых местах оставлять такую цифровую подпись на изображении и предоставить механизмы проверки видео на наличие в них подписи (т.е. нужно будет покадрово анализировать изображения и сообщать что вот в этом кадре вот в этой области есть информация и она подписана)

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

    Так же лучше подписывать не все изображение целиком, а разделить его на области (например прямоугольная сетка) и подписывать каждую по отдельности, тогда метод записи будет не так критичен (например человек может записывать внешней камерой, трясущимися руками)
    Ответ написан
    1 комментарий
  • Насколько вероятна поломка БД Oracle при использовании контрольных точек Hyper-V?

    @rPman
    Есть два разных снимка.
    1. снимок ФАЙЛОВОЙ системы (Production Checkpoints у hyper-v)
    2. снимок файловой системы и ОПЕРАТИВНОЙ памяти (standart)

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

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

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

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

    p.s. если перед созданием снапшота сервер базы данных остановить, то проблем никаких это не создаст.
    Ответ написан
    Комментировать
  • Чем заменить репликацию Hyper-V?

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

    Например VirtualBox позволяет все это делать, причем из командной строки утилитой VBoxManage (она вообще все с виртуалками позвляет делать)

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

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

    @rPman
    Смутно помню десятилетия назад у меня была задача приведения данных из разных структурно форматов (миниатрюные базы данных из нескольких таблиц с какими то полями, структура была простой, что то типа дерева - объект и вокруг него описания, но списки полей, отсутствие единых справочников и т.п. превращали процесс в ад), так вот, утилита для причесывания всего этого легче всего писалась на microsoft visual studio с использованием WinForms, на нем было невероятно просто писать простой интерфейс к базе данных, особенно когда у тебя много разных простых но уникальных формочек, большая часть работы была мышевозекательной, а программирование оставалось для граничных ситуаций, обработки ошибок и собственно аналитика.

    В последствии я краем глаза поглядываю на то что предлагается разработчикам для решения такого типа задач, и мне не нравится тенденция к усложнению. Если говорить конкретно про microsoft visual studio, то WinForms заменил WPF, мне показалось это не так удобно, сложнее.. может писать действительно сложные вещи с долгой поддержкой на современных инструментах было бы правильнее, но когда у тебя проект здесь и сейчас и через пару суток ты его уничтожишь за ненадобностью (данные обработал, конвертировал и забыл), альтернативы я не вижу.
    Ответ написан
  • Как добавить в приложение видео из html-фреймов (youtube, vk, vimeo)?

    @rPman
    Без браузера есть yt-dlp, консольное приложение на python (кроссплатформенное), работающее с более чем 1000 сайтов. Конечно же компании против таких приложений борятся и меняют формат страницы, поэтому приложение нужно будет оперативно обновлять (и все равно будет некоторый период, когда не будет работать, радует что youtube вносит изменения не всем сразу, а значит есть шансы что обновление приедет быстрее)

    yt-dlp позволяет не только скачивать, но и получить прямую ссылку (если это в принципе возможно) которую можно использовать в ffmpeg/vlc или любом другом плеере, который можно реализовать самому или встроить в приложение.

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

    @rPman
    win11 - в любом поле ввода работает win+H, работает только онлайн, как и все в win11 (я не шучу, даже поиск по компьютеру адекватно не работает, даже проводник лезет куда то, и это еще онлайн аккаунт не создан)

    Если все еще интересно онлайн и есть понимание что диктовка текста это не просто надиктовал и получил слово в слово, вот посмотри этот проект (это первое что нагуглил но видео мне понравилось их)

    оффлайн есть утилиты на базе openai whisper или на базе vosk-api, точно помню была mozilla deep speech, на базе sapi было тьма утилит но из-за плохой реализации распознавания русского не прижилось.

    Красиво что бы нажал и все летает я не видел, полагаю проблема тут в том что никто за это платить не будет (компании типа microsoft/google да и тот же яндекс могут себе позволить тырить информацию у пользователя и монетизировать таким образом эти разработки) а за бесплатно получай сырые opensource примеры (видосиков полно) которые уже что бы запустить нужно промучиться прилично, а уж функционал маловат.

    Найдешь что то интересное, тут отпишись.
    Ответ написан
    7 комментариев
  • Как обосновать применение реляционной БД на интервью по System Design?

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

    Т.е. если под требования задачи выбранная реализация подходит, значит выбирай решение 'на вырост', так сказать подложить соломку заранее. Конечно, правило 'преждевременной оптимизации' не абсолютно, можно заранее подумать... и конечно реляционные решения обычно проще в использовании, sql язык промышленный стандарт, особенно если сравнивать no-sql решения, где api у каждого свой и переносимость околонулевая. Т.е. если выбранная реляционная база данных вдруг не подошла по функционалу, трудозатраты на перенос решения в другую будут значительно меньше, чем если то же самое делать с no-sql или не дай бог с самостоятельным решением на файлах.

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

    С другой стороны, если не пилить велосипедов (или не брать узкоспециализированные и не улучшать их под свои проблемы), то как тогда новые технологии будут появляться?
    Ответ написан
    Комментировать
  • Как удалить WSL с Windows 11?

    @rPman
    https://learn.microsoft.com/en-us/windows/wsl/basi...
    в консоли с правами администратора
    wsl --list --all
    # смотрим список установленных виртуалок
     wsl --unregister <имя>
    # удаляем образ
    Ответ написан
  • Как подключить монитор в компьютер без видеовыхода?

    @rPman
    Съехидничаю, linux помню может в качестве терминала использовать что-нибудь, подключенное на com или lpt порт, например принтер, или другой компьютер. Пользы сегодня от этого не густо но возможность такая есть до сих пор (ее используют к примеру что бы запускать linux в вируталке, перенаправляя вывод в консоль хост машины)
    Ответ написан