真面目に、強く、上品に

たのしく、げんきに

clojure

ニコニコ動画にartihata動画を投稿しました

株式会社ドワンゴの運営するニコニコ動画にEmoji組版編集サービス artihata の紹介動画をアップしました。 artihata では言語はClojureとClojureのWebアプリケーションフレームワークである Luminus を採用しています。 ほとんどの実装はJavaScriptで記述さ…

Clojure日本語書籍まとめ[2015年6月時点]

Clojureの日本語書籍も数冊出るぐらいになりましたので、ここで一つ2015年6月時点でのClojure日本語書籍についてまとめてみました。 プログラミングClojure 第2版 Clojureの日本語書籍といえばまずコレ。 ハワイ在住Lispハッカーとして有名な川合史朗さん訳…

ClojureのAgentで生成されるスレッドプールのサイズを変更する

ClojureのAgentの実装では、2 + Runtime.getRuntime().availableProcessors()で得られるサイズでスレッドプールを生成するが、このスレッドプールのサイズはset-agent-send-executor!に任意のExecutorServiceを渡して書き換えることが出来る。 set-agent-sen…

Clojureのevalとmacroのパフォーマンスを比べる

Clojureには他の動的型言語と同様に文字列*1をプログラムとして評価出来るevalという関数があります。 Clojureにはマクロがありますし他の動的型言語と同様にevalは遅いだろうという推測は容易に出来ますので、evalを使わないといけない局面というのはそう多…

CloudBeesでのClojureプロジェクトのデプロイ方法

Clojureでよく使われているPaasとしてはHerokuが有名だと思いますが、最近はCloudbeesもよく使われているようなので、私もCloudbeesにプロジェクトをデプロイしてみました。 Cloudbeesはクラウド環境を操作するためのleiningenプラグインが用意されており、…

Homebrewでインストールしたleiningen1.xからleiningen2.xへのUpgrade

2013/04/04現在、Homebrewでインストールされる leiningenが1.x系列なので2.x系列にUpgradeしてみました。 ほぼleiningen/wiki/Upgradingの手順通りです。 直接Cellarいじくっていいのかよくわかりませんので、こうした方が良いよというのがあれば指摘してい…