Читать «Bash IT Happens Истории ## 12001 – 12100» онлайн - страница 22

Bash.org.ru IT

Когда я вечером был дома, позвонило начальство, сказало выйти в скайп, связаться с человеком заказчика. Поставили задачу выяснить, в чём дело. Залезаю в исходник модуля.

Модуль работал так. Открывалось FTP-соединение с этим же сервером, FTP-функциями PHP скрипт залезал в каталог import (в соседнюю папку), распаковывал архив и парой запросов заливал в базу. Повторюсь: скрипт работал с соседней папкой через FTP. Логин и пасс были напрямую прописаны в коде, в функции соединения.

Быстренько меняю всё это недоразумение на пару строк работой с локальными папками, докладываю человеку заказчика и прошу самому взглянуть на исходник. Человек заказчика долго и многозначительно молчит, потом отключается.

Утром я не могу зайти по FTP и в хост-панель сайта. Днём в сети появляется человек заказчика и рассказывает следующую историю.

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

#12044: Приятных вам граблей

12:15 27.03.2014, IT happens

Индусский код, ? Терминология выдаёт программиста, который, кроме своего Виндоус-десктопа, где всё рядом, похоже, мало что повидал. Вот вам другая история.

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

Проходит год, программу дописывают. Теперь она сама забирает данные с FTP-сервера, на который их заливает скрипт из офиса, потому что залить прямо на хостинг нельзя. Данные берутся из каталогов на файловом сервере в офисе, что стоит на столе у главбуха.

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

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

Да, теперь на первый взгляд получается как-то глупо: лишние операции, которые можно было бы заменить копированием! Оптимизаторы негодуют, кроют матом тупых индусов и убедительно доказывают свою точку зрения очевидными фактами: да, действительно, можно ведь просто скопировать!

Но если завтра вдруг возникнет потребность разделить сервера, например, перенести сайт обратно на хостинг, чтобы не потерять при очередном переезде, или на виртуалку, чтобы утилизировать по максимуму процессор и упростить восстановление из образа VM — то всё, что будет нужно, это поменять в коде адрес. Работы на пару минут.