Задать вопрос
  • JS. Как конвертировать данную строку в массив?

    @rPman
    Ответ написан
    Комментировать
  • Как спарсить котировки в Google Sheets?

    @rPman
    Потому что эта цифра формируется на javascript, там с помощью ajax делается что то типа (не факт что я верно угадал, тупо поиском в инспекторе браузера нашел)
    https://futsseapi.eastmoney.com/static/115_OI409_mx/11?callbackName=jQuery35104319374984631833_1697039773745&token=1101ffec61617c99be287c1bec3085ff&_=1697039773761

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

    Если отреверсишь логику, теоретически сможешь ее повторить на javascrpt в google docs
    Ответ написан
    Комментировать
  • Как оптимизировать return выражение?

    @rPman
    В твоем варианте каждый replace копирует предыдущую строку в новую.

    Логика подсказывает что если проходить посимвольно по строке и проверять значение символа и заменять его на другой в новой строке будет эффективнее по всем параметрам. Новую строку лучше создавать через StringBuilder, так как он эффективно добавляет символы к строке (иначе попытка использовать += к строке будет постоянно ее копировать).

    Так же рекомендуется для проверки символа использовать не кучу if-ов а switch case (оно преобразуется в эффективную таблицу переходов) либо самостоятельно подготовить массив (у тебя речь идет о кодах <256) из 256 строк, где каждая строка либо null (не проводить замену) либо строка, на которую нужно провести замену. Тогда вместо проверки символа по условию будет достаточно брать код символа charAt и проверять что его значение не выходит за пределы массива.
    Ответ написан
    Комментировать
  • Почему Windows 10 не может получить доступ к шаре?

    @rPman
    ты подключаешься windows -> nas, убери то что ты там наковырял в настройках windows (зачем ты включил к нему доступ для гостя?)

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

    мало того, при использовании домена перестает работать механизм общих имен и паролей в windows for workgroup (когда сеть без домена) позволяющий подключаться к шаре без ввода пароля.

    Правильное решение - добавить nas в домен (если nas это умеет, если нет то укажи рабочую группу с тем же именем что и домен и делай как ниже).
    Неправильное но простое решение - завести на windows и nas локальных пользователей с одинаковыми именем и паролями и делать подключение по ip адресу (ну в 10-ой версии wins сервер сломали, по уму можно включить и поковырять политики чтобы его вернуть, по уму рабочего dns сервера или правок в hosts должно хватить тоже), при подключении к nas указать этот логин и пароль и отметить сохранение их для последующих подключений (делать это придется вручную для каждого компьютера в сети и может даже для каждого пользователя, на сколько я помню это не переносится через сетевые профили)
    Ответ написан
  • Как сгенерировать изображение чека из данных?

    @rPman
    Продумай вариант генерации изображения на стороне клиента средствами браузера, т.е. штатно. Ты генерируешь html на php, а браузер отображает и по ctrl+p позволяет его пользователю распечатать...

    в довесок скопировать составляющие как текст и вообще это удобнее.
    Ответ написан
    1 комментарий
  • Почему запись в файл добавляется в конец?

    @rPman
    Для позиционирования в файле нужно пользоваться fseek а для получения ftell.

    fgets смещает указатель на следующую строку, значит fwrite будет ее затирать. Значит если у тебя была последняя строка - значит указатель будет в конце файла.

    Теперь о главном - замена строки в текстовом файле нормально будет работать только если размер этой строки совпадает с прошлой, иначе при меньшем размере новой строки в файле останется мусор от прошлой, а при большем - будут затерты следующие строки. Т.е. понадобится сдвигать содержимое всего файла после текущей позиции или полностью перезаписывать весь файл, причем если оперативной памяти хватает то это легко - загрузил построчно file, изменил нужную строку в массиве, и сохранил с помощью к примеру implode+file_put_contents или циклом по массиву и fputs.

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

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

    Настоятельно рекомендуется не изобретать паровоз и пользоваться например sqlite, универсальная функциональная sql база данных, не требующая обслуживания и установки (работает на основе файла без подключения, как библиотека).
    Ответ написан
    5 комментариев
  • Можно ли использовать ядро Android в дистрибутивах GNU\Linux?

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

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

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

    Если же что то получится, то скорее всего никакого доступа к GPU у тебя не будет (будет framebuffer), будут скорее всего проблемы с сенсорным экраном, радиомодулем (например wifi и bluetooth) и системой энергосбережения. Т.е. сделать безголовый сервер у тебя получится, и даже устройства по usb внезапно смогут подключиться, но спотыкаться будешь на каждом шагу.

    p.s. есть проекты запуска привычного linux окружения как приложение android, ищи termux/debian_root и т.п.
    Ответ написан
    2 комментария
  • Как сделать зеркальную копию сервера?

    @rPman
    на основе реального железа это можно сделать средствами windows server - https://learn.microsoft.com/ru-ru/windows-server/f...

    если используется виртуализация, с хостом на основе linux, инструментов становится больше DRBD/GFS/OCFS
    Ответ написан
    Комментировать
  • Как создать бота ChatGPT с обучением только на своих данных?

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

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

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

    @rPman
    повторное запутывание разрушает предыдущее (любое действие его разрушает).
    нет способа определить, запутана ли частица и с кем.
    нет способа определить, была ли разрушена запутанность.
    Ответ написан
  • Как запустить игры с HDD?

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

    Еще момент, если места для игры хватает но есть желание перенести часть игры на другой диск (например видеоконтент или не используемые части игры), можно использовать символические ссылки ntfs и переносить по каталогам с SSD на HDD, создавая символическую ссылку вместо исходного каталога на новое место (к сожалению только каталоги но не файлы). Осторожно, во время обновления некоторые игры могут при вместо перемещения загруженных файлов их копировать, т.е. на момент обновления требуя места в полтора-два раза больше чем обычно (я один раз с этим столкнулся достаточно давно, когда 400гб-ный ark survival так раскидывал).
    Ответ написан
    3 комментария
  • Какой есть аналог Pillow для JS?

    @rPman
    штатного canvas не хватает?
    Ответ написан
    Комментировать
  • Если ли библиотека блокировщик реклам?

    @rPman
    javascript веб сайта работает с пониженными правами доступа, ограниченными только своим доменом. К iframe 'с видео' доступа нет.

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

    @rPman
    pillow Image умеет работать с анимированными гифками

    первые же ссылки из гугла
    https://stackoverflow.com/questions/65357342/how-t...
    https://note.nkmk.me/en/python-pillow-gif/
    Ответ написан
    Комментировать
  • Как симулировать сбои в файловой системе?

    @rPman
    Гугл qemu hardware failure simulation.

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

    Тесты проводить автоматические, очень много
    Ответ написан
    Комментировать
  • Тонкий клиент для всего на свете?

    @rPman
    Можно и в каком то смысле даже нужно.

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

    - Так же ширина канала определит дополнительный лаг, наверное самый значительный...

    - Плюс тип приложений и динамика изменения экрана так же повлияет на этот лаг (например нативные win32 приложения при использовании rdp без большого количества изображений и canvas работают очень хорошо даже на слабом канале, но таких приложений почти не осталось, всем нужно рисовать UI самостоятельно)

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

    - В довесок там есть еще лаг используемого софта на серверной стороне, причем значительно отличающийся от того какими приложениями ты управляешь удаленно (x2go/rdp/rdpx/vnc/teamviewer/anydesk/steamremote/rustdesk).

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

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

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

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

    Буквально домовое товарищество покупает/арендует готовый кластер и все жильцы дома пользуются аппаратными тонкими клиентами, так же арендуя время и мощности. Сейчас есть для проблемы организационного характера, такие как налоги и лицензии на софт (они могу добавлять от 30% до сотен процентов к стоимости владения)
    Ответ написан
    1 комментарий
  • Существует ли способ сохранить OEM лицензию Windows 10 при существенном апгрейде компа?

    @rPman
    Для не OEM лицензий (т.е. ситуации когда windows предустановлена на компьютере продавцом) такая возможность точно была, потребуется повторная активация. Это для FPP/BOX версии когда у тебя есть ключ.

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

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

    Еще есть ограничение на количество реактиваций в 1001
    Ответ написан
    7 комментариев
  • Помочь в создании Архитектуры Microsoft Azure и Azure OpenAI (LLM)?

    @rPman
    и обсуждают с другими пользователями результаты
    т.е. это свободное общение а не заполнение форм

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

    Мало того даже не надо ничего программировать в классическом виде, используя OpenAI/anthropic claude/llama2 можно составить серию промптов и пропускать через них чаты и описание таблиц в текстовом виде (тоже творческий процесс как и создание промпта, это может быть как ddl sql запрос на создание таблиц так и описание в текстовом виде), причем промпты должны быть созданы таким чтобы ответ был машиночитаемым (языковые модели, умеющие программировать, та же gpt4, умеют оформлять ответ в виде json, обычно достаточно примера и текстового описания прямо в промпте)

    p.s. возможно я не верно понял вопрос, что значит эмоции в твоем случае, я думал что речь идет о эмоциональной окраске предложений по изменениям в таблицах сущностей)
    Ответ написан
    8 комментариев
  • Настройка нескольких десятков ПК?

    @rPman
    Но потом они все будут в одной доменной сети.
    ключевое место создания себе гемороя - ПОТОМ

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

    Все остальное решается простым настройкой одной машины и клонированием диска на несколько. Если различия в настройках незначительные (типа имя компьютера) то это позже можно сделать скриптом на powershell
    Ответ написан
    2 комментария
  • Как вывести на HDMI изображение с Raspbian Lite?

    @rPman
    хочу странного, но
    нет возможности ставить оболочку

    Откуда вы такие беретесь!?

    Есть framebuffer должен работать но утилиты ставить придется (можно заморочиться и в /home поставить)
    первый же ответ в гугле
    Ответ написан