Задать вопрос
  • Server push vs server sent events - что выбрать?

    ServerPush из HTTP/2 не имеет никакого отношения к данным, вы не можете с его помощью в произвольный момент отправить клиенту условный json. Соответственно, как ваш js поймёт, что надо перевызвать список заказов?
    Единственное, что приходит в голову - пушить js-файл с window.reload() внутри, но это такой тупой костыль, что я даже и не знаю...
    Плюс, использование SP подразумевает, что у вас всё это время открыто соединение и сервер может отправить клиенту команду на загрузку файла. А это значит, что условный PHP тут уже не подходит.

    Для решения этой задачи надо использовать сокеты или периодические запросы с клиента на сервер за статусом.
    Ответ написан
    Комментировать
  • Телеграм бот. Как исправить ошибку Updater.__init__() missing 1 required positional argument: 'update_queue'?

    JustKappaMan
    @JustKappaMan
    Frontend, backend, desktop. Всего понемногу.
    Я не сильно силен в Пайтон и начал пока изучать основы.

    Написал телеграм бота через Chat-GPT.

    Нет слов, одни эмоции. Так и начни с основ, а не лезь в написание Телеграм ботов, если даже не знаешь что такое аргумент. Chat-GPT - ужасный инструмент, если ты ничего не смыслишь в программировании. Часто генерирует полный бред. По личному опыту: сносно генерирует лишь docstrings, и то приходится половину текста править. Берись за официальную документацию Питона и лекции на канале МФТИ, а не за Chat-GPT.
    Ответ написан
    1 комментарий
  • Как лучше\проще реализовать работу с серийными номерами\лицензиями чтобы не особо пиратили?

    @d-stream
    Готовые решения - не подаю, но...
    Ну из классики .ini / .xml / .yml / .toml / etc файл с сигнатурой его содержимого

    Соответственно генерация файла лицензии и подписание - закрытой частью ключа, верификация - открытой (классика)

    Кончилась лицензия - сгененрировать и выслать новый файл.

    Литература - любая доступная про ассиметричное шифрование
    Ответ написан
    7 комментариев
  • Как узнать с какого внутреннего ip адреса состоялась сессия с внешнем IP адресом в Mikrotik-е?

    @TheBigBear
    СтарОдмины мы
    /ip firewall filter
    add action=accept chain=forward dst-address=117.223.41.73 log=yes log-prefix=alarm

    log-prefix обзовите как угодно чтобы в логах Микротика отлавливать
    Правило поставить ВЫШЕ запрещающих

    а ещё можно добавить
    /system logging
    add action=disk prefix=alarm topics=firewall,info

    и лог будет отдельно в файл записываться
    Ответ написан
    1 комментарий
  • Как сделать движение за курсором?

    twobomb
    @twobomb
    Чё сложного то, про rotate не слышали?

    p.s. вторую координату нужно брать центр картинки а у меня от края, поэтому чуть криво, ну сами прибавите + width/2 и +height/2...
    Ответ написан
    Комментировать
  • Что не хватает в системе для кросс компиляции под aarch64 linux?

    vabka
    @vabka Куратор тега Rust
    tl;dr; rustflags трогать не нужно. Нужно указать пути к тулзам (линкеру и сишным/плюсовым компиляторам) для билда под aarch64

    Нагуглил https://users.rust-lang.org/t/cross-compilation-us...
    Делаю как предлагают (у меня Ubuntu правда, а не дебиан и не арч) - у меня сработало
    rustup update stable
    mkdir cross_comp
    cd cross_comp
    cargo init --bin
    cargo target add aarch64-unknown-linux-gnu
    
    sudo apt install g++-aarch64-linux-gnu libc6-dev-arm64-cross
    
    CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
    CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc \
    CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++ \
    cargo build --target=aarch64-unknown-linux-gnu

    rustup кстати не нужно было трогать, о чём сам растап говорит, при попытке установить тулчейн для другой архитектуры.
    Неудачная попытка

    Попробовал так:
    rustup update stable
    mkdir cross_comp
    cd cross_comp
    cargo init --bin
    cargo target add aarch64-unknown-linux-gnu

    Получил такую же ошибку.
    Ответ написан
    2 комментария
  • Что стоит заменить в нынешней сборке для обновления железа?

    Больше SSD, больше оперативки, Новую видеокарту. Проц наоборот в последнюю очередь.
    Ответ написан
    1 комментарий
  • Как настроить vs code на два монитора?

    @maksam07
    Для того, чтобы разделить Visual Studio Code на два монитора, можно воспользоваться функцией разделения редактора на несколько групп.

    Для этого нужно выполнить следующие шаги:

    - Откройте VS Code на одном из мониторов.
    - Откройте необходимые файлы или папки, которые вы хотите отображать на другом мониторе.
    - Перетащите вкладки с нужными файлами в новое окно VS Code, которое вы хотите разместить на другом мониторе.
    - Правой кнопкой мыши щелкните на вкладке и выберите "Split Editor".
    - Выберите желаемое расположение разделенных групп редакторов (например, вертикальное или горизонтальное расположение).

    Теперь вы можете перетаскивать вкладки между разделенными группами, чтобы настроить их расположение на экранах мониторов.
    Ответ написан
    1 комментарий
  • SSD NVMe M.2 не выдает заявленные скорости, как решить?

    Это нормальная скорость, если копирование происходит с диска, который подключен через sata
    Ответ написан
    9 комментариев
  • Можно ли написать такой селектор, который будет реагировать на НЕ вложенные элементы при псевдоклассах?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    .block-1:hover + .block-2 - непосредственно следующий блок
    .block-1:hover ~ .block-2 - все следующие сиблинги
    Ответ написан
    Комментировать
  • Как определить, что у пользователя включен vpn?

    @AlexVWill
    Есть подозрение, что из-за него некорректно работает форма авторизации / регистрации на сайте.

    Надо бороться с причиной, а не с явлением как таковым. Если форма криво работает из-под VPN, то виновата форма, а не VPN. Половина мира уже сидит в интеренет под VPN, поэтому стоит задуматься о том, что у тебя не так реализовано. Тем более, что каких то объективных причин нарушения работы web-сервера если на него поступают запросы от VPN нет.
    Я бы скорее предположил, что в форме реализованы какие то скрипты (возможно даже сторонние JS библиотеки), который блокировщики рекламы считают спамом, и режут их, отсюда и проблема. Надо конкретно смотреть, что не так.
    ак определить, что у пользователя включен vpn

    Ну определишь ты, и что дальше? Как это тебе поможет реализовать исправление ошибки формы? Лучше задуматься о том, как исправить форму, чтобы все могkи ей пользоваться независимо от VPN.
    Ответ написан
    4 комментария
  • Можно ли заставить VS Code считать доллар буквой?

    WblCHA
    @WblCHA
    Удали из настройки editor.wordSeparators ненужные знаки разделения слов.
    Ответ написан
    Комментировать
  • Как узнать процент похожести текста?

    Stalker_RED
    @Stalker_RED
    Частично проблема решается алгоритмом шинглов, который неплохо находит похожие тексты. Но хороший рерайтер легкло сделает текст отличающимся на 40-60% при сохранинеии смысла. А в последнее время можно вообще сделать магию: "чатгпт, перепиши этот текст другими словами добавив тоски о былом величии римской империи", и все это за считанные секунды и бесплатно.
    в качестве примера перефразированный ваш вопрос
    Каким образом можно определить процент схожести между текстом, который только что был написан, и текстом, который уже хранится в базе данных MySQL? Это необходимо для того, чтобы исключить повторения текстов. Например, если кто-то создает новость о происшествии, а она была опубликована два дня назад другим человеком, то это будет считаться дублем. Я знаю, что можно сравнивать тексты посредством перебора, но это займет много времени и будет нагружать MySQL. Есть ли какие-то другие методы, кроме использования Sphinx Search, чтобы достичь этой цели?

    По расчетам вот этого сервиса процент схожести менее 30%

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

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    "Вчера на площади Свердлова попал под лошадь извозчика 8974 гр. О. Бендер. Пострадавший отделался легким испугом."
    "Сегодня на площади Свердлова попал под лошадь извозчика 1234 гр. О. Иванов. Пострадавший отделался легким испугом."
    Схожесть по словам 81% (13/16), но новости то разные.
    Вам надо выделять ключевые слова - тип происшествия, даты, фамилии, адреса, номера и модели автомобилей и т.п. и сравнивать по ним.
    Ответ написан
    Комментировать
  • Почему ругается на свойство в типе?

    @vshvydky
    const a = {age:18, name:"alex"}
    type T =  {
      [K in keyof typeof a]: typeof a[K];
    } & {
       test: number;
    };
    
    // больше свободы 
    type TT<OB> = {
     [K in keyof OB]: OB[K];
    } & {
       test: number;
    };
    
    
    const t1: T = {test: 1, age: 1, name: 1} // ошибка
    const t2: T = {some: 1, name: "Fewfwefw" }; // ошибка
    const t3: T = {age:19, name: "ivan", test: 1 }; // корректно
    
    const tt1: TT<typeof a> = {test: 1, age: 1, name: 1} // ошибка
    const tt2: TT<typeof a> = {some: 1, name: "Fewfwefw" }; // ошибка
    const tt3: TT<typeof a> = {age:19, name: "ivan", test: 1 }; // корректно
    Ответ написан
    Комментировать
  • Как открыть консоль браузера на Андроид смартфоне?

    yarkov
    @yarkov
    Помог ответ? Отметь решением.
    https://developer.chrome.com/docs/devtools/remote-...
    Подключаем телефон к компу, открываем на телефоне сайт и на компьютере видим что в консоли телефона.
    Ответ написан
    Комментировать
  • Почему цикл if внутри цикла for который находится в цикле while не работает?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    С чего вы взяли что у вас там что-то не работает?
    Во-первых:
    Почему цикл if внутри цикла for который находится в цикле while не работает?

    if - это не цикл.
    Во-вторых, в ытам накосячили с отступами.
    В-третьих, в таком спагетти коде не мудрено наделать ошибок, а у вас еще и break встречается то и дело. Нарисуйте блок-схему вашего алгоритма, тогда станет понятнее. А сейчас этот код вообще не читаем, отчего просто бесполезен и должен быть удален и переписан заново.
    Попробуйте разбить весь этот код на функции. Функуии должны быть короткие, читабельные и "чистые" (то есть зависеть только от аргументов, а не от внешних и глобальных факторов)
    Ответ написан
    8 комментариев
  • Чем отличаются нативные модули от ванильных и в чем проблематичность нативных?

    Lynn
    @Lynn
    nginx, js, css
    Почему нативные модули не так просто скомпилировать под любой контроллер?

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

    В нативных модулях добавлены куски из других языков или как это происходит?

    Да. Обычно на C/C++, но может быть что угодно, Rust, Go, да хоть ассемблер.

    И как в npm понять, какие модули ванильные, а какие нативные?

    Обычно это в документации написано, но формально никак пока не попробуешь поставить.
    Ответ написан
    1 комментарий
  • Как написать свой компилятор?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Трансляторы
    Седой и строгий
    Содержимое этой книги в ответ не вместится.
    60b76e70c748b529799442.jpeg
    А ваш вопрос на столько общий, что короче не получится.
    Ответ написан
    3 комментария
  • Как аннотировать неявные атрибуты класса?

    @kalsc12345
    Неизвестный человек.
    from typing import Any
    
    class MyClass:
        def __init__(self, param: str):
            self.param = param
    
        def __getattr__(self, attr: str) -> Any:
            # Здесь можно создать любой атрибут в зависимости от переданного имени
            if attr == 'name':
                return 'John Doe'
            elif attr == 'age':
                return 30
            else:
                raise AttributeError(f"'{type(self).__name__}' object has no attribute '{attr}'")
    Ответ написан
    3 комментария