2013-07-01から1ヶ月間の記事一覧

Emacsの操作メモ

今更ながら、Emacsの操作メモ ヘルプ 私はC-hをBSに当てて、ヘルプはC-?に当てている。 そのためC-h C-hは打てないので、ヘルプのヘルプは「M-x help-for-help」で参照する。 ヘルプサブコマンド a コマンド名検索(apropos) b 現在のキーバインド一覧(bindin…

(個人的)Clojureのコーディングルールめも

Clojureの個人的なコーディングルールを整理しておく。 シンボルの命名 全般 「-」区切りの単語列 関数 状態を変化させる関数には末尾に「!」を付与 述語には末尾に「?」を付与 関数以外のvar グローバルを意識したvarのシンボルには、接頭と末尾に「*」を付…

Clojureの基礎〜中身確認系、クオート、その他記号系〜

「Clojureの基礎〜Clojureの特徴〜 - oknknicの日記」に引き続きClojureの基礎メモ。 中身確認系 #' varスペシャルフォーム(シンボルをvarに解決し、Varオブジェクトそのものを返す)に展開されるリーダーマクロ #'str ; #'clojure.core/str (meta #'str) ;…

Clojureの基礎〜Clojureの特徴〜

「Clojureの基礎〜名前空間〜 - oknknicの日記」に引き続き基礎メモ。 基本に立ち返って、Clojureの特徴を整理。 Lispである 構文をほとんどもたず、同図像性がある 言語を拡張し易い コードはデータであるため、コードを生成するコード(メタプログラム)を…

nrepl.el(nREPLのEmacsクライアント)の使い方メモ

「EmacsでClojure開発環境構築メモ - oknknicの日記」でも少し言及したnrepl.el。 今回は実用メモ。 REPL操作 REPLの起動 C-c M-j nREPL-Server と Client を起動し、Client から Server へ接続 leiningenで生成したプロジェクトのcljファイルを開いた状態で…

Clojureの基礎〜名前空間〜

「Clojureの基礎〜正規表現を扱う〜 - oknknicの日記」に引き続き、基礎メモ。 名前空間についてメモ。 現在の名前空間の切替:in-ns (必要なら名前空間が新規作成される) (REPL起動時のデフォルト名前空間は「user」) (in-ns 'my-name-space) ;なお、新…

Clojureの基礎〜正規表現を扱う〜

「Colojureの基礎〜状態を扱う〜 - oknknicの日記」に引き続き、基礎メモ。 正規表現の扱い方についてメモ。 clojure.string - Clojure v1.5 (stable) 正規表現置換:clojure.string/replace (doc clojure.string/replace) (clojure.string/replace "<hoge><hage>" #"<(\</hage></hoge>…

Ring周りについて頭を整理 その2〜Ringを生で使ってみる〜

「Ring周りについて頭を整理 - oknknicの日記」に引き続き、Ring理解ネタ。 今回はRingを生で使ってみることで、理解を深める。 HelloWorld プロジェクト(通常)の新規作成 lein new hello-ring project.clj の編集 (defproject hello-ring "1.0.0-SNAPSHOT…

Colojureの基礎〜状態を扱う〜

「Clojureの基礎 〜プロトコル・データ型・レコード〜 - oknknicの日記」に引き続き、基礎メモ。 状態の扱い方についてメモ。 状態を扱うオブジェクト ref 概要 変更不可なオブジェクトへの、変更可能な参照 参照の変更は、トランザクション内(dosyncマクロ)…

Clojureの基礎 〜プロトコル・データ型・レコード〜

今更ながら、Clojureの基礎メモ。 今回は独自型定義周りを。 プロトコル 概要 Javaのインタフェースの代替(より柔軟である) 既に定義済みのデータ型(およびクラス)に、(そのソースコードの変更なしに)プロトコルを追加できる プロトコルのメソッドは名…

Ring周りについて頭を整理

「Clojure(Compojure)で作成したWEBアプリをGlassFishにデプロイ - oknknicの日記」に続き、ClojureによるWebアプリネタ。 デファクトである Ring について、頭を整理しておく。 Ring PythonのWSGIやRubyのRackにインスパイアされたWebアプリケーションライ…

Clojure(Compojure)で作成したWEBアプリをGlassFishにデプロイ

「ClojureでのWEBアプリ開発にあたって、各種ライブラリのメモ - oknknicの日記」の続き(?)。 Clojure(Compojure)で作成したWEBアプリをGlassFishにデプロイしてみたのでメモ。 Compojureプロジェクトの新規作成、warの生成 lein new compojure myapplica…