• Для чего нужен жёлтый провод в вентиляторе/кулере?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Жёлтый - датчик оборотов.
    Регулировка скорости вентиляторов с двух- и трёхконтактными разъёмами выполняется за счёт напряжения питания. При стандартных 12В будет максимальная скорость вращения.
    Ответ написан
    Комментировать
  • Аналог unset в ООП?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Код переписан абсолютно неверно.
    Конструктор - это не просто вызов функции. В результате его работы создаётся и инициализируется экземпляр класса.
    Деструктор может выполнять действия, связанные с удалением экземпляра, например освобождение памяти, закрытие файлов, освобождение дескрипторов и т.д.
    Переписать ООП в процедурный код можно примерно так:
    spoiler
    function createUser(): object
    {
        return (object)[
            'name' => 'Bankai',
            'age' => 40,
        ];
    }
    
    function showUser(object $user): void
    {
        printf('%s : %s<br>', $user->name, $user->age);
    }
    
    function clearUser(object &$user): void
    {
        echo "Деструктор";
        $user = null;
    }
    
    $user = createUser();
    showUser($user);
    clearUser($user);
    unset($user);
    Ответ написан
  • Как экранировать все «'»?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не надо ничего экранировать. Надо использовать подготовленные запросы с плейсхолдерами.
    Ответ написан
    Комментировать
  • Чтобы это значило?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Название пакета не обязано совпадать с названием программы, которую он содержит. Да и не обязательно, что пакет содержит хоть какую-то программу.
    Если посмотреть на список файлов пакета dpkg -L udev, то видно, что он устанавливает две программы - /bin/systemd-hwdb и /bin/udevadm.
    Ответ написан
  • Как выбрать все querySelectorAll(&quot;table tr&quot;) кроме тех у кого стить display:none?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Фильтровать по свойству style.display.
    А вообще, подход не самый правильный. Лучше добавлять элементу класс (например, hidden) и уже в css ставить display: none для этого класса. Тогда выбирать можно будет через псевдоселектор :not.
    Ответ написан
    Комментировать
  • Как купить домен с возрастом?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Не путайте сайт и домен.
    Аренда домена вовсе не означает, что на нём будет поднят сайт. Скажем, дата регистрации домена habradns.net - 2010-09-23T15:47:24Z, однако сайта на нём нет и не предвидится.
    А вот домена qna.habr.com вообще не существует, однако сайт с таким доменным именем есть.
    Датой регистрации домена всегда будет дата заключения последнего договора об аренде этого домена с регистратором. А вот дату создания сайта вообще проверить нельзя, она нигде не фиксируется.
    Ответ написан
    4 комментария
  • PHP: чем отличается __DIR__ от dirname(__DIR__)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    echo __DIR__ . PHP_EOL;
    // /home/user/scripts
    echo dirname(__DIR__) . PHP_EOL;
    // /home/user
    Ответ написан
    Комментировать
  • Что такое битовые поля в matter.js?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    0x0001 = 12 = 20
    0x0002 = 102 = 21
    0x0004 = 1002 = 22
    0x0008 = 10002 = 23
    0x0010 = 100002 = 24
    ...
    0x8000 = 10000000000000002 = 215
    ....
    0x80000000 = 100000000000000000000000000000002 = 231
    Ответ написан
  • Можете опознать хэш функцию?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Это не хэш, это UUID Version 4 Variant 1, полностью случайно генерируемые значения за исключением кодов версии и варианта.
    Ответ написан
    1 комментарий
  • G31M-VS подбор процессора?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Core 2 Quad
    Конкретные модели здесь: https://www.asrock.com/mb/Intel/G31M-VS/index.ru.a...
    Ответ написан
    Комментировать
  • В чем суть отличия двух SQL запросов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    join GoodTypes on Goods.good_id = good_type_id

    JOIN GoodTypes AS gt ON g.type = gt.good_type_id
    Ответ написан
    1 комментарий
  • Как законектить драйвер PDO mysql?

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    ICANN периодически проводит рассмотрение заявок на регистрацию доменов верхнего уровня. Стоимость такого домена порядка $200000 плюс отчисления от продаж поддоменов. Кроме этого вы должны создать и поддерживать инфраструктуру для обслуживания домена.
    Ответ написан
    3 комментария
  • Почему нет файла во временной папке?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Файл удаляется из временной папки сразу по окончании работы PHP-скрипта.
    Если его надо сохранить, то используйте move_uploaded_file.
    Ответ написан
    5 комментариев
  • Как правильней хранить и обновлять JWT для аутентификации?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Каждый JWT-токен это три блока - заголовок, полезная нагрузка и подпись. В заголовке хранится информация о самом токене (срок жизни, алгоритм подписи). Полезная нагрузка - информация приложения. Подпись - зашифрованный хэш первых двух частей. В распределённых системах выдавать токен может сервер авторизации, а использовать любой другой сервер. В таком случае подпись может быть асимметричной, закрытый ключ для подписания, открытый для проверки.

    Токены выдаются парой, рабочий + обновления.

    Рабочий токен выдаётся на короткое время (минуты - десятки минут). Внутри содержится срок окончания действия токена, идентификатор пользователя, его права, какая-то информация для минимизации обращений к БД по данному пользователю. Токен на сервере не сохраняется.

    Токен обновления выдаётся на длительное время (часы - дни). Внутри содержится срок окончания действия токена и идентификатор пользователя для автоматической аутентификации. Токен обновления (или его идентификатор, если он есть в токене) хранится в БД вместе с идентификатором пользователя.

    1. Клиент аутентифицируется/авторизуется на сервере со своим логином/паролем.
    2. Сервер генерирует пару токенов, короткоживущий рабочий и долгоживущий для обновления. Токен обновления записывается в БД.
    3. Клиент присылает запрос с рабочим токеном.
    4. Сервер проверяет токен.
    4а. Токен действительный и неистекший, сервер отвечает на запрос.
    4б. Токен действительный, но истекший, сервер сообщает о необходимости обновления токена.
    4в. Токен недействительный, сервер сообщает о необходимости входа по логину/паролю (на п.1).
    5. Клиент присылает токен обновления.
    6. Сервер проверяет токен, в том числе и в БД.
    6а. Токен обновления недействительный, сервер сообщает о необходимости входа по логину/паролю (на п.1).
    6б. Токен обновления действительный, но в БД отсутствует, сервер удаляет все токены обновления этого пользователя из БД и сообщает о необходимости входа по логину/паролю (на п.1).
    6в. Токен обновления действительный, но просроченный, сервер удаляет этот токен из БД и сообщает о необходимости входа по логину/паролю (на п.1).
    6г. Токен обновления действительный, непросроченный, в БД присутствует. Сервер удаляет этот токен из БД, генерирует новую пару, записывает новый токен обновления в БД и отправляет токены клиенту (на п.3).
    Ответ написан
    Комментировать
  • Есть ли побочные эффекты при переопределении переменной функции\метода?

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    a + g = 355600
    a = 2g + 97300
    2g + 97300 + g = 355600
    3g = 355600 - 97300
    g = 258300 / 3 = 86100
    a = 2 * 86100 + 97300 = 269500
    Ответ написан
    Комментировать
  • Как сформировать подпись в php(По референту из bash скрипта)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    $result = base64_encode(hash_hmac('sha1', $signature, $secret, true));
    Ответ написан
    Комментировать
  • Объединение и монтирование дисков в UBUNTU 18.04.06?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    mdraid уровня 0 (stripe). Но если один диск выйдет из строя, то потеряется вся информация.
    Ответ написан
    3 комментария