Ring
ちょっと前回の説明で書いていなかったことを補足。 Compojureで使ったdefroutesマクロとGETやnot-foundといった個別のルート作成マクロ・関数の引数と戻り値について。 まず、GETやnot-foundは普通に関数を返す。返された関数のシグネチャは当然「リクエス…
さて、Ringに続いてClojure Web Developmentでメジャーなライブラリ/フレームワークであるCompojureを使ってみる。 ちなみにここらへんも含めてCompojureに関しては@_ayato_pさんにいろいろご教授いただいた。あとウェブ開発の資料も大変参考にさせていただ…
というわけでついにルーティング。 そもそもルーティングとは? 今まではどのリンクを踏んでも同じコンテンツしか見えないという「お前htmlメモ帳に直打ちしてftpでアップロードしてた頃のサイトの方がよっぽど動的なんだけどどうなの?」と煽られてしまうよ…
次回はルーティングだと言ったな、あれは嘘だ。 その前に、まず今まで書いたコードを handler.clj (responseを実際に返す関数群) middleware.clj (handlerをラップしてログを取ったりする機能を実装する関数群) core.clj (それ以外。main関数っぽいのも…
いろんなresponseの作成を助ける関数群のring.util.responseを少し使ってみる。 gist.github.com 前回handlerと読んでいた関数をplain-textと改名し、それに加えてhtmlを返すhtml関数、404を返すnot-found関数、そしてhttp://www.google.comにリダイレクトす…
とりあえず前回張ったコードの説明をしておく。 gist.github.com 「詳解も何もそのまんまだろうが(怒」と言われたら「その通りですハハーッ(平伏」と言うしかないのだが、まあ自分のアウトプット&備忘録を兼ねて。 まずproject.clj。超簡単。というかlein…
Clojureで囲碁対局サイトを作ってみたい - Arantium Maestum でも書いた通り、中規模ウェブアプリ的なものを開発してみたい。そのためのライブラリについて、色々と覚書をメモっておく。 Clojureでウェブ開発する場合、サーバサイドの根幹はほぼ必ずringとい…