Задать вопрос
  • Как стабилизировать напряжение в походной солнечной панели?

    @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 установки
    к сожалению придется качать все файлы и заранее не узнаешь, для какой операционной системы оно
    Ответ написан
    Комментировать
  • Как/где лучше хранить видео(100-200гб)?

    @rPman
    Проблема не в хранении видео, 200гб это очень маленький объем, проблема в трафике.
    само по себе хранение такого объема в месяц будет стоить порядка 3$-10$ на каком-нибудь дешевом хостинге (даже с оверселингом) или любом облачном, заплатишь буквально за количество просмотров
    Ответ написан
    Комментировать
  • Какой робот или API может зайти на веб-страницу для активации PHP скрипта?

    @rPman
    браузеры пока еще позволяют GET запросы со смешанным контентом и игнорируя CORS (будет варнинг в консоли), чтобы можно было встраивать на странице к примеру изображения с чужих сайтов (предупрежение будет но по крайней мере это работает), поэтому чтобы отправить запрос на страницу с другим контекстом можно динамически создавать элемент на странице (например img или script с указанием типа контента, какой бы он там не был), кстати при использовании script можно даже получить результат с http сервера, если это будет скрипт выполнения функции, определенной ранее на странице, т.е. пример вернуть с типом text/javascript
    my_callback([1,2,3,4,5]);
    а на странице определить функцию по обработке полученных данных
    function my_callback(data) {...}

    именно так давным давно реализовывали прародителя ajax

    p.s. опс, уже все, запретили
    и это хорошо, а то к примеру относительно недавно страничка сбербанка онлайн активно 'пинговала' локальные адреса на машине
    Ответ написан
    Комментировать
  • Почему обнуление SSD разное по времени?

    @rPman
    diskpart clean all заполняет ВСЕ место на диске нулями, некоторые контроллеры это оптимизируют (используют внутреннее сжатие, которое повторяющиеся символы записывают в меньшем объеме, или к примеру даже и не производят запись если обнаружат сектор нулей, скорее всего помечают данный сектор как освободившийся (а все освободившиеся при попытке чтения возвращают нули так же без реального чтения данных, кстати это одна из причин, почему бессмысленно тестировать ssd простой записью из /dev/zero и последующим чтением - будет тест скорости контроллера а не самой флеш памяти)

    т.е. скорее всего тот диск что завершил эту операцию быстро на самом деле посекторно провел операцию аналогичную trim (не мгновенно потому что посекторно а не сразу на весь объем) а у того что делал это медленно контроллер по проще (ради скорости) и старательно пытался записать данные что от него требовала ОС

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

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

    @rPman
    есть 2 подхода по редактированию файлов:
    1. ты находишь место в файле (буквально смещение в байтах), открыв его на чтение и запись fopen(...,'r+') читая его помощью fread или fgets или еще какой функцией (позиция будет перемещаться на следующую для чтения), перемещаешь в нужное место позицию fseek и делаешь запись fwrite или fputs, заменяя содержимое, без сдвига данных после него

    этот способ подходит если заменяемые данные равны по длине с предыдущими

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

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

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

    p.s. третий способ состоит в том что сначала файл целиком загружается в память (не важно каким способом, целиком, построчно или разобранный по объектам), в памяти он редактируется как надо, и сохраняется обратно.
    В этом способе можно сохранять файл в тот же файл что и был, открыв его fopen..'w+') - что очистит файл при открытии, а значит проблемы с местом на диске менее вероятны, но если произойдет какая либо ошибка то содержимое будет потеряно, рекомендуется точно так же сначала сохранить файл в новый, удостовериться что все прошло как надо и уже после удалить оригинал и переименовать новый.

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

    Некоторые файловые системы предоставляют инструменты для реализации транзакций но в php для этого нет инструментов.
    Ответ написан
    Комментировать
  • Как правильно построить таблицу при получении данных из csv файла?

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

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

    @rPman
    Алексей Тутубалин, а без впн-а эти сайты которые надо работают?
    отключив шлюз в настройках vpn твоя машина должна иметь доступ одновременно как к твоей сети (и сети твоего интернета) так и к локальной сети vpn, но! если та сеть требует наличие шлюза чтобы работать с сервисами, доступными только изнутри, то тогда решение будет другим - нужно будет командами route add добавить нужные ip адреса с указанием шлюза организации (и делать это каждый раз после подключения vpn, есть возможность сохранить настройки, но тогда ты к этим сайтам без vpn не пробьешься)

    встречал я такую система авторизации, когда сервис дает доступ организации не по логину и паролю а по подсетям,.. какое то время я ковырялся с роутами но так как сервисы из года в год эти меняли свою структуру (ip адреса туда ксюда гуляли) а сидеть с vpn по дефолту было грустно (ее интернет был ужасным), то я из лени поднимал vpn не на самой своей машине а в виртуалке, в ней поднимал socks-прокси сервер (ssh сервер внутри виртуалки и с локальной машины в ключах ssh подключения -D1080, поднимет сокс прокси локально на порту 1080), настроив его в специальном профиле своего локального браузера (т.е. для работы с нужными сайтами открывал второй браузер с моей окальной прокси к моей же машне где поднят vpn), так проще и удобнее чем ковырять роуты или iptables
    Ответ написан
    6 комментариев
  • Как в javascript сделать игнорирование опечаток?

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

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

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

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

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

    @rPman
    внутри бесконечного цикла нужно вставить проверку условия его завершения, например какая то переменная, значение которой изначально - false, а если она true то выход из цикла

    в данном случае те запросы что выполняются дойдут до конца но новые создаваться не будут
    Ответ написан
    Комментировать