bash.im ithappens.me zadolba.li
11657

Кто барашек? Я барашек?

Неспешно просили с меня прогу «для блондинок», чтобы паковала базу в пару десятков гигабайтов и грузила её, порезанную по структуре и запароленную, на сервер по FTP в автоматическом режиме. С основной работой аврал, дома тоже не ерундой страдаю, а где-то с месяц назад гостил у друзей на Балканах, и в тех неторопливых реалиях решил-то я заказ и выполнить.

Ноут у меня новый, а Delphi я на родине поставить не успел (ну, нету у меня времени переучиваться на C++: другой профиль работ, свободного времени на халтурки хватает, а на освоение — уже не очень). Из рассказов местных я понял, что при малейшей активности торрентов по адресу подключения может приехать пативэн, а дальше разбираться будет уже Министерство Правды (на местном славянском — вот прям так). Ставлю Lazarus, с бубном прикручиваю к нему библиотеки для FTP и ZIP. Оттестировав упаковку, решаю сразу же упаковать с реальным паролем, ибо скоро обещали подавать свежезапечённого барана, зарезанного с утра. Тестовую базу взял на внешнем диске как раз на случай наличия времени. Когда спаковался первый файл, решил его проверить. А вот хрен: тестовый пароль подходит, серьёзный — уже нет. Думать, что за срање, решаю уже после ягнёнка.

Подкрепившись всеми местными специалитетами и вымыв ракией из организма московский воздух, утром, выспавшись, начал ковырять код. Программа получилась умная, умела заполнять поля из INI-файла и сбрасывать новые значения туда же. Только через два часа обращаю внимание на поле ввода пароля под названием txtFilePass. Па јеби га коњем! Хоть и грубо это даже там, но в разговоре допустимо. А прикол был в том, что на этапе проектирования формы я назвал поля логина и пароля от FTP, как привык: txtLogin и txtPass, потом прикрутил автозаполнение и проверил работоспособность, вбив один и тот же тестовый пароль к тогда же установленному серверу FileZilla, а код писал после перерыва и на автопилоте пароль для архивации брал из поля с именем, которое вспомнилось в первую очередь.