2009-02-01から1ヶ月間の記事一覧

CLSQLでプリペアドステートメント

clsqlのプリペアドステートメントがうまくいかない。 (clsql-sys:with-database (con '("localhost" "test_user" "test_user" "p") :if-exists :old :database-type :postgresql-socket) (let ((stmt (clsql-sys:prepare-sql "update tb0 set data1=? where …

PostgreSQL導入

lispとrubyとpythonと その9 DBアクセス(common lisp) - テンポラリに書いたようにclsql+MySQLだとプリペアドステートメントが使えない。 でPostgreSQLに乗り換える。 しかし、PostgreSQLがさっぱり分からないので、一から調べないといけない。 メンドくさ…

lispとrubyとpythonと その9 DBアクセス(common lisp)

CommonLispでDBアクセスというとclsql。 いつもどおりasdfで入れて。。。と思ったが、依存関係があるのかうまく入らない。 DB関連だからしょうがないのかなぁと、Synapticパッケージマネージャで入れた。 DBはMySQLで。。。としてたんだけど、プリペアドステ…

MySqlあれこれ

LispでのDBアクセスを調べようと思ってMySQLにつないだらトランザクションが効いてない。 MySQLでテーブルを作るとデフォルトではMyISAMになって、トランザクションできないらしい。 あちこち調べて拾い読みする。既存のテーブルをInnoDBに変えるのはこれで…

lispとrubyとpythonと その8 ファイルIO(python)

PytyonでのIO。 with ... as を綺麗にかけるととるか不格好ととるか。。。 #確保と開放はwith ... as で。 with open("test.txt","w+") as f: f.write("hello world\n") with open("test.txt","r") as f: for l in f: print(l) #->hello world #バイナリファ…

lispとrubyとpythonと その4 Cライブラリの呼び出し(python) の追記

lispとrubyとpythonと その4 Cライブラリの呼び出し(python) - テンポラリにfgshunさんからコメントをもらったので試してみた。 呼び出しているcライブラリはこんどもlispとrubyとpythonと その4 Cライブラリの呼び出し(lisp) - テンポラリと同じもの。呼…

lispとrubyとpythonと その8 ファイルIO(ruby)

Rubyではこんな感じ。 pack、unpackがよく分からない。perlな人には馴染み深いのかなぁ。 # -*- coding: utf-8 -*- #テキストファイル書き込み def f0() f = File.open("./test.txt","a") begin f.write "hello world\n" ensure f.close end end #テキストフ…

lispとrubyとpythonと その8 ファイルIO(common lisp)

CommonLispでのファイルIOはこんな感じ。 一般的にはwith-xxxだけど、ファイル開きっぱなしの時とかはそうできない時もある。 (require 'cl-interpol) (cl-interpol:enable-interpol-syntax) ;;プリミティブなのはopen ;;まずはテキストファイル書き込み ;;:…

lispとrubyとpythonと その7 継続とFiberの続き(ruby)

継続ってスタックをどっかに保存しとくんだろうけど、じゃあ別スレッドの継続ってどうなるんだろ、と思って実験。 RuntimeError: continuation called across threads だって。 require 'continuation' puts "\n" $c1 = nil def test0(arg) printf "test0 be…

風雲児たち

幕末編の10巻まで読んだ。 面白いのにどこの本屋にも置いてないからアマゾンで買った。 はじめて読んだのは中学生のころ。

lispとrubyとpythonと その7 継続とFiber(rubyと少しだけlisp)

頭が継続脳になっていないためかもしれないけど、継続欲しいなー、、、と普段思うことはない。 でもまぁ継続があるのもrubyの特徴なのかなぁ、と思ったので書いてみる。 簡単な例。 require 'continuation' i = 0 c1 = nil callcc do|c| c1 = c end i = i + …