Спасибо за наводку. Написал. Если стиль или грамотность хромает, то поправьте плиз, кто может.
Dear friends and colleagues at FSF!
I am writing to support your recent decision to reinstate Richard M. Stallman to your Board of Directors. I am sure that this is done not only as a recognithion of the RMS's role in creating the Foundation, but also to protect the rights of software users worldwide.
I wish you even greater willpower and determination in your endeavours.
Sincerely,
***
Linux user, Python developer from Khabarovsk, Russia
Нет, это не шутка, я просто недостаточно развил свою мысль. Она действительно не для всех очевидна, так что исправляюсь.
В определённый исторический период сложился такой консенсус, что лучше иметь универсальный механизм изоляции для всего, то есть контейнеризацию через Docker. Предполагалось, что девопс-инженерам не придётся изучать тонкости языков и платформ, они просто будут воспроизводить одинаковую среду на серверах и машинах разработчиков, и все будут счастливы.
Но сегодня стало очевидно, что этот универсальный механизм себя не оправдал, не реализовал обещаний. Для разработчиков затраты на поддержание той же системы контейнеров, что и на серверах, оказались неподъёмны: сложно, требует изучения и поддержки, нужно мощное железо, намного усложнились задачи, которые раньше были простыми, типа отладки. Девопсы так и не смогли обойтись без изучения целевых платформ, просто вместо прямого подхода (прочитать немного про CPython, pip и virtualenv) им приходится начинать погружение в чудесный мир Python с отлаживания необъяснимых багов (почему cryptography не собирается в контейнере с Alpine).
В результате поддержка простых и понятных деплой-скриптов на Fabric оказывается намного практичней, чем монструозная система изоляции всего и вся. Особенно если основа продакшена − Python, который уже имел специфические, весьма развитые и взрослые средства изоляции с отличным уровнем переносимости, когда докера ещё не было в проекте.
«Что угодно aio*» − это плюс один фреймворк, то есть для собственного резюме − здорово, а для предприятия − не то чтобы.
Лично я, скажу честно, не горю желанием перейти на асинхронное программирование, и не встречал ещё таких питонистов, которые бы мечтали об этом. Я видел, как самые простые вещи с async/await превращаются в инкубатор неотлаживаемых багов, и не хочу быть крайним в разгребании этих авгиевых конюшень.
Сейчас в systemd есть пользовательские юниты. Использовать их очень просто: нужно вместо /etc/systemd/system использовать ~/.config/systemd/user, а к вызову systemctl добавлять ключ --user.
Когда пользовательских юнитов не было, принято было подменять пользователя для запуска gunicorn/uwsgi/et c. вот таким образом:
У меня есть антресольный безголовый сервер, на котором я ресет могу и сам нажать, без мосфетов, а вот в биосе поковыряться или безопасно перезагрузить в случае отвала сети − уже нет. Для меня такая схема была бы самое оно. И расходов меньше чем на 3000р.
Вот в дата-центр за тыщи км я бы такой девайс не повёз устанавливать, не спорю. Но это ещё не значит, что он совсем бесполезный.
1) надо эмулировать HID, а это можно делать только через OTG-порт, который на малинке совмещён со входом питания,
3) в оригинальной статье есть ссылки на Амазон (переходники HDMI→CSI и HDMI→USB).
ЗЫ. Паттерн матчинг из Scala, yay!!!
В определённый исторический период сложился такой консенсус, что лучше иметь универсальный механизм изоляции для всего, то есть контейнеризацию через Docker. Предполагалось, что девопс-инженерам не придётся изучать тонкости языков и платформ, они просто будут воспроизводить одинаковую среду на серверах и машинах разработчиков, и все будут счастливы.
Но сегодня стало очевидно, что этот универсальный механизм себя не оправдал, не реализовал обещаний. Для разработчиков затраты на поддержание той же системы контейнеров, что и на серверах, оказались неподъёмны: сложно, требует изучения и поддержки, нужно мощное железо, намного усложнились задачи, которые раньше были простыми, типа отладки. Девопсы так и не смогли обойтись без изучения целевых платформ, просто вместо прямого подхода (прочитать немного про CPython, pip и virtualenv) им приходится начинать погружение в чудесный мир Python с отлаживания необъяснимых багов (почему cryptography не собирается в контейнере с Alpine).
В результате поддержка простых и понятных деплой-скриптов на Fabric оказывается намного практичней, чем монструозная система изоляции всего и вся. Особенно если основа продакшена − Python, который уже имел специфические, весьма развитые и взрослые средства изоляции с отличным уровнем переносимости, когда докера ещё не было в проекте.
Сейчас в systemd есть пользовательские юниты. Использовать их очень просто: нужно вместо
/etc/systemd/system
использовать~/.config/systemd/user
, а к вызовуsystemctl
добавлять ключ--user
.Когда пользовательских юнитов не было, принято было подменять пользователя для запуска gunicorn/uwsgi/et c. вот таким образом:
Пускать Django из-под рута − это варварство.
Вот в дата-центр за тыщи км я бы такой девайс не повёз устанавливать, не спорю. Но это ещё не значит, что он совсем бесполезный.
3) в оригинальной статье есть ссылки на Амазон (переходники HDMI→CSI и HDMI→USB).