2010-04-01から1ヶ月間の記事一覧

clojureでマルチメソッドを試してみる

JavaのオーバーロードをClojureではどうやって表現するだろうと疑問に思い調べてみました。 結論としては、マルチメソッドを使用すれば可能。 以下は簡単なサンプル。 user> (defmulti hoge class) #'user/hoge user> (defmethod hoge String [x] (str "Stri…

2010-04-29

23:34 ubuntu10.4が出ているのかと思ってサイトを見たら、表記は9.10のままだった。今日リリースなのね。 23:28 port search scalaをすると2.8RC1もヒットする。Macは開発者のおもちゃとしては、かなり楽しめる環境だ。 23:24 MacPortsはパッケージシステム…

2010-04-28

23:23 達人プログラマーにも、「毎年少なくとも一つの言語を学習する」というのがある。 23:16 GW中はScalaもちょっと勉強したい。Scala本は持っているけど、まだ最初の方しか読めてない。いろんな言語を知るのは、決して無駄ではないと思う。 23:07 自分の…

2010-04-27

21:34 ehcacheの挙動を確認するのに、Javaで書くのが面倒でなぜかClojureで書いてみたり。。。ごめん嘘つきました。最初はJavaで書いて試した。うまくやると明示的にimportを書かなくても済むので、地味に便利だ。 21:25 数時間悩んでたどり着いた答えが、"s…

2010-04-25

23:59 SSHで接続できない問題は、コピーした設定ファイルが間違っていたためだった。サーバには公開鍵を、クライアントには秘密鍵を置く必要があった。この辺り、どっちがどっちかすぐ忘れている気がする。 22:01 ネットワークとかサーバ管理って、やはり難…

2010-04-26

23:11 Macのspotlightを使いたいけど、ショートカットが標準だとCtrl+SPACEなのが微妙すぎる。ひとまずCtrl+tに変更してみたけど、どうするのがもっとも使いやすいんだろ。 22:43 ポートフォワードによるover SSHは便利だけど怖すぎる。 22:38 SSHでポートフ…

「メタキーとしてoptionキーを使用」

備忘録として。 Macのterminal上でemacsを使用しているときに、「M-v」キーを押しても1画面分戻らず、チェックマークのような記号が表示されるという現象が発生。原因が分かったので、忘れないように残しておく。[ターミナル]-[環境設定...]で設定画面を表示…

2010-04-24

22:21 トラックパッドの設定画面で、実際にどのように操作すれば良いのか、動画で説明しているのが良い。ちょっとしたことだけど、使う側の立場になると、文字だけの説明より、分かりやすい。 22:18 MacBookProで右クリックをしたいとき、ずっとコントロール…

2010-04-22

23:11 Cocoa Emacsでどこがどう変わったのかはよくわからない。 23:10 MacPortsでCocoa Emacsをインストールしようと「sudo port install emacs-app」と打ったらエラーになった。「sudo port install emacs-app-devel」だとOK。develって開発版だと思ってい…

2010-04-19

21:24 DbUtilsもいつの間にか1.3になってる。地味にバージョンアップしてるんだね。 21:22 JavaでDBアクセスプログラムを書くとき、DbUtilsが便利でよく使ってしまう。フレームワークは覚えるのが正直めんどくさい。 21:07 面倒だけと無名クラスではなく、明…

2010-04-17

12:05 @sirohuku キーをカスタマイズするなら、KeyRemap4MacBookとか使うと便利だと思う。 [in reply to sirohuku] Powered by twtr2src

2010-04-15

23:46 プログラミングClojureをまた最初から読んでいる。最初読んだ時には気付かなかったり、分からなかった部分というのが結構あり、面白い。どこが分かってなかったのかが分かったという意味では、成長しているのかな。 Powered by twtr2src

2010-04-14

23:28 iPad発売延期か。自分の本命はMacBookProだったので影響なしですが、チェックだけはしたかったのに。 Powered by twtr2src

jarファイルのパスを連結する

leiningenのスクリプトを見ていて、これ良いなと思ったので。 特定ディレクトリにあるjarファイルのパスを連結するだけだけど、1行で書けるので地味に便利だと思う。 #どちらもlibディレクトリのファイルのパスを連結する。 #こっちはleinに記述されていたも…

2010-04-12

23:19 lein swank、importのクラス名とかも補完してくるとうれしいのだが、それは無理そうか。 23:07 lein swank凄いな。tabキーでちゃんとコード補完してくれる。 23:04 @making それ短くて良いですね。自分の場合、普通にfor文で回してやってましたが、冗…

2010-04-13

