Light TableでClojure入門

21
Light TableClojure入門 ニャンパス 登尾(@tnoborio) 資料: http://bit.ly/1d1lBSx

description

Tokyo.clj#19にて初心者向けのハンズオンをやりましたので、その時の資料です。 Light TableとLeiningenの使い方、またこの説明用に作ったLeiningenテンプレート、reloadable-webを使うと、コードを変更しただけで、再読み込みが行われ開発しやすい環境が作れるようになっています。

Transcript of Light TableでClojure入門

Page 1: Light TableでClojure入門

Light TableでClojure入門

ニャンパス 登尾(@tnoborio)

資料: http://bit.ly/1d1lBSx

Page 2: Light TableでClojure入門

やること

Light Tableの使い方

Leiningenのセットアップ

InstaReplでREPLウェブアプリケーション

Page 3: Light TableでClojure入門

ダウンロード

http://www.lighttable.com/

Light Table

Page 4: Light TableでClojure入門

Light Tableの使い方

Workspace Commands

Page 5: Light TableでClojure入門

Workspaceの表示

● Control + SpaceでCommands● Commandsを出して、

“Toggle workspace tree”を選択→Workspaceが左ペインに表示

Page 6: Light TableでClojure入門

Clojureプラグインのアップデート

1. Commandsで、”Plugins: Show plugin manager”

2. Commandsで、”Plugins: Refresh plugin list”3. Clojureプラグインのアップデート4. 念のためLight Table再起動

Page 7: Light TableでClojure入門

Light TableでREPL

Commandsから”Instarepl: Open a clojure instarepl”

● (+ 1 2 3)● (println “Hello”)

Page 8: Light TableでClojure入門

Instareplでの標準出力

標準出力は、

Commands→“Console: Toggle console”

Page 9: Light TableでClojure入門

(iterate inc 1)

(apply +(take 100 (iterate inc 1)))

(re-find (re-pattern "^\\d{3}-\\d{4}$") "343-0825")

Page 10: Light TableでClojure入門

Leiningenのインストール

1. http://leiningen.org/からleinをダウンロードする。

2. パスの通ったディレクトリに置く3. 実行権限の付与

Page 11: Light TableでClojure入門

Leiningenのインストール

Macの場合

$ curl https://raw.github.com/technomancy/leiningen/stable/bin/lein$ mkdir ~/bin/$ mv lein ~/bin/$ chmod a+x ~/bin/lein

Page 12: Light TableでClojure入門

Leiningenのインストール

Windowsの場合

(@shinseitaroさんありがとうございます。)

lein.batをダウンロード

(もしくはInstallerもこちら)lein.batを適当んディレクトリに置く

そのディレクトリを環境変数にセット http://next.matrix.jp/config-path-win7.htmllein self-install

Page 13: Light TableでClojure入門

Leiningenでプロジェクト作成

適当なディレクトリに移動

lein new sample

Page 14: Light TableでClojure入門

Light Tableからコードを触ってみる

Commandsで、”Add connection”を選び

Clojureを選択し、project.cljを選択

Page 15: Light TableでClojure入門

接続

Commands→”Add folder”でWorkspaceにsampleディレクトリを追加

src/sample/core.cljを開く

Commands→”Instarepl: Make current editor an instarepl

Page 16: Light TableでClojure入門

接続のリスト

Commands→”Connect: Show connect bar”

“disconnect”で接続を切る

Page 17: Light TableでClojure入門

ウェブアプリケーション

テンプレートを使ったプロジェクト作成

lein new reloadable-compojure web

Page 18: Light TableでClojure入門

先程と同様に接続

Commands→”Connect: Add Connection”でproject.cljを指定

src/web/core.cljを開く

Commands→”Instarepl: Make current editor an instarepl

;; (start-server!)のコメントアウトを外す

Page 19: Light TableでClojure入門

Compojureテンプレートの場合のディレクトリ構造

● src/● src/web/core.clj● src/web/handler.clj● project.clj● test/

Page 20: Light TableでClojure入門

handler.clj(1)

(defroutes app-routes (GET "/" [] "Hello World") (route/resources "/") (route/not-found "Not Found"))

Page 21: Light TableでClojure入門

handler.clj(2)

(def app (-> app-routes handler/site (wrap-reload '(hoge.core)) (wrap-stacktrace)))