hiroyuki_tの日記
categories: Scheme
R5RS http://www.unixuser.org/~euske/doc/r5rs-ja/index.html 独修scheme三週間 http://www.sampou.org/scheme/t-y-scheme/t-y-scheme.html Gauche ユーザリファレンス http://www.shiro.dreamhost.com/scheme/gauche/man/gauche-refj.html Gauche:CGI:MiniWiKi http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3ACGI%3AMiniWiKi&l=en Gaucheプログラミング 第3部: 実用 http://karetta.jp/book-node/gauche-hacks/000249 上記を読んで勉強してみた とりあえずwikiの作成画面と制御部分だけできた。 画面を表示するだけでDBに書き込みにいったりしない。 #!/usr/local/bin/gosh (use www.cgi) (use text.html-lite) (define title-text "テスト") (define (page . content) (list (cgi-header :content-type "text/html; charset=ISO-2022-JP" ) (html-doctype) (html:html (html:head(html:title title-text)) (apply html:body content)))) (define write-page (page (html:h1 (html-escape-string title-text)) (html:form :method "POST" (html:input :type "hidden" :name "act" :value "write") (html:p (html:input :type "text" :name "title" :value "") (html:input :type "submit" :name "submit" :value "submit")) (html:p (html:textarea :rows 20 :cols 80 :name "body"))))) (define test-page (page (html:head(html:title title-text)) (html:body (html:p "test")))) (cgi-main (lambda (params) (let ((action (cgi-get-parameter "act" params))) (if action (cond ((string=?
11 Mar 2007
categories: Scheme
Kahuaのソースを書くために、Schemeの勉強がまず必要だろうということで R5RSを読み出したのだがR5RSのはじめにがとても良いと思った。 これはソフトウエアの設計にも当てはまる事だと思うが、 つい機能の上に機能を積み重ねてしまうので心に響いた。 プログラミング言語の設計は、機能の上に機能を積み重ねることによってではなく、 余分な機能が必要であるように思わせている弱点と制約を取り除くことによってなされるべきである。 http://www.unixuser.org/~euske/doc/r5rs-ja/index.html
27 Feb 2007
categories: Scheme
http://www.kahua.org/cgi-bin/kahua.fcgi/kahua-web/show/doc/Tutorial を参考にしてKahuaのセッティングを行う。 Gauche 0.8.9と Kahua 1.0.2をインストールして Step 1. まずは動かそうの 保存したら、kahua-adminコマンドを起動してapp-serversファイルを reloadコマンドで再読み込みします。 までいったのだけどそこでkahua-adminすると、下記のエラーが出た。 ERROR: working directory does not exist or is not writable: “/usr/local/kahua/var/kahua” 見てみるとディレクトリはあるが権限がない状態になっている。 強引に権限を付けてやってみるとkahua-adminはうまくいくけど lsすると下記のエラー ERROR: connect failed to #: No such file or directory EmacsでM-x run-kahuaしても Symbol’s function definition is void read-directory-name とでてうまくいかないので後でやりなおし。
25 Feb 2007
categories: Scheme
kahua-adminでlsするとエラーになっていたのは Kahuaアプリケーションが立ち上がっていなかったためで Kahuaアプリケーションがたちあがっている状態だと正常に動いた。 ソーシャルブックマークを作る(2)までいったが ちょっとリファクタリングの一番最後のコードを使うと Kahua error – stale session keyというエラーページが表示されるので newのとこだけ以下のように変更すると作成ページが表示されるようになった。 (define-entry (newbm) (standard-page "New Bookmark" (node-set/ (all-bookmarks-link/) (bookmark-form/ "" "")))) (define new-bookmark-link/ (cut make-link/ newbm "[New Bookmark]"))
25 Feb 2007
Design pdevty