Задать вопрос
  • Почему на флешке оказываются старые версии файлов?

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

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

    @rPman
    Сначала делаем backup.
    При наличии root доступа штатно linux переносится даже простым tar!

    Хостер может добавить своих утилит, свои скрипты и особенности настройки сети, свой способ загрузки (например нет /boot а загрузка ядра и initramfs идет 'снаружи'), это все в принципе восстанавливается, скрипты хостера чистятся и т.п... в основном только тут могут быть проблемы но все просто решается.

    Затем восстановление - и тут могут быть проблемы.
    Универсально все будет работать только с не openvz/lxc/docker системами виртуализации, так как такие могут тупо не позволить работать с версиями системных библиотек (очень редко), отличных от хоста... а у тебя древняя ubuntu (я запускал в chroot просто утилиты, развернув образ с помощью debootstrap еще до появления docker, так что технически шансы проблем - минимальны). Дело в том что хостер может запретить, а точнее не дать инструментов для подмены системных файлов, а из самой работающей системы заменить ее саму нельзя (очень сложно).

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

    Если виртуальная машина kvm/vbox/vmware/... то проблем не будет от слова совсем. Чтобы развернуть бакап, понадобится на новом месте загрузиться в консоль восстановления (лучше с iso образа), отформатировать файловую систему и тупо распаковать архив с бакапом (обычно /dev в архив не складывают, но если его не будет на новой системе то я помню старые версии ubuntu ругались на отсутствие null, это все решается ручным копированием тут же), затем переустановить загрузчик
    grub-install /dev/sdX --root-directory=/path/to/mounted/root/

    Ну и само собой архитектура исходной машины и новой должны совпадать, т.е. нельзя смешивать ни тип процессора (x86/arm ни битность x86/x64), правда особых проблем с запуском x86 на x64 быть не должно.
    Ответ написан
    Комментировать
  • Как автоматизировать обновление презентации power point из excel файла?

    @rPman
    с помощью скриптов Visual Basic Application (к сожалению макросы в PowerPaint недоступны и пример когда не сгенерируешь)
    первый же пример из гугла
    Ответ написан
    Комментировать
  • Как с помощью GPS и Arduino, надёжно и безопасно вывести человека из леса?

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

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

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

    @rPman
    питон тут однозначно не подойдет

    для windows:
    Без использования драйверов фейкового монитора, но при наличии физических выходов на видеокарте, можно к ним подключить заглушку (она дешевая, разная для каждого типа разъемов, гуглить эмулятор заглушка терминатор монитора dsub/hdmi/dp), благодаря которой система будет считать что монитор подключен, и уже средствами ОС работать с этим монитором (само собой чтобы самому видеть содержимое придется поставить какой-нибудь vnc с поддержкой мультимониторной конфигурации)

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

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

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

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

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

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

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

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

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

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

    низкое качество аудиопотока можно немного улучшить с помощью фильтров но это вопрос эксприментов
    Ответ написан
    1 комментарий
  • Почему медленно скачиваются файлы в Manjaro Cinnamon?

    @rPman
    Если замерить скорость на speedtest, то выдаёт 800-900 Mbps
    повыбирай сервера в speedtest, находящиеся в разных странах, начнешь понимать что скорость в интернете штука условная и зависит от кучи вещей

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

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

    p.s. в современных реалиях 2мбайта/с это даже хорошая скорость
    Ответ написан
    Комментировать
  • Как избавиться от вируса на сервере Windows Server 2012 R2 Standart?

    @rPman
    По теме антивирусника, его не нужно ставить на систему, делаешь загрузочный компакт диск или usb флешку от какого-нибудь касперского и загружаешь систему с него, проводя полную проверку
    Ответ написан
    Комментировать
  • Как изменить DLL?

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

    Если разработчик не делал попыток этому помешать то может получиться
    Ответ написан
    5 комментариев
  • Почему html не выводит картинку?

    @rPman
    браузеры правильно защищают от доступа к локальным ресурсам, запрещая смешивать ресурсы из разных протоколов https/http/file в любом порядке (например если ты открываешь страницу с веб сервера по https то тебе будут запрещены ajax запросы по http но разрешены вставки картинок, и все будет запрещено по file)

    пропиши каталог с файлами в веб сервере как статика и открывай нормально по http
    Ответ написан
    Комментировать
  • Импорт большого yml в mysql?

    @rPman
    как импортируешь то? ты в свой скрипт не можешь вставить sleep между запросами?

    львиную долю нагрузки базе данных на запись создают:
    1. поддержка транзакций
    2. перестройка индексов
    3. средства защиты данных от сбоев
    каждая запись на диск, которая по мнению базы данных должна быть произведена с гарантией, т.е. снабжается вызовом flush, но база данных не всегда знает когда это стоит делать а когда нет, частично это разруливается длинными транзакциями, вставляя между коммитами 100500 запросов на вставку

    Так вот по каждому пункту можно временно изменить логику и настройки работы базы данных.
    1. отключить транзакционные механизмы, перейдя от innodb к myisam, это может дать чуть ли не двухкратный прирост, но потребует в приложении как то игнорировать отсутствие поддержки транзакций, что не всегда просто сделать
    2. отключить индексы, буквально, оставить только PK и то только там где это имеет необходимость только для импорта, после окончании импорта данных, индексы нужно будет вернуть. Однократное создание индексов на порядок если не два быстрее чем обновление индексов по каждой записи в базу.
    3. отключить поддержку flush в операционной системе, буквально например опция монтирования ext4 data=writeback, база данных не будет ждать когда данные реально будут записаны на диск (есть еще опция O_DSYNC у mysql innodb, совет вообще полистать как тюнить дисковый io) но осторожно, если в это время произойдет краш сервера, данные будут испорчены, причем скорее всего безнадежно. В догонку, можно перенести журнал ext4 на другое более быстрое устройство или лучше совсем его отключить, так как при записи данные пишутся сначала в него потом на диск, на время импорта это лишние операции
    И в догонку, если размер базы данных к примеру считанные сотня гигабайт, то можно временно арендовать в облаке машину с большим объемом RAM, залить базу в tmpfs и на максимально быстрой скорости импортировать данные, потом готовую базу залить обратно.

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

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

    upd. попробуй APK Expansion Files, гугл хостит файлы до 2Гб, их можно прикладывать к приложению и они будут загружены сразу после установки
    Ответ написан
    1 комментарий
  • Как очистить память php?

    @rPman
    у тебя твой скрипт съел 256мб оперативной памяти, ищи куда она делась, расставляй по всему своему скрипту на сервере вывод в лог значение memory_get_usage(true) с пометкой где это произошло, например:
    error_log(json_encode([__FILE__,__LINE__,memory_get_usage(true)]));

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

    а по уму нужно использовать полноценные профилировщики типа такого
    Ответ написан
  • Каким софтом отсканировать в МФУ много листов каждый в отдельный PDF?

    @rPman
    данную задачу лучше решать следующим образом
    сканируешь всю серию в один файл pdf а затем с помощью imagemagic (мощнейшая утилита работы с изображениями, командная строка) разобрать страницы полученного файла хоть в картинки хоть в pdf
    convert test.pdf -quality 100 page-%4d.png
    Ответ написан
    Комментировать
  • Существуют ли переносные мониторы?

    @rPman
    в гугле набери mobile monitor и получишь 15", тонкий с креплением, подключением по usb c/display port
    цены не радуют
    Ответ написан
    Комментировать
  • Как исправить ошибку Non-UTF-8?

    @rPman
    кодировку файла с исходным текстом смени на utf-8
    Ответ написан
  • Возможно ли открыть порт 25565 если серый IP?

    @rPman
    Если работает upnp на роутере, то можно средствами сервера или если не умеет (майнкрафт не умеет) консольной утилитой upnpc (пакет miniupnpc) запросить перенаправление на порт сервера майнкрафта (если используется клиент то он пишет порт, который открыт для публикуемого в локальную сеть мира)
    upnpc [options] -a ip port external_port protocol [duration] [remote host]

    не факт что получится но почему бы не попробовать

    клиенты так же должны ip и порт прописывать вручную (тот что будет указан в перенаправлении)

    с помощью upnpc list можно посмотреть какие порты уже открыты и куда ведут чтобы выбрать свободный
    Ответ написан
    Комментировать
  • Стоит ли купить lenovo ideapad 3 (17inch)?

    @rPman
    Главные критерии для программиста (реалии таковы)
    1. оперативная память, чем больше тем лучше, работать можно и с 8 (visual studio при меньших объемах тормозит), но есть направления, где разработчику требуется разворачивать свои сервисы в виртуальных машинах а там оперативная память ой как критична.
    Плюс, к примеру если работаешь с данными, большой объем оперативной памяти экономит время на разработке (к примеру вместо использования sql можно разместить все данные в оперативной памяти и пользоваться своими алгоритмами)
    2. клавиатура - ноутбучные раскладки - это ад, неправильное размещение управляющих клавиш (стрелки, page up/down/home/end, ins/del да банально enter не на том месте или требование нажимать fn чтобы рядовые комбинации использовать, сильно портят нервы, да если поднапрячся можно перенастроить все горячие клавиши на свои комбинации, привязывая себя к своей раскладке, но через годы позе будешь мучиться наоборот на нормальной клавиатуре
    3. монитор - размер монитора современного разработчика 23"..27", все что меньше - мучение, все IDE и не только рассчитаны на большой экран и FullHD разрешение, 2к и 4к можно отскалить до нужного масштабированием и будет даже приятнее (шрифты лучше выглядят на 4к) а уж дизайнерам и подавно нужно работать с таким разрешением чобы соответствовать мейнстриму
    Ноутбучные 17" это либо очень все мелкое (FullHD) и напрягает глаза либо если по глупости HD720 (или 1360x768 есть такой популярный нестандарт) и это терпят только ради мобильности, значение чего слишком переоцененно и имеет смысл если дома работать не получается а рабочего места нет.
    4. скорость процессора в 1 потоке (single thread в бенчмарках)
    разработчика совершенно не должно волновать сколько потоков умеет его процессор (больше 4 и ладно), но вот объем процессорного кеша и производительность на поток - очень важны, так как в конечном счете время, которое разработчик тратит на компиляцию и подготовку окружения очень важно, для нервов, даже 30% разницы (а это та разница между одного ценового диапазона ноутубков и десктопа) очень заметны, разработчик тратит огромное время на эксперименты со своим кодом, поправил, запустил, снова подправил, и если время между этими действиями больше некоторого периода (секунды даже меньше, у разных людей по разному) это сбивает настрой, что то связанное с короткой памятью,... в общем это надо прочувствовать и поработать на быстрых и медленных машинах чтобы понимать
    5. скорость и размер ssd, это в догонку к пункту 4, в современной разработке скорость подготовки окружения (развертывания докер контейнера например) очень важна и поверь, сидеть на hdd ты не пожелаешь, особенно если у тебя win10 или не дай бог win11. А если у тебя виртуальные машины крутятся, размещать их на hdd еще хуже (когда у меня не хватало ssd я размещал базовую виртуалку на hdd а снапшоты, с которых работает приложение, размещаются на ssd, это дает неплохой бонус к производительности при этом на ssd размещается от силы 5-10% данных..

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

    @rPman
    Отсортируй, добавь столбец с порядковыми номерами 1,2,3..., и новый столбец с формулой - если значение выше совпадает с текущим значением то прибавить к текущему порядковый номер, иначе просто скопировать

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

    p.s. если надо прямо как в вопросе указано, т.е .добавлять номер дубликата в списке, то делать через дополнительную колонку, в которую складывайчисло с предыдущим, если значения совпадают, а если нет - просто значение, в этом случае разделив это значение на эту сумму, получишь порядковый номер дубликата, правда сработает это только с числами, но замени символы на пару цифр (их код) и тогда это сработает.
    spoiler
    zt2ravzggdp6rttohmo9edyxyly.png
    формулы колонок C,D,E
    =ЕСЛИ(СОВПАД(A2;A1);A2+C1;A2)
    =C2/A2-1
    =ЕСЛИ(СОВПАД(A2;A1);СЦЕП(A2;"_";D2);A2)
    Ответ написан
    Комментировать