Arantium Maestum

プログラミング、囲碁、読書の話題

Ring

Clojure Web Development勉強 - Compojure (その2)

ちょっと前回の説明で書いていなかったことを補足。 Compojureで使ったdefroutesマクロとGETやnot-foundといった個別のルート作成マクロ・関数の引数と戻り値について。 まず、GETやnot-foundは普通に関数を返す。返された関数のシグネチャは当然「リクエス…

Clojure Web Development勉強 - Compojure (その1)

さて、Ringに続いてClojure Web Developmentでメジャーなライブラリ/フレームワークであるCompojureを使ってみる。 ちなみにここらへんも含めてCompojureに関しては@_ayato_pさんにいろいろご教授いただいた。あとウェブ開発の資料も大変参考にさせていただ…

Clojure Web Development勉強 - Ring (その5) ルーティング

というわけでついにルーティング。 そもそもルーティングとは? 今まではどのリンクを踏んでも同じコンテンツしか見えないという「お前htmlメモ帳に直打ちしてftpでアップロードしてた頃のサイトの方がよっぽど動的なんだけどどうなの?」と煽られてしまうよ…

Clojure Web Development勉強 - Ring (その4) モジュール化とGET/POST Form

次回はルーティングだと言ったな、あれは嘘だ。 その前に、まず今まで書いたコードを handler.clj (responseを実際に返す関数群) middleware.clj (handlerをラップしてログを取ったりする機能を実装する関数群) core.clj (それ以外。main関数っぽいのも…

Clojure Web Development勉強 - Ring (その3) ResponseとHandler

いろんなresponseの作成を助ける関数群のring.util.responseを少し使ってみる。 gist.github.com 前回handlerと読んでいた関数をplain-textと改名し、それに加えてhtmlを返すhtml関数、404を返すnot-found関数、そしてhttp://www.google.comにリダイレクトす…

Clojure Web Development勉強 - Ring (その2) コード詳解

とりあえず前回張ったコードの説明をしておく。 gist.github.com 「詳解も何もそのまんまだろうが(怒」と言われたら「その通りですハハーッ(平伏」と言うしかないのだが、まあ自分のアウトプット&備忘録を兼ねて。 まずproject.clj。超簡単。というかlein…

Clojure Web Development勉強 - Ring (その1)

Clojureで囲碁対局サイトを作ってみたい - Arantium Maestum でも書いた通り、中規模ウェブアプリ的なものを開発してみたい。そのためのライブラリについて、色々と覚書をメモっておく。 Clojureでウェブ開発する場合、サーバサイドの根幹はほぼ必ずringとい…