Задать вопрос
  • Как из бд в django выводить запись в тэг?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    В документации есть гайд для новичков. Там все описано.
    Ответ написан
    Комментировать
  • Имя 'user_id' не определенно, что делать?

    GavriKos
    @GavriKos Куратор тега Разработка игр
    Тут какая то порнография с отступами, методами и их параметрами.

    def process_shot(user_id):
        global cur, con
        return True
        return False
    success_rate = get_upgraded_success_rate(user_id)


    Это вот вообще как? Зачем? Метод то закончился, откуда user_id возьмется
    Ответ написан
    Комментировать
  • Как в jinja вывести изображения из бд, если они сохранены в бд в двоичной коде?

    Vindicar
    @Vindicar
    RTFM!
    Может, сделать отдельный роут, который отдаёт картинку из базы, и при итерации вставлять img со ссылкой на этот роут?
    Вообще хранение самих изображений в базе - спорная идея.
    Ответ написан
    1 комментарий
  • Странные Bluetooth устройства, откуда?

    @lonelymyp
    Хочу вылезти из минуса по карме.
    Рептилоиды пытаются контролировать твоё сознание, одевай шапочку из фольги!

    DV8235 это блютус пульт от приставки МТС, а B866 это собсно сама приставка ZTE-B866
    Остальные названия это тоже какой-то бытовой мусор электронный. Приставки, трекеры и прочая современная ерунда от всяческих умных устройств, которых развелось море вокруг.
    Ответ написан
    Комментировать
  • Влияет ли операционная система на миграцию alembic?

    Не должно
    Ответ написан
    Комментировать
  • В какой ВУЗ лучше поступать для изучения ИБ?

    CityCat4
    @CityCat4 Куратор тега Информационная безопасность
    Жил да был черный кот за углом...
    Вот я поддержу kalapanga как человек, который работает в ИБ уже почти десяток лет. Пентест - это только одна из дисциплин, при том, что все ИБ - это "чудище обло, огромно, озорно, стозевно и лаяй". Чисто пентестом можно заниматься только в большой специализированной конторе типа Касперского, Group-IB etc.
    В конторах рангом помельче внезапно выяснится, что ИБ не только про компы, а еще и про людей, что у ИБ существует весьма неприглядная изнанка (например в виде СМП - вот сидишь ты такой, и тут тебе прилетает запрос - "а чем занималась вчера Маша Иванова". Ты трудолюбиво отсматриваешь скрины экранов Маши и выясняешь, что: а) Маша очень любит секс б) Маша спокойно обсуждает вопрос в какой позе она будет давать в) Маша перейдет к делу, если ее просто на иномарке покатать...
    А еще есть документация, которую придется писать, юзеры, которым придется обьяснять почему нельзя нажимать на ссылки в почте etc.
    Да и не возьмут в ИБ в такой конторе чела со стороны - слишком много ему придется доверить.

    Но если желание еще не пропало - поступайте в любой, куда пройдете. Все равно много чего придется учить самому...
    Ответ написан
    1 комментарий
  • В какой ВУЗ лучше поступать для изучения ИБ?

    @kalapanga
    Вы уж определитесь - "для изучения ИБ" или "будущему пентестеру".
    Иначе в процессе обучения можете здорово разочароваться. На специальности 10.03.01 "Информационная безопасность" (в зависимости от профиля) так называемого "пентестинга" либо может не быть вообще, либо это может быть например одна дисциплина на 1-2 семестра.
    Ответ написан
    Комментировать
  • Ошибка в с Базой данных?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Ivan_pmk, а если...?
    self.cursor.execute("SELECT `user_id` FROM `users` WHERE `user_id` = %s", (user_id,))
    result = self.cursor.fetchall()
    self.cursor.close()

    P.S. Я вообще не понимаю в этом Python, но первый же пример из Интернета...
    Ответ написан
    5 комментариев
  • IndentationError: unexpected unindent, что делать?

    Vindicar
    @Vindicar
    RTFM!
    Почему ты открыл try, но не закрыл его блоком except или finally?
    Сначала учи язык, потом уже клепай ботов.
    Ответ написан
    Комментировать
  • Возможно ли совмещать работу фронтендера (уровень джун или мидл) и учёбу в институте на очном?

    iglebov
    @iglebov
    Backend-разработчик
    По своему опыту скажу, что учиться в университете и одновременно работать разработчиком реально.

    В моём случае руководитель пошёл на встречу: я устроился на полставки (20 часов в неделю) + работа дистанционно.

    Так что главное 1) решить что важно для тебя, 2) уметь договариваться.
    Ответ написан
    Комментировать
  • Могу ли я делать и продавать ремастеры знаменитых игр и фильмов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Конечно можете. Заключаете договор с правообладателем, приобретаете право на создание производного произведения и вперёд, творите.
    Ответ написан
    Комментировать
  • Ошибка при присоединении участника к серверу Discord (Disnake)?

    fenrir1121
    @fenrir1121
    Начни с документации
    Вам помочь с переводом?
    get() отсутствует 1 обязательный позиционный объект 'iterable'

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

    P.S. И легкость вопроса смените про именованные и позиционные аргументы написано в любой книге для начинающих.
    Ответ написан
    Комментировать
  • Что делать при ошибке CSRF token missing?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    Читать документацию, конечно. Там это описано.
    Ответ написан
    3 комментария
  • Что из себя представляет должность администратора баз данных?

    Melkij
    @Melkij
    DBA для вашего PostgreSQL?
    являясь собственно DBA последние сколько-то там лет...

    Основная рутина:
    - внесение изменений схемы данных без даунтайма собственно приложения
    - выполнение каких-то массивных операций над данными (удалить половину данных из полутеррабайтной таблички, например)
    - исследование проблем производительности со стороны базы
    - решение в целом проблем на серверах баз, не только производительности
    - текущее сопровождение: бекапы, репликация, переезды с одних серверов на другие, настройка новых серверов, минорные обновления базы
    - major обновления базы
    - заведение пользователей и организация прав доступа
    - консультации разработчикам "как лучше сделать"
    - консультации "так это работать не будет, придётся менять"
    Ответ написан
    Комментировать
  • Как посмотреть тело функции в python?

    drygdryg
    @drygdryg
    Python-разработчик
    Поскольку самая популярная и эталонная реализация Python: CPython имеет открытый исходный код, вы можете найти исходники встроенных функций в репозитории с исходными кодами CPython: https://github.com/python/cpython.
    Некоторые встроенные функции написаны не на Python, а на том языке, на котором написан сам интерпретатор Python: на Си, поэтому, скорее всего, там вы не найдёте легкочитаемый исходный код функций sum, min, max и др.
    Но в случае, когда функция или любой другой объект написан на Python, посмотреть его исходный код можно с помощью inspect.getsource:
    >>> import inspect
    >>> import requests
    >>> print(inspect.getsource(requests.get))
    def get(url, params=None, **kwargs):
        r"""Sends a GET request.
    
        :param url: URL for the new :class:`Request` object.
        :param params: (optional) Dictionary, list of tuples or bytes to send
            in the query string for the :class:`Request`.
        :param \*\*kwargs: Optional arguments that ``request`` takes.
        :return: :class:`Response <Response>` object
        :rtype: requests.Response
        """
    
        return request("get", url, params=params, **kwargs)

    Получить исходный код встроенной функции или метода, реализованного на Си внутри CPython, таким способом не получится:
    Попытка получить исходный код функции sum

    >>> import inspect
    >>> print(inspect.getsource(sum))
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib/python3.10/inspect.py", line 1139, in getsource
        lines, lnum = getsourcelines(object)
      File "/usr/lib/python3.10/inspect.py", line 1121, in getsourcelines
        lines, lnum = findsource(object)
      File "/usr/lib/python3.10/inspect.py", line 940, in findsource
        file = getsourcefile(object)
      File "/usr/lib/python3.10/inspect.py", line 817, in getsourcefile
        filename = getfile(object)
      File "/usr/lib/python3.10/inspect.py", line 797, in getfile
        raise TypeError('module, class, method, function, traceback, frame, or '
    TypeError: module, class, method, function, traceback, frame, or code object was expected, got builtin_function_or_method


    Также можно использовать IPython для получения того же результата более коротким путём:
    In [1]: import requests
    
    In [2]: %psource requests.get
    def get(url, params=None, **kwargs):
        r"""Sends a GET request.
    
        :param url: URL for the new :class:`Request` object.
        :param params: (optional) Dictionary, list of tuples or bytes to send
            in the query string for the :class:`Request`.
        :param \*\*kwargs: Optional arguments that ``request`` takes.
        :return: :class:`Response <Response>` object
        :rtype: requests.Response
        """
    
        return request("get", url, params=params, **kwargs)
    Ответ написан
    Комментировать
  • Почему все говорят что писать ботов это сложно?

    Vindicar
    @Vindicar
    RTFM!
    А сложность начинается, как только задачи, стоящие перед ботом, перерастают уровень примера в документации видеотуториале пятилетней давности.

    Нужно сделать несколько под-команд у команды. Напишу цепочку if-elif-else, делов то. Ой, а теперь простыня кода на пять экранов, в которой фиг чего найдёшь. Потому что нет привычки структурировать код.

    Нужно, чтобы несколько команд/событий формировали цепочку (сценарий). Например, пользователь отправил тре сообщения, первое с именем, второе с возрастом, третье с адресом. Ой, а как это сделать вообще? Не зная понятия "конечный автомат" (finite state machine, FSM), очень трудно догадаться, как тут поступить.

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

    Нужно, чтобы бот выполнил длительную задачу, и написал сообщение, когда она выполнится. Не вопрос, напишу функцию, вызову её, а сразу после отправлю сообщение. Ой, а бот не отвечает! Потому что рабочий цикл asyncio занят этой длительной операцией и не может отреагировать на поступающие данные. Нужно иметь хорошее представление о том, как работает асинхронная программа.

    Нужно добавить боту графический интерфейс - админку. Ой, а работает или интерфейс, или сам бот! Потому что нужно представлять, как устроено большинство GUI-фреймворков, и как устроена асинхронное приложение. А заодно понимать многопоточность, вопросы синхронизации действий между двумя потоками, и особенности работы с asyncio в многопоточных приложениях. Потому что одним потоком тут обойтись будет очень непросто.

    Нужно хранить данные в БД. Ой, а почему у меня проблемы при записи в БД имени пользователя? А потому что погромист собирает SQL-запрос через форматирование строк. Надо было почитать доки, чтобы наткнуться на prepared statements, они же parameterized queries.

    Нужно хранить данные в БД. Вот только данные имеют связи многие-ко-многим. Я знаю! Я буду просто добавлять или удалять столбцы в таблицу! Потому что не освоены даже азы проектирования БД. Тут уже nuff said. И да, я такое видел на этом сайте.

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

    Vindicar
    @Vindicar
    RTFM!
    typing.Protocol играет роль интерфейса, с той поправкой, что наследоваться от него потом необязательно - главное, чтобы набор полей/методов соответствовал.

    abc.ABC - это именно абстрактный класс, он требует наследование от себя для соответствия, и часто предполагает наличие какой-то частичной реализации функциональности.

    В отличие от него, typing.Protocol обычно применяется только для описания контракта класса, но не для частичной реализации. Так как он не требует наследования, он хорошо подходит для описания структуры объекты, который мы ожидаем на входе - без жётской привязки этого объекта к нашей иерархии классов.

    "Обычно", потому что и то, и то можно использовать "не по назначению".
    Ответ написан
    9 комментариев
  • При вводе команды в консоли отображается ошибка `NoneType` object is not supscriptable, что делать?

    Vindicar
    @Vindicar
    RTFM!
    f"""**{cursor.execute("SELECT cash FROM users WHERE id = {}".format(ctx.author.id)).fetchone()[0]}**"""

    За такое надо калечить.
    Во-первых, это абсолютно нечитаемый кусок кода. Вперемешку вывод пользователю, sql запрос и команды питона.
    Во-вторых, привычка использовать format() для составления SQL запросов приводит к весёлым последствиям, когда требуется подставить строку. Гугл "sql инъекция".
    В-третьих, ты не проверяешь, что вернул тебе fetchone(). С какого перепугу ты решил, что у тебя гарантируется наличие записи с таким id в таблице? Всегда исходи из того, что запрос может потерпеть неудачу, и продумывай, что бот должен делать в таком случае.
    Ответ написан
    Комментировать
  • Парсинг цен с Wildberries на Java?

    reaferon
    @reaferon
    Я бы больше озаботился первым пунктом. Потому как современный парсинг озонов и вб ой как не прост. Очень быстро они даже самые хитрые схемы вычисляют. Во всяком случае Озон. Думаю, с ВБ ситуация схожая.
    Ответ написан
    Комментировать