С ним тоже не всё гладко. Навскидку:
1. Требует при запуске переопределять параметры безопасности, ещё желательно указывать флаги вроде -NoProfile для ускорения запуска.
2. Даже с флагами запускается иногда несколько секунд (!).
3. Надо писать код под минимально возможную версию (чтобы работало на всех ОС), а за этим тяжело следить и добавляется необходимость тестировать в других средах.
Добавили удобную фичу, вы хотите использовать её при разработке будущих релизов. В случае LTS-дистрибутива ждать придётся до нескольких лет.
Да и периодически актуализировать стек это хорошая практика. Гораздо лучше, чем потом резко мигрировать на далеко ушедшие актуальные версии с кучей breaking changes и подводных камней, которые вылезут все разом.
А про баги странное заявление. Одни уходят, другие приходят, с чего бы они прям копились?
sudo это совсем про другое и для запуска bash-скриптов он не требуется. Иначе это была бы огромная дыра в безопасности, ведь каждый скрипт работал бы с привилегиями независимо от того, что он на самом деле должен делать.
Я вот чего не могу понять. Microsoft форсит переход с CMD на PowerShell, но при этом получается, что последний заточен именно под администрирование и не совсем альтернатива первому.
Если я не администратор и мне просто нужно автоматизировать какие-то действия, не требующие никаких привилегий, мне всё равно приходится прописывать каждый раз несколько дополнительных параметров при запуске. А я хочу просто аналог bash-скриптов на Windows, работающий из коробки.
Да ещё б вспомнить. Поскольку обновление помогает, оно в памяти не оседает. Случайный пример: в Ubuntu 18.04 была такая проблема при использовании qmake. Его помню, потому что недавно пришлось один старый сборочный сервер из-за этого обновлять.
А ради актуальных фич вообще частая история. Если не изменяет память, даже ради поддержки ARG в своё время приходилось обновляться.
Так сама установка так и происходит, просто сначала добавляется репозиторий самого докера, чтобы была актуальная версия. Если актуальность не критична, можно обойтись и без этого.
Сколько ни пользуюсь докером, всегда были проблемы со «стабильными» версиями в составе дистрибутива, особенно в LTS. То баг, который исправлен только в более поздних версиях, то фича, которая давно всеми используется, но доступна только с какой-то версии.
Т.е. версия дистрибутива может и LTS, а вот docker нет.
Т.е. итераторы враппера разыменовываются не в тип хранимых значений, а во враппер над значением? Враппер же непрозрачным становится, вся соль теряется, плюс не очевидно совсем.
Да и настолько неочевидное использование операторов это ужас какой-то. Это как на условный ++ повесить lock, а на -- unlock.
А намёки на потокобезопасность встречаются только в примерах с ThreadSafe::*, так что непонятно, зачем в примере с простейшим случаем вообще какие-то guard'ы.
В теории ломается всё, что выполняется на клиентской стороне. Но это не значит, что существует универсальный «метод». Сам процесс взлома это не метод.
С заинлайненными проверками, например, не всё так просто. Каждый случай уникален и сложность взлома зависит скорей от того, как именно разработчики применили защиту и насколько легко автоматически распознать такие вставки или подменить для них входные данные.
Что-то мне подсказывает, что у преступников инструменты посерьёзней и более узко ориентированные.
1. Требует при запуске переопределять параметры безопасности, ещё желательно указывать флаги вроде -NoProfile для ускорения запуска.
2. Даже с флагами запускается иногда несколько секунд (!).
3. Надо писать код под минимально возможную версию (чтобы работало на всех ОС), а за этим тяжело следить и добавляется необходимость тестировать в других средах.
Да и периодически актуализировать стек это хорошая практика. Гораздо лучше, чем потом резко мигрировать на далеко ушедшие актуальные версии с кучей breaking changes и подводных камней, которые вылезут все разом.
А про баги странное заявление. Одни уходят, другие приходят, с чего бы они прям копились?
Все, кто вынужден использовать bat-скрипты, но страдает от крайне ограниченной функциональности?
Если я не администратор и мне просто нужно автоматизировать какие-то действия, не требующие никаких привилегий, мне всё равно приходится прописывать каждый раз несколько дополнительных параметров при запуске. А я хочу просто аналог bash-скриптов на Windows, работающий из коробки.
А ради актуальных фич вообще частая история. Если не изменяет память, даже ради поддержки ARG в своё время приходилось обновляться.
sudo usermod -aG docker $USER
.Т.е. версия дистрибутива может и LTS, а вот docker нет.
Да и настолько неочевидное использование операторов это ужас какой-то. Это как на условный
++
повесить lock, а на--
unlock.А намёки на потокобезопасность встречаются только в примерах с
ThreadSafe::*
, так что непонятно, зачем в примере с простейшим случаем вообще какие-то guard'ы.*&
?P.S. Кодстайл ужасный, читать очень тяжело. Чтобы отличить операторы от ссылок (
&
,&&
) и шаблонов (<
,>
), приходится вникать в семантику.С заинлайненными проверками, например, не всё так просто. Каждый случай уникален и сложность взлома зависит скорей от того, как именно разработчики применили защиту и насколько легко автоматически распознать такие вставки или подменить для них входные данные.