Задать вопрос
  • Как сделать так чтобы фраза не повторялась?

    shurshur
    @shurshur
    Ну, код надо оформлять кнопкой на панели, потому что питон без отступов абсолютно нечитаем.

    А так советую по пальца разобрать, что тут написано:

    1. Сначала присваиваем a=0

    2. Если текст сообщения '/get' - увеличиваем a на 1. То есть получается a=1

    3. Если текст '/get' и a больше или равно 2... Но ведь в предыдущем пункте a=1, так что условие ложно...

    И да, рекомендую также попробовать самому ЗАПУСТИТЬ "упрощённую версию", чтобы убедиться что она не просто не работает, а не работает совсем-совсем...
  • Как сделать скриншоты excel под linux и macos посредством python?

    shurshur
    @shurshur
    Ap2pGalar, я бы посмотрел в сторону интерфейса LibreOffice UNO. Есть штатная утилита unoconv, которая умеет через него конвертировать файлы, в справке не вижу никаких опций для фильтрации части документа, но там можно на python писать функционал, работающий с содержимым документа.
  • Это можно считать микросервисной архитектурой?

    shurshur
    @shurshur
    Popou, хорошо, показываю как это бывает.

    Допустим, у нас есть сайт, на котором есть фронт, бэк и целый ряд микросервисов.

    Фронт - это js, тут понятно, его отдаёт, например, nginx статикой.

    Бэк - приложение, которое запущено минимум в N+1 экземплярах, где N - минимальное количество для обеспечения обработки нагрузки.

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

    И каждый из них в нескольких экземплярах. При этом никакая часть инфраструктуры даже не задумывается о том, сколько каких сервисов и где они сейчас находятся. Они через discovery находят нужный сервис и его используют. При этом сервис может быть доступен как непосредственно (например, в DNS имя вроде auth-service.svc ведёт на N+1 разных IP), так и через прокси/балансер (nginx, envoy, haproxy...), который скрывает от других логику и практику выбора конкретного инстанса сервиса.

    При падении инстанса сервиса система оркестрации сама его перезапускает и возвращает в кластер. При обновлении постепенно запускаются новые инстансы сервиса, но старые гасятся только когда новые переходят в состояние ready to serve requests (что проверяется через healthcheck), и только в таком состоянии на них начинают идти новые запросы.

    Также если нужно поддерживать обратную совместимость, в сервисе могут быть микросервисы разных версий, в том числе и совсем старых, и на них распределяются запросы по каким-то правилам (например, как это принято, через передачу версии сервиса в URL, типа вызов /v1.17/method прокидывается в обработчик версии v1.17).

    Можно ли в монолитное приложение загрузить десятки dll разных и даже одинаковых версий и распределять по ним запросы? А зачем? А вдруг в одной из старых версий будет баг, который повалит вообще всё, а не только эту старую версию?
  • Enterprise решение для виртуальных сред выполнения, реально-ли?

    shurshur
    @shurshur
    Это можно сделать только с предоставлением пользователю хорошо защищённого и качественно опечатанного собственного оборудования. Помещать пользователю гонять предоставленное приложение в виртуалке/отладчике крайне сложно.

    С какой это вообще всё целью? Нужно понимать, что на по-настоящему критически важной инфраструктуре никто в здравом уме не будет ковырять чужое приложение без каких-то невероятно важных причин.
  • Почему в обычном питоне работает а с библиотекой TelegramBotApi нет?

    shurshur
    @shurshur
    Рекомендую сравнить:

    def foo():
        pass
    
    for i in range(10):
       print (id(foo))


    с вот таким:

    for i in range(10):
       def foo():
           pass
       print (id(foo))


    Если определение функции засунуть в цикл, то при каждой итерации цикла она будет определяться заново, и это будет новая функция. Зачем так делать?
  • Почему мой код приводит к ошибке?

    shurshur
    @shurshur
    mayton2019, gcc -Wall обычно на такое ругается, а в сочетании -Werror ещё и очень грязно...
  • Как показать видео на сайте из Телеграм?

    shurshur
    @shurshur
    Не видел такого вживую. Но, скорее всего, создаётся бот, которого не жалко, ему из-под юзера загружается файл, а затем бот генерит ссылку на скачивание файла со своим токеном и эту ссылку вставляют на сайт. Проблем тут много. И токен бота увести могут, и работает всё это не очень удобно-надёжно, надо постоянно отслеживать живость ссылок и делать новые. Большой вопрос насколько хорошо там работает перемотка видео...

    Я уж не говорю о том, что там может быть на деле нет никакого Телеграма...

    В любом случае, это решение не для чистого WordPress. Ну и Телеграм может легко начать с этим бороться, если слишком много умных будет. Лучше на такое не закладываться вообще.
  • Как сделать из int str?

    shurshur
    @shurshur
    Артём Смирнов, ещё раз, я же написал, почему "x is y == z" ни к чему хорошему не приведёт.
  • Как сделать из int str?

    shurshur
    @shurshur
    Артём Смирнов, потому что надо чётко понимать, что делает та или иная конструкция, что кладётся в какие переменные, какие вызовы что делают...

    Угадывать будет при if непонятно-что: не стоит. Угаданное может оказаться неправильным.
  • Можно ли получить телеграм id по номеру телефона?

    shurshur
    @shurshur
    vladimir_avshtolis, надо читать доку по клиентскому API (есть библиотеки типа tdlib, telethon), не путать с Bot API, это не на http-запросах.

    Но знание id пользователя всё равно бесполезно, потому что пока пользователь не нажмёт /start, бот ничего не сможет с этим id сделать.

    Для автоматизаций лучше использовать telegram web login или ещё какой-то механизм. Например, можно предложить пользователям из личного кабинета брать код, который посылать командой боту. Ещё можно, чтобы пользователь вводил боту телефон, бот посылал пользователю на этот телефон смс для верификации. В общем, варианты есть.
  • Как получить переменную из любой функции класса?

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

    shurshur
    @shurshur
    geiwoooj, как можно объяснять интегралы и квантовую физику, если не выучена таблица умножения?
  • Как обстоят дела с работой в Украине?

    shurshur
    @shurshur
    pro100gram, разработчики тоже разные бывают, одни делают сайты, другие игры, третьи банковский софт... Что именно просело или выросло в этих условиях надо изучать отдельно. В том числе исследовать изменения вакансий на сайтах поиска работы, возможно, что по некоторым областям изменения можно будет увидеть прям сразу.

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

    shurshur
    @shurshur
    pro100gram, изменилась прежде всего структура рынка. Например, услуги продвижения сайтов наверняка упали, потому как непосредственно для функционирования многих бизнесов они не особо нужны (в кратковременной перспективе уж точно). Поэтому начинать надо с того, что именно умеешь и уже тогда изучать, какие есть изменения в востребованности специалистов именно этого профиля. А не так вот, абстрактно-отвлечённо.
  • Какой язык стоит использовать для создания юзербота в Телеграм?

    shurshur
    @shurshur
    Как и везде, выбирать язык нужно в первую очередь по причине наличия знаний и опыта о нём, а не по причине наличия чьих-то ответов на хабре.
  • Как правильно указывать(хранить)пароли в docker-compose?

    shurshur
    @shurshur
    mrkotovsk1, например, в файл test.env пишем что-нить типа:

    VAR1="123"
    VAR2="456"

    В нужном сервисе добавляем этот файл с помощью директивы env_file:
  • Что можно сделать в данной ситуации?

    shurshur
    @shurshur
    JSjun26, модель в django - это абстракция для прозрачного доступа к данным: создание, получение, фильтрация, изменение, удаление. Распаковку файлов надо выносить туда, где с ними идёт обработка, поскольку это элемент логики, а не абстракции данных. Например, пользователь загружает архив с фотографиями, сайт распаковывает их и создаёт для каждой фотки свой объект модели, который с помощью .save() сохраняется в базе.
  • Что можно сделать в данной ситуации?

    shurshur
    @shurshur
    JSjun26, вытащить распаковку zip из __str__ обязательно. Это как запускать ракеты при раскрывании объектива бинокля - совершенно нелогичное поведение. Тем более что всё осмысленное поведение этого метода - возврать self.name.
  • Как правильно строить обработчик колбэков(callback_query_handler) в библиотеке aiogram?

    shurshur
    @shurshur
    soremix, F3ANG, к слову, я считаю, что лучше не использовать id пользователя (from_user.id) как id чата (chat.id). Теоретически, они могут не совпадать не только для групповых чатов, и кто знает, не сделает ли Телеграм их когда-нибудь разными?
  • Как через python авторизоваться на госуслугах?

    shurshur
    @shurshur
    mboze, параметр auth используется для HTTP-авторизации, которую сайт госуслуг не использует. Там обычная форма.