• Не работает условие Python, SQLite как решить и почему?

    fenrir1121
    @fenrir1121
    Начни с документации
    chat_verification = {message.chat.id}
    check = cursor.execute(f"SELECT chat_id FROM chat_id_table WHERE chat_id ='{chat_verification}' AND verification = 1

    Вооружайтесь принтами и смотрите что вы наговнокодили в этих двух строчках.
    Примерно каждый второй вопрос в SQLite сводится к ответу не используйте f строки в SQL запросах
    И вы вообще осознаете какой тип данных у chat_verification?

    В целом если 10 строчек кода требуют двух вопросов на хабре берите за привычку разбираться какими данными и типами данных вы манипулируете. Не работает - запускаете отладчик или принтуете и смотрите соответствуют ли данные и типы данных вашим ожиданиям.
    Ответ написан
  • С чего начать системному администратору в школе?

    @Drno
    1. - беги оттуда... работы дохера, денег нифига
    А по теме -

    надо создать "карту" сети, где будут ПК которым нужен доступ, спланировать прокладку сети.
    далее можно поделить участки на "квадраты", чтобы приводить туда 1 кабель и ставить свитч, а не вести кучу проводов до каждого ПК
    после этих подсчетов возвращайтесь - будем подбирать оборудование
    Ответ написан
    10 комментариев
  • Почему возникает ошибка "IndentationError: expected an indented block after function definition"?

    Hivemaster
    @Hivemaster
    Админ, который хочет программировать
    может я тупой конечно

    1. С формулированием краткого, но конкретного заголовка вопроса в форме вопросительного предложения не справился.
    2. С редактором текста вопроса не справился.
    3. С поиском по очень распространённой ошибке не справился.

    6344227607336818699807.jpeg
    Ответ написан
    Комментировать
  • Насколько безопасно передавать всю модель в контексте, если некоторые её поля надо скрыть?

    @deliro
    Ты хоть чуть-чуть разбирался, как происходит вся цепочка запрос-ответ? Как можно извлечь из отрендеренного HTML то, что ты туда не вывел?
    Ответ написан
    4 комментария
  • Как реализовать хэширование пароля при регистрации?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Соглашусь с предыдущим комментатором, код ужасный. Но главная проблема здесь не в коде, а в голове.
    Все программирование построено на такой штуке, как логика. И если не умеешь мыслить логически - причем на самом элементарном, бытовом уровне - то в программировании точно делать нечего.

    Зачем спрашивать, как хэшировать пароль, если у вас в коде это хэширование уже есть? Вот же оно -
    $password = password_hash($password, PASSWORD_DEFAULT);
    Где логика?
    Зачем сравнивать хэши паролей, если вы хотите сравнить сами введенные пароли? Где логика? Хэши никогда не совпадут.
    Зачем писать, что пароль "Заносится в базу данных без хэширования", если при текущем коде ничего никуда вообще не заносится, потому что не проходит сравнение хэшей. Где логика?
    А если эту дурацкую проверку убрать, или поменять на сравнение самих паролей, то занесется именно хэш, можно убедиться

    Но главная тут проблема - это конечно SQL инъекция.
    Какой вообще смысл делать регистрацию, авторизацию - если кто угодно сможет зайти вообще без пароля под кем угодно? Где логика?
    Надо обязательно научиться выполнять все запросы с переменными только через подготовленные выражения. А потом уже браться за регистрацию, пагинацию, и что угодно. Сначала учимся класть кирпичи, а потом только строим дом. А не наоброт.

    Отдельное замечание по структуре.
    Каждая функция должна выполнять только одну операцию.
    Функция регистрации не должна заниматься проверкой входящих данных.
    То, что она не напрямую обращается к массиву POST - это очень хорошо. Это вы правильно сделали.
    Но все проверки из нее надо тоже убрать. А делать их перед вызовом.
    И тогда не придется возвращать никакие цыферки.
    Ответ написан
    3 комментария
  • Как уложить wi-fi на роутере с Android телефона?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Тупит, обрывы и так далее. Тех поддержка говорит, что все норм. Пакеты не теряются. Вот хочу их так заставить поменять оборудование.

    А что мешает купить себе нормальный роутер и отказаться от провайдерского роутера? Они даже если поменяют, то поменяют на такой же или просто самый дешевый. Кроме того, за аренду роутера провайдера еще и платить приходится. А уж за 7 лет переплаты хватит на какой-нибудь топовый роутер. Так что просто купите себе нормальный и современный роутер и не переплачивайте за аренду.
    Ответ написан
    2 комментария
  • Как изменить определённый элемент списка в цикле for?

    Vindicar
    @Vindicar
    RTFM!
    Потому что ты не понимаешь итерацию по списку.
    for vote in votes: означает, что переменной по имени vote поочерёдно будут присваиваться ссылки на значения элементов списка votes. ТОЧКА. Это не означает, что присвоив другое значение этой переменной, ты изменишь список. Присвоив что-то vote, ты заменишь ссылку внутри vote на другую, но и только.
    Тем не менее, если само значение является изменяемым (например, это вложенный список или словарь), то его можно по этой ссылке изменить.

    Во втором случае ты с какого-то перепугу решил, что индексы списка - это его значения. Индексы - это индексы. Числа от нуля до N-1, где N - длина списка. Так что для модификации списка нужно знать индекс элемента.
    for index in range(len(votes)):
        vote = votes[index]
        x = vote.split(',')
        votes[index] = x[0]+x[1]

    Или вот так:
    for index, vote in enumerate(votes):
        x = vote.split(',')
        votes[index] = x[0]+x[1]
    Ответ написан
    1 комментарий
  • Как запустить несколько фреймворков одновременно?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Никак, не надо смешивать мягкое с тёплым. Если хотите сделать два интерфейса, то делаете ядро приложения с API, web-приложение и gui-приложение, использующие API ядра. И все три запускаться должны отдельно.
    Ответ написан
    Комментировать
  • Выходит ошибка с файлами что делать?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Указать правильный путь к файлу
    Ответ написан
    Комментировать
  • Как обычно реализуют обновление устаревших токенов на фронте?

    @Nikita1244
    Anonymous
    Можно сделать так:
    Если сервер вернул 401 статус ошибки:
    Запрашивать токен и повторять запрос
    Если опять же 401 то уже писать, что пользователь неавторизован и ему надо войти.
    Как вариант.

    Ток сделай чтобы не было бесконечных запросов токенов - а то, если не сделать, то постоянно будет запрашивать и так по кругу
    Ответ написан
    Комментировать
  • Как указать корневой каталог python скрипту?

    Vindicar
    @Vindicar
    RTFM!
    Вместо обращений по относительным путям, строй обращения относительно корня скрипта. pathlib в помощь.
    import sys
    import pathlib
    
    SCRIPT_DIR = pathlib.Path(sys.argv[0]).parent
    CONFIG = SCRIPT_DIR / 'config.ini'
    
    with open(CONFIG, 'rt') as cfg:
        ...
    Ответ написан
    1 комментарий
  • Как мне быть, если HP Support Assistant больше не работает в России?

    @ewgenc
    Снести его нафиг и забыть, меньше мусора в системе будет.
    Ответ написан
    Комментировать
  • Websocket с чего начать изучение?

    @kaka888
    C, C++, Qt, Python Flask, MySQL, Lua
    Начать можете на сайте www.google.com
    Ответ написан
    Комментировать
  • Бот для публикации ремайндеров?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Вам надо подготовить техзадание (хотя бы как-то) и с ним обратиться на любую freelance-биржу, к примеру freelance.habr.com
    Ответ написан
    Комментировать
  • Проблема с Discord-ботом после попытки его запуска. Что делать?

    fenrir1121
    @fenrir1121 Куратор тега discord.py
    Начни с документации
    discord.errors.PrivilegedIntentsRequired: Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.


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

    Vindicar
    @Vindicar
    RTFM!
    И как это сделать?

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

    Что за игра, что за сервер? Может, у него уже есть какое-то API, по которому можно вытащить интересующие данные?

    Собственно, что это за данные? Каков их объём? Именно данные, или нужно оповещение о событиях в игре? Разница очень большая, так как будет определять, кто будет проявлять инициативу при отправке данных - сервер или бот.

    Если API нет, есть ли доступ к исходникам сервера? Как организован рабочий цикл сервера? Потребуется ли нам запускать отдельный поток - а значит, синхронизировать доступ к искомым данным? Или же там что-то на базе asyncio, и мы можем просто добавить асинхронную задачу?

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

    Можно подумать о том, чтобы добавить в серверный скрипт небольшой сервер на Flask, или на базе asyncio streams, или на голых сокетах. Конкретная реализация зависит в том числе от того, кто проявляет инициативу: если бот запрашивает, а сервер отвечает, то Flask позволит обращаться к серверу по HTTP, а не громоздить велосипед на сокетах. Если же сервер может что-то слать по своей инициативе, то тут уже HTTP подойдёт так себе.

    Когда ответишь на все перечисленные вопросы, вот тогда у тебя будет вопрос, стоящий обсуждения. В конце концов, правильно поставленный вопрос - это половина ответа.
    Ответ написан
    Комментировать
  • Что такое определитель матрицы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Вас на википедии забанили? Первый же абзац соответствующей статьи.
    Определи́тель (детермина́нт) в линейной алгебре — скалярная величина, которая характеризует ориентированное «растяжение» или «сжатие» многомерного евклидова пространства после преобразования матрицей; имеет смысл только для квадратных матриц.
    Ответ написан
    1 комментарий
  • Английский язык сильно помогает для роста в сфере IT и Программирования?

    Adamos
    @Adamos
    Примерно 90%.
    Именно столько зашедших на Тостер сначала пользуется поиском - и находит тонну точно таких же вопросов. Но мы их не видим, нам мозолят глаза 10% раздолбаев, которым это сделать лень.
    Ответ написан
    Комментировать
  • Тема собеседования, какие ответы на вопросы подготовить?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Собеседование - это не экзамен, не нужно заучивать ответы.
    Ответ написан
    Комментировать