Задать вопрос
Профиль пользователя заблокирован сроком с 1 апреля 2025 г. и навсегда по причине: подозрительная активность
  • Не отправляется байтовая картинка aiogram, что делать?

    @datareset Автор вопроса
    развиваюсь.
    from aiogram.types.input_file import InputFile
    screenshot = InputFile("image.png") # path to file
    await bot.send_photo(id, photo=screenshot)
    Ответ написан
    Комментировать
  • Как переставляя столбцы и строки матрицы, переместить самый большой элемент в верхний левый угол?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Вы не уточнили, что понимается под словом "переставляя". Можно ли скажем, переставить первую и пятую строку местами? Или может быть можно, скажем, пятую строку поставить в начало...
    А может быть под "переставляя" имеется в виду перестановку рядом стоящих строк местами?
    В любом случае имеет смысл сперва найти самый ольшой элемент в матрице, а потом переставлять строки, чтобы он всплыл в угол.
    В чем конкретно у вас проблема? Если вы хотите готовый алгоритм, то этот ресурс не для этого. а на конкретные вопросы тут с удовольствием ответят и помогут.
    Ответ написан
    3 комментария
  • Как можно переделать программу для работы кассового аппарата на python?

    AlexNest
    @AlexNest Куратор тега Python
    Работаю с Python/Django
    Варианта два
    Используйте словари
    Для справочника вида
    {'Код' : {
       'цена' : 100,
       'название' : 'название',
    },
    }

    Для чека:
    {
    'Код' : 1 # количество
    }

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

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Каких ботов? каких игр? Хотя бы пример какой привели бы... Для пасьянса вы хотите там бота или для чего?
    Игры предлагают SDK для этого, или предполагается реверс-инженерить протокол и ломать защиты?
    Надо сперва детализировать задачу, а потом искать под нее библиотеки и курсы.
    В общих чертах скорее всего вам придётся делать парсер, придётся разбираться с авторизацией и делать http-запросы, возможно использовать селениум. Придется строить модель игрового мира, описывать объектную модель предметной области, может быть понимать немного теорию игр и теорию конечных автоматов. Если вы адаете такие вопросы (не детализируя), то скорее всего узконаправленные курсы вам помочь пока не смогут. Надо расширять эрудицию в целом.
    Ответ написан
    Комментировать
  • Предположим вы столкнулись с ошибкой где её не должно быть, либо получили неверный текст ошибки, опишите ваши действия.?

    0. Ты, видимо, тестировщик aka QA Engineer
    1. Ты столкнулся с дефектом/багом (поведение не совпадает с ожиданием), таким как одно из:
    - Ошибка там, где ошибки быть не должно. (Например оставляешь комментарий, а вместо оставленного комментария ты получаешь ошибку, не важно какую)
    - Не та ошибка, которая ожидалась, если ожидалась ошибка. (Например ты оставляешь очень длинный комментарий, но вместо "Ваш комментарий слишком длинный" ты получаешь "Произошла неизвестная ошибка")

    2. Тебе нужно описать, что ты будешь делать дальше.

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

    @12rbah
    with open("pae.csv", "w", newline='', encoding='cp1251') as file:
    Вместо "w" нужно использовать "a".
    P.S. без причины не стоит использовать 1251, лучше в utf-8 сохранять и открывать редактором, который поддерживает разные кодировки.
    Ответ написан
    1 комментарий
  • Создание массива, запись его в файл, как получить массив из файла?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    создаю выборку из бд
    Это не выборка из бд, это маразм, основанный на обрывочных знаниях о том что есть такая штука как бд, и лени в поиске решения задач, которые хоть как-то отличаются от того, что пишут в задачнике для полных новичков.

    создаю выборку из бд в массив и записываю его в текстовый файл
    Не массив, а массивы. И вопрос о том зачем вам эта выборка в файле остается открытым.

    пытаюсь получить массив из файла
    Не пытаетесь, а получаете, правда только 1 массив, остальные записи игнорируются, так как сериализация (и соответственно десериализация), подразумевает 1 переменную (а вы туда пихаете несколько).

    а хотелось бы что бы вот так
    То что ключи массива при этом у вас одинаковые вас не смущает? Например, что конкретно по вашему мнению вы получите из такого массива, при обращении вот так:$array['oc_loadprice_schema']??
    Ответ написан
    8 комментариев
  • Как установить postgres без интернета?

    @Drno
    Вы можете скачать пакет и все его зависимости. и потом установить вручную
    Ответ написан
    4 комментария
  • Почему пул запускает тг бота хотя этого нет в def?

    Vindicar
    @Vindicar
    RTFM!
    Без полного кода ответить затруднительно, но...
    Проверь, завёрнуто ли у тебя тело бота в if __name__ == '__main__':
    Ответ написан
    2 комментария
  • Как решить эту задачу на C#?

    xez
    @xez
    TL Junior Roo
    Тут вам помогут: https://freelance.habr.com/
    Ответ написан
    Комментировать
  • Как сделать нужный порядок при отображении моделей в админке Django?

    JawsIk
    @JawsIk Автор вопроса
    Python Django, Lua, ЧПУ-станки(ArtCam, Aspire)
    В общем нашёл я функцию сортировки. Сортирует она в функции get_app_list класса AdminSite. Затем по указанию Pavel Denisov стал искать способы решения. Находил разные варианты, поэтому объединив получил следующий вариант. Все манипуляции происходят в файле admin.py.
    Тут сразу хочется сделать некое отступление, что при переназначении регистрации, из админки пропадают Пользователи и группы и поэтому их нужно туда зарегистрировать самостоятельно. Но обо всём по порядку.

    1. Делаем необходимый импорт:
    from django.contrib.admin import AdminSite
    from django.contrib.auth.models import Group, User
    from django.contrib.auth.admin import GroupAdmin, UserAdmin

    2. Определяем свой класс, наследуясь от AdminSite и в нём переписываем функцию. (в моём случае я просто закомментировал цикл сортировки):
    class MyAdminSite(AdminSite):
    
        def get_app_list(self, request):
            """
            Return a sorted list of all the installed apps that have been
            registered in this site.
            """
            app_dict = self._build_app_dict(request)
    
            # Sort the apps alphabetically.
            app_list = sorted(app_dict.values(), key=lambda x: x['name'].lower())
    
            # Sort the models alphabetically within each app.
            #for app in app_list:
            #    app['models'].sort(key=lambda x: x['name'])
    
            return app_list


    3. Подменяем admin.site своим собственным:
    admin.site = MyAdminSite()

    4. Регистрируем своим модели:
    # Register your models here.
    admin.site.register(TypeProfile)
    admin.site.register(TypeFacade) 
    admin.site.register(Price)
    admin.site.register(PaintColor)
    admin.site.register(PatinaColor)
    admin.site.register(Materials)
    admin.site.register(Category)
    admin.site.register(Products)

    5. Регистрируем стандартные модели:
    #Регистрируем стандартные
    admin.site.register(Group, GroupAdmin)
    admin.site.register(User, UserAdmin)


    И всё работает как надо.
    Всем спасибо.
    Ответ написан
    2 комментария
  • Можете посоветовать аналог ACDsee?

    @tomater
    https://tonfotos.com/ru/
    Формально он больше аналог Picasa, чем олскульного ACDSee, но под описание подходит - слева каталоги с фотками, с права просмотр, плюс полный экран и слайдшоу. Интерфейс не перегружен.
    Ответ написан
    Комментировать
  • Как получить названия всех ярлыков в папке?

    Vindicar
    @Vindicar
    RTFM!
    Ярлыки имеют расширение *.lnk.
    Для поиска файлов по расширению используй метод glob() класса pathlib.Path, ну или функцию glob.glob().
    Ответ написан
    Комментировать
  • Быстро разряжается ASUS TUF Gaming FX506LH-HN004?

    @Drno
    Смотрите нагрузку на проц и видяху. Может он дискретку не умеет отключать
    Поставьте драйвера на ноут с сайта производителя
    Вообще я сомневаюсь что он будет «жить» больше 1,5-2х часов
    Ответ написан
    Комментировать
  • Существует ли способ принять и автоматически подставить знак операции с числами в C++?

    @McBernar
    Но ведь в плюсах есть перегрузка операторов.
    Вы можете перегрузить +- с вашим классом с матрицами. Чтобы получилось mat3 = mat1+ mat2
    Ответ написан
    Комментировать
  • Как вы делаете code-review?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    У code review должна быть цель. В моей практике обычно проекты небольшие и там нет отдельных тестировщиков. Получается, что code review отвечает на три вопроса:

    1. Соответствует ли функционал ТЗ?
    2. Создает ли код проблемы команде?
    3. Есть ли тут какой-то специфичный для проекта опыт, который лучше задокументировать, пока мы еще в контексте?


    Получается что-то такое:

    • До выполнения задачи: проводится анализ задачи, формулируется ТЗ. Бывает, что нужно подключиться и помочь с требованиями, с контекстом, в котором все делается. Чем более подробный анализ мы делаем и чем лучше мы понимаем контекст на этом этапе, тем больше вероятность, что потом весь процесс выполнения задачи пойдет как по маслу и code review будет чистой формальностью в конце.
    • До ревью: линтеры проверяют код на соответствие стилю, на отсутствие синтаксического бреда.
    • Дальше - проверка на соответствие функционала ТЗ. Это защита от глупых ошибок в продакшене, которые коснутся пользователей.
    • Потом - на сответствие принятым соглашениям по коду, если они есть в проекте. Обычно это архитектурные паттерны и что-то про зависимости, смотрим не создает ли код проблем окружающим, а то разные глупости порой случаются. Особенно это важно в коде, который не сам в себе, а затрагивает много чего вокруг. Иногда возникает конфликт интересов, когда что-то явно устарело, и соглашения дополняются чем-то. Чем лучше был анализ в начале, тем меньше вероятность, что тут будет, что обсуждать.
    • Дальше уточняющие вопросы по странным местам, если они есть. Это больше с целью узнать контекст задачи, почему приняты те или иные решения. Происходит передача специфичных для проекта знаний в сторону команды. Возможно там же будут какие-то рекомендации по поводу практик, на что стоит обратить внимание в следующий раз. Это будет передача опыта от команды.


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

    sotvm
    @sotvm
    Умный поймёт, а дураку и так всё равно.
    читать заголовки файлов, если pnga = есть , если просто png = быть не может
    Ответ написан
    3 комментария
  • Как оптимизировать базу данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Два действия полностью противоречат друг другу.

    Оптимизирую сайт по скорости загрузки

    Добавляем индекс по полю publication


    Во время интенсивной загрузки индексы и триггеры и констрейнты мешают. Их выключают обычно.

    Вообще чтоб дальше продолжать обсуждать - надо задать много вопросов. Что вы делаете вообще? Вы 1 раз загружаете или каждый день будете загружать?

    Это одноразовый запрос
    SELECT COUNT(*)
    или будете каждый день его дёргать?

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

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Чтобы оптимизировать сайт по скорости загрузки, надо не читать разный мусор в интернете, а сначала разобраться, в каком именно месте тормозит.
    Потом с этим местом приходить на Хабр

    Бессмысленность хаотичных телодвижений на основании информации из интернета показывает уникальный индекс на id, который здесь нужен как корове седло.
    И полный АДЪ в виде ключа normal.
    Ответ написан
    2 комментария