Задать вопрос
  • Aiogram 3 как Установить state для определенного пользователя?

    @twistfire92
    Python backend developer
    Можете заглянуть в исходники aiogram, найти там класс FSMContext, экземпляр которого пробрасывается в вашу функцию, и поизучать это все.
    Один из аргументов функции __init__ этого класса имеет тип StorageKey, который в свою очередь содержит информацию о чате, пользователе, боте и пр.
    Я думаю вам стоит копать в эту сторону, создать руками отдельный инстанс FSMContext (назовем его custom_state), куда передадите отдельный инстанс StorageKey с нужными вам параметрами. Вторым параметром у FSMContext буедет выступать ваш Storage. Либо MemoryStorage, либо RedisStorage (либо у вас свой кастомный какой-то). Туда пробрасывайте тот Storage, который используете.

    И вот уже у этого отдельного инстанса custom_state вызывайте метод set_state()

    P.S. Сам такое не проворачивал, ответ написал опираясь на исходники aiogram. Копайте туда, пробуйте, экспериментируйте.
    Ответ написан
    2 комментария
  • Какую частоту памяти поддерживает ноутбук ASUS X507UB-EJ043T?

    @SunTechnik
    По описанию, в нем стоит процессор i3 6006U, который работает с памятью на частоте 2133.
    Но большинство модулей памяти может работать на более низкой частоте, поэтому 3200, с высокой вероятностью заработает.

    В любом случае, надо брать с возможностью возврата, и тогда спокойно пробовать..
    Ответ написан
    3 комментария
  • Почему мог поменяться отпечаток ключа SSH в Ubuntu?

    @pfg21
    ex-турист
    вот поэтому "Айпишник сервера впридачу поменялся из-за DHCP"
    вместе с хешом ключа сохраняется и хеш от имени сервера.
    имя(адрес) поменялось - имеющаяся запись known_host уже не подходит.
    https://habr.com/ru/articles/421477/
    согласись и сохранится строчка с новыми параметрами (конкретно адресом) сервера.
    Ответ написан
    1 комментарий
  • Как в телефоне отключить разблокировку пальцем ночью?

    @Komrus
    CIO
    Как возможный workaround (требующий ежевечернего кликанья на кнопочку) - поставить программу
    Turn Off screen
    Она, при нажатии на иконку, блокирует телефон. Разблокировка - только паролем. Отпечатки пальцев на следующую разблокировку - не работают. Рута не требует.

    Для дальнейшей проработки:
    Возможно, есть более продвинутые аналоги.
    Или приспособить Automation для запуска по расписанию...
    Ответ написан
    2 комментария
  • Какой компилятор выбрать для C++?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    gcc - компилятор языка си. Если вы хотите компилировать C++, то запускать надо g++.

    И вообще gcc - он в экосистеме линукс. Чтобы оно работало под виндой, то надо ставить специальную прослойку эмуляции экосистемы линукса, вроде mingv.

    Под виндой легче использовать компилятор от microsoft: msvc. Легче всего его поставить в комлекте с бесплатной версией visual studio.
    Ответ написан
    2 комментария
  • Какой компилятор выбрать для C++?

    NeiroNx
    @NeiroNx
    Программист
    Я бы для exe взял VisualStudio для старта а с ней уже и все компиляторы поставятся. GCC конечно может под вин компиоить но это темная магия.
    Ответ написан
    Комментировать
  • Почему программа не выдаёт ошибку, если поместить выражение в скобки?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Приоритеты операций.

    Без скобочек сначала выполняется <<. Фактически, у вас написано вот это: (std::cout<<a) == b;
    << - переопределенный оператор для std::cout, он выведет a на экран и вернет ссылку на std::cout, которую потом программа попытается сравнить с b и не сможет, потому что операция такого сравнения не определена.

    Если же поставить скобки, то сначала выполнится ==, результат ее работы - bool - уже потом будет через оператор << выведен в на экран.
    Ответ написан
    Комментировать
  • Что такое пул в программировании?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    pool - переводится не только как "бассейн", но и как "общий фонд". Пул в пограммировании - это набор однотипных ресурсов, которые переиспользуются по мере надобности. А при осовбождении - возвращаются в общую кучу. Так экономятся расходы на создание и уничтожение этих ресурсов. Бывают пулы почти чего угодно: потоков, буферов, каких-то объектов.

    Например, вместо того, чтобы запускать поток под каждое новое подключение в сервере, у вас есть 20 потоков, которые просто ничего не делают, а когда появляетсся подключение, какой-то из свободных потоков его обрабатывает. Если свободных потоков нет, возвращается ошибка, или соединение ждет в очереди. Когда оно обработано, поток возвращается в пул, вместо уничтожения. Это работает хорошо, потому что создание потоков - сложная и дорогая операция. Гораздо дешевле поток усыпить и засунуть какой-то дискриптор в какую-то структуру данных.
    Ответ написан
    Комментировать
  • Как подключиться по RDP к домашнему компьютеру на Windows с белым IP?

    @Drno
    1. Включить службу уд рабочих столов, настроить пароль для юзера. Можно просто добавить его в группу "удаленных рабочих столов"
    2. Открыть порт в фаерволле, если он работает
    3. Пробросить порт с роутера(видимо это сделано)
    4. подключаться.
    Так же советую сменить порт внешний со стандартного на какой то другой, типа 50000 +

    RDP для игр не предназначен, не запустится 3d карта и рендер. Вы не сможете играть.

    Для игр - VNC(ну такое себе), либо уже нормальные решения типа https://moonlight-stream.org/
    Ответ написан
    3 комментария
  • Как решить проблему слепой печати?

    Dier_Sergio_Great
    @Dier_Sergio_Great
    Увлеченный человек
    С головой всё ОК. Ты просто не умеешь работать с головой. Твоя проблема исправляется очень легко. Для решения проблемы клавиатура не нужна.
    Вы должны закрыть глаза и мысленно проговаривая слова или только мысленно или руками нажимать воображаемые клавиши.
    Просто у вас моторика подсознания имеет ошибку действий. И теперь Вы ей тем самым установите правильные рефлексы. Вообще подсознание очень легко настраивается. Всегда надо закрывать глаза и представлять ситуацию в которой оно должно реагировать особым способом. Проявляя намерение. Теперь Вы себе говорите "я так буду делать всегда" и подсознание это сохраняет на всегда. Если всё таки оно даже после настройки сбоит то значит вы не правильно представляете ситуацию в которой оно должно себя проявлять.
    Удачи!
    Хоть бы как ответ бы отметили бы.
    Ответ написан
    Комментировать
  • Как подключиться по RDP к домашнему компьютеру на Windows с белым IP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Win+R, SystemPropertiesAdvanced.exe, "OK".
    "Удалённый доступ", "Разрешить удалённые подключения к этому компьютеру", снять галочку "только с проверкой подлинности", "Применить".
    "Выбрать пользователей", добавить пользователя (обязательно с установленным паролем), "ОК".

    Но, вообще, открывать RDP наружу - не самая лучшая идея. Лучше поднять VPN, а уже внутри него подключаться по RDP.
    Ответ написан
    4 комментария
  • Как подключиться по RDP к домашнему компьютеру на Windows с белым IP?

    @BHop
    Дилетант широкого профиля
    Пуск - Система - удаленный рабочий стол - включить.
    И да, никакой сервер-посредник не нужен. Но порт 3389 лучше сменить на другой и пароль поставить посложнее на домашней машине для rdp-юзера, чтобы не сбрутили боты.
    Ответ написан
    1 комментарий
  • Что тут задача фронтенда, а что бэкэнда?

    Sanes
    @Sanes
    Для начала определитесь, на чьей стороне будет храниться история просмотренного. И всё встанет на свои места.
    Это может храниться одновременно на клиенте и на сервере. А может только в одном месте.
    Голая верстка сейчас не актуальна. Без JS уже никуда.
    Ответ написан
    Комментировать
  • Как отключить автоматическую перезагрузку Windows 10 для установки обновлений?

    yakovlev_13
    @yakovlev_13
    Шаманство, экзорцизм и некромантия.
    Я пользую прогу https://github.com/hellzerg/optimizer
    Выключаю автоматическое обновление ос и драйверов.
    Система пишет что вышли обновы, но сама их не скачивает и не ставит. Всё на ваше усмотрение
    Ответ написан
    1 комментарий
  • Почему перемещение объявления и инициализации переменной на новую строчку кода влияет на результат работы программы?

    Adamos
    @Adamos
    Я правильно понял, если после объявления неопределенной переменной X начать объявлять или менять значения другим переменным, то X "засорится"?

    Наоборот.
    int i;
    Под переменную i выделен участок стека, лежащее в нем значение не меняется. Но в учебной программе из пары строк там, скорее всего, будет 0, и это создаст иллюзию, что все нормально. Кроме того, некоторые компиляторы в некоторых условиях инициализируют любые переменные, что еще больше запутывает ситуацию.
    int i;
    for(int n = 0; n < 10; ++n) {}

    Под переменную i выделен участок стека, лежащее в нем значение не меняется.
    Под переменную n выделен следующий участок стека, его изменение никак на i не сказывается.
    for(int n = 0; n < 10; ++n) {}
    int i;

    Под переменную n выделен участок стека, его значение к концу цикла равно 10 - и уже ненужная переменная n уничтожается, освобождая место в стеке.
    Под переменную i выделен участок стека, лежащее в нем значение не меняется. Это вполне может быть тот самый участок, который только что освободился, в нем записано 10 (С++ не выполняет ничего, что явно не указал программист - это оптимальный язык). Так что i вполне может равняться 10. Или нет.

    Подобные ситуации называются "неопределенным поведением".
    Программист на С++ обязан исключить их из своей программы.
    Ответ написан
    1 комментарий
  • Правильная и красивая замена if?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Ну так не вызывайте эти функции, просто указывайте, а вызывайте одну, которую получите из словаря этого. Учить питон надо старательнее. Функция - это объект первого рода в питоне. Функцию можно присвоить в переменную, передать в аргумент.
    Ответ написан
    6 комментариев
  • Можно ли вкладывать пакеты Dot1Q в PPPoE?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Нет, не может. Ибо, PPP (и PPPoE в частности) - протокол канального уровня, который не может нести в себе другой протокол канального уровня, такой, как Ethernet.
    РРР может нести в себе IP, IPX ,NCP, AppleTalk, но не фреймы Ethernet в чистом виде, к каким относятся и 802.1q.

    Но вот наоборот, завернуть PPPoE в VLAN можно.
    Ответ написан
    1 комментарий
  • Нужен ли радиатор для M.2 NVMe в игровом ПК?

    @AlfredoSauce
    Приветствую, как правило радиатор идёт в комплекте с М2, если в нем имеется необходимость, так же советую посмотреть, он так же может идти в комплекте с матерью, как правило М2 в обычном пользовательском сетапе хватает обдува элементами системы охлаждения компьютера.
    Ответ написан
    Комментировать
  • Является ли безопасным отнять от указателя 1 и итерироваться по массиву [1,N], а не [0, N-1]?

    maaGames
    @maaGames
    Погроммирую программы
    Работай с массивом не напрямую, а через функцию. Ещё лучше, убери массив в класс.
    double Get(double * arr, int index)
    {
          assert( index > 0 );
          return arr[index - 1];
    }


    Или, ещё проще. Создавай массив на 1 элемент больше и игнорируй наличие нулевого элемента.
    Ответ написан
    6 комментариев
  • Является ли безопасным отнять от указателя 1 и итерироваться по массиву [1,N], а не [0, N-1]?

    Adamos
    @Adamos
    Такие мелкие фокусы, ломающие читающему голову, небезопасны, если сопровождающий ваш код знает, где вы живете.
    Ответ написан
    2 комментария