Задать вопрос
  • Как пробросить порт для 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 комментария
  • Как настроить сертификаты ssl для любого домена ссылающегося на ip?

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Получается цену мне передавать не надо, а только список продуктов
    Именно. С фронта должны приходить id товаров и количество. Окончательный расчёт цены выполняет бэк. Он же формирует чек и отсылает его в платёжную систему, перебрасывая клиента на переданную страницу оплаты. И в бэк же возвращается callback от платёжной системы с подтверждением транзакции.
    Ответ написан
    Комментировать
  • Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'ID' at row 1. Как решить ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    На момент формирования массива $Gener переменная $ID не определена. Да и вообще колонка ID не должна присутствовать в изменяемых полях.
    А вообще, код на выброс. В нём нет защиты от инъекций. Передаём в $_POST['ID'] строку '0 or 1 = 1' и меняем сразу все записи в таблице.
    Ответ написан
    Комментировать
  • Как реализовать условие правильно?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вся функция сводится к одной строке.
    def sum_range(start:int, end:int)-> int:
        return (start + end) * (abs(end - start) + 1) / 2;
    Ответ написан
    1 комментарий