• Django 4 - как удалить файл при удалении из админки?

    @deliro
    Что значит "как"? Ответь на вопрос: как получить все файлы, связанные с моделью? Вот теперь оформи это в метод модели

    def get_all_my_files(self) -> list[str]:
        result = []
        result.extend(get_from_here())
        result.extend(and_from_there())
        return result


    И повесь на pre_delete сигнал получение файлов, а потом удаление
    Ответ написан
    Комментировать
  • О безопасности Сбербанк Онлайн - неизменный пароль?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Этот вопрос стоит задать поддержке Сбера.
    Ответ написан
    Комментировать
  • Как правильно реализовывать post запросы для DetailView?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Правильно - не переопределять метод post в наследнике DetailView и не заниматься валидацией формы вручную.
    Ответ написан
    2 комментария
  • Уместны ли каверзные вопросы на собеседовании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Странный вопрос.
    На собеседовании все уместно. Ты же не забывай, что собеседование это не ЕГЕ.
    Это диалог двух сторон. Если кандидату не понравился вопрос, он может встать и уйти.
    Если он не знает ответ, он может что-то насочинять, и если ты грамотный специалист ты увидишь что он тут отгадывает или точно знает.

    У меня для собеседований есть небольшой опросник, в котором чуть ли не каждый второй вопрос идет с небольшим подвохом, и по полноте ответов я понимаю насколько глубоко кандидат шарит. Но мне не всегда необходимо найти того, кто ответит на все 100% вопросов развернуто.
    Я просто оцениваю что кандидат знает, а с чем сталкивался настолько регулярно что прям помнит наизусть детали без мануала.

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Критерии прохождения испытательного срока.
    Ответ написан
    Комментировать
  • Как сделать, чтобы youtube-dl на удаленном сервере (Ubuntu) докачивала файлы до конца?

    saboteur_kiev
    @saboteur_kiev Куратор тега Ubuntu
    software engineer
    Присоединюсь.
    Разработчики забросили поддержку youtube-dl и гугл довольно оперативно заблочил нормальную скорость его работы (намеренно, либо ютуб просто "развивается", и парралельно поломал работу утилиты).

    Сейчас активно развивается форк yt-dlp, у которого и скорость скачивания на уровне, и в дальнейшем его пока еще не забрасывают.
    Так, как это форк, то обратная совместимость полная. Меняете youtube-dl на yt-dlp и все работает.
    Ответ написан
    4 комментария
  • Узнать источник трафика, с какой страницы пользователи заходят на сайт?

    @rPman
    На своем сайте можно самостоятельно собирать по логам базу рефереров, придется самостоятельно же ее анализировать
    Ответ написан
    Комментировать
  • Нормально ли что джуна бэкэндера просят проектировать бд?

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

    При чем здесь самоуверенность - вообще непонятно
    Разумеется весь код джуна будет проходить код-ревью, то есть прямо в продакшен никто эту БД заливать не будет.
    Но при этом и создавать за него простенькую БД для небольшого сервиса, типа отзывов на товары, никто не будет: такой беспомощный джун никому не нужен. Предполагается, что еще на этапе обучения он уже делал подобные проекты и умеет спроектировать для них БД.
    Ответ написан
    Комментировать
  • Почему не работает этот код в Python?

    hottabxp
    @hottabxp Куратор тега Python
    Сначала мы жили бедно, а потом нас обокрали..
    Что делать? Да нельзя так делать. Вторая страница любого учебника. Нужно явно указывать, что если money больше или равно 100 и money меньше или равно 500!
    money = 600
    if money >= 100 and money<= 500:
        print('Yes!')
    Ответ написан
    9 комментариев
  • Почему не работает этот код в Python?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Читать учебник.
    Ответ написан
    4 комментария
  • Docker: принято ли ставить на продакшене?

    1. принято. Если кто-то станет шикать на вас за это — это их проблемы, а у нас свободные нравы!
    2. правильно.

    С монтированием – по-разному. Как удобнее. Варианты:
    • в проекте папка /docker под ней в подпапке /docker/nginx – конфиги nginx, которые биндятся в контейнер по одному, или всей подпапкой. Удобно, если захочется по-живому редактить конфиги;
    • в контейнер при его билде, инструкциями в его Dockerfile, копируются файлы из папки;
    • прилетает уже готовый-собранный образ, из которого поднимается рабочий контейнер, не запариваясь расположением конфигов и какими-то настройками.

    Логи направляются в Stdout контейнера и хранятся Docker'ом. Посмотреть хвост: docker logs --tail 50 имя_контейнера
    Ответ написан
    Комментировать
  • Docker: принято ли ставить на продакшене?

    Griboks
    @Griboks
    Стандартный прод сейчас выглядит так: кластер серверов, поверх которых натянуто облако, в котором запускаются контейнеры. Конечный продукт, соответственно, работает как и в любом гугловском облаке - тупо запускается. Остальное - не ваши проблемы.

    p.s.
    Хотя с другой стороны очень часто встречаются бородатые дядки, которые, разумеется на Windows 10 Enterprise edition, запускают виртуалку WMVare Workstation, в которую устанавливают докер, в котором запускают ваш контейнер. Но это уже их проблемы, что всё через одно место сделано.
    Ответ написан
    4 комментария
  • Какую систему мониторинга серверов используете вы?

    @unseriously
    Систему мониторинга нужно выносить на отдельную железку. Иначе, если упадет основной сервер, на котором, собственно, и живет мониторинг, то вы об этом не узнаете.
    А на счет того, что использовать, я топлю за Prometheus - простой в установке и настройке, уведомления в телеграм, слак, почту и т.д. Графана + прометеус = любовь.
    Ответ написан
    Комментировать
  • Какую систему мониторинга серверов используете вы?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Я использую связку grafana + influxdb + (telegraf/collectd).
    1) не нужно практически ничего настраивать, ну кроме самих графиков и url подключание я influxdb
    2) все ставится за 15 минут, с раскомментированием нужных модулей в конфигах.
    3) в telegraf полно плагинов для сбора статистики с практически любого ПО, в collectd также.
    4) если нужны оповещения ставлю kapacitor из то-го же стека. вот с ним нужно немного повозиться, чтобы слал что и куда нужно.
    5) да, все можно запустить в контейнерах
    Мониторю кластер из порядка 40 вычислительных серверов и хранилище CEPH.
    Ответ написан
    Комментировать
  • Не могли бы вы разъяснить всю эту "кашу" фреймворков экосистемы .NET на 2021 год?

    .NET

    Это общее название всей экосистемы + название .net core после 5 версии.
    .NET Core

    Это название кроссплатформенного рантайма.
    ASP NET Core

    Фреймворк для разработки веб-приложений под .net core / .net 5+
    ASP NET Core 5

    Конкретно пятая версия этого фреймворка
    ASP NET Core 5 MVC

    То же самое + реализация паттерна MVC с использованием razor pages.
    Что к чему? Что самое свежее/актуальное сейчас?

    Самое свежее - .net 5, asp net core 5, asp net core 5 mvc
    Через месяц уже 6 версия выйдет.
    Ответ написан
    Комментировать
  • Что можно попробовать сделать для восстановления жёсткого диска?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    seagate 2012 года на терабайт, при подключении головка бегает туда-сюда некоторое время, затем диск отключается

    У дисков Сигейт такие симптомы (щелчки / клики, затем остановка двигателя) означают выход из строя головок. Очень часто с повреждением магнитной поверхности пластин той или иной степени.

    Фото повреждённой головки жесткого диска под микроскопом
    foto-golovok-zhestkogo-diska-pod-mikroskopom.jpg

    Диск явно подвергался пыткам во время работы: на блине есть отчётливая царапина и несколько точечных царапин.

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

    Говоря в целом, вы очень зря вскрыли гермоблок жёсткого диска. Даже если бы на блинах не было царапин, это сделало бы ситуацию хуже, а стоимость восстановления данных - выше.

    Что можно попробовать сделать, чтобы диск запустился и хоть что-то с него попытаться вытащить? Контакты платы уже почищены до блеска

    Уж простите мой сарказм, но это примерно как спросить врача: "Человек на спорткаре влетел в столб на скорости 250 км/ч. Наклеили ему на лоб аж три лейкопластыря, как ещё можно попробовать его подлечить?"

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

    этот диск ни в какой специализированный дорогой сервис относить не будет

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

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Просто у меня программа из под рута

    Вот здесь ошибка. Сервисные программы должны сидеть под своими пользователями.

    Причина очень проста - root обладает неограниченными правами на все. Поэтому, если ваша программа криво написана, взломана (как следствие первого) и так далее, она может сломать все на своем пути.

    Поэтому, все сервисные программы сидят исключительно под своими персональными пользователями, а уже этим пользователям выдаются права на конкретные операции.
    Ответ написан
    1 комментарий
  • Можно ли написать бота для вызова такси в ситимобил?

    @Fenix957
    1)https://habr.com/ru/post/575460/
    2)Делаете по инструкции и повторяете запросы
    3) PROFIT
    Ответ написан
  • Очень быстро лить в БД 1 млн. строк в секунду и настолько же быстро читать их. Как лучше осуществить?

    @Yury093
    Конечно может, вопрос в железе. И микроскопом можно забить гвоздь.
    Но на слова "хочу быстро вставлять и быстро читать потоком" так и хочется ответить "а зачем тебе БД?"

    Поэтому хотелось бы уточнить у автора: а вот кроме описанного "вставить миллион, считать миллион" - что предполагается делать с данными? Менять их построчно? Искать по какому-то ключу? это все надо? Если нет - я бы все же рекомендовал не использовать БД.

    Тут следует понимать что любая нормальная БД это [почти] всегда двойная запись на диск: вы пишите в таблицу И в лог базы данных. Именно поэтому файл или Kafka или иной MQ будет всегда быстрее.

    Ну а если БД все равно нужно - ну тогда BULK режимы вам в помощь. Обычно они используются для пакетной инициализирующей загрузки. В некоторых БД они на время своей работы могут отключать какие-то фичи или даже логирование в лог транзакций.
    ----------------------------
    Вообще по всем признакам в вашем случае идеальным будет вариант писать в MQ (RabbitMQ или Kafka или см аналоги), а уже из нее в БД. "Все так делают", по крайней мере в крупных компаниях это довольно типовое решение для подобных вашей задач. Причем БД в этой истории нужна только если вам потом нужно хранить и селектить. Если после первой операции данные вам более не нужны, либо нужен только бэкап, то БД не нужна - пишите в файл, пакуйте в zip (в энтерпрайзе - кидайте файлы в Hadoop в каком нибудь Parquet формате).
    Ответ написан
    1 комментарий