Задать вопрос
  • Предположим вы столкнулись с ошибкой где её не должно быть, либо получили неверный текст ошибки, опишите ваши действия.?

    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 комментария
  • Как сгруппировать ip по /24?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Ошибка в том, что не надо в процессе итерации по списку удалять из него элементы. Результат может быть непредсказуем.

    И вообще, код какой-то безумный. Задачу можно решить в один цикл, примерно так:

    mask_dict = {}
    
    for i in test:
        mask = IPv4Network('{}/24'.format(i), strict = False)
        if mask in mask_dict:
            mask_dict[mask].append(i)
        else: 
            mask_dict[mask] = [i]
    Ответ написан
    2 комментария
  • Почему возникает ошибка "missing 1 required positional argument: 'self'"?

    Slavkha, открой для себя тэг "Исходный код". Без него глазам больно.
    По делу - cheng_baloon нужно вызывать из объекта, а не из класса.
    Должно быть примерно так:
    baloon = Baloon(screen, baloon[0], baloon[1], rect_baloon) 
    ...
    baloon.cheng_baloon()
    Ответ написан
    Комментировать
  • Как исправить эту ошибку?

    fenrir1121
    @fenrir1121
    Начни с документации
    Dialogflow API has not been used in project 787000836274 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/dia... then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

    Научиться пользоваться переводчиком. Затем читать документацию вместо копирования кода, там дана инструкция из 4 шагов что нужно сделать со всеми ссылками
    Ответ написан
  • Как назначить домен локальному IP?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Поэтому можно ли обойтись БЕЗ покупки домена?

    Можно обойтись даже без LE :) Выпускаете самоподписанный сертификат на любое нужное имя, прописываете в локальном DNS или файлах hosts всех нужных машин пару IP- имя и вуаля.
    Ответ написан
    2 комментария