• Как отсортировать массив экземпляров класса на Питоне?

    Vindicar
    @Vindicar
    RTFM!
    Смотри магические методы __gt__(), __lt__(), __eq__(), __neq__() для сравнения.
    Для реализации оператора [] смотри __getitem__() для чтения и __setitem__() для записи.

    Ну и задавай конкретный вопрос, что не понятно.
    Ответ написан
    3 комментария
  • Как выбрать ноутбук для Linux?

    gedev
    @gedev
    сисадмин-энтузиаст
    Подход первый:
    1. Находим ноутбук, который нравится
    2. Гуглим "модель ноутбука linux" и смотрим что пишут/спрашивают на форумах. Лучше искать в ангоязчном интернете, больше результатов получите. Сообщения типа "никак не могу завести вайфай/bluetooth/тачпад" — красный флажок.
    3. Если огорчены, то ищете другой ноутбук и гуглите.

    Подход второй:
    1. Гуглите ноутбки с предустановленным Linux.
    2. ???
    3. PROFIT

    Я присматривался к Huawei Matebook X и Honor MagicBook

    Сам имею Huawei Matebook D14 на AMD, Arch Linux (ещё на elementaryOS погонял). Ни на что не жалуюсь, кроме датчика отпечатка пальца, который кажется всё таки можно включить (система его видит), но мне не нужен. Это клон MagicBook, к слову.

    UPD: Всё же странно, что у вас были проблемы со звуком на Matebook D15, там же попсовый Realtek, с которым хорошо дружат линупсы.
    Ответ написан
    3 комментария
  • Как работать с файлами с помощью python?

    @denislysenko
    data engineer
    можно передавать аргумент через командную строку с названием файла(argpars библиотека)

    а можно например так:
    def date_func():
        # эта функция должна возвращать дату в интовом формате формате 
        # например: 010122 
        # Но это только если есть определнная логика (например: файлы в эту папку добавляются только по средам)
    
    
    df = pd.read_excel(f'C:\\Users\\РАБОТА\\ИСХОДНЫЕ ФАЙЛЫ\\{date_func}.xlsx')


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

    karabanov
    @karabanov Куратор тега Docker
    Системный администратор
    The LABEL instruction adds metadata to an image.
    Ответ написан
    Комментировать
  • Можно ли записать в docker контейнер метаданные?

    На контейнеры и не только можно вешать лейблы (ключ-значение)
    https://docs.docker.com/config/labels-custom-metadata/
    Ответ написан
    Комментировать
  • Задача пустых полок?

    @rPman
    Тебе достаточно вероятности того что полка пуста? чтобы эту информацию получить, нужно иметь на руках достоверную статистику - историю продаж и точный момент когда полки становились пустыми.

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

    Опиши, с подробностями, всю информацию, что у тебя имеется.
    Ответ написан
  • Как написать юнит тест для программы, которая использует input()?

    @Akela_wolf
    Extreme Programmer
    Юнит-тестирование это про разделение функций на минимально возможные кусочки, чтобы их было возможно протестировать минимально возможным тестом. А для этого каждая функция должна делать что-то одно. У вас же функция занимается следующими вещами:
    1. Ведет диалог с пользователем
    2. Проверяет корректность введенных данных по своим правилам
    3. Обращается к внешнему сервису (причем какой-то апи-ключ прямо в коде - ужас-ужас. А если этот код выкладывать в гитхаб?)
    4. Выводит полученный от внешнего сервиса результат на экран

    Разделим это на 4 функции и увидим следующее:
    1. Функция ввода номера пользователем. Входных параметров нет, выходные - номер. Тестировать не имеет особого смысла.
    2. Функция валидации. Входной параметр - номер, выходной - один из кодов (enum): все хорошо, некорректный регион, некорректный номер. Функция чистая (то есть результат её работы зависит только от аргумента, побочных эффектов нет), тестами накрывается легко и просто.
    3. Функция запроса данных у стороннего сервиса. Входной параметр - номер, выходной - какие-то данные. Тестировать сложно т.к. есть внешний сервис. И может быть не особо нужно, т.к. юнит-тест тут не напишешь. Функция как-то сложной логики не имеет, а внешний сервис нам неподконтролен. В частности, он в любой момент может начать отвечать 404 или каким-нибудь бредом. Поэтому тестировать эту функцию мы можем только имитируя поведение внешнего сервиса каким-то нашим моком (использовать тот же WireMock, например)
    4. Функция вывода результата на экран. Входной параметр - данные, выходных нет. Аналогично функции ввода номера тестировать отдельно не имеет смысла.

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

    @itimur
    Рекомендую прочитать "7 навыков высокоэффективных людей" Стивена Кови. Если еще не читали, можете узнать много нового про тайм-менеджмент, делегирование, планирование, расстановку приоритетов... Плюс еще много всего полезного, не относящегося к вашему вопросу
    Ответ написан
    1 комментарий
  • Возможно появились новые удобные способы работы на нескольких местах?

    @nApoBo3
    У вас вероятно очень специфические задачи если производительности ноутбука за "цена вопроса не имеет значения" вас не устраивает.
    Ноут лучшее решение.
    Альтернативы:
    Переносной накопитель. Ниже производительность, нужны современные интерфейсы, ниже надёжность, выше риск утраты включая возможность компрометации информации.
    Любая форма rdp или удаленного ПО. Зависимость от сети.
    Скриптованное окружение. Высокая сложность, издержки поддержки скриптов.

    Ноут лучшее решение, в стационарных условиях к нему подключается внешний монитор или два.
    Ответ написан
    2 комментария
  • Здравствуйте, проект вылетает при запуске на Python, что делать?

    @dmshar
    Что-делать, что-делать... Ловите его, что-бы не вылетал.
    Вы свой вопрос прочтите-ка.
    Что вылетает, в какой момент вылетает, что при этом сообщает вам? Какая операционка? Какая версия Python? Какие версии используемых модулей? Какие логи? Вся эта информация у вас есть, но вы наверное считаете что это форум экстрасенсов, которые способны угадать ответы на эти вопросы сами? А вам даже структурировать свой код как следует лень?
    Ну если эта программа "This program was created by @ded_sec_" - то обратитесь к этому загадочному ded_sec_ , пусть он вам ответит. Форум-то тут причем?
    Ответ написан
    Комментировать
  • Не могу сделать миграцию, как это решить?

    Vindicar
    @Vindicar
    RTFM!
    Ну ты хоть понял, что он от тебя хочет?
    Ты добавляешь поле в таблицу. Значит, нужно решить, какое значение это новое поле примет в уже существующих строках.
    По умолчанию при таком добавлении уже существующие строки в таблице получат в эти поля NULL. Но ты указал, что поле не может принимать значение NULL.
    Тогда следует использовать значение по умолчанию. Но ты не указал значение по умолчанию в описании модели.
    И скрипт тебе предлагает два варианта.
    1. Ввести значение, которое скрипт здесь и сейчас подставит в уже существующие строки в БД вместо NULL. Модель не будет изменена.
    2. Вручную в модели прописать значение по умолчанию и перезапустить скрипт. Он использует это значение по умолчанию для существующих строк вместо NULL.
    Решай сам, что лучше.
    Ответ написан
    2 комментария
  • Не могу сделать миграцию, как это решить?

    AlexNest
    @AlexNest
    Работаю с Python/Django
    Для начала - перевести ошибку.
    Ответ написан
    Комментировать
  • Не могу сделать миграцию, как это решить?

    @deliro
    Ты добавил поле, поле это не может быть NULL. Но в базе уже могут находиться записи, которые, очевидно, не содержали этого поля (потому что ты его только что добавил). А значит, всем существующим записям нужно что-то поставить в это поле.

    Хотя достаточно было перевести текст, там ведь тоже самое написано.
    Ответ написан
    5 комментариев
  • Python в чем ошибка? Почему SyntaxError?

    fox_12
    @fox_12 Куратор тега Python
    Расставляю биты, управляю заряженными частицами
    Открыть учебник и читать заново. У вас там не одна ошибка, а целая куча в нескольких несчастных строках примитивного кода. И все ошибки - элементарны.. . И к тому же код не оформлен как положено.
    Ответ написан
    5 комментариев
  • Где посмотреть идеи для проекта OpenSource?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Если часто встречаете вопросы "Что написать" на форумах, то это не значит, что задающие их люди способны что-то написать. Скорее наоборот.
    Уже есть в сети всякие там кикстартеры. шде люди ищут финансирование для своих проектов, а также есть гитхаб, где люди могут собраться в работе над опенсорс-проектом и поработать.
    Если нет какого-то известного сайта, знакомящего разработчиков и пользователей, дающего им пообщаться, то это всего лишь означает. что разговаривать им не о чем.
    Людей на планете дофигища и всем сто-то нужно в той или иной степени. Идей масса, продуктов платных и бесплатных разного качества тоже полно, зато людей, которым вообще пофигу что писать, причем забесплатно, видимо, раз, два и обчелся. Не наберётся их на целую социальную сеть.

    Да и в чем проблема? Вот есть фотошоп - платный и не дешевый, а есть немалая куча "бесплатных аналогов фотошопа". Самый, наверно, известный - это Gimp. Нужен ли кому-то хороший графический редактор - безусловно. Много ли таких людей? Очень! Есть ли опенсорс проекты в этой тематике? Огромное количество!
    А вот с качеством у них так себе, хотя многие вполне юзабельны и во многом спообны аменить хорошие платные аналоги.
    Слышали выражение "Блеск и нищета опенороса"? Вот лучше не скажешь. Огромное кооличество человекочасов работы энтузиастов и штатных программистов, сидящих на своих окладах, пишут очень большое количество открытого кода. Можно садиться и писать любой проект. Нет никакого дефицита проектов и идей. Просто бери и пиши любой ткрытый проект с гитхаба, или любой аналог популярного платного. И тех и других в избытке!

    Зачем делать социальную сеть, которая даёт то. чего и так навалом? Она никому не нужна.

    Да, если нужны идеи проектов, то так и формулируйте вопрос. Огромное количество людей готовы делиться своими идеями. Идей много, без реализации они гроша выеденного не стоят, а на все проекты жизни не хватит их реализовывать, поэтому я совершенно не понимаю почему люди "боятся рассказать свои идеи, чтобы их не украли".
    К примеру я всегда с удовольствием делюсь своими идеями. которых накопилось уже не мало. У меня не хватит никаких ресурсов, чтобы их се реализовать. так что если кто-то какую-то из них "украдёт", я буду только рад, ведь, если повезёт и "ворюга" не просто балабол, а реально что-то может сделать, то я смогу при жизни попользоваться своими поплощенными идеями. Обычно идеи лежат в облатси интересов своих авторов. а значит автор не отказался бы попользоваться их воплощенями.

    Так какой смысл прятать идеи. если выгоднее ими делиться?!
    В общем за идеями приходите, рассказывайте что интересно - накидаем.
    Ответ написан
    Комментировать
  • Работа с огромным количеством файлов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    bash отлично справится

    find . -name "file.ext" | xargs -n 10 -P 10 "phraze"
    Ответ написан
    Комментировать
  • Почему одни языки быстрее, другие медленнее, и почему новички гуглят самый быстрый язык, а не самый медленный?

    1. Немного душно, но язык не может быть быстрее или медленнее. Лучше или хуже.
    Скорость - это зависит от реализации.
    Лучшесть - от задачи.

    то как определить, какой из них лучше, какой быстрее?

    Также как и с интернетом - сравнить в лоб.
    Скорость - бенчмарками, в похожих задачах на одинаковом железе.
    Лучшесть - попробовав решить какую-нибудь проблему.

    А если один язык посчитал быстрее, значит он лучше?

    Если это был единственный критерий, то да.


    А количество написанных строк кода при достижении одинакового результата показывает какой язык лучше?

    Если такой критерий был, то да
    Ответ написан
    Комментировать
  • Устройство на работу после фриланса, как лучше?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Неподтверждённым опыт - отсутствующий опыт. Подавайте на джуна и выростайте в мидла через год, если действительно специалист.
    Ответ написан
    8 комментариев
  • На какой платформе изучать Python 2?

    @kaka888
    C, C++, Qt, Python Flask, MySQL, Lua
    Тебе надо изучать не Python 2, а Python 3.
    Если готов учиться по книгам, то можешь загуглить лучшие книги по Python 3.
    Если не готов, тогда помогут уроки на YouTube.
    Ответ написан
    Комментировать
  • Как ускорить код?

    trapwalker
    @trapwalker Куратор тега Python
    Программист, энтузиаст
    Можно заменить список на множество для начала:
    def checkPrime(start, end):  
        numbers = set(range(start, end + 1))  
        for i in range(2, int(end ** 0.5) + 1):  
            for j in range(i * i, end + 1, i):  
                numbers.discard(j)  
        return sorted(numbers)

    Если упорядоченность не нужна, то можно и сортировку убрать.
    Ответ написан
    6 комментариев