Bye, CGI

2016-04-15

node.js

По мотивам старой заметки - продолжаем миграцию Perl CGI скриптов на приложения Node.js.

Давным давно в далекой галактике был написан CGI-скрипт - “Универсальный Стихоплёт” по мотивам известного демотиватора.
Только потом я лично узнал, что это некое жалкое подобие “цепи Маркова”, но на самом деле это совершенно неважно.

Важно другое - с Node.js всё становится проще, быстрее и элегантнее. Проблемы с модулями, отладкой и прочей ересью вроде как остались в прошлом.

Итак, есть CGI-скрипт. Вот такой. Задача простая - переписать всё c использование Node.JS.

При обращении он должен генерировать четверостишье по заданному шаблону из словаря.

Этапы у нас примерно следующие:

  • Генерим JSON массив для словаря
  • Генерим JSON массив для структуры
  • Генерим скелетон приложения Express
  • Пишем логику и пару маршрутов - для выдачи html и json
  • PROFIT!

То, что получилось, можно найти вот в этом репозитарии.

Приложение получило название OopsaaS - Универсальный Поэт-Стихоплёт, Как Сервис. Или Oops As A Service. Вот такая дань моде.

Но и это ещё не всё - с появлением Heroku “деплой” приложений стал прост, как никогда (надо лишь “играть по правилам”). Теперь не нужно держать различные сомнительные поделки типа “Денвер” и результаты можно посмотреть “в действии” хоть с телефона.

Heroku

Вот, собственно, что получилось. Приложение работает на heroku, вывод упакован в iframe на этом сайте. Ниже ссылка “Reload” для обновления текста.

Бесплатный аккаунт heroku позволят приложению работать суммарно около 18 часов в сутки и после простоя “пробуждение” будет занимать какое-то время, но сама идея - прекрасна.

Reload

В массы

В трубу