August 19th, 2015

vit_r

Про ёжика в тумане, зазнайство, языки программирования и вериги

Как сказал один из великих, «Любая плохо документированная технология неотличима от магии.»

Сегодня убил много часов на совершенно эзотерическую работу. По сообщениям об ошибках, тоже, кстати, весьма загадочным, можно было вычислить, что где-то что-то не переваривает имя файла.

Многочисленные проверки, изменения имени, прав и содержания ни к чему не привели. Пришлось лезть в код базовой библиотеки.

Там, в дебрях, среди загадочных и непонятных заклинаний наконец-то удалось обнаружить, что это самое имя, с которым я так долго и безуспешно колдовал, скармливается функции «replace_placeholder()»

Да, да. Нужно было поменять другой (естественно, не документированный) параметр, и именно на основании его значения подменяющая функция вытаскивает из каких-то глубин правильное имя, которое вставляет вместо данного мной. Или вытаскивает какой-то мусор, если параметр задать чуть иначе.

Если бы исходного кода не было, или если я был менее усердным, это нетривиальное решение так бы и осталось для меня загадкой.

Кстати, как подтвердил недавний эксперимент, только малая часть читателей, показанных местной статистикой, дочитывает до конца длинные посты.