April 18th, 2019

Matrix

Камушки в огород

Да, знаю я эту формулировку: "кто сам без греха, пусть первым бросит камень", но порой соотношение грехов таково, что собственными можно пренебречь (в каждом конкрертном случае, естественно).

Итак, разберём факап, буквально предсказанный мной в старой-престарой статье "Почему я выбрал Перл". Уже и на Перле я не пишу, и статья разошлась по варезным сайтам как некая очевидная классика, а "старушки всё падали и падали". В статье я упоминал известный казус, когда составители скриптовой библиотеки постарались, накалякали массу универсальных и совместимых решений для некоей операции, но программер на конкретной платформе возьмёт, да и всандюлит посреди красивого кода какую-то несовместимую фигню. И вот, в дебагируемом мной чужом скрипте, обнаружился тот самый способ выстрелить себе в ногу - вместо совместимой библиотеки shutil, была вызвана виндовая команда xcopy. Да, автор скрипта заботливо снабдил команду всякими вычурными опциями, но не позаботился об обработке внештатной ситуации. А она была такова: директория-назначение для копирования просто-напросто отсутствовала на диске. В интерактивном режиме xcopy радостно предложит пользователю разрешить этот конфликт, но будучи запущенной как команда из скрипта, она ... опять-таки пытается кого-то спросить и зависает в ожидании ответа. Если бы автор использовал библиотечную функцию, то быстренько словил бы exception и вышел бы из ситуации побитым, но не опозоренным.

Ладно, это была ошибка, допущенная простым смертным. Что же я узнал сегодня про такую солидную библиотеку, как Angular? Оказывается, если вы пытаетесь вызвать отладочные функции (console.log или alert) из inline-кода в HTML элементе, то ... они просто игнорируются. Я уже не знал, на каком месте рвать волосы от досады: ставлю отладочный оператор в самые разные элементы и ... никакой реакции! Зачем нужна такая иезуитская "фича"? Если "по просьбам трудящихся" или "для вашего же блага", то всё равно оставлю этот пост - вдруг опять наступлю на те же грабли?

PS: метки, надеюсь, отпугнули всех непричастных? Отныне дисклеймеров больше не будет. Если пост отмечен как "про компьютеры", то не обижайтесь, он-таки будет про компьютеры.