Задать вопрос
  • Как посчитать символы после точки и до единицы?

    @rPman
    Задача - подсчет значимы цифр после десятичной запятой в строковм представлении.
    Интересно, у меня впереди маячит решение этой маленькой задачи, но только максимально эффективно на c++ ибо данных много.

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

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

    Например, в цикле делишь на pow(10,x) берешь intval и снова умножаешь на этот же pow, начиная с максимально большого значения x (для double это где то 15, для криптовалютных бирж тебе скорее всего нужно 8 или 9) и уменьшаешь его до тех пор, пока полученное значение не станет не равно изначальному. Очень может оказаться что деление в php сравнимо по скорости работы со строками
    Ответ написан
    Комментировать
  • На какой операционной системе развернуть машину под бекап?

    @rPman
    с точки зрения эффективности - поставить windows server (стоимостью больше 20т.р.) под такую простую задачу - это оверкил.

    linux же бесплатен (либо очень дешев, если брать тот же редхат), да работать с ним кому то может сложнее чем с windows но это та цена которую мы платим за free/opensource/свободу...

    Ставь linux, без вариантов, так как он гибче и предоставляет больше возможностей и сложнее конфигурации по решению твоих задач. Если что, штатный windows 10 инструмент резервного копирования (он называется резервное копирование и восстановление windows 7) прекрасно складывает бакапы на samba шару, размещенную на linux и это только один из вариантов настройки... если нет нужды копировать права доступа на файлы, то linux без проблем может сам подключаться к шаре windows и по расписанию делать резервные копии, в т.ч. с использованием shadow copy если надо, так что мне не ясно почему некоторые думают что windows безальтернативен тут
    Ответ написан
  • Что такое "селен"?

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

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

    Про 'селен' - когда речь идет о загрузке данных с чужого сайта, то никаких других вариантов кроме selenium тут нет (в смысле слова, работу можно сделать и другими технологиями, но не обязательно такими удобными)
    Ответ написан
    5 комментариев
  • Как транслировать музыку с спотифай(андроид) на пк?

    @rPman
    https://support.google.com/chromecast/answer/62793...
    google chrome cast https://4pda.to/forum/index.php?showtopic=769198

    попробуй, умеет ли твоя машина работать как chromecast рецивер https://pikabu.ru/story/translyatsiya_yekrana_tele...

    если нет, то покупай специфическую железку (примерно 1т.р.)либо продолжаем красноглазить,
    устарело https://gist.github.com/skylord123/892b6e30b724b81a8a48
    https://github.com/thibauts/node-castv2

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

    p.s. как работает anydesk/teamviewer? они же вместе с экраном транслируют и звук, нужно найти приложение которое будет это делать без лишнего шума
    кстати teamviewer точно умеет работать без интернета, если указать в качестве адреса ip адрес в локальной сети
    Ответ написан
    Комментировать
  • Как удалить переменные из URL страницы без её перезагрузки?

    @rPman
    в приведенном примере - невозможно
    но если переменные хранить с использованием anchor:
    https://site.com/payment#id=12345678910

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

    Этим активно пользуются в SPA приложениях, когда реально страница грузится один раз за все время работы сайта, а все остальное подгружается с помощью ajax
    Ответ написан
  • Какой тип данных у выпадающего списка?

    @rPman
    Исторически и из соображений эффективности хранения, выпадающий список реализуют связью '1 ко многим', в целевой таблице заводится числовое поле, и создается связь (индекс freign key) споравочной таблицей Отдел, где идентификатор того же типа.

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

    @rPman
    Окей, буду умничать, если нужно объединить файлы именно на php (лимит памяти, нельзя вызывать сторонние утилиты shell_exec и т.п.) то делать это придется по частям.

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

    fopen
    fread
    fwrite
    fclose

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

    @rPman
    ключевые слова для поиска
    gsm розетка

    Без особых проблем можно сколхозить свою со своей логикой из любого умного железа (например малинка) или перепрошитый роутер и даже wifi/gsm камера (кстати без перепрошивки просто используют контакты шторки ночного режима), подключив управление розетки через электромагнитное/полупроводниковое реле.
    Ответ написан
    Комментировать
  • Где взять 32-битную версию Ghidra?

    @rPman
    не понимаю, оно же на java? ей пофиг на битность же
    https://github.com/NationalSecurityAgency/ghidra
    Ответ написан
  • Можно ли восстановить бекап MBR на GPT?

    @rPman
    hint000 абсолютно прав

    От себя добавлю, для загрузочного раздела в gpt
    * если используется legacy загрузка ( с помощью mbr boot sector), необходимо создать 1мб раздел biosboot (его содержимое заполнит grub автоматически когда будешь делать grub-setup)

    * если используется uefi загрузка, то необходимо создать ~128мб раздел efiboot, формат fat, его заполнит grub-setup автоматически (если текущая загрузка linux совершена с помощью efi меню, важный момент, иначе доступа efimgr к таблице разделов в биосе будет недоступна)

    В обоих случаях раздел /boot не обязателен, если корневая система простая (не размещена на raid, lvm или не зашифрована и прочие сложные конфиги) и отформатирована в известную grub-у файловую систему ext/btrfs/...

    p.s. загрузочные разделы должны располагаться примерно с начала диска, до 2тб, иначе могут быть проблемы, даже у uefi. По этой причине /boot раздел все же создают, чтобы гарантировать что загрузочные файлы не уедут за эту границу

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

    после восстановления grub-setup и grub-update обязательны (при работе с cdrom и монтировании корня не в корень, указывай его с помощью --root-directory

    grub-setup (точнее он запускает efibootmgr) обязателен для uefi загрузки, он прописывает ссылку на диск в биосе в меню (спасибо майкрософту за этот геморой в стандарте), для загрузки с флешек (removable devices) это не требуется.

    p.p.s. не забудь поправить /etc/fstab, если разделы там прописаны по uuid, создав новые разделы, им выдаются новые идентификаторы
    Ответ написан
    Комментировать
  • Как настроить сервер, чтобы браузер открывал страницу в нужной кодировке?

    @rPman
    https://stackoverflow.com/questions/34983425/iis-8...

    нужно добавить в
    <configuration>
       <system.webServer>
          <staticContent>
    ...
             <remove fileExtension=".txt" />
             <mimeMap fileExtension=".txt"  mimeType="text/plain; charset=utf-8" />
    ...
          </staticContent>
       </system.webServer>
    </configuration>
    Ответ написан
  • Автопополнение/вывод криптовалютой?

    @rPman
    криптовалюта это по определению способ 'сделать все самому и ни от кого не зависеть'.

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

    p.s. топовые биржи криптовалют предлагают для этого api, например такое предлагает binance и coinbase (последний не доступен в россии)
    Ответ написан
    Комментировать
  • Как оптимизировать данный код?

    @rPman
    if(g >= m) break;
    else pays--;
    из-за этих двух странных строк (логику понять не могу, если текущая взвешенная сумма станет больше указанного на старте значения то прекращяем, иначе вычитаем 1 из pays которая поделенная сумма на m, логику чисел pays и m я понять не могу) избавиться от acc не получится, (в твоем коде нет ничего жрущего оперативную память кроме этого массива) так как нужно сначала посчитать всеобщую сумму. Т.е. если приложению на вход дать 16 миллионов строк (или 8 миллионов, int там 8 или 4 байтный?) то приложение точно выйдет за лимит памяти.
    Ответ написан
    1 комментарий
  • Firefox по истечении ~1часа сьедает всю доступную ОЗУ?

    @rPman
    Опытным путем обнаружил что утечка памяти происходит при открытой панели DevTools.

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

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

    При пролистывании вниз запускай ajax запрос подзагрузки данных ниже, при пролистывании вверх - выше, таким образом пока пользователь смотрит данные, приложение их подгружает.

    p.s. так у тебя отрисовка тормозит? 3 секунды - это очень много, что ты там делаешь ?
    Ответ написан
  • Не запускается код на C++, что не так?

    @rPman
    внизу в окне ошибок проскролируй вправо строчку, где написано
    cl командная строка error D8027: нельзя выполнить "C:\Program Files....

    путь явно ссылается на какую то нужную утилиту в папке установки Visual Studio, это значит она установлена не верно, необходимо запустить программу установки заново и выбрать repair (восстановить)
    Ответ написан
  • Реально ли использовать океан как нейросеть? Где почитать?

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

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

    что то типа этого
    Ответ написан
    1 комментарий
  • Как на VMware привязать виртуальные машины строго к определенным портам?

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

    @rPman
    Что значит управлять?

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

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

    Извини, приложения не сохранилось, но оно реально простое, за вечер лениво пишется
    Ответ написан
    2 комментария
  • Как скрыть факт использования впн?

    @rPman
    Все ответы в теме в тему.

    Добавлю, вместо сложной настройки vpn, можно купить дешевую vps-ку (максимально) с linux и ничего в ней не настраивая, запустить локально у себя ssh к ней с ключом -D1080, где 1080 это локальный порт socks5 прокси, которая будет поднята таким образом на удаленном сервере, включить ее в браузере плюс резолв имен через прокси (чекбоксик в настройках) и все, весь трафик браузера пойдет через 'vpn', для провайдера у тебя висит ssh сессия, ограничивать и тем более блокировать их у нашего бешанного принтера пока духу не хватает (к сожалению, ключевое слово пока).

    p.s. но есть но, например ростелеком при накоплении некоторого количества трафика (кажется гигабайты) в пределах одного ip адреса, вне зависимости от протокола, сильно понижает скорость персонально до него примерно на пол суток или сутки, так что стратегия - гнать весь трафик через vpn/proxy не эффективна, придется разделять, что локально смотреть а что удаленно.
    Ответ написан
    5 комментариев