2012ずいぶんと遅くなりましたけど、完結させます。前回のエントリソースコード実際に動いてるサンプル今日のアジェンダです。HiccupのキホンDB操作を学ぶHerokuにデプロイしてみようとはいえ、ソースコードを読めば大体分かる話なのでサクっと流してHerokuにデプロイする説明して終わりにします。Hiccup[Hiccup]はHTMLテンプレートエンジンです。めんどくさいのでさっそくコードを眺めてみましょう。guchi)))Hiccupでは一つのHTMLエレメントを配列で表現します。配列の最初の要素がHTMLエレメントの名前、第2要素にHTMLエレメントの属性をマップで、第3要素以降に中身を記述します。中身は配列の入れ子構造になることもあります。試しにREPLで次のコードを実行してみましょう。"text"]]>)こんな結果が返ってくるはずです。id=\"guchi-form\"><h2>text</h2></div>"非常にシンプルで使いやすいですね。本物のHTMLより書きやすいくらいです。逆に、HTMLを直接書くわけではないので、デザイナとプログラマが完全に分離しているようなプロジェクトではHiccupを使用するのは難しいかもしれません。DB操作してみようpostgresqlの操作にはclojureのjdbcインタフェースを使用します。[guchi])))clojure.java.jdbc/with-connectionマクロは第1引数で指定されたDBに対して以降の引数を実行します。この例ではclojure.java.jdbc/with-query-resultsとclojure.java.jdbc/insert-valuesを使用しています。本題とは逸れますが、ここではこれらのマクロの使用方法をClojureのREPLを使って確認しましょう。説明がめんどくさくなったわけではありません。REPLで以下のように実行して下さい。clojure.java.jdbc/with-query-results)するとwith-query-resultsの説明が颯爽と姿を表します。options.このdocは非常によく使います。不明な関数やマクロに出会ったときは仕様を確認する癖をつけておくといいかもしれません。Herokuへのデプロイさて、非常に雑な説明でしたがここまででアプリの全体を通して見てきました。最後にこれをHerokuにデプロイしましょう。はじめにherokuが利用可能な状態にならないといけません。herokuコマンドのインストール多分次の1行を実行するだけでインストールできるはずです。herokuherokuでアカウント作成herokuでアカウントを作成しましょう。SSHキーの登録gitでpushする際に必要になるSSHキーをherokuに登録します。keys:addEメールとパスワードを聞かれるのでherokuアカウントのものを入力します。herokuアプリケーションの作成heroku上にアプリケーションを作成します。次にguchitterプロジェクトをgitで管理します。pushすることでデプロイしますからね。commit"herokuでDBを使うherokuの共有DBを使用する設定です。shared-database共有DBのURLは前回説明したとおり、heroku上では環境変数DATABASE_URLです。configで確認できます。herokuにpushherokuにソースをpushしましょう。create実行時に勝手に作成されたものです。共有DBにテーブルを作成guchitter用のテーブルを作成します。guchitter.models.migrationこれでmigrationが実行されました。プロセスの起動ついに最後。herokuアプリのプロセスを起動しましょう。web=1アプリを見てみる実際に動いてるか確認してみましょう。openまとめ長くなった上にあまり中身のない記事になってしまいました。解説の量が多くなってしまったので、多々間違いがあるかと思います。お気づきの点は是非コメントでお知らせ下さい。Disqusk2nr。