Задать вопрос
  • Какие pet проекты востребованы в резюме?

    @Araya
    Какие pet проекты востребованы в резюме?

    Законченные
    Ответ написан
    Комментировать
  • Ретранслятор для управления дроном через интернет?

    @rPman
    Проблема у тебя возникнет гораздо раньше - на аппаратном уровне (до выбора протокола).

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

    Но если прямо очень очень надо и есть время и деньги на эту возню, то:

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

    - изменить методику управления, реализовав по максимуму автопилот
    дрон должен сам летать, держать курс, обходить (или хотя бы останавливаться) препятствия, справляться с длительной потерей сигнала и т.п.
    Т.е. ты не управляешь креном и высотой, а говоришь куда и с какой скоростью лететь и главное? что делать, если по таймауту не получит следующий сигнал.

    - подумать о легальности процесса, в россии (да я думаю так или иначе везде) кажется без разрешения такого типа дроны запрещены, детские игрушки пускать можно только в прямой видимости и только на небольшой высоте (есть карты разрешений, на каких высотах где можно а где нельзя, на сколько я помню там очень много мест 'нельзя')
    Ответ написан
    2 комментария
  • Как принять донат из Китая?

    вичат и тебе переоводит на вичат или алипей
    Ответ написан
    Комментировать
  • Как правильно спроектировать эту функцию?

    Vindicar
    @Vindicar
    RTFM!
    Ты неверно понимаешь, как работает overload. Это тупо подсказка для IDE - "эту функцию можно вызывать вот так, и она вернёт вот это, или же вот этак, и она вернёт вон то". Тело функции, завёрнутой в overload, игнорируется. А последнее объявление функции не должно иметь overload, и оно как раз и будет реализовывать все варианты. Так что итоговая реализация всё равно будет иметь if внутри. Да и в твоём случае overload никчему, так как другие-то параметры не отличаются.

    Ты мог бы, конечно, упороться, и сделать functools.singledispatch - при условии, что ты message переставишь первым параметром. Но, имхо, в этом нет практической необходимости, всё это делается в разы проще.

    async def show_cpanel(
        state: FSMContext,
        message_source: typing.Union[Message, CallbackQuery]  # значение одного из двух типов, но обязательное!
    ) -> None:
        '''
        Send control panel to current user
        '''
        this_user = message_source.from_user.id  # и Message, и CallbackQuery имеют from_user
        message = message if isinstance(message_source, Message) else message_source.message
    
        profile_is_visible = await req.check_profile_visible(this_user)
        message_id = (await message.answer(
            '<b>' + _('Панель управления') + '</b>',
            parse_mode='HTML',
            reply_markup=kb.control_panel(profile_visible=profile_is_visible)
        )).message_id
        await state.update_data(cpanel_message_id=message_id)
        logger.info(f'Admin #{this_user} opened control panel')

    Вот и всё. Твой вариант
    callback_query: Optional[CallbackQuery] = None,
        message: Optional[Message] = None,

    плох тем, что из него совершенно не очевидно, что хотя бы один из параметров не должен быть None.

    EDIT: Хотя я не вполне понял идею насчёт callback.message. Если я верно помню, этот атрибут хранит ссылку на сообщение от бота, содержащее кнопку, для которой был вызван callback. Поэтому его from_user по идее будет заведомо указывать на бота. Так что да, лучше последуй совету Everything_is_bad и переделай функцию так, чтобы она принимала пользователя и сообщение отдельными параметрами. А их значения определяй там, где ты функцию вызываешь.
    Ответ написан
    5 комментариев
  • Как правильно спроектировать эту функцию?

    @Everything_is_bad
    оба варианты неправильные (а второй вообще с тупой копипастой), а надо всего лишь вот это кусок
    if callback_query:
            this_user = callback_query.from_user.id
            message = message or callback_query.message
        else:
            this_user = message.from_user.id

    определять перед функцией, точнее выявлять message и передавать его в саму функцию, юзер же уже есть в этом message у CallbackQuery, да?
    Ответ написан
    1 комментарий
  • Как грамотно изначально сделать телеграмм бота на Python с помощью aiogram чтобы выдерживал как минимум 10к пользователи и можно было масштабировать?

    Daemon23RUS
    @Daemon23RUS
    Я знаю что нужно использовать библиотеку aiogram Для лучшей производительности. А также использовать для прода вебхуки, nginx, docker, redis ...... У меня есть vps сервер с 2 ядрами CPU, 2 GB RAM, 20gb

    1) Снять розовые очки.
    2) Посмотреть на задачу в свете отсутствия розовых очков.
    3) 10к пользователей в секунду ? - произвести расчет, а лучше обратится к документации Mistral api примет ли она от Вас 10к rps
    4) Произвести коррекцию своей хотелки.
    5) Имея на руках реальный план по RPS произвести предварительный расчет.

    P.S. И это я только подтолкнул Вас к правильной постановке вопроса, даже не рассматривая техническую сторону. Разобравшись в этом нюансе, у Вас будут другие (более технически правильные вопросы) на которые по возможности сообщество ответит.
    Ответ написан
    Комментировать
  • Как общаются микросервисы в реальных проектах?

    AleksejMsk
    @AleksejMsk
    Программирую от души за деньги
    Микросервисы ненужны.
    А если нужны (нужна аргументация их полезности игнорируя маркетинг коучей по микросервисам) то ненжны очереди так как и без них два процесса смогут общаться по любому удобному протоколу ... http grpc и т.д.
    Очереди нужны как удобный уровень абстракции от потребителя сообщения.
    На практике - rest как удобный и читаемый человеком протокол.
    Если просадки то переходим на уровень погеморойней grpc.
    В общем усложнять себе жизнь все предпочитают поэтапно, если такое позволительно.
    Ответ написан
  • Есть ли прога для фонового доступа к удаленному компьютеру?

    @Giperoglif
    это:
    1. нарушает закон;
    2. классифицируется как шпионское ПО;
    3. приводит к уголовной ответственности.
    Ответ написан
    9 комментариев
  • Какой ноутбук брать для разработки игр в 3D?

    @tukreb
    Если хотите, чтобы не умер через пару лет, то вам нужно искать переносимую станцию. Обычно их выпускает тайваньская фирма Clevo, но в Китае её маркируют как Hasee, в Европе Dream Machines, Saiger, XMG, а в Америке EUROCOM.
    Msi так же выпускает рабочие станции, линейка Titan называется (только не тонкая серия).
    Acer вроде раньше выпускал такие в линейке Predator, но вроде потом скатились в тонкий шлак с дохлым охлаждением.
    Такие машины стоят от 400к рублей минимум, весят до 5 кг, (вместе с блоками питания которые до 1-2 кг).
    Это единственный вариант, если вы хотите "ноутбук" и который не сгорит через пару лет из-за плохо охлаждения.
    В противном случае только ПК.

    P.S Так как Clevo - это OEM, то каждый маркирует их ноутбуки по своему, поэтому я не могу вам назвать что смотреть в Clevo. Смотрите по цене, премиальная линейка начинает от 350-400к, и чтобы были толстые.
    P.S2 Я тут глянул современные MSI Titan и все они тонкие, тогда вам остаётся искать только Clevo либо какие то очень лимитированные ноутбуки с крутым охлождением.
    Ответ написан
    1 комментарий
  • Как скачать видео с YouTube?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    yt-dlp?
    Ответ написан
    5 комментариев
  • В какой контейнер ставить сертификат Lent`Encrypt в NGINX-front или NGINX-backend?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Во первых для вашего определения того, что вы называете "фронт" есть официальный термин - реверс прокси.
    И конечно же сертификаты должны быть на нем.
    Ответ написан
    Комментировать
  • Расшифровать диск с Битлокером возможно ли?

    @xypharion
    DisLocker - если знаете ключ. Также ключ может быть в формате файла .BEK. Если ноутбук помер, то на другом компьютере он не расшифруется, если использовался TPM.

    Есть еще такие варианты, если не знаете ключ:

    Elcomsoft Forensic Disk Decryptor (платный, требует следов ключей в памяти).
    Passware Kit Forensic (анализирует дампы памяти).
    BitLocker Recovery Password Viewer (для поиска ключа в Active Directory).

    p.s. Первые 2 программы стоят как крыло от самолета. Проще ноутбук новый купить.

    Но без ключа или пароля расшифровка почти невозможна.

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

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

    @Refguser
    Решения для бизнеса: корп.сайты, ИМ, боты и пр.
    Скорее всего с ПК и был уведён.
    Вирусы, левый клиент и и тп.
    Ответ написан
  • Как определить свой уровень программирования?

    @Everything_is_bad
    твой уровень программирования "школьник 9го класса, изучающий полгода java"
    Ответ написан
    1 комментарий
  • Как определить свой уровень программирования?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Если твой код иногда работает, то поздравляю - ты Junior. Если понимаешь, почему не работает, то ты уже на пути в Middle'ы. А если уже ненавидишь себя за выбор пути и задумываешься о домике на берегу реки - добро пожаловать в Senior'ы
    Ответ написан
    8 комментариев
  • GUI для DeepSeek — есть ли?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    https://openrouter.ai/
    Можно этим пользоваться. Там сразу есть выбор - бесплатный вариант или платный от различных провайдеров. То есть сразу выбираешь модель и пользуешься UI через браузер.

    Вот платные варианты (видно, где больше перегруженность серверов):
    spoiler
    6800c5973a7f2069239369.png

    Добавить свой ключ вроде как
    можно
    6800c70c96331590000075.png
    Но лично я этого не делал, единый счёт на все нейронки удобнее.
    Ответ написан
    7 комментариев
  • Чем бэкапить файловую общую папку на Windows в 2025 году?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Чем бэкапить файловую общую папку на Windows в 2025 году?
    Тем же, чем и в 2024, и в 2023, и в 2020, и в 2015 (дальше продолжить тоже можно, но какие-то инструменты уже не в моде или устарели)
    Ответ написан
    Комментировать
  • Docker images -a. Надо ли удалять это?

    @IgorOhrimenko
    Так можно безопасно очистить:
    docker image prune
    WARNING! This will remove all dangling images.
    Are you sure you want to continue? [y/N]

    При этом будут удалены все и далеко не факт, что освободится место, т.к. наверняка вместо есть точно такие же образы, но с имеем.
    Для освобождения места можно воспользоваться командой `docker system prune --volumes`.
    Ответ написан
    Комментировать
  • Nexus 4: Пропал режим разработчика, как его снова включить?

    Попробуй в настройках "О телефоне" поклацать по "Номер сборки" раз 10-15
    Ответ написан
    2 комментария
  • Как умножать без периода в c#?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Типичный новичок в программировании, который не знает что такое числа с плавающей точкой
    Вот, читай и учись
    https://0.30000000000000004.com/
    Ответ написан
    Комментировать