Задать вопрос
  • Как увеличить количество соединений к socket server?

    @rPman
    судя по этому issue у народа до 1000 на один процесс все работало ну и он закрыт значит должно быть больше.

    смотри ошибки в коде сервера, что пишет в логи
    Ответ написан
    Комментировать
  • Сайт полностью прогружает стили только в режиме инкогнито, как исправить?

    @rPman
    у тебя на стилях твоих сервер выдает хеадер
    cache-control max-age=31536000
    expires Mon, 25 Dec 2023 17:55:13 GMT
    логично что все закешировалось и отдает новую версию только на новых машинах или в приватном режиме (там кеш чистится по закрытию страницы, ибо это использовалось для деанонимизации)

    это классическая проблема и решается в простом виде добавлением к имени файла какого то идентификатора, определяемого версией файла (например дата или хеш файла) например так main.css?i=123123

    p.s. лучше меняй сразу имя файла на main.123123.css, так ошибки легче будет отловить (если где то забудешь изменить ссылку)

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

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

    Поэтому в с++ нельзя быть одновременно virtual и static (а у тебя тебя еще веселее, предок не статичный а потомка ты пытаешься сделать статичным)

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

    Лично я считаю это достаточно неудобным чтобы вообще оставить static в принципе, лучше без него тогда
    Ответ написан
  • Что использовать для синхранизации данных?

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

    Соответственно каждое твое действие с документом должно логироваться в лог действий (пар действий).

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

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

    @rPman
    99% проблем с wine у пользователей - это необходимость установки компонентов с помощью winetricks (список компонентов определять эмпирически по логам, либо подсмотреть, что устанавливает и использует приложение при установке на реальную windows, да и просто распотрошить инсталлятор, и конечно гуглить.

    Типовые проблемы - нужен браузер (предлагается gecko), нужен .net фреймворк, нужны vc redist и т.п. Иногда может банально не хватать какого-нибудь шрифта, который запрещено из-за лицензионных соображений вместе с ОС но могут быть загружены скриптами.

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

    p.s. есть GUI утилита q4wine, дает какое то удобство, если тебе прямо в GUI надо, и логи посмотреть и префиксами порулить, и запущенные процессы помониторить

    p.p.s. настоятельно рекомендуется устанавливать wine не из репов ОС а самые последние версии с сайта winehq
    Ответ написан
    Комментировать
  • Какие есть хостинги для хранения видео и какие есть методы оптимизации видео?

    @rPman
    бесплатно нигде
    за деньги - как любые обычные данные

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

    а так да, если надо сэкономить - то пережимать

    p.s. кажется самый дешевый хостинг в мире, особенно когда речь о БОЛЬШИХ размерах - amazon s3 (какой-нибудь glacier хранилище для малоактивного контента с лагом извлечения - часы и другие уровни по дороже - для оперативного)

    само собой, весь контент лучше кешировать на локальном хостинге

    p.p.s. в свете санкций могу посоветовать криптовалюты, siacoin неплохой инструментарий имеет, вполне адекватная скорость, и цены сравнимые с амазоновским glacier
    Ответ написан
    Комментировать
  • Как найти схожий текст в Mysql?

    @rPman
    Akina абсолютно прав, но в качестве ответа - одним из простых критериев похожести может быть отличие в количестве символов (известный алгоритм levenstein)
    вот статья с примерами и реализациями на mysql
    для postgres есть штатная реализация но нативные индексы так и не поддерживаются

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

    @rPman
    я тут вижу два разных языка - c++ и manged c (на нем написано приложение win form)

    выбор языка определяется в момент создания проекта, именно это определяет как это будет запускаться

    если же у тебя два проекта в solution то там же есть настройка, какой запускать

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

    пример доки, как вызывать из managed кода unmanaged (тот что ты на c++ хочешь)
    Ответ написан
    6 комментариев
  • Как встроить стороннюю страницу на подобие iframe но с некоторым функционалом?

    @rPman
    Браузеры защищают сайты с разными доменами у фрейма и основного, от подобной деятельности. Ни доступа к странице, ни к содержимому нет.

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

    Если твоя задача не состоит в краже пользовательской авторизации, то достаточно через проксирование сайта на своем домене открыть его как свою страницу и уже к ней будет полный доступ, можно получить document страницы, делать поисковые запросы querySelector и делать клики через .click()
    Ответ написан
  • Какой стек использовать для разработки SPA?

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

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

    @rPman
    SSL Cloudflare отдает сертификат? или замыкает только на себя?
    если отдает то можно настроить dns (или локально на машине /etc/hosts) на свой локальный веб сервер, который этим сертификатом будет обеспечивать https
    Ответ написан
    2 комментария
  • Что будет, если открыть pdf с iOS в фишинговом письме?

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

    Само собой гарантии этого дать невозможно, но шансы проблем минимальны.

    p.s. что происходит когда приложение gmail открывает pdf? оно это делает внутри самого себя или передает pdf на системный просмотрщик?
    На сколько я помню гугл все внутри себя пытается замыкать, а значит контролирует этот процесс и проблем быть не должно
    Ответ написан
    Комментировать
  • Как в initrd вызвать bash/sh?

    @rPman
    чтобы в initramfs можно было кнопки нажимать, на сколько я знаю нужно чтобы работал эмулятор терминала (т.е. привязать текущий терминал к одному из системных tty), с помощью getty , в вартуалке как я понимаю это сделано по особому, а вот на реальной машинее нужно явно указывать.

    первый же пример из гугла скрипта
    Ответ написан
  • Чем можно скачать страницу сайта кроме wget?

    @rPman
    гугли offline explorer или offline browser (там много разного софта было)
    когда то это был единственный способ бакапить сайты со скриптами.

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

    p.s. содержимое сайта с вероятность 99.(9) скам, будь осторожен
    Ответ написан
    Комментировать
  • Использовать лли ext4, или exfat для внешнего SSD, если планирую использовать его на всех 3х ОСях?

    @rPman
    исходить нужно от задач.

    ext4 будет максимально эффективно работать на linux и скорее всего mac
    exfat будет хорошо работать только в windows (когда я смотрел, на linux драйвер делает заметно больше обращений к диску)

    p.s. я помню под windows есть отличная утилита imdisk, она умеет не только ramdisk создавать но и монтировать образ cdrom и главное сделать его writable. На linux так же не будет проблем с записью cdrom (кажется фалйовая система udf), остается вопрос с macos

    само собой никаких прав доступа ни один из этих способов не обеспечит, по куче причин.
    Ответ написан
    2 комментария
  • Как скопировать диск на другойЁ меньшего объема?

    @rPman
    clonezilla (есть как загрузочный диск так и стандартный пакет в linux)

    Универсальный инструмент, умеет работать как с linux файловыми системами так и windows ntfs/exfat/fat32 (он использует утилиту partclone), автоматически скопирует как mbr и подправит таблицу разделов и главное максимально эффективно (быстрее чем dd, потому что пропускает свободное место) склонирует диск

    Есть проблема, возможна ситуация (редко), когда из-за фиксированного размещения таблицы ntfs mfat, возможности по уменьшению раздела будут ограничены, даже при наличии свободного места, тогда единственный способ корректно перенести раздел с системой будет backup-restore средствами windows (только он корректно переносит права доступа, символические ссылки и прочее)

    Еще одна проблема, ее может породить стандарт EFI (иногда не требуется), потребуется обновить информацию о загрузочных записях об ОС в биосе, запустив соответствующие утилиты, для windows - инструменты восстановления установочного компакт диска, а для linux переустановкой загрузчика (скорее всего grub) или вручную с помощью efibootmgr
    Ответ написан
  • Как формировать новый адрес для получения USDT для каждой транзакции?

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

    Генерация адресов usdt делать нужно инструментами, предоставляемыми блокчейном
    * bitcoin - можно использовать любой инструмент генерации адресов (их миллион, хотя бы определись с языком), так же рекомендуется использовать официальный кошель bitcoin omniwallet, он же и за балансами проследит.
    * ethereum - та же фигня, библиотек много, так же официальный geth вполне подойдет
    * tron - официальная библиотека (javascript - tronweb)
    ...
    Ответ написан
    Комментировать
  • Как перевести большой html файл на другой язык?

    @rPman
    раздели текст по абзацам и переведи, 10 минут покликать мышкой нет проблем.
    Ответ написан
  • TON Coin API на php?

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

    p.s. официально от разработчиков есть javascript и python библиотеки
    Ответ написан
    Комментировать
  • Как взаимодействовать с txt файлом, находящимся на сервере, с помощью с++?

    @rPman
    Вопросов тьма, от ответов на них зависит и результат
    Например - сервер доступен ли по какому то протоколу?
    во всех операционных системах можно настроить какой-нибудь протокол smb/nfs/ftp/http/ssh/... все они позволяют получить доступ к файлу так или иначе.
    Это вопрос не программирования а devops, настроить соответствующее приложение-сервер, на стороне клиента есть очень универсальная библиотека - libcurl (и одноименная утилита) умеет наверное все популярные и не очень протоколы.

    Само собой можно написать свой сервер по своим правилам (гуглить socket server c++) но стоит ли?

    p.s. netcat, консольная утилита, позволяет отправить через пайпы содержимое файла в сетевой сокет а на другой стороне соответственно наоборот принять, способ тупой, простой, на основе его и баш можно сделать однострочник сервер для отправки файла любому подключившемуся.
    Ответ написан
    6 комментариев