Noteはてな記法がいつまでたっても覚えられないので、はてなダイアリーからマークダウンが使えるこっちに引っ越してきました。fleetTweetこのエントリは変態アドベントカレンダー11/15です今日は変態のためのWebサイトを、clojureというJVM上で動く関数型言語を使って開発してみようと思います。今回の開発にあたって、次のライブラリを用いています。このライブラリの使い方をざっくりと追いかけながら、hentaiwebサイトを作っていこうと思います。fleetCompojurecompojureはclojureで書かれたwebフレームワークです。sinatraの影響が強く反映されており、シンプルで最小限の機能を提供しています。clojure界隈ではデファクトスタンダードらしく、資料の少ないclojureにしてはそこそこ情報が見つかります。いうわけで、こいつとRingで動くwebアプリはこんな感じです。ルーティングができたのでここにテンプレートエンジンを組み込もうと思います。Fleet今回はFleetというテンプレートエンジンを使います。)>で囲んだ中にclojureのコードを埋め込むことが出来ます。他にも、テンプレートエンジンはいくつもあるのですが、使い慣れているVelocityに近い書き方ができるので、今回はこれを採用しました。{}))これは、clojureではMapとして扱われます。ここに値を追加することで、テンプレートを動的に変更出来ます。get-imgの結果が保持されます。それはそのままテンプレートから呼び出すことができます。関数get-imgを定義しましょう。こんな感じに、core.cljに書き足します。3)))defは定数の定義、defnは関数の定義です。これで、ベクタhentai-linkからランダムに値を取得する関数get-imgが出来ました。main-routes))templateから、Mapで渡された値を取得するには、dataを使います。Fleet</title></head><body><h1>あなたは変態です。/></body></html>これで、ランダムに変態のための画像が表示されるはずです。まとめまとめると、今回の内容は次の通りです。clojureでwebシステム構築してみたcompojureを使ってみたfleetを使ってみた今後は、formに入力してpost取得などをやってみようと思います。それから、もしfleetに自作関数を食わせる方法をご存知の方がいらっしゃればぜひご連絡ください。我こそは、という変態の方はぜひご覧ください。(2)はてなブログをはじめよう!kuchitamaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。