2010-01-01から1年間の記事一覧

マルチスレッドでWebページを取得する

HttpClientを使って、マルチスレッドでWebページを取得するサンプル。 leiningenを使う場合は、project.cljの:dependenciesに[commons-httpclient"3.1"]を記述し、lein depsを実行すればライブラリを取得してくれる。 (ns web-get (:import [org.apache.comm…

Echo server

Programming Clojureを読んだ直後にも書いたが、またEcho serverを書いてみた。以前に作成したのは冗長だった。 clojure.contrib.server-socketとclojure.contrib.duck-streams/copyを使うと簡単だ。 (ns socket-test (:use [clojure.contrib.server-socket …

trace - 便利なdotraceマクロ

ここしばらくHaskellやAndroidプログラミングに興味を引かれ、Clojureからは遠ざかっていた。blogの更新は5ヶ月ぶりか。月日が経つのは早いなぁ。print関数を使ってデバッグしていたが、面倒くさくなってきたので、調べてみたら、ClojureでもCommon Lispみた…

フィールドとメソッド探しにちょっと便利な関数を作ってみた

SLIMEで開発している際に、Javaのクラスが持つフィールドやメソッド名を調べたい事がある。 例えば、文字列を大文字に変換するメソッドを忘れてしまって、uppercaseだったかな?toUpperだったかな?なんて時に、ちょっと便利な関数。 使い方 (inspect 調べた…

clojure,clojure-contribのバージョンアップ(1.1.0のビルド方法)

今更なのですが、http://d.hatena.ne.jp/e-o-n/20091024 に書いた手順でバージョン1.0をビルド後に、バージョン1.1.0のjarを作成する手順のメモ。 ~/opt以下にclojureとclojure-contribをgit cloneしている。まずはclojureから。 ~% cd opt/clojure ~/opt/cl…

Twitter4jでつぶやく

ClojureでTwitterのbotを作ろうと思い、TWitterライブラリを探してみたら、Twitter4Jは扱いが簡単そうだったので試してみた。 Twitter4Jは最新の安定バージョンである2.1.0を使用した。 まずは、Twitter4Jのサンプルコードを参考に、つぶやくコードを書いて…

jarファイルをまとめてクラスパスに追加する

clojureでいろいろとコードを書き始めると、多種のjavaのライブラリを使うことになると思うが、いちいち.emacsにライブラリを追加するのは面倒だ。 Emacs Lispのdirectory-files関数を使うと指定したディレクトリにあるjarファイルをリストとして取得できる…