Задать вопрос
  • Как работать с Git на двух компьютерах с одного аккаунта?

    @rPman
    Не пользоваться google drive

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

    Гугл находит посты народа, которые говорили что syncting с git проблем не имеет, т.е. точно так же на смартфоне или стороннем сервере ставишь syncting, так же на комп и ноутбук и синхронизируешься, все будет само выбирать путь синхронизации, либо по локальной сети либо через смартфон (то что будет быстрее то и используется)
    Ответ написан
  • Чем снять образ диска?

    @rPman
    linux dd с опцией conv=sync,noerror позволяет сделать копию образа, пропуская ошибки (будет заполнять нулями соответствующие области)
    dd if=/dev/sda1 of=partition.raw conv=sync,noerror status=progress

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

    @rPman
    Заказчик сказал что все эти действия он проводит вручную через safari на iPhone в течении дня и не получает блокировки аккаунта (или получает но сильно реже).
    скорее всего сайт анализирует статистику действий пользователей, все нетипичные профили переносит в разряд - забанить если через пол часа не прекратит

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

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

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

    @rPman
    из коробки в php есть асинхронные методы работы с сокетами, метод socket_select позволяет создать event loop и вести асинхронную коммуникацию

    так же библиотека curl позволяет вести загрузку в фоновом режиме с помощью curl_multi_...

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

    p.s. чтобы nodejs по скорости был сравним с php приходится осторожно выбирать какими методами пользоваться, например штатные объекты и массивы там медленнее чем класс Map
    Ответ написан
    3 комментария
  • Как (правильно) шифровать данные и хранить ключи на облачном сервисе?

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

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

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

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

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

    плюс по мелочи, типа нестандартное окружение, в котором нет привычных инструментов, не нужных сервису (например злоумышленник может очень огорчиться, если сервис nodejs не будет уметь запускать sh скрипты, не будет python и т.п.)
    Ответ написан
    Комментировать
  • Что означает 1 FLOPS? Чем он отличается от операций в секунду?

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

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

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

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

    @rPman
    Что за карта? какой ее объем производитель, какой картридер и прочие важные вещи нужно сообщать.

    Вангую, картридер (например те что встраивают в soc всяких смартфоноподобных нетбуков или планшетников ) не умеет работать с картой памяти большого объема?
    Ответ написан
    Комментировать
  • Можно ли подключить Oculus Rift S к ноутбуку по type C?

    @rPman
    нет, если на аппаратном уровне там не разведен displayport то никак
    все другие способы это програмные, очень медленные

    для VR требуется очень высокие скорости и отзывчивость
    p.s. с вероятностью 99.999999% видеокарты в твоем ноутбуке не хватит для какой либо комфортной игры да и по определению ноутбук не подходит для игр, это мобильное устройство, где упор на низкие энергопотребление и вес
    Ответ написан
  • Какой прогой читать-писать fido7.ru nntp коференции с кодировкой KOI8-R?

    @rPman
    mozilla thunderbird умеет nntp (подписаться на новости) поддержка кодировок в нем еще есть
    вопрос как настроить его чтобы можно было писать а не только читать, это вопрос способов авторизации.
    Ответ написан
    1 комментарий
  • Домашняя серверная машина, как создать?

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

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

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

    Выбор ОС когда для себя - вопрос в первую очередь 'что поддерживает твой софт' и во вторую 'что лучше умеешь'. Для хостинга игр выбор ОС почти не влияет на их работу, например windows даст от силы пару дополнительных гигабайт затрат оперативной памяти и накладные расходы на работу с диском (сервера игр могут этого не заметить, особенно если выбирать ssd).

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

    @rPman
    Список разрешений vesa прописывается на заводе в память монитора EDID, и его можно поменять (как минимум через vga кабель), этим пользуются чтобы добавить нестандартные разрешения или к примеру поменять маркетинговые искажения этих значений на адекватные (например дешевые модели телевизоров с матрицами 1360x768 не имели в списке этого разрешения и чтобы работала точка в точку нужно было плясать с бубном)

    Могу предположить что кто то неправильно произвел прошивку этой области и вместо добавления своего разрешения затер все кроме одного.

    Решения гуглятся - 'название твоей ОС + редактирование edid', но придется искать оригинальные значения для твоего монитора или подбирать вручную
    Ответ написан
    Комментировать
  • Возможно ли поднять веб-сервер на сером IP?

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

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

    Само собой можно воспользоваться услугами vpn (конечно если vpn провайдер предоставляет сеть в первом варианте, так как возможен и второй) или самостоятельно его поднять на vps-ке.

    p.s. если у тебя адрес машины 192.168.xxx.xxx то значит у тебя настроена локальная сеть, а интернет машины в ней получают через роутер (подавляющее большинство конфигов в интернете сейчас такая, даже мобильные сети, только там другая подсеть) значит на этом роутере настроен NAT и в его меню нужно добавить перенаправление порта веб сервера на нужную машину в своей локальной сети.
    Ответ написан
    4 комментария
  • Белый vga индикатор и почему он не видит определенную видеокарту?

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

    @rPman
    Без потери качества кодеков мало, в windows был какой то для 8битных цветов или монохромных.

    Без кодирования uncompressed можно писать raw поток, это точно умеет vlc (мне кажется он все умеет), но для этого понадобится очень быстрый диск, я помню объединял в raid0 несколько hdd для этого. Fullhd 30fps 16bit на пиксель, такое качество даст поток 128мегабайт в секунду, поэтому либо выделяй монопольно современный hdd (линейно они дают порядка 200мбайт/с) либо ssd.
    Ответ написан
    Комментировать
  • Как сделать оплату через криптовалюту?

    @rPman
    https://spl.solana.com/token ?
    З.ы.
    не рекомендую использовать этот недоблокчейн
    Ответ написан
  • Загрузочная флешка Win 11 и переключение языка командной строки?

    @rPman
    ctrl+shift

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

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

    p.s. в windows образ диска (точнее раздела) в файле можно держать в .vhd/.vhdx файлах (в управление дисками такой можно создать и подключить) а копирование делать каким-нибудь специализированным инструментом (например windd)

    в linux образом диска может быть просто файл - копия диска или раздела делать с помощью dd
    Ответ написан
    4 комментария
  • Из кого состоит команда разработки WEB приложения?

    @rPman
    Что значит должен?
    В конце концов от денег все идёт, нет денег- совмещает должности до фулстак в одном лице

    Если серьезно то от сложности задач, чем она проще тем меньше людей понадобится.

    Общий вопрос - такой и ответ
    Ответ написан
    Комментировать
  • Как сделать плавное равномерное передвижение?

    @rPman
    Ты используешь Vector3.Lerp который считает расположение точки между двумя указанными позициями (у тебя это текущая позиция и та что пришла по сети), третий параметр должен быть при значении 0 и 1 соответственно первой позиции и второй, при значениях больше - позиция будет интерполирована дальше линейно, у тебя же там speed*Time.deltaTime что это значит я полагаю ты сам не понимаешь.

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

    Ты пробовал просто позицию полученную по сети подставлять без интерполяции?

    p.s. без относительно фреймворка, передавай не позицию объекта, а его управление (команды на изменение поведения, повтороты, изменения скорости и т.п., и соответственно считай его новые координаты на удаленном клиенте точно так же как на сервере, но жестко привязывая к тикам времени, кодить такое сложнее но зато скроет лаги очень хорошо (пока взаимодействие не начнется само собой)
    Ответ написан
    1 комментарий
  • Как быстро добавлять / обновлять миллионы строк в БД Laravel?

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

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

    Заведи патриции например по времени, если характер данных - временные ряды
    Ответ написан
    Комментировать
  • Есть ли принципиальные преимущества Intel+NVidia перед AMD+AMD?

    @rPman
    'были времена', когда продукция amd как процессоры и видеокарты от них были дешевле до 30% при равной производительности

    Так intel для своих процессоров чаще меняет сокеты, а значит апгрейд подразумевает замену не только процессора но и материнской платы, когда как у amd его socket am4 да и предыдущий am3 держались на столько долго что у некоторых материнки могут работать десятилетиями, и при этом достаточно мощный процессор и оперативная память.

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

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

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