Задать вопрос
  • Автоплатеж telebot?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    А при чём тут автоплатёж? Это обычная оплата через платёжную систему. Заключаете договор с платёжным провайдером, подключаетесь к его API. Передаёте провайдеру чек, вам возвращается ссылка. Отправляете ссылку клиенту, он оплачивает чек. От провайдера идёт callback-запрос о том, что платёж прошёл, принимаете его, проверяете подпись провайдера, если она в порядке, то отмечаете у cебя в базе и отправляете информацию клиенту.

    А автоплатёж - это ваше поручение банку автоматически с указанной регулярностью переводить фиксированную сумму по заданным реквизитам, например, ежемесячный платёж за интернет.
    Ответ написан
    2 комментария
  • Как подключиться по RDP к домашнему компьютеру на Windows с белым IP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Win+R, SystemPropertiesAdvanced.exe, "OK".
    "Удалённый доступ", "Разрешить удалённые подключения к этому компьютеру", снять галочку "только с проверкой подлинности", "Применить".
    "Выбрать пользователей", добавить пользователя (обязательно с установленным паролем), "ОК".

    Но, вообще, открывать RDP наружу - не самая лучшая идея. Лучше поднять VPN, а уже внутри него подключаться по RDP.
    Ответ написан
    4 комментария
  • Как в пайтон вводя имя переменной вызвать её?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    print(locals()[sc])
    Ответ написан
    Комментировать
  • Как исправить запрос?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    WITH RECURSIVE `cte` AS (
      SELECT `id` AS `root`, `id`
        FROM `comments`
      UNION
      SELECT `cte`.`root`, `t`.`id`
        FROM `cte`
        JOIN `comments` AS `t` ON `t`.`parent_id` = `cte`.`id`
    )
    SELECT `root`, COUNT(*) AS `count`
      FROM `cte`
      GROUP BY `root`
    Ответ написан
    Комментировать
  • Как пробросить порт для samba?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Для самбы порты поменять нельзя, Microsoft не предусмотрела в протоколе такой возможности. На роутере должны быть проброшены порты 137-139 и 445 по TCP и UDP.
    Но, вообще, открывать самбу наружу - не самое лучшее решение.
    Для ssh на роутере настраивайте проброс любого порта снаружи на 22 порт внутреннего сервера.
    Ответ написан
  • Как пойдет трафик по схеме?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Поскольку POE-свитчи у вас на 100M, то и канал от них до свитча 2 будет 100M, даже если вы туда поставите свитч на 1G.
    Надо, чтобы хотя бы аплинк-порт на POE-свитчах был на 1G.
    Ответ написан
    6 комментариев
  • Как диагностировать диски M.2?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Available Spare - остаток резервных секторов. У вас пока 100%, то есть резерв не использовался. Когда значение опустится до Available Spare Threshold, диск, скорее всего, перейдёт в режим readonly. На 10-15% стоит менять диск.
    Percentage Used - сколько процентов от теоретического максимума (TBW) уже записано на диск. Для хорошего диска может уйти за 100%, но лучше менять на 80-90%.
    Ну и стоит учесть, что при выходе из строя контроллера диск станет нерабочим независимо от износа. Все важные данные необходимо регулярно бэкапить.
    Ответ написан
    Комментировать
  • Как реализовать data_seek?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    - $result = $connect->query($sql);
    - $rows = $result->fetch();	
    - if($rows != 0)
    - {
    -   for ($i = 0;$i < $rows;$i ++)
    -   {
    -     $result->data_seek($i);
    -     $map = $result->fetch_assoc();
    + foreach ($connect->query($sql) as $map) {
    - }
    - $result->close();

    - if($x > 0) $left = (3000 + abs($x))/5.3;
    - else $left = (3000 - abs($x))/5.3;
    + $left = (3000 + $x)/5.3;
    - if($y > 0) $top = (3000 - abs($y))/5.3;
    - else $top = (3000 + abs($y))/5.3;
    + $top = (3000 - $y)/5.3;
    Ответ написан
    Комментировать
  • Как вытащить одним запросом два уровня родителей?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    SELECT `l1`.`referer_id` AS `parent`, `l2`.`referer_id` AS `grandparent`
      FROM `table` AS `l1`
      LEFT JOIN `table` AS `l2` ON `l2`.`referal_id` = `l1`.`referer_id`
      WHERE `l1`.`referal_id` = :referal_id
    Ответ написан
    Комментировать
  • Как в телеграм боте забрать фото пользователя?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как отследить подписку на канал телеграм?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вы об этом?
    chat_join_request
    Optional. A request to join the chat has been sent. The bot must have the can_invite_users administrator right in the chat to receive these updates.
    Ответ написан
  • Почему на жестком диске появились ошибки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    По возможности меняйте диск. Деградация поверхности непредсказуема, он может ещё десяток лет проработать с этими битыми секторами, а может за несколько дней вся поверхность в битые уйдёт.
    Ответ написан
  • Можно ли поставить две плашки DDR4 - по 16 гб 3200 Mhz в материнку GiGABYTE H110M-H-CF?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    По объёму 32Gb нормально, а частоту мамка, скорее всего, зарежет до 2400, это её предел.
    Ответ написан
    Комментировать
  • Как создать объектную модель содержимого файла?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В принципе, грамматика тут несложная, достаточно рекурсивной обработки, в которой комментарии пропускает токенизатор.
    функция получитьТокен() {
      // Читает файл и формирует токен вида { тип: тип_токена, значение: строка }
      // Пропускает комментарии, пробелы и концы строк
      вернуть токен
    }
    
    функция списокПараметров() {
      объект = {}
      пока истина {
        имя = получитьТокен()
        если имя.тип == закрывающая_скобка или имя.тип == конец_файла {
          вернуть объект
        }
        значение = получитьТокен()
        если значение.тип == строка {
          объект[имя.значение] = значение.значение
        }
        если значение.тип = открывающая_скобка {
          объект[имя.значение] = списокПараметров()
        }
      }
    }
    Ответ написан
    Комментировать
  • Как повторять запрос каждые 5 секунд пока выполняется curl?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    AFAIK, телеграм требует, чтобы в течение 5 секунд ваш бот завершил обработку запроса и вернул код 200, в противном случае повторяет запрос, считая, что предыдущий не дошёл до бота. Если у вас есть какая-то долгая процедура, то лучше поместить задание в очередь, сказать клиенту "Подождите" и сразу завершить запрос. Отдельный обработчик должен прочитать задание из очереди, выполнить его и послать клиенту в телеграм полученную информацию.
    Ответ написан
    Комментировать
  • Как получить ответные данные в json после ресайза изображения на сервере?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ну вот, собственно, текст ошибки вы видите, смотрите в image-upload-action.php строки 55 и 56. Там у вас неявное преобразование из float в int, о чём и предупреждает PHP.
    Могу предположить, что проблема в передаче параметров в imagecreatetruecolor и imagecopyresampled. По спецификации параметры целочисленные, а у вас вычисляются вещественные значения. Попробуйте так:
    - $newwidth = $height * $rate;
    + $newwidth = round($height * $rate);
    - $newheight = $width / $rate;
    + $newheight = round($width / $rate);
    Ответ написан
    1 комментарий
  • Правильно ли я вычислил y=ln(x)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Неверно.
    1. Вы неправильно вычисляете следующий член суммы. Вместо i в знаменателе вы получаете i!
    2. Условие if x < 0: у вас никогда не сработает
    Ответ написан
    Комментировать
  • Материнская плата GA-Z68AP-D3 Rev 2.0, почему слот PCIe x4 работает только в режиме x1?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Читаем спецификацию:
    The PCIEX4 slot shares bandwidth with the PCIEX1_2 and PCIEX1_3 slots. When the PCIEX1_2 slot or the PCIEX1_3 slot is populated, the PCIEX4 slot will operate at up to x1 mode.

    И проверяем,что видеокарта именно в PCIEX16, который ближе к процессору
    Ответ написан
    Комментировать
  • Почему не работает асинхронность?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Реализовано в версии платформы 8.3.18.1128
    Ответ написан
    Комментировать
  • Почему не открывается страница на 3000 порту?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    - server.listen(port, hostname, () => {
    + server.listen(port, hostname, (error) => {
    +   if (error) {
    +     console.error(error);
    +   } else {
          console.log(`Server running at http://${hostname}:${port}/`);
    +   }

    Ну и проверьте, что порт не блокируется файрволом
    Ответ написан
    4 комментария