Задать вопрос
  • Стоит ли переносить логику работающего онлайн-калькулятора с JS на PHP ради защиты формул от копирования?

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

    Правильно разработанный бакэенд и фронтэнд будут давать задержку ровно на величину ping + время на вычисления (скорее всего считанные миллисекунды), если пинг меньше 200мс то пользователь даже не заметит (как сейчас практически никто не замечает что калькулятор в windows запускается пол секунды).

    Просто не переусложняй, обычный http rest или лучше websocket.

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

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

    @rPman
    У меня такое было на ростелекоме, с любыми сайтами, хоть nalog.ru, в очень случайное время (примерно раз в 2-3 часа), со случайным сайтом (если долго на него не заходить). Если повторить запрос, то через примерно секунду чинится.

    'Починилось' при указании DNS от провайдера (не 8.8.8.8!), точнее глюков стало сильно меньше/реже (это странее всего). Что очень сильно усложняет настройку, если нужен одновременно и vpn и роутинг в российские сети.

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

    @rPman
    Сами же просите без бакэнда и сами же предлагаете варианты с чужими бакэндами google/yandex.

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

    Настоятельно рекомендую не мучиться, найти vps-ку за условный 1$ в месяц и разместить там минимальный баэкнд. Не нужно пилить сложный, это вообще беда современных веб разработчиков, оверинженеринг 10k%
    spoiler
    (я видел буквально такие решения, когда вместо странички на 20кб с javascript и рюшечками, предлагают 10-мегабайтовые решения, с компиляцией css с исходниками на сотни килобайт)


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

    @rPman
    в веб сейчас главенствует html5 и wasm (если нужен близкий к нативу код, со скоростями всего 2х хуже)
    Ответ написан
    Комментировать
  • Какая программа подходит для озвучки текста на андроиде?

    @rPman
    Качественный синтез речи только за деньги, я говорю платные api openai/google, но синтез речи это пол дела, нужно еще по голосам раскидать если хочешь очень качественно (иначе, все просто). Напомню цены api там где то $2.5 за миллион токенов (несколько толстых книг,.. если есть прямой доступ к гугловским моделям, они дают бесплатные лимиты, более чем огромные.

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

    Хочешь сэкономить денег? обратись к ИИ агентам, это уже второй год как тренд, вместо того что бы платить другим, заплати создателям ИИ, им не хватает. Сейчас бесплатные или локальные модели (например qwen3.6-35b-a3b) более чем достойные.

    Самые простые автономные агенты это к примеру qwen coder agent
    или opencode

    Идешь на сайт например opencode.ai, раздел download, для linux там просто команда (настоятельно рекомендую изолировать ИИ от компа, например в виртуалке штатной wsl если винда), если не понимаешь что делать, спроси бесплатного duck.ai. Тут же регистрируешься и полчаешь бесплатный api ключ, тебя его при первом запуске спросят... там что то типа бесплатная подписка Zen. Выбирай модель с припиской free, например "MiniMax m2.5 free".

    Запускай просто opencode - интерфейс в консоли, opencode --hostname 192.168.1.123 web - для интерфейса в браузере (ip машины/виртуалки на которой запустил).

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

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

    Советы:
    *одна задача - один каталог (это в его идеи - независимые проекты), да, можно сказать, загляни в другой каталог, это не запрещено, но внутренняя память и контекст привязан к сессии в каталоге, сессий можно много.
    * рули процессом сам. Дели на этапы. Каждый этап требуй создавать инструкции.
    * не пытайся сразу создавать 'майнкрафт под ключ', начинай с простого, консольная утилита без интерфейса, потом веб сервис... дальше собственно идти не надо, со смартфона до домашнего компьютера (vpn!) и пользуешься.
    * требуй создать git с самого начала. Требуй добавлять коммиты (commit, но по русски прекрасно понимают) после каждого рабочего примера, можешь сам требовать, если что то сломается, ты всегда сможешь агенту сказать откатись до рабочей версии.. сам говори ему когда ты получил что то рабочее, он запомнит.
    * если видишь что приходится дважды одно и тоже объяснять, потребуй поместить это в агентский файл AGENTS.md в текущем каталоге, или сделай это сам.

    p.s. opencode работает без vpn, если хочешь платить им, у них есть оплата криптовалютой.

    есть openrouter.ai, это endpoint к почти любым ИИ моделям, включая синтез речи (нет гугловской но есть openai), так же есть оплата в криптовалюте, но топовые нейронки только через vpn/прокси


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

    @rPman
    обычно, когда не понимаешь тему урока, причина в том что предыдущие уроки были пропущены или недопоняты.

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

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

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

    Формально, в процессе создания правильного вопроса ты начнешь понимать как это работает.

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

    @rPman
    Вот у вас отличная бизнес идея.

    Есть маленькая проблема, ее сложно продавать.
    Ответ написан
    Комментировать
  • Что делать если в Telegram не видно музыку с устройства?

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

    Файлы хранятся в приватной области хранилища, за доступ отвечает ос, и штатными средствами это не обойти.

    Можно попробовать создание резервной копии локально через adb, восстановление уже давно сломано Гуглом, но сам zip архив создаётся, правда он будет запаролен твоим паролем. Помню приложения могут ограничивать попадание приватных данных в бакап, например так делают парольные менеджеры или тот же google authenticator, хз, сделали ли так Яндекс.
    Ответ написан
  • Как безопасно уменьшить образ виртуальной машины на базе Ubuntu в Proxmox 9?

    @rPman
    Настоятельно рекомендую не менять размер диска, а сделать новый и скопировать данные. При создании новой файловой системы можно указать тот же uuid что был у старой (это позволит не трогать настройки монтирования), максимум переустановить загрузчик (grub/selinux).

    Иначе, при любых операциях с диском, так или иначе нужно делать резервную копию. Если места мало, можно воспользоваться штатными снапшотами qemu (т.е. работаешь со снапшотом, если все в порядке, снапшот удаляешь, иначе, откатываешь до состояния снапшота)
    Ответ написан
    3 комментария
  • Шифрование флешек в домене AD. Как и чем?

    @rPman
    EFS!

    Форматируешь флешку под ntfs, и пользуешься штатным шифрованием каталогов и файлов (флаг encryption, например из проводника в свойствах или в командной строке attrib). Этот флаг конфликтует с флагом сжатия (либо сжатие либо шифрование). Шифруется только содержимое файла, но не имена (так же вроде бы не шифруются расширенные атрибуты filename.ext:extended_attribute_name).

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

    Потеря аккаунта = потеря данных (есть штатные инструменты windows для создания резервной копии ключей).

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

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

    @rPman
    Ни одна из указанных не подходит для ваших задач.

    Я игрался с qwen3.6-35b-a3b, скорость примерно такая же как у тех что у вас в списке, требования к ram/vram порядка 32гб, на процессоре примерно в 10 раз медленнее чем на двух nvidia 4060ti 16гб (на них порядка 20ток/сек).

    Мощности модели хватает даже для решения простых задач на qwen coder agent (проблема когда контекст вырастает до 100к токенов, начинает тупить, где то решаемо но полной автономии достигнуть не просто).

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

    P s. Современные модели не могут обрабатывать данные напрямую, но могут помочь написать код для этого
    Ответ написан
    3 комментария
  • Возможно ли добавлять методы в пакет чужой библиотеки?

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

    jar файл это zip архив, внутри структура каталогов повторяет структуру namespace, имена файлов .class - это имена классов.

    Получить структуру публичных методов класса:
    javap -classpath mylib.jar -public com.example.MyClass


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

    @rPman
    Для музыки, сначала нужно ее сепарировать, отделить вокал от инструментов, сам я этим не занимался, из последних топовых решений есть это:
    https://github.com/lucidrains/BS-RoFormer

    Если погуглить, есть какой то gui для чуть по старее решений, там на выбор несколько моделей, в т.ч. удаляющих шумы.
    https://github.com/Anjok07/ultimatevocalremovergui

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

    @rPman
    Могу порекомендовать метод, судя по скриншоту, интерфейс из 200x, элементы окна чистый win32. Если повезет.

    С visual stusdio (можно community версию) шла утилита spy+, хорошая исследовательская, позволяла изучать интерфейс чужих приложений (просто кликнув по кнопке в интерфейсе spy+ и затем в окно программы, вроде бы есть альтернативы типа winspy++, советую погуглить), видеть дерево HWND компонент. затем можно написать минимальное приложение (хоть в том же autoit или сразу на c++ если будет visual studio), отключающее контрол в принципе, что то типа такого (код как пример, способ поиска контрола может отличаться:
    openai:gpt5.4 api
    #include <MsgBoxConstants.au3>
    
    ; =========================
    ; Константы
    ; =========================
    Global Const $MAIN_WINDOW_CLASS   = "MyMainWindowClass"
    Global Const $MAIN_WINDOW_TITLE   = "Моё старое приложение"
    Global Const $BUTTON_TEXT         = "OK"
    
    ; =========================
    ; Ищем главное окно
    ; =========================
    Local $hWnd = WinGetHandle("[CLASS:" & $MAIN_WINDOW_CLASS & "]", $MAIN_WINDOW_TITLE)
    
    If @error Or $hWnd = "" Then
        MsgBox($MB_ICONERROR, "Ошибка", "Главное окно не найдено")
        Exit
    EndIf
    
    ; =========================
    ; Ищем дочерний контрол
    ; =========================
    Local $hButton = ControlGetHandle($hWnd, "", $BUTTON_TEXT)
    
    If @error Or $hButton = "" Then
        MsgBox($MB_ICONERROR, "Ошибка", "Кнопка не найдена")
        Exit
    EndIf
    
    ; =========================
    ; Делаем кнопку disabled
    ; =========================
    ControlDisable($hWnd, "", $hButton)
    
    If @error Then
        MsgBox($MB_ICONERROR, "Ошибка", "Не удалось отключить кнопку")
        Exit
    EndIf
    
    MsgBox($MB_ICONINFORMATION, "Готово", "Кнопка отключена")

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

    @rPman
    'правильный' с точки зрения production ready подхода, разделять хранилище и сервер приложений, т.е. у вас должен быть отдельный nas под данные (образы ОС) и резервные копии делать уже средствами этого nas (потому что только он сможет к примеру давать эффективные инкрементальные копии), конечно резервированием машин (данных) могут заниматься сами виртуальные машины изнутри своими средствами.

    Бакап конфига делать штатными инструментами, теми же скриптами PowerCLI из PowerShell, восстановление будет из файла одной командой (сервер перезагрузится и все работает).

    p.s. на сколько я знаю у vmware есть HA кластер, можно заранее настроить backup сервер, и либо планово либо по обнаружению сбоя, переносить туда сервера, время отключения в этом случае будет секунды-минуты.

    это благодаря выносу образов на отдельно стоящий nas, но это накладывает свои требования к сети до него (спасибо 10гб сетевые карты сейчас очень доступны)

    p.p.s. если у вас образы хранятся локально на той же машине, то как я нагуглил (я думал что у ESXi этого нет) VMware VADP + CBT (эффективно инкрементальные копии) но это вопрос наличия лицензии на соответствующие компоненты.

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

    @rPman
    Утилиту для загрузки музыки с сайта yandex music, и не по одному файлу, таких пруд пруди, а альбомами или списком. И очевидная польза, и сразу несколько областей заденешь (не только разработка но и реверсинженеринг) и не сильно сложная.
    Ответ написан
  • Как портировать игру с Play Station 1 на андроид?

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

    Тут Nintendo судится с игровыми стартапами и студиями за игровые механики! успешно причем.

    Поэтому не будите лихо.
    Ответ написан
    1 комментарий
  • Как лучше подключать СХД к Proxmox Backup?

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

    Самый известный протокол iscsi (лично я считаю его в большинстве ситуаций, особенно маленьких организаций и дома - перегруженным, но спасибо есть простые сервера для самодельных nas типа linux istgt).
    До него был еще проще (с точки зрения нагрузки на сервер/nas) NBD (network block device) - очень простой и эффективный по ресурсам для NAS (особенно для слабых машин).
    Есть еще старый AOE (ata over ethernet), он позволяет публиковать диск/образы по ethernet вне ip/tcp стека (т.е. минус оверхед от организации сети).
    Еще нагуглил NVMe over tcp (я знал что есть по fibre такая технология, но что ее сделали по tcp я не знал).
    Все это прекрасно работает в linux, но нужно смотреть поддержку NAS.

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

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

    По поводу организации резервного копирования, есть неплохие идеи при использовании мощных ZFS/btrfs файловых систем, у них встроенная и бесплатная по ресурсам система организации снапшотов, а главное есть возможность отправлять по сети/или хранить разницу между указанными снапшотами в виде файла (полный аналог diff/patch для текстов), и удаленно применяя эти патчи к холодной резервной копии (или просто хранить в виде файлов, но при необходимости их придется применять к стартовому состоянию на бакап сервере в правильном порядке без пропусков), на текущий момент это наилучший способ организации инкрементального резервного хранилища, универсально подходит под любые нужды, хоть VM хоть типовой сервер.
    spoiler
    Т.е. держишь образы виртуальной машины в файлах (или образах zfs). Для работы нужно хранить снапшот того состояния, что развернут на втором сервере, и в момент старта резервного копирования, создавать новый снапшот, запрашивать разницу между ними (это 'бесплатная' операция, работает максимально быстро, на скорости чтения данных с диска только разницы) и после успешного его сохранения, удалять старый снапшот. При создании системы резервногоо копирования понадобится стартовое состояние диска, его получают как initial снапшот, и с этого момента пропускать и нарушать порядок инкрементальных копий нельзя.

    Такие резрвные копии можно делать очень часто, хоть раз в несколько секунд, так как не несут накладных расходов на получение инкрементальной копии кроме как на ее копирование, когда как любые иные файловые системы или инструменты поверх них, либо роняют производительность записи, либо требуют долгий анализ данных для получения инкрементальной копии
    Ответ написан
    Комментировать
  • Access: скрытая предзагрузка форм без мелькания?

    @rPman
    попробуй задать неправильные размеры или положение для окна за границами десктопа, так же его можно делать сминимизированным
    Ответ написан
    Комментировать
  • Что делать если не очищается место на диске C ssd?

    @rPman
    Запустите штатную утилиту "Очистка диска", из пуск. При запуске сразу нажать кнопку 'Очистить системные файлы' (потребует повышение прав).
    Все предлагаемые пункты можно безопасно выбирать, для удаления выбранных категорий файлов нажать ОК.

    На второй закладке 'Дополнительно' утилиты 'Очистка диска' внизу кнопка 'Очистить' для теневых копий восстановления. Это удалит теневые копии, которые не видно в проводнике, но они создаются например перед обновлением системы. Если вы сами не создавали теневые копии то эта операция так же совершенно безопасна.

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