• Не ищет картинку. Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Да, Python.
    Ответ написан
    1 комментарий
  • Как мне убрать несколько символов из tuple?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Изучать самые основы языка.
    Ответ написан
    4 комментария
  • Замена dict^ов в питоне. Какие существуют аналоги?

    @deliro
    Словарь на 33 значения (сама структура) будет занимать примерно 1.2кб. Так будет примерно для любого языка, т.к. реализация словарей на базе хэш-таблиц (асимптотика O(1)) у всех плюс-минус похожая. Исключения составляют всякие словари на базе деревьев (асимптотика O(logN)). Но у словаря ещё есть содержимое — те самые 33 пары строк.

    Ты конечно можешь запихать их в один кортеж длиной 66 (скажем, чётные индексы — ключи, нечётные — значения вида ("й", "y", "ц", "mq", "у", "mx", ...)) и получить сложность O(N) и сэкономить примерно 600 байт (т.к. кортеж на 66 элементов занимает примерно 600 байт), но содержимое у тебя никуда не денется. Ты даже можешь отсортировать пары по ключу и искать бинарным поиском за O(logN) "на халяву"

    Но пытаться сэкономить сотню байт в питоне — это как заливать 92 бензин в феррари из-за того что он дешевле.
    Ответ написан
    Комментировать
  • Замена dict^ов в питоне. Какие существуют аналоги?

    phaggi
    @phaggi Куратор тега Python
    лужу, паяю, ЭВМы починяю
    Можно сделать кортеж с латинскими значениями и выбирать оттуда по индексу, соответствующему коду кириллических символов со смещением.
    Ответ написан
    1 комментарий
  • Как добавить синхронность в асинхронный код?

    Vindicar
    @Vindicar
    RTFM!
    Ну во-первых, задумайся: что значит "три пользователя её вызвали"?
    Время доставки пакета по сети неравномерно. Первый пользователь мог нажать "Отправить" чуть раньше, но его сообщение будет доставлено после второго. Так что вопрос обеспечения корректного порядка УЖЕ непрост.
    Далее, ключевая идея аснихронности как раз в том, что во время паузы в обслуживании одного запроса мы можем заниматься другим запросом.

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

    @pfg21
    ex-турист
    ftp наружу не советую светить - создавался во времена когда о защите соединений не думали и потому защиты от атак в нем мало.

    пример:
    фтп открыт на локальном адресе 192.168.11.11 порт 21
    на роутере, с внешним "интернет" адресом 89.67.45.32 (адрес от балды) , пробрасываешь порт 10021 (к примеру, можно выбрать любой) на 192.168.11.11 порт 21.

    теперь до твоего фтп из любой точки интернета можно достучаться по адресу 89.67.45.32 порт 10021.

    да и сказал rPman на клиенте обязательно ставишь режим фтп "пассивный".
    "активный" фтп через NAT не пробрасывается без доп.гемороя.

    п.с.: если провайдер тебе выделяет "серый" интернет-адрес обычно из зоны 100.*.*.* но могут быть и другие, то значит у него стоит свой NAT-сервер и достучаться к твоему роутеру из интернета практически не возможно.
    Ответ написан
    6 комментариев
  • FTP. Как подключиться через другую сеть?

    @rPman
    Логично, из чужой wifi сети не должно быть доступа к твоей.

    Если у тебя есть подключение к интернету (роутер в твоей сети где находится ftp сервер) то нужно на этом роутере настроить проброс портов (это может называться Виртуальные серверы и находятся в закладке NAT, нужно там указать свой ftp сервер в локальной сети и выбрать порт, по которому извне он будет доступен), в этом случае для доступа к серверу понадобится знать внешний ip адрес (если он динамический, нужно будет настроить доменное имя dyndns или каким либо другим способом получать информацию о текущем ip адресе, но он может меняться раз в сутки или даже несколько часов)

    Если речи об доступе через интернет нет а проблему нужно как то решать аппаратным способом, то нужно объединить твою и эту 'другую' сети, настроив роутер/ретранслятор (некоторые роутеры умеют одновременно подключаться к wifi сетям одновременно раздавая wifi своей), с высокой вероятностью эти настройки могут быть не доступны из GUI и придется углубиться в документацию.

    Кстати можно приобрести wifi адаптер (например usb) и подключиться одновременно к двум wifi сетям, тогда будет доступ одновременный в обе
    Ответ написан
    8 комментариев
  • Kivy python. Как сделать условный оператор в .kv файле?

    Lord_of_Rings
    @Lord_of_Rings
    Python developer
    Вместо:
    if data[1]: 
        root.manager.current = "main"

    Делайте так:
    if data[1]: root.manager.current = "main"
    Ответ написан
    1 комментарий
  • Пытаться изучить несколько технологий === стагнировать по обоим?

    DevMan
    @DevMan
    блин, откуда столько навоза в голове? ой, боюсь.
    не бойся, пробуй и делай. дальше сам поймёшь.

    я нашел сотни способов сделать неправильно, осталось найти правильный способ.
    эти слова, в другой форме, сказал один из величайших учёных.

    я сейчас делаю бэки для финансовых контор с оборотом в сотни миллионов баксофф. до этого писал бэки для страховщиков, с миллиардными оборотами. до них возился с клаудами. до этого пилил сеть с 10 млн посетителей каждый день. перед ними делал платформу для известного фешн-агенства. перед этим я ещё делал кучу всего, включая программирование банкоматов и pos.
    и все это никак не мешает мне запилить апку для мобилы или часов. что я регулярно и делаю.

    делай хоть чот.
    Ответ написан
    Комментировать