🛠 Список вещей, из-за которых может начаться третья мировая война

Нет, не ядерная программа Северной Кореи. И даже не секретная армия роботов Израиля. На мой взгляд всё будет гораздо прозаичнее.


№1: bash-скрипты

Я никогда ещё не встречал вещи настолько могучей и настолько безобразной как скрипты на языке bash. Эти невидимые работяги, на плечах которых покоится без преувеличения половина современного цифрового мира, могут запросто перенаправить stderr неба в stdin Аллаха и даже не поперхнуться, хотя по условиям задачи надо было ровно наоборот.

Bash — это универсальный суперклей, который выполняет грязную работу по соединению всего со всем. При использовании важно помнить следующие моменты:

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

Операция сравнения трактора с павианом завершилась неудачно, ваш кластер будет удалён.


№2: переменные окружения

Ещё один потенциальный генератор катастроф, который довольно трудно подвергается тестированию.

Хорошо там, где есть "физическое" разделение тестинга и продакшна; ещё лучше там, где существует предпусковая проверка(health-check, который перед стартом потыкается во все сервисы и выдаст HTTP 503 в случае ошибки, что в свою очередь запустит роллбэк), но несмотря на всю накопленную годами мудрость ENV-бомбы продолжают взрываться.

Переменные окружения — это невидимые ниточки, за которые операционная система дёргает софт в юзерспейсе. Стоит дёрнуть не ту ниточку или не так — и может пиздануть так, что мало не покажется.

А ещё в переменные окружения часто суют credentials от каких-нибудь mission critical компонентов инфраструктуры. Что произойдет при их утечке наружу можете представить и сами.


№3: регулярные выражения

За примерами далеко ходить не надо: вот и вот. В обоих случаях как следствие весь Интернет ебал вола и терял деньги в течение довольно ощутимого промежутка времени. Недопроверили регулярку? Будьте уверены — пизданёт с грохотом.

Как и в случае с bash, регулярки — мощный инструмент с ёмким синтаксисом, который совершенно не предназначен для чтения и понимания людьми. Можно было бы заменить их на Verbal Expressions, но только вот где найти столько времени и столько обезьянок чтобы переписать все регулярки на вербалки?

Mon, 7 Oct 2019 21:42:07 +0200


RSS // Telegram // Статистика