• Можно ли использовать внешний накопитель для установки программ?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По поводу NTFS/ExFat - для самих приложений ничего особо не меняется. Ну я не знаю приложений
    которые-бы как-то были завязаны на эти свойства. Это может для админов безопасности там важно.

    Хорошая ли это идея. Тут надо рассмотреть опции. Я часто смотрю кино с портативного диска. Иногда
    кошка может прыгнуть на системник. Пошатать что-то и диск может отмонтироваться. Бывает. Но с кино ничего не происходит. Доступ read-only. Кошку выгнал. Диск подключил и смотрю себе дальше. А что с приложениями?
    Дело в том что когда программист пишет код с I/O - он считает что диск всегда доступен. Совсем всегда.
    И ситуация когда диск вдруг отьехал - катастрофична. Может ли ОС работать когда диск c: отключился?
    Скорее нет чем да. Вобщем отсутсвие диска - катастрофа для приложений. И особенно для приложений
    которые в этот момент что-то сохраняли на диск - это отложенная катастрофа. Вы последствия
    почувстуете после следующего запуска. В противоположность - сеть. Она изначально проектируется
    как опционально-доступная и все программы при обработке сетевых ошибок используют ретрай-логику.
    Тоесть просто ждут и повторяют операции. Толерантны к сбоям.

    В противоположность I/O ошибки записи - нихрена не толерантны. Это сразу выпадение программы в ОС
    с сообщением "я не шмогла!". Это не относится ко всем программам а просто к большинству. К 80%
    программ если хотите.

    Вобщем все зависит от класса I/O операций ваших приложений. Если это как просмотр фильмов - то можно.
    Если это КАК postgres с журналом - то есть риск получить полностью поломанную файловую системую и
    неработающие приложения. Как работают ваши секвенсоры и плагины? Часто они делают запись?
    Насколько запись критична для работы "здесь и сейчас"? Что будет если их структуры данных
    для записи оказались записаны "наполовину"? Вот это вопросы на которые вы должны ответить.

    Если хотите более надежные внешние диски - подключайте SATA-диск через внутренний карман на корпусе.
    Ответ написан
    Комментировать
  • Можно ли использовать внешний накопитель для установки программ?

    @Drno
    Можно
    Ntfs
    Идея так себе
    Ответ написан
    Комментировать
  • Как вывести значение поля до выполнения UPDATE, вместе со значением после UPDATE?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Упрощенный вариант - использовать в запросе таблицы со своим алиасом

    UPDATE users x
    SET    step = 'confirmed'
    FROM   users y
    WHERE  x.number = y.number
    AND    x.number = 1
    RETURNING y.number AS number, y.step AS old_step, x.step;


    PostgreSQL fiddle
    Ответ написан
    2 комментария
  • No ProductType matches the given query. Как исправить ошибку?

    @galaxy

    path('/', views.product_list, name='by_product_type'),
    path('/', views.product_list, name='by_main_category'),
    path('/', views.product_list, name='product_list_by_category'),

    А как вы собрались отличать эти урлы? Например, запрошен урл /hz4to/ - это в какую строку пойдет? hz4to - это тип, главная категория или просто категория?

    Конкретно по ошибке: у вас всегда срабатывает урл by_product_type.
    Соответственно, если на самом деле запрошена категория, то вот эта срока дает 404:
    product_type = get_object_or_404(ProductType, slug=type_slug)
    Ответ написан
    Комментировать
  • Не Запускает проект Python через консоль с ошибкой ModuleNotFoundError: No module named?

    DDDsa
    @DDDsa
    Файл, который вы запускаете должен находиться в корне проекта, иначе нет смысла в той структуре пакетов, которую вы создали. То есть, дерево должно быть такое:
    -chip8/
    -chip8/chip88/
    -chip8/chip88/interface.py
    -chip8/chip88/chip8.py
    -chip8/chip88/__init__.py
    -chip8/main.py


    Теперь у вас папка с проектом chip8, в ней основной файл main.py и один пакет chip88. Тогда в файле main.py импорт из chip8.py должен выглядеть следующим образом:

    from chip88.chip import *

    Кстати, import * — это антипаттерн, так лучше не делать. Импортируйте только то, что вы намерены использовать в этом модуле.

    Также обратите внимание, что я убрал заглавные буквы из всех названий файлов и папок. С заглавной буквы в питоне принято начинать только имена классов

    ***
    Что почитать.
    https://chrisyeh96.github.io/2017/08/08/definitive... — про импорты. Импорты в питоне только выглядят просто, на самом деле там есть важные нюансы, в которых лучше разбираться.

    https://www.python.org/dev/peps/pep-0366/ — пеп именно по вашему случаю. Полезно, чтобы понять, почему ваш вариант не работает.

    https://www.python.org/dev/peps/pep-0008/ — Ну и пеп8. Любой уважающий себя питонист должен знать этот документ на зубок. Тут всё про правило именования в питоне и другие принятые соглашения оформления кода и не только.
    Ответ написан
    1 комментарий