Задать вопрос
  • Как работать с 8-ю мониторами?

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

    а чтобы вставить 16x pci-e видеокарту в 4x/8x pci-e разъем, используют рейзеры, специальные переходники (в этом случае видеокарту придется как то по другому закреплять нестандартно

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

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

    p.s. DisplayPort в своей основе поддерживает одновременную работу нескольких мониторов на одной линии, но нужна поддержка в мониторах, зовется DisplayPort Multi-Stream Transport (MST), вот например у dell
    v6l7yt5u136mudzjocql6m2yt_s.png

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

    @rPman
    За то, какой именно код будет запускаться на разных доменах, обычно отвечает веб сервер, смотри настройки в нем. Там на каждый домен своя секция конфига. Работать такие сайты будут совершенно независимо, т.е. база сессий у каждого своя, ну а настройки баз данных сам пропишешь в коде у каждого свой.
    Ответ написан
    2 комментария
  • Как делать периодический бекап сайта если свободного места почти нет?

    @rPman
    Вроде как есть утилита rsinc для centos, но ей нужен доступ куда будет писать
    из-за вот этой фразы непонятно что у вас не получается.

    Если на машине получателе установить rsync как демон, то не потребуется даже ssh подключение, никаких накладных расходов тоже не будет

    Так же вместо rsync можно использовать старейшую программу для создания архивов - tar, отправляя результат в процессе его создания на целевую машину, любым доступным способом (смонтировать сетевой диск, по ssh или даже netcat), кстати хранить архив tar-ом так же вполне нормально

    Я успешно пользовался tar-ом и netcat, перемещая архив между серверами с разными ОС (linux/windows), к сожалению с rsync тогда могли бы возникнуть проблемы, поэтому пользуйся инструментом что для этого создавался.

    p.s. если бы у тебя была файловая система btrfs, то можно было бы создавать снапшоты, сохраняя последний и удаляя все старее, тогда можно было бы одной командой получать накопившуюся разницу в виде файла, который можно как хранить и передавать, так и применять на сторонней машине (там так же должна быть btrfs).
    https://btrfs.wiki.kernel.org/index.php/Incrementa...

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

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

    @rPman
    Твое понимание неверное.

    Языки программирования python, ruby, php, и go.. это не ускорители, это именно языки программирования, причем в купе с фреймворками (библиотеками), поставляемыми как в стандарте так и разрабатываемые другими людьми (обычно ты не можешь взять библиотеку, написанную на go и использовать на php, хотя никто не мешает в пределах одного проекта их смешивать, просто это неразумно и наверное допустимо только как временное решение для смены платформы).

    Т.е. выбрав язык программирования в первую очередь ты тут же ограничиваешь выбор между готовыми решениями и инструментами, которыми ты мог бы пользоваться. В каком то смысле это наверное можно считать определяющим скорость работы решения, но очень косвенно. Напрямую этот выбор мог бы определить скорость и стоимость разработки и затраты на собственно использование (например выбрав майкрософтовские технологии типа asp .net и ms sql ты сразу же ограничиваешь минимальную стоимость за счет лицензий на майкрософтовский сервер и его базы данных, и минимиальные требования к железу)

    p.s. по поводу скорости, php и javascript (node) это самые быстрые и эффективные 'языки программирования' из интерпретируемых, причем в каких то случаях лидирует php а в каких то node. Писать эффективный код можно и на c (был такой кейс у меня давно, недолго участвовал в веб проекте, где все было именно на чистом Си), причем наверное самый эффективный, но в бизнесе это так не работает и важным является не скорость исполнения решения, а скорость и затраты на его разработку и поддержку, вот тут всякие c,c++,go,rust и прочая экзотика, не шибко поддерживаемая коммунити становятся не таким привлекательными.

    Еще про скорость. Изначальный выбор архитектуры и базовых технологий, на которых будет основываться проект, может оказать большее влияние чем сами эти языки. Например уход от парадигмы http rest - запрос = вызов приложения, к приложению, сочетающее в себе веб сервер, и непрерывным соединениям websocket, может оказаться, особенно на старте, очень выгодным..
    spoiler
    Помню исключительно для теста писал на php приложение в стиле http rest с использованием php+web-сервер и то же самое на основе асинхронного ReactPHP websocket сервера (протокол общения с клиентом тоже был на сокетах), на очень слабом не серверном железе выдавало несколько тысяч rpc и больше десятка тысяч rpc соответственно (т.е. смена подхода поднимала скорость на порядок, но усложняла масштабирование в будущем, точнее чуть сложнее код пришлось бы писать)

    Если говорить про совет, какой язык выбрать, выбирай то в чем лучше разбираешься, как я понимаю TS? или лучше его основу node javascript. Если лично мои рекомендации - используй php, скилы в этих двух языках сейчас наиболее востребованные на рынке веб.
    Ответ написан
  • Как отправлять запрос каждые N секунд, пока в ответ не получу нужный статус?

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

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

    Недостаток подхода с периодическим опросом как у тебя - сильно растет нагрузка на бакэнд с ростом клиентов и лаг в реагировании на серверные события (в попытке уменьшить этот лаг будешь уменьшать интервал опроса и тем самым повышать нагрузку на бакэнд)
    Ответ написан
    Комментировать
  • -x^2 - положительно или отрицательно?

    @rPman
    речь ведь не про языки программирование а про математику

    лучше бы написал вопрос так

    вопрос на засыпку, чем отличается применение минуса в следующих формулах?
    oaouqma5cm6ih1kbyjticysytd4.png
    и
    0xv-ndfy68ditjpokip2pwkxx6q.png

    в обоих ли случаях минус перед 2 нужно применять перед следующей операцией возведения в степень и корня?

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

    p.s. сходу не нашел строгого определения применимости минуса как знака и его приоритет именно как знак перед числом а не арифметический операнд (ведь можно записать 1 - -2)

    отредактировано
    Ответ написан
  • Что делать с папкой windows, которая весит около 60 Гб?

    @rPman
    Нажми правую кнопку на диске C: в проводнике (там у 99.99999999% пользователей размещен windows и все с ним связанное, и с такими же шансами это ntfs), откроется стандартное окно свойств, внизу отметить чекбоксик 'Сжать этот диск для экономии места' (если что это можно сделать по персонально с каждым файлом и/или каталогом по отдельности, например Temp каталог лучше не сжимать), после нажатия Ок система спросит нужно ли установить этот флаг для всех подкаталогов, сказать да, и начнется достаточно длительный (час или больше) процесс сжатия файлов, в процессе будет выдано сообщение о невозможности сжать системные файлы - сказать игнорировать все.

    Этот процесс только для системных каталогов windows позволит освободить порядка 5 гигабайт, а еще есть приложения, обычно сжимает на 20-30%.
    2as4on_vq17gyrkbzgynj8eptiu.png

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

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

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

    @rPman
    автоматизированно ... на стороне js/ts

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

    Правильное решение - исправить бакэнд
    Ответ написан
  • Допустимо ли сокращать названия переменных до 1 буквы или комбинации символа + буквы?

    @rPman
    Да

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

    Это не закон а рекомендация!

    В конечном счете важен результат а не процесс (хотя бывают исключения).
    Ответ написан
  • Есть ли возможность создавать виртуальные машины virtualbox с предустановленными параметрами?

    @rPman
    у virtualbox очень продвинутый инструмент командной строки по работе с виртуалками (доступно все что есть в gui плюс еще немного) - VBoxManage
    а внутри виртуалки все то же самое что с реальными машинами, уже отвечали - ансибл вполне хорош.
    Ответ написан
    Комментировать
  • Можно ли переопределить метод в скомпилированной программе?

    @rPman
    в скомпилированной программе
    т.е. исходников нет но развивать как то надо?
    декомпилируешь и развиваешь

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

    Гуглится десятки проектов-декомпилеров, советую самостоятельно в них разобраться.
    java decompiler
    Ответ написан
  • Какой это хардварный показатель компьютера?

    @rPman
    Установи sysinternails monitor (раньше filemon и regmon), позволяют собрать логи работа с файлами и реестром, они телки огромны, но можно фильтровать по всякому, как минимум там все, только найти.
    Ответ написан
  • Возможно ли открыть ссылку не в браузере instagram, а сразу в браузере смартфона?

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

    собственно сама эта возможность понижает надежность использования смартфонов на порядок

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

    @rPman
    Для работы (если у тебя не 3d) первый упор должен быть на монитор, размер, качество матрицы, разрешение

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

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

    Клавиатура у ноутбука обычно неудобная (полноценная клавиатура с правильным/удобным расположением кнопок, таких как навигационные стрелки, кнопки ctrl/alt/shift/menu а так же ins/del это почти нереально, а значит либо придется приучаться к неудобному расположению (кстати часто вендоры изобретают свое, что делает этот 'скилл' абсурднобесполезным) либо таскать с собой нормальную клавиатуру ;)

    И главное, в конечном счете ноутбук превращают в стационарный компьютер и мучаются.

    Подумай 10 раз и все же купи нормальный десктоп.
    Ответ написан
    Комментировать
  • Как указать какой IP-адрес использовать в веб-сокете на python?

    @rPman
    Пример в вопросе - это клиент, wss://example это адрес сервера, спрашивать адрес сервера у владельца сервера,..

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

    Если в настройках сервера стоит 0.0.0.0 то значит сервер слушает ВСЕ интерфейсы машины (на момент открытия сокета, т.е. запуска программы), включая 127.0.0.1, 127.x.x.x и другие адреса сетевых устройств
    Ответ написан
  • Есть ли возможность обойти блокировку раздачи моб интернета для windows 10?

    @rPman
    Провайдеры определяют это через значение TTL, которое устанавливает конечное устройство и уменьшается на 1 если пакет проходил через промежуточное устройство.

    Провайдер знает, какие стартовые значения TTL по умолчанию прописаны в разных ОС и при их изменениях может детектировать раздачу интернета. Решение - изменить это значение на каждой машине. с которой хочешь выходить в интернет.

    p.s. Универсально можно поставить на роутере http/socks прокси и прописать его в браузерах на других компьютерах, тогда провайдер ничего сделать не сможет, так как в этом случае выходить в интернет будет прокси. На самом роутере не всегда это можно сделать но почти на каждом есть ssh сервер, т.е. выбираешь машину в своей сети, с нее подключешься к роутера ssh клиентом с ключом -D1080 (1080 любой порт) и теперь в браузерах прописываешь socks прокси с ip этой машины и портом 1080

    upd. можно эту подмену делать на роутере сразу, вот к примеру инструкция для keenetik
    Ответ написан
    2 комментария
  • Как начать работать с OpenAI gym?

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

    p.s. нейронные сети (основа большинства современного ИИ) - это не про алгоритмы, а про обучающие данные. Собственно собирать эти данные и подготавливать их к виду, которые нужны уже реализованным алгоритмам и есть большая часть работы.
    Ответ написан
    2 комментария
  • Можно ли к Window PE прикрутить не портативную программу?

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

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

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

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

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

    p.s. регистрация com компонент вручную проводится с помощью штатной утилиты regsvr32
    Ответ написан
    Комментировать
  • Видит ли провайдер сети сервера vpn ip клиента?

    @rPman
    Видит ли провайдер vpn -сервера ip vpn- клиента ?
    безотносительно протокола vpn провайдер видит твой внешний ip адрес, но не внутренний

    НО! ты используешь проприетарное приложение softether vpn client, которое устанавливаешь на свою машину, на mac/pc оно может видеть все что творится на твоем компьютере и всю твою локальную сеть с твоими логнами и паролями (да оно может этого не делать но речь о том что может), на android/iphone знает твой локальный ip и информацию, которую ты предоставил разрешениями
    Ответ написан
    Комментировать
  • Нужно ПО для кастомизации раб. стола Windows 11?

    @rPman
    Боже мой, и для этой задачи нужно использовать windows?

    Используй linux, красивые кнопки - простейшее приложение на любом языке программирования (полагаю на mono develop такое написать за 15 минут можно), прописанное вместо DE на автозапуск. Точно помню для кастомизации кнопок что то было у openbox и у awesome (последний идеален для kiosk mode но там конфиг по факту кусок кода этого DE и для некоторых может быть сложноват)

    Запрет других операций - это называется kiosk mode, и в linux инструментов для кастомизации сильно больше чем в windows
    Ответ написан
    Комментировать