23:53 あとはMacBookAirがそろそろ何かあっても良さそうな気もするけど。正直、今のスペックだと微妙だし。VAIO Zくらいの物が出たら、最高なんだが。 23:44 初代MacBookと比べると、200gほど重くなるけど、スペック的にきっと天地の差だろうな。 23:35 MacB…

2010-04-11

22:57 @making 確かに試してみたけど駄目でした。うむ、まだマクロの使い方や使い所というのをうまく捕らえられていない感じだな。 [in reply to making] 21:32 (defmacro func [funcname & args] `(~(symbol funcname) ~@args)) というマクロを書けば、自分…

2010-04-10

18:36 今回はClojureハッカソンに参加出来て楽しかったです。皆さん自分よりもスキルが上なので、凄く刺激になりました。次回もしあれば、その時はぜひ参加したいです。 09:38 Clojure Hackathon来ました。VAIO type P使っているのが自分です。atom CPUだと…

clojureでMapオブジェクトを相互変換してみる

JavaのMapオブジェクトとClojureのMapオブジェクトを相互変換する場合、どうしたら良いのだろうと思い、少し調べてみた。まず、java.util.HashMapを使った場合の動きを確認してみる。 HashMapの場合、シンボルをキーにしているとClojureっぽく呼び出せる。そ…

2010-04-07

22:01 行き帰りの電車の中でOn Lispを読み始める。当然Clojureを理解するための一環として。 21:19 MacとLinuxでleiningen使ったときの動きが違うかと思ったが勘違いだった。leiningen cleanしてから、再度leiningen uberjarでjarファイルを作ったら、:gen-c…

2010-04-08

22:55 そういえばperlのYAML::Tinyモジュールを試しているとき、フロースタイルの記述だとうまく動かなかったのだが、そういうものなのかな。JavaのJYamlだと正しく動いたが。うむ、よく分からない。 22:49 設定ファイルはyamlで書いておけば、Javaでもperl…

java.util.DateクラスのtoStringメソッドの文字列からjava.util.Dateオブジェクトを生成する

これまた通常あまり使うことはない気もするけど、ハマったので記録として残しておく。 java.util.DateクラスでtoStringメソッドを呼び出すと「Wed Apr 07 21:26:05 JST 2010」のような形式の文字列を表示する。こいつから逆にjava.util.Dateオブジェクトを生…

clojureでtar.gzファイルにアクセスしてみる

元々はJavaでtar.gzファイルにアクセスする方法を調べていて、Clojureの勉強も兼ねてそっちのコードも書いてみる。 leiningenでプロジェクト作って試していたので、-main関数とかも書いて、引数でファイル名を受け取れるようにしている。 ポイントはloopマク…

2010-04-06

23:54 手元に試したLinux環境がないから、ソースの確認出来ないけど。 23:52 Linux環境ではうまく動いていた物がMac上では動かず1時間以上悩んだ。Linuxではnsマクロで:get-classを指定しなくても動いていた気がするのだが気のせいだったのかな。Macだとその…

clojureでnslookupコマンドもどきを試してみる

これもJavaで調べていた物をClojureの勉強兼ねてコードを書いたもの。 ドメインを渡すとIPアドレスを返すという、nslookupコマンドもどきです。 こちらはREPL環境でちょっと試しただけ。 単純にjava.net InetAddressを使っているだけなので、目新しさは無い…

2010-04-05

23:56 leiningenの使い方はこれから覚える。 23:53 一般ユーザでleiningenを使おうとするとエラーになる。sudo使ってrootにするとうまく行く。中でrootじゃないと駄目な処理でもあるのか。それとも自分の環境の問題か。 #clojure 22:16 @trotr C言語だとアロ…

clojureでtwitterの検索機能を試してみる

こちらもclojureの勉強を兼ねて。タイムラインを取得するときにはユーザ名とパスワードを指定したけど、普通に検索するだけなら不要。 search関数の引数にQueryオブジェクトを渡す必要があるので、若干見づらいかな。 検索結果はgetTweetsで取り出さないと行…

clojureでtwitterのタイムラインを取得してみる

clojureの勉強を兼ねてるけど、twitter4jなるJavaライブラリがあることをしったので、それを少し試してみる。 同じコードはtwitterにも書いたけど、あれは改行無しのワンライナー状態なのでちょっと整形。 (import '(twitter4j TwitterFactory)) (map #(str …

3月の読書メーター

3月後半はほぼプログラミングClojureばかり読んで、コードを書くということをしていたので、3月前半に読んだ2冊だけか。 3月の読書メーター読んだ本の数:2冊読んだページ数:385ページ小さなチーム、大きな仕事―37シグナルズ成功の法則 (ハヤカワ新書juice)…