Выбор правильных плоскогубцев для забивания гвоздей, тема уже проутюженная миллионы раз. Все и так знают что это так правильно. Но лично меня всегда больше интересовали success stories. Вашему вниманию парочка.
началась на одном из киевских beer&&code. Мой хороший друг (он попросил не называть его имени) игрался со своим пет проектом. Я бы не сказал, что он игрался, это скорее можно было назвать легким сексом. Он пытался решить ПРОБЛЕМУ. Для того чтобы было понятно, его пет проект, это небольшое приложение, которое проверяет если изменения в Git
репозитории, и если они есть, собирает проект и выкладывает его в IIS
. Подразумевалось, что это облегчит нашу программерскую жизнь.
Так вот о проблеме. Приложение было разработано в виде вебсайта под IIS
. Из-под него запускался Git
и все остальное. Чувствуете подвох? Приложение под IIS
которое должно было запускать консольные приложения от вашего аккаунта. Оставим за скобками почему он решил так сделать. Интересней же то, что мы вдвоем просидели за проблемой запуска SSH.EXE
целый вечер. В целом проблему решили и это было интересно.
Через некоторое время, после некоторых доработок, уже на другом beer&&code, мой друг решил продемонстрировать свой проект другому другу. Eстественно, приложение не запустилось. Ошибка была другая. Не менее непонятная, чем прошлая. Мой друг выглядел немного раздраженным. Его либидо судя по всему было недостаточно для столь частых внебрачных отношений. Решить новую проблему мы пытались целой группой (неужели все подумали о какой-то беспорядочной оргии?). Вот тут то и пришло правильное решение. Нужно было просто вывести приложение из под IIS
. Это автоматически решило было кучу проблем.
Проблема приняла новый оборот. Надо было ASP.NET
приложение переписать так чтобы оно больше не было ASP.NET
. Тут то на помощь и пришёл простой веб фреймворк Nancy
. Он изначально умеет запускать веб приложения и из консоли и под IIS
. Оказалось, что переписать код на Nancy
заняло всего несколько часов, но в тоже время решило очень большое количество проблем. Единственный побочный эффект этого решения, мой друг теперь очень любит Nancy
.
sidenote: Nancy is a lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono. The goal of the framework is to stay out of the way as much as possible and provide a super-duper-happy-path to all interactions.
Мораль этой истории, хотя времяпровождения с приложением под IIS
было очень интересным и занимательным, мой друг удачно, сменой партнера на Nancy
, смог освободить себе время для других отношений.
произошла в моей команде всего пару лет тому назад. Наша пробле..