Звонок из прошлого (сказ о чудном проекте внедрения)
Когда-то мне предложили подключиться к проекту. На пальцах что-то рассказали что там все просто, все халява.. Якобы какие-то ларьки, терминалы, компы с кардридерами.. и т.п.
И надо что-то открывать когда подносят карточку.. Просил образ системы на которой их "Ларьки" крутятся. Что бы просто глянуть с чем придется иметь дело. На чем крутится система и т.п. Ждал неделю. Сроки у них уже и так горели..
Дали мне вместо завиртуалиной системы, образ диска под Акронис. Ёлки-палки О_о.. Ищу Акронис. Ставлю. Пытаюсь с этого образа поднять систему на виртуалке.. Но там XP которая вообще категорически не понимает виртуального железа и падает в синий экран на этапе загрузки. В общем дохлый номер.. В общем кернел паник...
Иду к заказчикам в офис. Показывают мне компы. В библиотеке вуза) Вот грят программа. База библиотеки. Работает по штрих коду. Надо переделать на карточку. Меняем устройства. Про ларьки спрашиваю. Они говорят ларьки тоже самое. Несколько раз уточнил алгоритм моих действий моей программы. Подтверждают. Прошу базу библиотеки. Никто не может дать. Никто не знает где взять. Дали демо версию программы "Марк". Хорошо.. И на том спасибо.
Дома в итоге у меня их демка не встает. Качаю с сайта производителя. Связываюсь с разработчиками для уточнения, есть ли у софтины какой-нить интерфейс типа COM\OLE. Они говорят что нету. Но в целом они согласны принять кардридер и добавить его в свой софт как распознаваемый. Но это время. А проект горит.. Такой вариант никого не устраивает..
Я ночами не сплю. Пытаюсь работать с железом. В итоге железо скинул на знакомого программера. Сам занимаюсь интеграцией с "Марком". Через одно место ищу на окне "Марка" нужные кнопки и менюшки и имитирую нужные действия пользователя.
При этом на меня переодически наезжает исполнитель проекта мол сроки горят давай быстрее.
Секунду! Да я вообще не подписывался на ваш проект! Я просто просил посмотреть с чем придется работать и возьмусь ли я за это! Но теперь уже пофиг. Как-то сам не понял как уже назначен ответственными за ПО часть))
В общем чудом за счет ночного времени успеваю к сроку дописать софт. Слить наработки железного программера и свои. Работает зараза! Подношу карточку к кард ридеру, программа идет в базу, по ID карточки ищет Номер читательского билета, потом в программе марк открывает карточку читателя по этому номеру билета О_о... Работает безотказно!
День встречи. Я весь такой красивый с ноутбуков заваливаюсь к заказчикам. Собрались наконец все вместе - заказчик, исполнитель и я (подрядчик-джамшут).
Спрашивают - Готово?
Я говорю - Готово! Показываю, рассказываю, на своем ноуте демонстрирую.
Заказчик медленно приходит в ярость. Я сперва не понял в чем дело.. В итоге оказалось что мне нифига все ТЗ не объяснили. И то что я сделал - лишь 40% от всей работы.. Ибо библиотека это хорошо! Но есть ещё промежуточная база данных системы безопасности о которой я не знал. Плюс ларьки! Помните в начале я о них упоминал? Вот! Там нет никакого Марка! Там надо хитровыдро шифровать ссылку, и эту ссылку отправлять в браузер, и браузер должен открыть персональную страничку студента! Вот оно че Михалыч! Вот оно че!
На сей раз я там всех замучил с распросами чтобы составить реальное ТЗ! О существовании которого как бы все знают но никто его видимо не видел О_о
С ужасом представляю сколько ещё ночей проведу за ноутом но соглашаюсь. Обидно бросать на пол пути..
Беру базу безопасности. Уточняю как надо шифровать ссылку. Оговариваю где ссылка хранится. Где ключ хранится и т.п. Все детали уточнены. Действую.. Неделя срок - софт готов. Разобрался в структуре БД от америкотской конторы. Внедряюсь в неё. Свою прогу допиливаю. Тестирую. Одним махом оптимизирую. Наворачиваю настройки и т.п. Прихожу. Показываю. Проверяем на одном ларьке, и на одном компе. Работает! Фуф! Отлегло. Ухожу..
Затем сдаю исходники. Документацию. Видео инструкции с разъяснениями, как настраивать. Что устанавливать. Как настраиваивать UDL.ки (ссылки на Базы данных).
Звонят. Вот мол ваша библиотека (dll) криво работает с C# приложением... Ладно..
Кучу раз переписываю библиотеку шифрования. Отлаживаю. Добиваюсь корректной работы с .Net приложением.
Признают что работает. "Но вот что-то метод шифрования у вас слабый..." Я уже злой! Я уже реально им собирался предъявить минимум 4 способа как сломать их систему защиты не прибегая к расшифровки зашифрованной моим алгоритмом ссылки. Но сдержался. Сказал все что я думаю о них непосредственному "руководителю". Он сам с ними развел этот вопрос. Шифрование их устроило)
Затем был цирк когда меня 2 дня вызванивали и не могли настроить софтину на реальных рабочих местах.. Раз 20 объяснил что одна УДЛ смотрит на базу безопасности. Другая на базу библиотеки. Такие-то настройки - так надо настроить. Другие - сяк.
У них не выходит... Ёлки ж палки... В итоге в субботу пришлось ехать к ним. И что вы думаете я там сделал? Правильно! Настроил УДЛ файлы! И все! Конечно у них была ошибка когда две ссылки ссылались на одну и туже базу! Как тут работать то? ))
В общем после этого ещё несколько раз к ним приезжал по причине что у них между некоторыми компами тормозила сеть. И тайм аут СУБД кончался прежде чем данные успевали пройти по сети.. Ну что - же.. Объяснял. Доказывал что вина не моя. Доказать было легко - 20-50% пингов до сервера с SQL Сервером - не доходили. Исправляли сеть.
Ещё на месте, на коленке пришлось переписывать, пересобирать прогу специально для стааарых медленных компьютеров, где моя имитация пользователя была слишком быстра для их процов. И кнопка нажималась раньше чем комп успевал открыть окно с этой кнопкой Брррр...
В итоге проект все таки ожил! Заработало! Все счастливы! Но денег мне ещё долго не давали. Месяца 3 я ждал выплаты. Я и мой коллега железячник программист
И по сей день мне должны 15 тыс тнг за мои сверх ускоренные переработки и не запланированные работы. Которые обещали через неделю после основной выплаты... Но уже год почти прошел )
И вот тут звонит заказчик! Теперь понимаете почему меня потом прошибло? В итоге спросил можно ли у меня консультироваться по настройками программы? Могут ли его хлопцы мне звонить если что то будет не ясно?
Фуф... Да! Звоните на здоровье! По телефону расскажу. Но ввязываться в проект снова - НЕТ! )
Что-то вылилось с меня))) Как вспомню - так ... так... В общем красота) Даже наверное хорошо что однажды через такой проект прошел) Знаю что второй раз в такое лезть не буду! ))) И тем самым заранее предупрежден судьбой
все, что не убивает. делает нас сильнее.
теперь понятна собственная производительность!