• Корректно ли в C++ называть стек статической памятью?

    Vindicar
    @Vindicar
    RTFM!
    Кирилл Гусарев, по вашему определению статическая память - это секция инициализированных данных exeшника.
    ЕМНИП, C++ в эту секцию кладёт инициализирвоанные глобальные переменные. Насчёт статических локальных не уверен.

    Вообще программа имеет доступ к четырём видам памяти:
    - секция инициализированных данных выделяется загрузчиком, её содержимое загружается из EXE файла, где оно хранится как образ.
    - секция неинициализированных данных выделяется загрузчиком, её содержимое забивается нулями. В EXE файле хранится только её размер.
    - Насчёт стека не уверен. Вроде со стеком главного потока исполнения то же самое, его размер прописан в экзешнике. Но кто его выделяет - загрузчик или рантайм языка... я подозреваю, что загрузчик. Стеки дополнительных потоков выделяются по запросу программы.
    - куча выделяется по ходу работы программы. Менджер кучи Windows создаёт одну кучу для процесса, дальнейшее управление кучами - дело самого процесса.

    Всё это - только для виндовых EXE. Про линукс я не в курсе.

    Стек статический в том смысле, что его размер в норме не меняется - блок памяти выделяется один раз, и просто используется большая или меньшая его часть.
    Ответ написан
    Комментировать
  • Нету драйвера на видеокарте, на линукс что делать?

    @pfg21
    ex-турист
    даже просто поиск по "archlinux nvidia" дает сразу же кучу ответов
    в первой строчке ссылка на правоверную рач.вики
    https://wiki.archlinux.org/title/NVIDIA_(Русский)
    Ответ написан
    2 комментария
  • Как инициализировать переменную?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Инициализировать переменную c перед использованием.
    Ваш К.О.
    Ответ написан
    Комментировать
  • 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
    Токсичный шарпист
    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 комментария
  • Что стоит заменить в нынешней сборке для обновления железа?

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

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

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

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

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

    vabka
    @vabka
    Токсичный шарпист
    Это нормальная скорость, если копирование происходит с диска, который подключен через 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 комментариев