Задать вопрос
  • Как шифровать текст в python?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    способ расшифровки должен быть непопулярным.

    А вот это уже смешно. Чем тебя не устраивают популярные способы типа RSA?
    Ты, видимо, не слышал о термине Security through obscurity , на котором обожглись многие и ты хочешь повторить их путь
    Ответ написан
    10 комментариев
  • Как сделать SQL запрос из двух таблиц?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пока на ум приходит получить все категории, потом в цикле пройтись по ним и...

    Естественно это не делается так. Такие задачи решаются на стороне бд через джоин таблиц. Не считая ошибки синтаксиса и отсутствия лимита, запрос в ответе Vindicar подойдет. Схема хранения не самая лучшая, так как по сути у вас получается один-ко-многим (одна категория ко многим постам), и если категорий на 1 пост будет больше 1, вся структура идет в мусор. Более качественным решением все же будет многие-ко-многим между постами и категориями.
    Ответ написан
    1 комментарий
  • Как сделать SQL запрос из двух таблиц?

    Если данных в каждой категории немного - то оверхед от дублирования в каждой строке результата небольшой, и ответ Vindicar прекрасен.
    Если оверхед большой, то:
    1. получаете первым запросом категории,
    2. сохраняете в какую-то структуру, где ключом служит id категории,
    3. выбираете посты одним запросом, с фильтром по id нужных категорий,
    4. в процессе разбора результатов этого запроса, распихиваете посты сразу по нужным категориям.
    Ответ написан
    1 комментарий
  • Как написать свой компилятор?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Трансляторы
    Седой и строгий
    Содержимое этой книги в ответ не вместится.
    60b76e70c748b529799442.jpeg
    А ваш вопрос на столько общий, что короче не получится.
    Ответ написан
    3 комментария
  • Как подсчитывать на видео проходящих людей по головам?

    @rPman
    Боюсь ты не найдешь готовых решений
    Мало того, тут нужно искать размеченный датасет голов людей и радоваться этому богатству

    Решение для тебя - берешь несколько сотен тысяч видео (разные времена года), нанимаешь десяток человек в помощники и садишься размечать, затем берешь готовые решения по нейронкам, арендуешь на недельку себе кластер с gpu или на месяц другой игровую видеокарту и вперед с примерами от pytorch пилишь результат.

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

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

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    context = {}
    
    last_command_use_time = context.get(user[0].id) # Возвращает время последней команды пользователя или None, если нет значения
    
    if not last_command_use_time or (datetime.datetime.now() - last_command_use_time).seconds > 10: # проверяет, что last_command_use_time  - None (т.е. данных о юзере нет) или с момента обращения прошло больше 10 секунд
    
        # команда
    
        context[user[0].id] = datetime.datetime.now() # Записывает текущее время использования команды
    
    else:
        # сообщение о том что нужно подождать

    И как можно получить время которое осталось до следующей возможности выполнения команды?

    Намекну - в строке с if есть почти готовый кусок, который нужно чуть изменить.
    И да, судя по тому, что вы не можете прочесть элементарный код - отложите болошлепство и почитайте учебник.
    Ответ написан
    Комментировать
  • Как мне получить результат из асинхронной функции?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Ключевое слово await
    myvar = await myfunc()

    Ключевое слово await указывает, что при выполнении следующего за ним выражения возможно переключение с текущей сопрограммы на другую или на основной поток выполнения.
    Соответственно выражение после await тоже не простое, это должен быть awaitable объект.
    Ответ написан
    2 комментария
  • Как можно сделать виртуальную «флешку», которая будет отображаться в проводнике windows 10?

    hint000
    @hint000
    у админа три руки
    На винде есть родная (не требующая что-то устанавливать) команда subst, запускается с параметрами из командной строки и создаёт "диск" из локальной папки.
    Той же командой с другими параметрами можно удалить такой "диск".
    https://ru.wikipedia.org/wiki/Subst
    Кстати, это способ из 90-х годов, ныне почти забытый.

    Можно из Python'а выполнить системную команду.
    Ответ написан
    4 комментария
  • Можно ли эмулировать нажатие на кнопку на сайте библиотекой Бютифул суп?

    Maksim_64
    @Maksim_64
    Data Analyst
    beatifulsoup это парсер для html и xml документов. И к нажатиям кнопок не имеет никакого отношения от слова совсем.
    Ответ написан
    1 комментарий
  • Можно ли эмулировать нажатие на кнопку на сайте библиотекой Бютифул суп?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    На Авито эту кнопку сделали как раз для того, чтобы парсеры обламывать.
    Ответ написан
    2 комментария
  • Почему метод get не работает в цикле?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Вы предлагаете нам гадать тут на кофейной гуще?
    Никаких входных данных, по которым можно было бы судить о причине неработоспособности вашего кода вы не предоставили.
    Я могу перечислять возможные причины вечно!
    - может быть в index.html мало или нет данных
    - возможно вы неправильно ищете элементы в html
    - некорректно сформирована ссылка с пагинацией (кстати. почему не пользуетесь параметрами, а лепите в урл?)
    - сайт имеет защиту от скачивания тпым перебором чисел, может быть ему нужен еще какой-то формальный параметр
    - вы не находите куда сохраняется результирующие файлы из-за непонимания что такое текущий каталог
    - вы не дожидаетесь ваших 10 секундных таймаутов
    - вы не в тот каталог смотрите в поисках результатов
    - как-то не так запускаете и не видите ошибок, например с доступом.

    С учетом того, что вы даже сюда скопировали код как-то косо и косо подменили куски строк в коде на плейсхолдеры, может быть что угодно из перечисленного
    Ответ написан
    Комментировать
  • Возможно ли написать сайт на питоне?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Да. но отдавать вам придётся все равно html, просто вы его будете сами генерировать
    Ответ написан
    Комментировать
  • Как создать перемнную для каждого пользователя?

    GavriKos
    @GavriKos
    Держать массив/файл/бд с соответствием "айди юзера - группа"
    Ответ написан
    Комментировать
  • Как поменять global на return в коде? Как сделать, чтобы все сообщения от пользователя из разных функций передавались в последнюю функцию?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Зачем у вас тег JIRA в этом вопросе, если вопрос никакого отношения не имеет к ней?
    Ваша проблема в том, что вы не знаете языка, на котором пытаетесь писать. Вернее даже не писать, а исправлять что-то уже написанное.

    global - это инструкция, которая объявляет переменную в функции глобальной на уровне модуля. return - это инструкция. позволяющая вернуть из вункции значение в точку вызова.
    Вы пишете бота, и функции, задекорированные как обработчики событий от библиотеки для работы с протоколом мессенджера, не вызываются вами в коде непосредственно. Нет никакого смысла, чтобы эти функции что-то возвращали. Там, где они вызываются в недрах библиотеки их результаты не будут никем востребованы.
    Здесь использованы глобальные переменные для сохранения результатов рботы хендлеров. По-хорошему нужно создать объектный контекст для этих хначений, сохранять отдельный контекст для каждой сессии общения бота с каждым человеком, но судя по вашему вопросу, вам всё это еще рано.

    Просто правильный ответ на ваш вопрос будет не понят, или придётся объяснять с самых азов, или решать за вас вашу проблему, чему противореит суть данного ресурса.
    Тут готовы помочь, что-то пояснить, ответить на конкретные вопросы, но не делать за кого-то чужую работу и не формировать индивидуальные курсы питона с нуля. С этим надо идти во фриланс.
    Ответ написан
    Комментировать
  • Как решить ошибку RuntimeWarning: Enable tracemalloc to get the object allocation traceback?

    @igor6130
    Вы запускаете асинхронные функции как синхронные. В ошибке об этом сказано.
    Ответ написан
    3 комментария
  • Как правильно сделать структуру базы данных?

    Masterbeard
    @Masterbeard
    Люблю бывать там, куда Макар телят не гонял.
    Вы хотите сказать что mariadb не поддерживает связь между таблицами "Один-ко-многим"?
    Давайте посмотрим как организовать связь между таблицей "Wine" и таблицей "Grape". В каждой из этих таблиц есть поле с уникальным идентификатором "wine_id" и "grape_id". Создадим таблицу "grapes_to_wine" в которой будем хранить "wine_id" и "grape_id". Связываем таблицы по схеме: таблица "Wine" связана с таблицей "grapes_to_wine" по полю "wine_id" отношением "один ко многим" и таблица "Grape" связана с таблицей "grapes_to_wine" по полю "grape_id" отношением "один ко многим". В итоге получаем структуру при которой к каждому элементу таблицы "Wine" мы можем соотнести любое количество элементов таблицы "Grape".
    Как то так.
    Ответ написан
    4 комментария
  • Почему при запуске скрипта Python пишет это?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Возьмите и переведите последнюю строку.
    Ответ написан
    Комментировать
  • Как оптимизировать задачу?

    GigaLORDex
    @GigaLORDex
    Бизнес-Системный аналитик
    Я бы еще уточнил по бизнес-процессу, а действительно ли надо каждые 6 часов дергать всех клиентов и запрашивать по ним, как вариант, можно пойти таким путем:
    - Первично дергаем всех клиентов (50к) и проверяем на долг.
    - Далее каждые 6 часов запросом дергаем только тех клиентов, по которым были взаиморасчеты. (ведь в базе могут быть клиенты, с которым взаиморасчеты уже 5 лет никто не вёл, они исторически там лежат, зачем по ним каждый раз запрашивать)
    Ответ написан
    Комментировать
  • Как в Python перевести string в bytes, не меняя string?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Если вы хотите сохранить в БД бинарные данные. то у вас есть три варианта:
    1) Хранить в БД данные в поле типа binary blob. В таком поле может храниться произвольный набор байтов, он не птается преобраховаться в строку при работе.
    2) Хранить в БД экранированную строку в поле обычного строкового типа. При этом все непечатные и спец-символы должны быть экранированны специальной последовательностью, которая состоит из печатных обычных символов. Тогда нужно перед испольованием полученных из БД данных разэкранировать строку и получить байты.
    3) Можно хранить данные в БД в обычном текстовом или текстовом blob-поле, но в виде закодированно последовательности base16 или base64. В base64 каждые два байта кодируются тремя символами из 64-битного набора печатных символов. Нужно кодировать и декодировать такие строки при сохранении\загрузке.

    Вам больше всего подходит base64. Посмотрите в документации как с этим работать
    Ответ написан
    4 комментария
  • Почему попытка обратиться к только что созданной таблице вызывает ошибку "no such table"?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Слушай автор давай табличку по другому переделаем. Вот так

    CREATE TABLE IF NOT EXISTS warning(id INT, user_id INT, count INT);


    А то твое изделие зашкварно совсем.
    Ответ написан
    Комментировать