Let's start Scheme

2015-07-03

Webアプリケーションサーバっぽい何か

時間というのは取れるときは取れるものである・・・

今更ながらにWebアプリ的な何かを暇を見つけて書いているのだが(世の中GUIでできるものはクリック一つでできた方が楽ですよ的な軟弱な考えに基づいている)、一ファイルに全部詰め込んで書いてるのが辛くなってきたのでいろいろいい感じに扱ってくれるフレームワーク的なのを書いたのでその紹介(と備忘録)。基本的にはPaellaの上(名前的には下だけど)に乗せてある何か。

極々簡単な何か


Githubから落としてきて以下のコマンドでインストール可能。
$ cmake .
$ make install
インストールしたら適当にアプリを作る。まぁ、こんな感じ。
$ plato-recipe.scm -i -a sample simple-app 
simple-appというディレクトリができているはずなのでそこに移動して、以下のようにサーバ起動。
$ sagittarius run.scm 
これだけやると、http://localhost:8080/sampleにアクセスできるはず。OKと表示されていたら上手いこと動いている。

仕組み


30分足らずで書いた何かなので、仕組みも糞もないくらい簡単ななのだが、端的に言えばディレクトリ決め打ちアプリケーションという感じである。上記の例だと以下のようなディレクトリ構造が作成される。
simple-app/
  + lib/
  + apps/
      + sample/
          + handler.scm
  + run.scm
handler.scmがマウントポイントのエントリーポイントになる。詳しくはソース見た方が早いレベル。

欲しげな機能


  • セッション管理の機能とか。現状クッキーを扱うライブラリとかないのでそこから作らないといけないという。
  • 設定ファイル的な何か。JEEでいうweb.xml的のがあるといいかなぁ。
  • マウントポイント別環境。
  • サブパス。今のところ一番sample/fooみたいなことができない。いるかどうかは別だが・・・

ちょっとCygwin上で動かしたらselect (2)の実装の違いにより動かなかったので、現在のHEADが必要。Linuxなら0.6.5でも問題なく動くと思う。

No comments:

Post a Comment