пятница, 6 марта 2009 г.

Шаг назад


Бывает такое: пишешь, пишешь, запускаешь, проверяешь, коммитишь, снова пишешь, пишешь, и — бах — у программы отваливается какая дряная связь с внешним миром (чужими компонентами или кривыми багофичами операционной системы), и никакое возвращение к предыдущей ревизии из системы версионирования не помогают :(
Так я три дня назад попал в microsoft(r) manifest hell. В моем случае COM-компонент тянул динамическую библиотеку, которая зависела от другой динамической библиотеки, ..., которая требовала модуль библиотеки параллельного программирования OpenMP. Все было прекрасно — код работал, цветы благоухали, и птички пели хвалебную песнь о быстром деплойменте у меня в голове. ...Пока я в очередной раз не собрал проект в release-конфигурации. И всё, капут — системный сервис регистрации regsvr32 перестал подгружать мой компонент. И сколько я ни пытался сделать zurück, как долго ни шаманил с манифестами, сколь тщетно ни пытался трейсить regsvr — ничего не помогало. Я жил в отчаянии два с половиной дня. И только сегодня я мысленно сказал свое "да пошло оно", создал проект с чистого листа и скрупулезно, шаг за шагом, проверяя на каждый чих, перенес весь функционал из мертвого проекта в новорожденный. И у меня получилось! Я сделал это за полчаса. Да, я не узрел истины и до сих пор не представляю, что это был за дизастер. И знать не хочу!
Если вы вступили в лужу, иногда нужно сделать шаг назад, обойти ее и спокойно продолжать прогулку, а не брать разбег для хорошего прыжка. Потому что иногда лужа может оказаться океаном.

Комментариев нет:

Отправить комментарий