По мотивам старой заметки - продолжаем миграцию Perl CGI скриптов на приложения Node.js.
Давным давно в далекой галактике был написан CGI-скрипт - “Универсальный Стихоплёт” по мотивам известного демотиватора.
Только потом я лично узнал, что это некое жалкое подобие “цепи Маркова”, но на самом деле это совершенно неважно.
Важно другое - с Node.js всё становится проще, быстрее и элегантнее. Проблемы с модулями, отладкой и прочей ересью вроде как остались в прошлом.
Итак, есть CGI-скрипт. Вот такой. Задача простая - переписать всё c использование Node.JS.
При обращении он должен генерировать четверостишье по заданному шаблону из словаря.
Этапы у нас примерно следующие:
- Генерим JSON массив для словаря
- Генерим JSON массив для структуры
- Генерим скелетон приложения Express
- Пишем логику и пару маршрутов - для выдачи html и json
- PROFIT!
То, что получилось, можно найти вот в этом репозитарии.
Приложение получило название OopsaaS - Универсальный Поэт-Стихоплёт, Как Сервис. Или Oops As A Service. Вот такая дань моде.
Но и это ещё не всё - с появлением Heroku “деплой” приложений стал прост, как никогда (надо лишь “играть по правилам”). Теперь не нужно держать различные сомнительные поделки типа “Денвер” и результаты можно посмотреть “в действии” хоть с телефона.
Вот, собственно, что получилось. Приложение работает на heroku, вывод упакован в iframe на этом сайте. Ниже ссылка “Reload” для обновления текста.
Бесплатный аккаунт heroku позволят приложению работать суммарно около 18 часов в сутки и после простоя “пробуждение” будет занимать какое-то время, но сама идея - прекрасна.