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

    @rPman
    Среднее? Поделить общее количество нажатий за это время, на (прошедшее время в секундах разделить на 30 секунд)

    Если нужно именно за последние 30 секунд, то придется сохранять последние нажатия в массиве (время их нажатия), удаляя из него при каждом добавлении те записи, которые старее 30 секунд (они будут в начале массива, если новые добавлять в конец) - тогда количество записей в массиве и будет искомое количествов нажатий за последние 30 секунд.
    Ответ написан
    2 комментария
  • Тупой вопрос. На ios не приходят смс, что делать?

    @rPman
    топать к своему оператору сотовой связи, если после сброса до заводских настроек не заработало - это не на вашей стороне трабла

    p.s. у опсосов есть услуги, ею пользуются чтобы спам не получать, отказ от получения сообщений с коротких номеров, делается соответствующим заявлением, там как раз пишут что от банков пуши приходить не будут
    Ответ написан
    3 комментария
  • Можно ли получить файл по URL в РНР? Нужно ли для этого писать модуль на другом языке?

    @rPman
    php имеет штатный инструмент работы с файлами по ссылкам http/ftp во всех своих методах типа fopen или file_get_contents

    Протоколов много, можно регистрировать собственные

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

    @rPman
    Да, нужно разработать скрипт который сделает подстановку 'имя новости -> id' и настроить мапинг адресов на веб сервере с помощью RewriteRule

    p.s. что будете делать, если новость будет иметь вид заголовок: 100-далмантинцев
    Ответ написан
    Комментировать
  • Как восстановить подключение через ssh?

    @rPman
    ssh: connect to host port 22: Operation timed out
    по ssh уже никак

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

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

    @rPman
    Пинайте хостера, если панель администрирования сервера лагает то это уже не ваша вина

    p.s. не включен ли своп и нет ли сильных трат оперативной памяти что тот своп используется по полной?
    Ответ написан
    2 комментария
  • На каком языке программирования написаны сайты в TOR’e?

    @rPman
    Сайт в tor это обычный сайт, ничем не отличающийся от обычного интернета, запускается с использованием тех же программ типа ngnix/apache/php/... да там только http (так как шифрование на канальном уровне и некому выпустить сертификат для onion)

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

    Если что, в тор есть полноценные зеркала сайтов, даже facebook - facebookcorewwwi.onion со всеми скриптами и аналитикой.
    Ответ написан
    1 комментарий
  • Какие существуют визуальные обработчики данных?

    @rPman
    Не нужно делать интерфейс только потому что 'все так делают'.

    Исходить нужно исключительно из задачи! Делать нужно ровно столько сколько нужно и не больше не меньше.

    p.s. Когда то я работал активно с данными, конечно экселя могло бы быть достаточно но он неудобный и медленный
    Обычно нужен для конвертера следующий UI (писался давно, не очень использовался и затерялся):
    * Настройка источника данных (у вас это кнопка/поле - место откуда брать excel источник, плюс к примеру имя/номер листа)
    Показать начальное содержимое листа при выборе, минимальную статистику (количество строк, колонок и т.п.)
    * Список необходимых колонок с указанием, какие колонки чем являются
    При выборе колонки источника показывать список вариантов его значений (не обязательно все, первые десятки, но бегло дает представление о значении поля)
    * Фильтры (пропустить пустые строки, убрать дубликаты и прочее прочее) - не перебарщивай, очень редко задачи повторяются, все объять невозможно, можно предложить поле для ввода кода (использовать в eval), если источник база данных - можно запилить какой то минимальный конструктор sql (без ui, хотя список таблиц и название колонок в базе уже круто, плюс поиск по подстроке по данным во всех таблицах - удобная вещь когда ковыряешь чужую базу, лучше это делать в специализированных программах, помню пользовался dbforge studio community version)
    * настройка назначения вывода данных (имя файла)
    * настройка типа данных в файле вывода (выбор из списка захардкоженных в программу, если актуально само собой)

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

    @rPman
    В цикле непрерывно мониторь список процессов (с помощью wmi) и убивай его (os.kill)

    как получить список процессов
    import wmi
    c = wmi.WMI ()
    
    for process in c.Win32_Process ():
      print process.ProcessId, process.Name


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

    @rPman
    да, называется антивирус
    но к сожалению, в большинстве своем это плацебо, а новых зловредов они обнаруживают с запозданием

    т.е. нужно сразу понимать что отловить они все не способны и часто дают ложное срабатывание

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

    @rPman
    https://bitcoinj.org/
    куча методов по работе с биткоин, в т.ч. с приватными ключами, генерация валидация, подписывание строк текста на основе приватного ключа вашего адреса и т.п.

    например чтобы подписать или проверить подпись сообщения нужно использовать метод org.bitcoinj.core.ECKey.signMessage(String message) создав предварительно ключ ECKey
    Ответ написан
    1 комментарий
  • Смена ника steam через python?

    @rPman
    https://developer.valvesoftware.com/wiki/Command_L...
    попробуй steam.exe -login логин и ввести пароль через пайпы
    там вроде мощная система скриптов, как минимум можно ставить игру, обновлять ее подгружать подписки и прочее (напрямую я не пользовался, но пользовался программой которая этим пользовалась, правда там логин был anonymous)
    Ответ написан
  • Как выбрать рандомную запись с бд на основе веса записи?

    @rPman
    Мне кажется эта задача красиво средствами базы данных не решается.
    Любое решение будет либо медленным, либо вероятностное распределение итоговое не будет желаемым.

    100 запросов в секунду - зачем такой нетипичной задачей грузить базу данных?

    Задайся вопросом, сколько у тебя записей? миллионы? миллиарды? может эффективнее будет держать список id на бакэнде массивом и выбирать от туда?
    * Запили миниатюрный сервис с сокетами, в который бакэнд при удалении или добавлении записи будет присылать id, а при перезапуске будет загружать весь список id... памяти это занимать будет порядка 16х от количества записей умножить на логарифм (зависит от того какие списки поддерживает бакэнд, нужно хранить упорядочный num -> id, причем это просто массива, при добавлении id добавляется в конец, а при удалении - на место удаленного ставится элемент с конца, к сожалению тогда для быстрого удаления нужен map: id->num).
    * Списков таких должно быть несколько - свой по каждому значению веса (считается что вес - целочисленный и вариантов значений значительно меньше общего количества записей), соответственно каждый id попадает в свой список.
    * Каждый раз, как идет запрос на случайный id, считаешь два случайных числа:
    - первое на интервале [0..максимальное значение веса) - выбираешь какой вес сейчас сработает
    это нужно делать с учетом вероятности, которое соответствует каждому весу, т.е. для каждого веса свой интервал значений случайного числа, для 1 это будет попадание между [0..1), для 2 - [1..3), для 3 - [3..6), для 4 - [6..10),.. макс значение интервала равно сумма арифметической прогрессии 1....N где N максимальное значение веса. Левое значение интервала для n считать по формуле суммы арифметической прогрессии а правое + значение веса для него.
    - второе, [0..максимальное значение num в соответствующем списке)
    второе число даст искомый номер в массиве, а значит и id.
    * Для значений весов которые не используются (пустые списки id) нужно будет исключать такое число из списка доступных значений весов, делать новый список с меньшим количеством и давать соответствие значений их этого нового списка с меньшим количеством весов и общим, чтобы такие неиспользуемые веса не попадались.
    К примеру из весов 1..10 используются только 1,4 и 10, тогда делаем получаем новый список из 3 элементов, но в формуле расчета интервала для вычисления правой границы использовать значение веса, т.е.:
    [0..1), [1,5),[5..15) - общий интервал [0..15)

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

    Трудоемкость алгоритма О(1) с очень маленькой константой, но требует память O(n)= n*log(n) с процессором O(n) log(n) на любые модификации.

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

    @rPman
    https://docs.microsoft.com/en-us/windows-hardware/...
    там пишут что можно свой
    Pinning desktop applications to start srceen


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

    upd: https://docs.microsoft.com/en-us/windows-hardware/...
    Ответ написан
  • Как загрузить изображение на бесплатный хостинг с API?

    @rPman
    Первый же результат в гугле, на javascript для imgbb, пишут что работает

    там же такой простой api что не так то?

    p.s. про http забудь, этот протокол умрет как гопер или фтп, проблем он создает столько что лучше его не поддерживать принципиально
    Ответ написан
  • Через батник не открывает папки с кириллицей (Открытие проводника через браузер)?

    @rPman
    Что не ясно то? у тебя имя url encoded, его нужно раскодировать, из bat языка в winows это будет мягко говоря не просто, когда как на нормальном языке программирования вполне по силам.

    Не нужно извращаться, бери тот же php и пользуйся им, отличный скриптовой язык, самый быстрый, самый простой, самый логичный.
    $url=urldecode($argv[1])

    Ок, не нравится php, бери c#/js#/vb# компилятор к которому встроен в windows
    C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\csc.exe

    p.s. Зачем предыдущий вопрос удалил?
    Ответ написан
    2 комментария
  • Проблема с verifier.exe и BSOD?

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

    @rPman
    Тригерами
    если готов что за консистентность данных база данных не будет отвечать, используй что угодно
    Ответ написан
    Комментировать
  • Реплика или iscsi?

    @rPman
    Есть две разные задачи - защита данных и защита непрерывности процесса, т.е. чтобы ваше приложение продолжало работать.

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

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

    Существуют решения на уровне ОС, позволяющие обеспечить непрерывность работы, защищаясь от сбоев в оборудовании, с помощью виртуальных машин и распределенных NAS.

    В зависимости от того, как много вы готовы потратить на готовые решения или реализацию своих, выбираете кластерную файловую систему (из бесплатных DRBD, как вы понимаете Linux) либо же настраиваете зеркалирование (software raid over iscsi например) и вручную перезапускаете центральный узел (потребует перезапуск и машин, запускаемых с них, с оговорками). В любом случае узел NAS не должен совмещаться с software node, на которых собственно происходит запуск приложений (с оговорками сами диски там могут быть, раздаваемые софтварным iscsi или nbd или aoe...), правило разделяй и властвуй тут действует.

    У виртуальных машин есть High Availability (kvm/xen/vmware/...), позволяет в короткие сроки перемещать виртуальную машину в пределах одного кластера, когда как машины в нем могут географически находиться в разных местах (машина приостанавливается suspend, память копируется, восстаналивается).
    ... и даже это делать налету, синхронизируя оперативную память между master и slave копиями машин (тогда перемещение между нодами в кластере будет секунды занимать) - само собой это накладывает высокие требования к сети. Это дорогие фишки взрослых виртуалок, у vmware

    p.s. к сожалению, выбери два из трех - быстро надежно дешево
    Ответ написан
    Комментировать