Задать вопрос
  • Что не так с моими асинхронными запросами?

    fenrir1121
    @fenrir1121
    1. А где вывод логов?
    2. А в чем смысл переписывать полностью последовательный код на асинк?

    Начните с того, что добавьте проверку статуса для response, потому что на месте сервиса, который вы ддосите я бы возвращал вам 429.
    Далее замените принты на логи, добавьте в логах отображение времени, если его нет и посмотрите пошагово что происходит. Если не разберетесь возвращайтесь с полным логом всех операций.
    Написано
  • Неточность формулировки в книге или же я не понимаю?

    fenrir1121
    @fenrir1121
    mirfiqq, открываете документацию, смотрите возвращаемый тип.
    Написано
  • Не копятся ли строки в памяти при работе с python?

    fenrir1121
    @fenrir1121
    Но ситуация усложняется, если на них есть ссылки в других местах, особенно если имеют место циклические ссылки.
    В gc реализован механизм поиска циклических ссылок.
    А вообще есть еще механизм интернирования и если строка определена на этапе компиляции как ImmortalObject память выделяется один раз при запуске. Причем в сборке с `nogil` имморталами являются чуть ли не все строки, которые можно вычислить на этапе компиляции.
    Написано
  • Какова временная сложность del[pos:] для списка в Python?

    fenrir1121
    @fenrir1121
    dim5x, да, действительно O(n).
    listobject.c -> list_ass_slice_lock_held
    Указатели на все удаляемые объекты копируются в recycle и далее по каждому проходим и освобождаем.
    item = a->ob_item;
        /* recycle the items that we are about to remove */
        s = norig * sizeof(PyObject *);
        /* If norig == 0, item might be NULL, in which case we may not memcpy from it. */
        if (s) {
            if (s > sizeof(recycle_on_stack)) {
                recycle = (PyObject **)PyMem_Malloc(s);
                if (recycle == NULL) {
                    PyErr_NoMemory();
                    goto Error;
                }
            }
            memcpy(recycle, &item[ilow], s);
        }
    
        if (d < 0) { /* Delete -d items */
            Py_ssize_t tail;
            tail = (Py_SIZE(a) - ihigh) * sizeof(PyObject *);
            // TODO: these memmove/memcpy calls are not safe for shared lists in
            // GIL_DISABLED builds. (See issue #129069)
            memmove(&item[ihigh+d], &item[ihigh], tail);
            if (list_resize(a, Py_SIZE(a) + d) < 0) {
                memmove(&item[ihigh], &item[ihigh+d], tail);
                memcpy(&item[ilow], recycle, s);
                goto Error;
            }
            item = a->ob_item;
        }
        else if (d > 0) { /* Insert d items */
            ...
        }
        for (k = 0; k < n; k++, ilow++) {
            PyObject *w = vitem[k];
            FT_ATOMIC_STORE_PTR_RELEASE(item[ilow], Py_XNewRef(w));
        }
        for (k = norig - 1; k >= 0; --k)
            Py_XDECREF(recycle[k]);
        result = 0;
     Error:
        if (recycle != recycle_on_stack)
            PyMem_Free(recycle);
        Py_XDECREF(v_as_SF);
        return result;
    Написано
  • Какова временная сложность del[pos:] для списка в Python?

    fenrir1121
    @fenrir1121
    Я не у компа чтобы посмотреть внимательно исходники, но готов поставить сотку, что описанный случай это корнеркейс при котором просто ob_size обрезается за O(1).

    А линейно растёт время создания списка, которое тоже попало в измеряемую функцию.
    Написано
  • Какой ноутбук выбрать для максимальной совместимости с linux?

    fenrir1121
    @fenrir1121
    Чтобы настроить ноут (именно ноут, а не десктоп из ноута) на линуксе так, чтобы он работал хотя бы примерно так же, как работает на Винде10/11 из коробки - нужно быть хорошим спецом,
    ThinkPad'ы хорошо работают с линухом без напильника и влезают в ценник. Не смотря на какие-то отзывы на реддите. Тут уж скорее дело в невидиевских драйверах, но они будут работать херово на любом железе.
    Написано
  • Как планшет с Андроидом и стилусом использовать вместо мыши (для рисования в Photoshop'е)?

    fenrir1121
    @fenrir1121
    ImagineTables, любыми. Проф планшет можно выбрать относительно любого размера, с доп физическими кнопками для удобства и т д. Модель не подскажу, но у нее дюймов 15 размер. И опять же это если оно реально нужно, бюджетных моделей дофига, подержанных тоже.
    Написано
  • Как планшет с Андроидом и стилусом использовать вместо мыши (для рисования в Photoshop'е)?

    fenrir1121
    @fenrir1121
    ImagineTables, у меня младшая сестра художник и по ее мнению графический планшет не заменяется даже айпадами. Да с экраном они уже дороже банки пива, что поделаешь.
    Написано
  • Что искать в новых смартфонах на замену старому, приобретённому в 2018 году?

    fenrir1121
    @fenrir1121
    Оставляю в комментах потому что дальше будет сплошное субъективное имхо.
    Кажется все плюс-минус одинаковые. Из каких-то отличий есть раскладушки, да сверхбыстрые зарядки.
    Сам хожу с pixel 7 pro, у жены samsung s24+, кроме оболочки никакой разницы. По бенчмаркам может и есть, а в реальном использовании нет.
    Из китайцев последнее время слышал хорошее про OPPO, подумываю попробовать после пикселя.
    Написано
  • Как сделать форму обратной связи на сайте с отправкой на Whatsapp?

    fenrir1121
    @fenrir1121
    Zashamee,
    А могу ли я уместить фронт и бэк на одном хостинге?
    Можете. Можете даже в одном сервисе их уместить, для этого есть паттерн Backend-for-Frontend. Я предлагаю разделение исключительно потому, что работоспособность этого функционала может в случайный момент отвалиться (см сообщение выше) и будет глупо если из-за этого отвалится весь фронтенд.
    Написано
  • Как сделать форму обратной связи на сайте с отправкой на Whatsapp?

    fenrir1121
    @fenrir1121
    Спросил, т.к. на 4ПДА последние несколько месяцев любители модов приложения активно страдают.
    Это бесполезно спрашивать, слишком много неизвестных: кейсы у всех чем-то отличаются, алгоритмы ВА могут меняться или даже быть не детерминированными.
    Просто стоит бизнесу подсветить момент, что вдруг в случайный момент система может отвалиться и от вас это никак не зависит.
    Написано
  • Как сделать форму обратной связи на сайте с отправкой на Whatsapp?

    fenrir1121
    @fenrir1121
    shurshur, полностью согласен, что лучше или слать в телегу или на почту.
    Предположу что это странные требования заказчика, но в любом случае разработчику стоит подсветить риски.
    Написано
  • Как сделать форму обратной связи на сайте с отправкой на Whatsapp?

    fenrir1121
    @fenrir1121
    Zettabyte, пробовал, была аналогичная рабочая задача, но года 3 назад. С ВА прокатило, а вот в инсте забанили минут за 5.
    Написано
  • Как установить библиотеки python вручную?

    fenrir1121
    @fenrir1121
    scxrp, venv. вообще целиком можно перетащить и использовать. Это в целом вопрос, который должен обсуждаться с инфобезами компании, а не в интернете.

    У меня скажем аналогично нет интернета, но есть внутренний pypi и если нужно что-то специфичное можно сделать запрос на доступ в интернет до конкретных адресов.
    Написано
  • Как можно запустить бота на discord py и asyncio?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    можно ли все таки как-нибудь это реализовать


    я не понимаю что вы пытаетесь сделать и зачем


    Можно выкинуть весь ваш код, открыть любого бота на гитхабе и скопировать
    Написано
  • Как можно запустить бота на discord py и asyncio?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    kefirich, если предполагается что on_message должен слушать события бота то никак.
    Не хочу обидеть, но я не понимаю что вы пытаетесь сделать и зачем. Чего вы ожидаете передавая инстанс класса в create_task?
    Написано
  • Как проверить перемещается ли в памяти объект при "перемещении"?

    fenrir1121
    @fenrir1121
    А какое различие у функций вообще, если в одной тип параметра &Box и в него мы передаем b, который имеет тип Box от параметра просто &i32?

    Код стоит писать максимально универсальным и раст делает для этого много вещей. Лучше ознакомиться с базовыми трейтами, поскольку это очень мощные языковые концепции.
    В частности Box<T> реализует трейт Deref, где Target = T. Это означает, что при использовании указателя он может неявно приводиться к типу T. По тому же принципу, например функции с параметром &str, могут принимать String.

    И если надо просто адрес проверить, то есть вывести на экран, то лучше использовать "{:p}" для этого? И не мучиться с системой типов?
    Это описано в std::fmt. Если нужно только вывести, логичнее использовать для этого готовые параметры форматирования.
    Написано
  • Можно ли как то избавится от названия основного модуля при импорте Go файлов?

    fenrir1121
    @fenrir1121
    Можно ли как то избавится от названия основного модуля при импорте Go файлов?
    А как вы в этом случае хотите разрешать конфликты с одинаковыми объектами или функциями?
    Написано
  • Прошу о помощи: Автоматизация действий Python + Playwright, как исправить?

    fenrir1121
    @fenrir1121
    как исправить

    - Удалить жирный try...except, чтобы понять в какой именно строчке возникает проблема
    - Посмотреть почему в ту строчку приходит None вместо ожидаемого объекта
    - Исправить код чтобы пришел ожидаемый объект
    - Повторять до конца логики
    Написано
  • Как хранить ключи в Python?

    fenrir1121
    @fenrir1121
    Я не знаю зачем вы поставили в теги питон, а вопрос задаёте про андроид приложение, но по формулировкам кажется вам стоит изучить как работает ассиметричное шифрование
    Написано