Common Lispでメモ化

memoizeというのを使ってみた。

(asdf:oos 'asdf:load-op 'memoize)

(defun fib (n)
  (if (<= n 1)
      1
      (+ (fib (- n 1))
          (fib (- n 2)))))

(memoize:def-memoized-function fibm (n)  (if (<= n 1)
      1                    
      (+ (fibm (- n 1))
          (fibm (- n 2)))))

実行

* (fib 40) ; 結構待たされる

165580141
* (fibm 40) ; 一瞬

165580141

SBCLでベンチマークの取り方がわからん。

やりなおし算数道場

図書館にいったらあったので借りてみた。

ProductName やりなおし算数道場 (ブルーバックス)
歌丸 優一
講談社 / ¥ 1,092 ()
通常24時間以内に発送

なんつーか図書館で借りる本じゃなかった。数問解いて、家でこんなん解く暇があったらコード書いたほうが、、、と。2週間で読もうとかが間違ってた。

結構面白いので、ちゃんと買って積んでおいて、出張の時とかに鞄に忍ばせておくのが正解。

そういう本でした。

一緒に借りてきた脳のやつを読もう。

ProductName 脳研究の最前線(上巻) (ブル-バックス)

講談社 / ¥ 1,197 ()
通常24時間以内に発送

CTMCP chapter8 終了

状態共有並列性

データベースのACIDとか、そういう並列性の話

ProductName コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)
セイフ・ハリディ,ピーター・ヴァン・ロイ,Peter Van-Roy,Seif Haridi
翔泳社 / ¥ 8,610 ()
通常24時間以内に発送

あんまそそられなかったので流し読み。

Common Lispのhttp client

aserveのクライアントを使ってlast.fmの自分のベストトラックXMLをとってくる。

Common Lisp と 日本語 と 文字コードによるとバイナリでゲットしてエンコードすべしとのことだったのでそうした。

(asdf:oos 'asdf:load-op 'aserve)
(setq result (net.aserve.client:do-http-request 
    "http://ws.audioscrobbler.com/2.0/user/kzfm/toptracks.xml"
    :format :binary))
(sb-ext:octets-to-string result :external-format :utf8)

結果。

"<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<toptracks user=\"kzfm\" type=\"overall\">

<track rank=\"1\">
    <name>Imaginary Folklore</name>
    <playcount>169</playcount>
    <mbid></mbid>
    <url>http://www.last.fm/music/Clammbon+By+Nujabes/_/Imaginary+Folklore</url>
    <streamable fulltrack=\"0\">0</streamable>
        <artist>
        <name>Clammbon By Nujabes</name>
        <mbid></mbid>
        <url>http://www.last.fm/music/Clammbon+By+Nujabes</url>
    </artist>
        </track>
<track rank=\"2\">
    <name>アンパンマンのマーチ</name>
    <playcount>77</playcount>

こんな感じで、割と簡単にできた。あとはパースすればよいですな。

「マインドセット ものを考える力」を読んだ

「社会はうねっている」みたいな。

ProductName マインドセット ものを考える力
ジョン・ネスビッツ
ダイヤモンド社 / ¥ 1,680 ()
通常24時間以内に発送

  • 未来の種となる出来事を見つけたいなら、距離をおいたところから観察しなければならない
  • 送り手は受け手に届く範囲にいなければならない
  • 多すぎる情報をもつことはすくなすぎるよりもはるかに悪い
  • 分権化の最終段階は国の通貨の民営化
  • 国外に安い労働力を追い求めるのは終わりに近づいている

Building Bioinformatics Solutions: With Perl, R and Mysql

これも欲しいかも

ProductName Building Bioinformatics Solutions: With Perl, R and Mysql
Conrad Bessant
Oxford Univ Pr (Txt) / 5352円 ( 2009-02-28 )


Molecular Descriptors for Chemoinformatics

これ欲しい

デジイチ買えるくらい高いけど

CTMCP chapter7 終了

オブジェクト指向プログラミング

ProductName コンピュータプログラミングの概念・技法・モデル(IT Architect' Archiveクラシックモダン・コンピューティング6) (IT Architects’Archive CLASSIC MODER)
セイフ・ハリディ,ピーター・ヴァン・ロイ,Peter Van-Roy,Seif Haridi
翔泳社 / ¥ 8,610 ()
通常24時間以内に発送

  • 転嫁と委任
  • メタオブジェクトプロトコル
  • 継承と高階プログラミングの関連性

久々のYeti

といっても、雪遊びのみ。

1233698490 1233698492

あーーーーーーー

滑りにいきたいのう。

毘沙門天に行ってきた

だるまを買いに。何を思ったか岳南鉄道にのってみたくなったので吉原本町駅まで。

1233575135 1233575144

駅でかなりおもむろな感じのトイレを発見。

1233575138 1233575140

吉原の駅から結構歩く。だらだら歩いて往復一時間半くらい。途中に小川商店なる焼きそば屋があった。今度食べにいってみようか。

1233575146

いろいろみてたら、ハイキングも行けるらしい。今年は登ってみよう。 あと夏になるとビール電車 になるらしいんだよね。一度はのってみたいところ。

おまけのだるま

1233575142