Задать вопрос
  • Постоянно пропадает сеть на компьютере. В чем может быть причина?

    888AndeR888
    @888AndeR888
    IT специалист
    Была подобная ситуация четыре раза.
    В первом и во втором случае была проблема с физикой, постепенно умерала сетевая карта.
    В третьем проблема была связана с конфликтом ip-адресом, периодичность проблемы была связана тем что ПК с таким же IP включался периодично пользователями...
    Четвертая ситуация была когда стояло ограничение по количеству подключаемых MAC-адресов, определенное количество пользователей подключены через VLAN добавили еще одного...
    Ответ написан
    Комментировать
  • Существует ли алгебра логики с оператором логического вычитания?

    Griboks
    @Griboks
    Составим таблицу истинности для математического вычитания.
    A B A-B
    0 0 0
    0 1 1
    1 0 1
    1 1 0

    Получаем, что A-B=A xor B, следовательно - := XOR.

    Открываем гугл: Сложе́ние по мо́дулю 2 (исключа́ющее «или», XOR, строгая дизъюнкция, поразрядное дополнение, инвертирование по маске, жегалкинское сложение, логическое вычитание, логи́ческая неравнозна́чность) - булева функция, а также логическая и битовая операция, в случае двух переменных результат выполнения операции истинен тогда и только тогда, когда один из аргументов истинен, а второй — ложен.

    Соответственно, смысл у неё во взаимной разности двух множеств, т.е. результат не принадлежит двум множествам одновременно.
    A B (Необщая часть A) (Необщая часть B) (Объединения частей)
    0 0 0 0 1
    0 1 0 1 1
    1 0 1 0 1
    1 1 0 0 0
    Ответ написан
  • Как сделать аутентификацию на сайте через телеграм?

    CoDeR2006
    @CoDeR2006 Автор вопроса
    TS
    И так, для меня в будущем, и для тех кто это нагуглил:

    Дело в том что без виджета на начало 2024 сделать авторизацию практический не возможно, вот реально правильное решение если у вас похожий стэк, и вы планируете делегировать саму регистрацию на сервер, а не делать все через front.

    Интегрируем виджет в приложение react + ts:
    (это если вам надо что бы был не редирект, а вызов функции со стороны telegram)
    import { useEffect } from 'react'
    import { ITelegramUser } from '../../../../types/telegram/api-telegram-user.ts'
    
    declare global {
      interface Window {
        onTelegramAuth: (user: ITelegramUser) => void
      }
    }
    
    export const ButtonTelegramAuth = () => {
      useEffect(() => {
        const button = document.createElement('script')
        button.async = true
        button.src = 'https://telegram.org/js/telegram-widget.js?22'
        button.setAttribute('data-telegram-login', 'name_bot')
        button.setAttribute('data-size', 'large')
        button.setAttribute('data-radius', '20')
        button.setAttribute('data-onauth', 'onTelegramAuth')
    
        document.body.appendChild(button)
    
        window.onTelegramAuth = function (user) {
          alert(
            'Logged in as ' +
              user.first_name +
              ' ' +
              user.last_name +
              ' (' +
              user.id +
              (user.username ? ', @' + user.username : '') +
              ')'
          )
        }
    
        return () => {
          document.body.removeChild(button)
        }
      }, [])
    
      return <div id="telegram-widget-container"></div>
    }


    если нужен все таки редирект мы добавляем такое поле:
    script.setAttribute('data-auth-url', 'https://site.pw');

    и удаляем это:
    button.setAttribute('data-onauth', 'onTelegramAuth')
    
    declare global {
      interface Window {
        onTelegramAuth: (user: ITelegramUser) => void
      }
    }
    
     window.onTelegramAuth = function (user) {
          alert(
            'Logged in as ' +
              user.first_name +
              ' ' +
              user.last_name +
              ' (' +
              user.id +
              (user.username ? ', @' + user.username : '') +
              ')'
          )
        }


    И так объясняю в чем задумка:
    В ваше приложение react интегрируется все тот же виджет, но правильным образом. После нажатия на виджет происходит авторизация пользователя (он вводит свои данные / просто нажимает войти). Потом телеграм передает все его данные вам (в функцию - №1 способ / по get параметрам в url). Если вы делегируете
    регистрацию на сервер (а так правильно) то выбираете 2 способ. Сервер получает данные валидирует их и заносит в БД, затем делает редирект вашего пользователя к вам обратно на front, и заносит token (или что там еще не разобрался) в HttpOnly Ckookie. Ну а далее в моем случае Guard будет проверять есть этот token или нет, годен он или нет.

    Передаю привет Максиму в будущем. Как дела Макс ?
    Ответ написан
    11 комментариев
  • Где лежат образы виртуальных машин на Proxmox?

    @Smerdov
    У вас написано, что 'Could not open '/var/lib/vz/images/102/vm-102-disk-1.raw'
    значит его там нет. Ето мешает запустить ВМ.

    Сомневаюсь, что на VMWARE будет лучше/удобней/производительней, особенно учитываю ее стоимость.
    Ответ написан
    Комментировать
  • Как определить IP localhost?

    @IceJOKER
    Web/Android developer
    Через консоль ping localhost
    файл hosts
    да и наконец - 99.9% случаев localhost - это 127.0.0.1
    Ответ написан
    Комментировать
  • Как получить почтовый ящик в зоне *.edu?

    opium
    @opium
    Просто люблю качественно работать
    Просто купите.
    Ответ написан
    4 комментария
  • Как получают два вида производной, на примере сигмоида?

    zagayevskiy
    @zagayevskiy
    Android developer at Yandex
    Производная частного равна разности произведения производной числителя на знаменатель и произведения числителя на производную знаменателя, деленной на квадрат знаменателя.

    (1/(1 + е^-х))'
    = (1' * (1 + е^-х) - 1 * (1 + е^-х)')/(1 + е^-х)^2 #по формуле производной частного
    =( 0 * (...) - 1' + (е^-х)' )/(1 + е^-х)^2 #по формуле производной суммы
    = (- e^-x * (-x)')/(1 + е^-х)^2 #по формуле производной экспоненты
    = (e^-x)/(1 + е^-х)^2

    Дальше
    f(x) = 1/(1 + е^-х)
    (e^-x)/(1 + е^-х)^2
    = (e^-x)/(1 + е^-х) * 1/(1 + е^-х)
    = (e^-x)/(1 + е^-х) * f(x)
    = (-1 + 1 + e^-x) / (1 + e^-x) * f(x)
    = (-1 + (1 + e^-x)) / (1 + e^-x) * f(x)
    = ((-1 / (1 + e^-x) + (1 + e^-x)/(1 + e^-x)) * f(x)
    = (1 - (1/(1 + e^-x))) * f(x)
    = (1 - f(x)) * f(x)

    То есть это никакой не "другой способ вычисления производной в МЛ", это просто преобразования производной этой конкретной функции.

    Подробнее изучить в учебнике по математике за 8-11 класс.
    Ответ написан
    3 комментария