2007-09-01から1ヶ月間の記事一覧

mnesia:select と qlc:q の lock はテーブル丸ごと

ロック状態がどうなっているか気になったので、いろいろコード書いて試したところ、テーブル単位でロックが掛かっていた…。 レコード毎にロックできないもんだろうか? ちなみに、トランザクション内で qlc:q を使って QueryHandle を作ると read lock にな…

Mnesia のレプリケーションを試す

Mnesia のレプリケーションをいろいろ試してみたのでメモ。まずは、下記を mnesia_test.erl というファイル名で保存して、コンパイルする。 -module(mnesia_test). -include_lib("stdlib/include/qlc.hrl"). -record(store, {key, value}). -export([start/0…

エラーログ管理(sasl、error_logger、rb)

erlang でエラーログを管理する方法を調べたのでメモ。まず、sasl の設定ファイルを作成。適当に elog.config として保存する。 [{sasl, [ {sasl_error_logger, false}, {errlog_type, error}, {error_logger_mf_dir, "/path/to/logs"}, {error_logger_mf_ma…

erlang でテストファースト

先日、erlang でテストを書くモジュールは無いのか?(id:cooldaemon:20070910:1189392523)と書いたところ、jijixi's diary - ユニットテストフレームワーク , 契約プログラミング , ほにほにネタ数点で eunit を教えて頂いたので、早速使ってみた。 インスト…

erlang でテストの自動化ってどうやるのだろうか?

memcached の代替えを作った際、Mnesia の I/F と TCP の I/F を分けて作ったので、割とテストは楽なのだが・・・手動では、やってらんないなーと思った。 そこで、yaws ではどうやっているのだろうかと思ったら、そんな事はやってなかった orz (勘違いだと…

Erlang(Mnesia) で memcached (互換なし)を作ってみました

DSAS開発者の部屋:Erlang で memcached を作ってみました。 触発されました。で、家族サービスを一日サボって作りました。嫁と子供達に感謝!http://labs.miu.vc/svn/cooldaemon/erl/yamd/trunk/ memcached との違い プロトコル(w; validation が抜けまく…

rails + lighttpd + fastcgi の環境で、fastcgi の起動・停止・再起動を capistrano に任せる

rails + lighttpd + fastcgi の環境で、fastcgi の起動・停止・再起動を capistrano に任せる作業に、少しハマったので作業メモを残す。deploy.rb の内容や、他の詳しい解説は他のウェブ上資料に譲る。 app_name/script/spin ./script/process/spawner fcgi …

/libexec/ld-elf.so.1: Shared object "libintl.so.6" not found, required by "gmake"

お手伝いで FreeBSD に rails と senna を入れようと思って作業していた時の話です。 rails で gettext 使うとの事だったので、何となーく ports で gettext を新しいものに入れ替えました。 その後、senna を入れる為に make を実行すると、タイトルのエラ…