Common Lispのwebサーバー(hunchentoot)

macbookでaserveがうまく動かせないのでhunchentootを使ってる。日本語の通しかたをみつけたので早速。あとcl-whoもちょっといじってみた。

(require :hunchentoot)
(require :cl-who)
(setq *server* (hunchentoot:start-server :port 4242))
(setf (hunchentoot:log-file) "./server.log")
(setq hunchentoot:*hunchentoot-default-external-format*
     (flex:make-external-format :utf-8 :eol-style :lf))
(setq hunchentoot:*default-content-type* "text/html; charset=utf-8")
(setq hunchentoot:*dispatch-table*
     (list (hunchentoot:create-regex-dispatcher "^/$" 'hello-world)))
(defun hello-world ()
 (cl-who:with-html-output-to-string
     (str nil :prologue t)
   (:html (:head (:title "hello world"))
             (:body (:h1 "はろはろ リスプってますよ") (:br) (:img :src 
"http://ec2.images-amazon.com/images/I/51gfHrLAtTL._SS500_.jpg")))))

hunchentoot

このながれで、hunchentootでblosxomクローンでもつくってみるかな。

SLIMEのM-. M-,

setqについて書いた。

SLIMEのM-. M-, C-cC-mあたりがおもしろい

(incf x)をC-cC-mすると

(LET* ((#:G766 1) (#:NEW765 (+ X #:G766)))
  (SETQ X #:NEW765))

とマクロ展開される

「米で起業する!」を読んだ

タイトルと中身はちょっと違っていて「米関連で起業する」みたいな。

読んでてテンポもいいし内容も面白かったが、稼ぐ手段が如何に米の価値をあげるかではなくて、王道から外れることなのがちょっと気になった。

ProductName 米で起業する!
長田 竜太
築地書館 / ¥ 1,680 ()
通常24時間以内に発送

  • 商品の作り手のこだわりは買う側のこだわりを超えてはいけない。
    • これはキャズム的な解釈が出来るのではなかろうか。こだわりはコモディテイ化していくのでタイミングをはかる的な
  • 足を引っ張るより手を引っ張る平等感

SBCLのasdf:oosとrequire

SBCLのasdf:oosとrequireの違いがわからないという、解決も何にもしてないただ疑問だけのエントリーを書いた。

あと、Slimy Hackathon面白そうだ。参加したいところだが、、、、

emacs+slime+clojure+processingでaction-codingのようなことがやれればと思っているんだけど。clojure+processingで再帰的な図形が描ければ楽しいと思うんだよなぁ。

ProductName 計算機プログラムの構造と解釈
ジェラルド・ジェイ サスマン,ジュリー サスマン,ハロルド エイブルソン
ピアソンエデュケーション / ¥ 4,830 ()
通常24時間以内に発送

「どこまでやったらクビになるか」を読んだ

軽い読み物

新人採用の際の試用期間でも簡単に解雇できないという話と経歴を低く詐称してもダメなところは知らなかったので面白かった。

あと副業が禁止かどうかは単に契約上の問題で、長期雇用を前提としない流れだと、副業禁止で縛るほうが問題になってくるのかなぁと。

fastladderのクローラーをdaemontoolsで動かす

クローラーがたまに落ちるのでモダンperl入門にあったdaemontoolsを使ってみることにした。

ProductName モダンPerl入門 (CodeZine BOOKS)
牧 大輔
翔泳社 / 2940円 ( 2009-02-10 )


srpmはここからダウンロードしてきて

rpmbuild --rebuild daemontools-toaster-0.76-1.3.3.src.rpm

できたrpmをインストール。

fastladderのあるディレクトリ(僕の場合は/usr/local/fastladder)でdaemonとdaemon/logっていうディレクトリを作ってそれぞれのディレクトリにrunという実行ファイルを用意

daemon/run

1
2
3
#!/bin/sh
exec 2>&1
exec setuidgid root /usr/local/fastladder/script/crawler -e production

daemon/log/run

1
2
#!/bin/sh
multilog

リンク

chmod 1755 /usr/local/fastladder
ln -s /usr/local/fastladder/daemon /service/fastladder

あとはdaemontoolsで動かす。

参考: daemontoolsでデーモン管理

モダンPerl入門 6-9章

残りを読んだ。

ProductName モダンPerl入門 (CodeZine BOOKS)
牧 大輔
翔泳社 / ¥ 2,940 ()
通常5~7日以内に発送

6章はテスト。Apach::Testの使い方とか非常に参考になる。 8章はC APIとXS。これはあとでちゃんと読む(今回は流し読み)

モダンPerl入門 1-5章

おもしろいし、読んでて楽しく、勉強になる。

ProductName モダンPerl入門 (CodeZine BOOKS)
牧 大輔
翔泳社 / ¥ 2,940 ()
通常5~7日以内に発送

1章2章はMoose。特に2章はMooseでデザパタ。5章はシステムツールをMooseとかdeamontoolsを使って作るっていう話で、Mooseでコマンドラインツール作ったり、デーモン作成の話とかfork()が非常に参考になった。

moo minicardsのこと

moo minicardsvoxの写真が使えるので、どんどこと送り込まないといけないことが判明した。

TODO:次に注文する時には小洒落たminicardsを作る。

EOS KISS X2早く来ないかなぁ

bistro gawaで初ディナー

念願かなって、やっとbistro gawaのディナーに行くことができた。

エゾシカの生ハムと牡蠣のパンナコッタ。パンナコッタの濃厚さが舌にまとわりついてたまらないところにレモンのジュレが清涼感を与えて、まぁなんとも言えませんなぁ。

1234319983 1234319995

野菜のグリルが美味しい。今回の面子は焼酎、日本酒は分かるけど、 ワインはからっきしだったのででお店の方に聞きながら、赤のフルボディを選択。 美味しいですねー、ワインは自分で選ばないでお店のヒトに聞きながらの ほうがずっと楽しい(だからあえて勉強しないとか)。

1234319986 1234319988

ホロホロ鳥とキングサーモン(+カレイ?)。

1234320001 1234320006

さらに事前の調査により宮崎牛を選択することは決定してたが、、、、、

1234319993

やばいぐらいトロケた。プリキュアでいうところの虹色のバラがグルングルンしてドッカーンっていくぐらいの破壊力を感じた的な。にんまりしながらいただいてたら、ブログを見たヒトの注文が多いそうで。あれをみせられたら、フラフラと引き寄せられていくなにか魔力を感じるもん。

デザートはヌガーグラッセとあと忘れた。

1234319997 1234319990

ショコラテリーヌ

1234320004

みんな塩派なのね。塩もいいけど僕は胡椒が結構お気に入りだった。

またいきたいなぁ。今度は引っ越し祝いか?