Задать вопрос
  • Как очистить память 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)
    Ответ написан
    Комментировать
  • Установить джар на Nokia TA-1235 (150-2020)?

    @rPman
    На него нельзя устанавливать приложения
    народ мается просто с русскоязычной поддержкой для него
    Ответ написан
    1 комментарий
  • Нормален ли такой код?

    @rPman
    'магические константы' - что такое 9 или 10?, мне то понятно но чтобы их понимать нужно изучать код, размеры области нужно определить в переменные или константы, приучаться надо с самого начала к тому чтобы такого не было. То же самое с символами кнопок управления, определи для них переменные, пусть сначала это будут константы, заданные в коде, зато позже будет проще сделать изменяемые настройки.

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

    Правильно - определить буфер как содержимое стенок # и заполнить его однократно вне игрового цикла (тут можно и другие препятствия расставить, например сделать лабиринт), не важно константами или алгоритмом.

    А в бесконечном цикле просто выводить содержимое map и уже во время вывода проверять x,y положения 'игрока' и выводить его на экран вместо символа карты. Достоинство такого подхода - карта может состоять не только из символов стенок но и любых других, проходимых.

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

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

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

    @rPman
    тебе нужен DC-DC преобразователь, поищи на алике (первый попавшийся, не факт что это лучший, такие используют чтобы заряжать телефон от батареек 1.5в), он должен уметь из входного 0.5...0.9в повышать до 5в (или сколько тебе нужно заряднику) за счет понижения токов, ну и кпд там не 100%, тебе нужны маломощные, они обычно дешевые.
    Ты можешь объединить солнечные панели попарно, меньше будет потерь из-за их внутреннего сопротивления, а повышающему преобразователю будет достаточно 0.9в

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

    @rPman
    Самая крутая opensource библиотека для работы с криптобиржами, одновременно под несколько языков (php, python, javascript,...), - это ccxt, почти весь требуемый функционал (кроме проверки работы ввода вывода и по мелочи) там реализован для большинства бирж (смотри опции exchange.has), ходить на coinmarketcap не придется.

    Работа с телеграм как клиент (а не бот) - telethon для python (кажется он лучше поддерживается)

    бирж, работающих с фьючерсами в криптоэкономике очень мало, возможно ты хотел сказать - маржинальная торговля? таких больше но все же ликвидных, особенно для любых монет - очень мало

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

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

    @rPman
    в опции монтирования добавить noatime,nodiratime - я не видел ни одного применения этой 'время последнего доступа' (при чтении идут записи на диск)... это и для ssd рекомендую

    если данные на диске не содержат важных вещей, т.е. не страшно потерять данные при внезапном выключении компьютера, то data=writeback и barriers=0 (на сколько я помню нужно будет еще в самой файловой системе это прописать tune2fs -o journal_data_writeback ... ), это СИЛЬНО поднимет скорость записи на диск (что очень помогает для тестовых задач) но при внезапном выключении или подвисании компьютера можно получить кашу вместо данных

    p.s. Если данные важны, а скорость записей ext4 хоть немного поднять хочется, то можно все же найти ssd диск и разместить на нем журнал (это максимум гигабайт)
    https://raid6.com.au/posts/fs_ext4_external_journal/
    p.p.s. смени файловую систему на btrfs и включи компрессию, это немного поднимет производительность за счет меньшего объема операций и небольшого повышения нагрузки на процессор
    Ответ написан
    1 комментарий
  • Как установить свое разрешение экрана?

    @rPman
    Конкретно для виртуальной машины нужно установить драйвера гостевой ос (смотреть ту виртуальную машину которую используешь), например VirtualBox таскает с собой VirtualBoxAdditionals.iso

    универсально (т.е. и на реальном железе):
    с помощью cvt генерируешь дефолтные параметры для своего режима и затем добавляешь этот режим с помощью xrandr
    https://wiki.archlinux.org/title/xrandr
    https://linuxnow.ru/view.php?id=103
    Ответ написан
    Комментировать
  • Как использовать Tor-сети через OpenVPN?

    @rPman
    https://gitlab.torproject.org/legacy/trac/-/wikis/... - для ipv4
    https://blog.benjojo.co.uk/post/tor-onions-to-v6-w... для ipv6

    общая идея, с помощью iptables создавать прозрачную прокси на адреса, а dns настроить локально через тор
    Ответ написан
    Комментировать
  • Как подключить оплату криптовалютой к онлайн сервису?

    @rPman
    Совершенно 'не понимаю' зачем маркетплейсу участвовать в финансовой жизни своих участников, если используется криптовалюта... рекламная площадка?

    Сами участники пусть переводят друг другу монеты со своих кошельков, а чтобы маркетплейс понимал, когда оплата произведена, пусть участники (те кто ждет приема монет) сообщают маркетплейсу какие у них адреса, он смотрит в блокчейн и если появились транзакции на нужную сумму (в этом случае получатель должен заводить специально адрес для этого, что нормально для bitcoin но неудобно для erc20 так как там 1 адрес = 1 человек, и если хочешь больше - везде нужно для комиссии эфир складывать). Можно попросить отправителя сообщить id транзакции, тогда все будет универсально, проверяем у этой транзакции получателя и сумму и если совпадает с ожидаемой - считаем что оплата прошла.

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

    @rPman
    а должен был открываться?
    node запускает сервер, а браузер запустить должен пользователь
    Express server listening on port 3000
    пишет что сервер на 3000 порту открыт
    вот и пиши в браузере 127.0.0.1:3000
    Ответ написан
    Комментировать
  • Почему уведомления на Windows 10 не активны?

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

    @rPman
    погуглил за тебя - вот с примерами разбирается этот алгоритм

    или еще вот перевод с китайского
    Ответ написан
  • Автоматическое обновление windows xp как исправить?

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