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

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

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

    @rPman
    Судя по описанию вместе с панелью уже идет инвертор на 1500ват 220вольт, но так как не сказано какой он там, лучше спросить об этом продавца
    Так же тебе понадобится аккумуляторная батарея (в нормальном инверторе они идут внутри но на картинках нарисовано что батарея тут внешняя)

    p.s. инвертор имеет кпд порядка 80%, так же аккумулятор имеет саморазряд, контроллер солнечной батареи тоже кушает, помни об этом, когда захочешь подключить к этому инвертору хотя бы ноутбук.

    На 220 выходить надо когда у тебя мощности в среднем у батарей будут от полукиловата, а так лучше старайся все от 12/24в питать, благо автомобильные блоки питания есть наверное для всего (а на 50ватт у тебя наверняка 1-2 потребителя плюс смартфоны)
    Ответ написан
    Комментировать
  • Как скрывать часть ссылки в адресной строке?

    @rPman
    На php это делают на строне сервера, обычно этим занимается сам веб сервер а не бакэнд, например к apache mod_rewrite, к nginx мод rewrite

    На javascript напрямую так делать нельзя, ведь сервер должен все равно должен понимать ссылку /coil и возвращать ту же страницу что и /a/coil но если у тебя SPA (single page application) и генерация контента происходит на стороне клиента, то почти наверняка ссылки у тебя уже будут site.com/#a/coil а значит подмену нужно будет делать прямой перезаписью в window.location.href
    Ответ написан
    2 комментария
  • Можно ли в Беларуси зарегистрироваться в Oracle Cloud Free Tier?

    @rPman
    для free tier хоть у oracle хоть у amazon нужно вводить свою банковскую карту (это такой способ авторизации у них), в этот момент тебе откажут

    если тебе нужна сверх дешевая слабая vps-ка, топай на lowendstock, выбирай машину, смотри, если ли там оплата криптовалютой (а в случае низких цен лучше bitcoin lightning) и пользуйся. Осторожно, сверх дешевые машины 'оверселят не по децки', т.е. будут слабые медленные и не надежные, но всеравно можно под задачу найти очень дешевый вариант, у меня одна машина годами оплачивается по 16$ в год криптовалютой, слабая но скрипты спокойно работают, а 3-баксовая в месяц так вообще отличная (брал для скриптов с высоким сетевым трафиком)
    Ответ написан
    Комментировать
  • Как можно определить отправил ли пользователь больше 3-х раз одну и туже команду?

    @rPman
    Если один пользователь нажимая на кнопки может вызвать ddos у бота, то что то не так ты там сделал

    на практике достаточно пользователю ограничить нажатие кнопки чаще чем определенное количество за N секунд, для этого сохраняешь в боте последние нажатия с timestamp их нажатия не больше time()-Nsec, и если количество записей в этом списке больше лимита (например 10) - возвращаешь сообщение - 'я тебе потыкаю, не тыкай мне'
    Ответ написан
    Комментировать
  • В чем сделали это?

    @rPman
    это называется deep fake, первый же результат из гугла (инструкцию не проверял)
    Ответ написан
    1 комментарий
  • Есть SSD согласно CrystalDiskInfo с ним все "Хорошо", но по факту нет, как можно ещё проверить диск?

    @rPman
    Тебе пишут что там 167Тб записей, у дешевых SSD это примерный порядок того что они могут записать (я не смог найти информации от производителя на твой диск, возможно этот лимит в 2-5 раз выше)

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

    @rPman
    Подключай свой телефон к компьютеру по usb кабелю, с помощью adb настраивай перенаправление портов на твою прокси и пользуйся
    adb forward tcp:6100 tcp:7100
    adb reverse tcp:80 tcp:3000
    эти команды настраивают в разные стороны перенаправление портов, т.е. смартфон может подключаться к vpn через кабель через локальный интернет машины, и так же к прокси на смартфоне можно подключиться через форвард
    Ответ написан
    Комментировать
  • Что расходует ресурс диска?

    @rPman
    https://habr.com/ru/post/476414/
    собирай статистику работы с диском по процессам

    сам nginx только пишет логи, но что делают сайты на php 'одному богу известно', выявляй, анализируй
    Ответ написан
  • Опасность копирования текста из интернета и затем вставления его в cmd?

    @rPman
    Везде где есть 'активное содержимое', т.е. к примеру в excel можно вместе с буфером в формулах что-нибудь скопировать или скорее какой-нибудь ole объект (это буквально бинарник), в отладочную консоль браузера (при первом копировании оно об этом честно предупреждает и требует пройти типа капчи)
    Ответ написан
  • Возможно ли управлять андроид устройством на пк через провод, без доступа к самому устройству?

    @rPman
    нет
    возможно под конкретное устройство с конкретной известной версией ОС и какими либо еще условиями, можно найти 0day уязвимость но вероятность этого очень мала

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

    @rPman
    Односопельные за такие деньги ещё можно найти, или с металлической рамой, всякие клоны i3

    За ~50к можно взять двухсопельный flashforge прошлого поколения с корпусом
    Ответ написан
    Комментировать
  • Как к 00000001 прибавить 1, чтобы получить 00000002?

    @rPman
    $b=sprintf("%08d",intval($a)+1);
    граничные случаи типа число не влезает, не число, сам обработаешь
    так же аккуратно на 32-битных машинах, если у тебя там не 8 символов а к примеру 10 (int в 32-битном php при превышении 2^31 становится double)
    Ответ написан
    Комментировать
  • Как удалять строку если в файле больше 500 символов?

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

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

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

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

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

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

    @rPman
    Один в один моя ситуация
    причина найдена - кабель sata и разъем у меня две древние материнки, на одной такое происходило из-за кабеля, на другом и-за разъема

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

    p.s. в smart были сообщения о проблемах с передачей данных
    Ответ написан
    Комментировать
  • При подключении жесткого диска HDD винда бесконечно грузится, как исправить?

    @rPman
    Мусорный ответ по SMART вам ни на что не намекает?
    Помирает либо контроллер на материнке, либо кабель с разъемами, либо плата на диске.

    Решение: сменить кабель, сменить контроллер (можно попробовать просто другой порт воткнуть на мамке, но лучше найти где-нибудь к примеру внешний бокс временно или к другу с ходить) и самое главное не загружаться в windows! используй предложенный реаниматор, я бы воспользовался livecd linux (xubuntu например), примонтировать диск в readonly режиме и попробовать скопировать, не получится, то в зависимости от ценности данных - топать в конторы по восстановлению либо ковыряться самому (с маловероятным успехом но получишь опыт).

    Самому - начать со SMART диска (например в linux - консольная smartmontools - smartctl -a /dev/sda), смотреть что пишет, что сломалось, если ничего не пишет то однозначно проблема с контроллером диска, если диск хоть как то подключается, делать образ с него с помощью dd или partclone (не пытаться его читать по файлам! так как если это проблема с дисками внутри - то каждая минута его работы увеличивает его болячки) и уже с этим образом пытаться что то восстановить (можно сделать копию раздела на другой диск).
    Ответ написан
    1 комментарий
  • Алгоритм максимально равномерного распределения предметов?

    @rPman
    Сортируешь числа в списке предметов по возрастанию
    Алгоритм добавления количества Z следующий:
    * по очереди берешь равные по значению числа (пусть будет X, количество N) и следующий за ними не равный по значению (пусть будет Y), если такого нет то считаем это значение - бесконечным
    * вычисляешь разницу Y-X, вычисляем, сколько можно дололжить к ним от Z - считаем если (Y-X)*N меньше или равно Z значит заменяем N первых чисел на Y, а из Z вычитаем (Y-X)*N, если (Y-X)*N больше Z (в т.ч. если Y - бесконечность) значит к этим первым N числам из списка прибавляем Z/N (если не делится на цело, значит берем целую часть от Z а затем остаток по 1 докидываем вторым проходом, Z обнуляем, завершаем работу алгоритма
    * если Z не ноль, повторяем весь алгоритм
    Ответ написан
    Комментировать
  • Как работать с другими сайтами?

    @rPman
    У тебя 2 основных способа:
    * разобраться в том как работает этот 'другой сайт', какие http запросы отправляет, как их собирает (можно отследить в инспекторе в браузере по F12 закладка network) и написать свое приложение, которое будет отправлять те же самые запросы, библиотек полно, например curl, есть одноименная утилита так и поддержка в языках программирования, в т.ч. на php
    * используя полноценный браузер, например инжектить свой javascript на его страницу с помощью расширения или вставив код прямо в консоль, или используя удаленное управление из своей программы, например selenium

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

    второй подход заметно проще, например javscript который будет нажимать на кнопку Подписаться на странице хабр qna:
    $('.btn_subscribe').click()
    Помимо всего, этот способ позволяет обойти большинство защит от автоматизации, так как это буквально кликать мышкой по кнопкам но главный недостаток - на каждого пользователя будет требоваться полноценный браузер (иногда можно сэкономить), что очень затратно по ресурсам
    Ответ написан
    Комментировать
  • Какие технологии использовать для разработки ERP?

    @rPman
    Главное чтобы можно было легко создавать UI
    лучшая среда разработки приложений баз данных - Microsoft Visual Studio и фреймворк .net (языки программирования любые от c# до python#), при создании многопользовательских приложений думать конечно придется о конфликтах (одновременное редактирование одного и того же объекта), в остальном все просто

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