2007-10-01から1ヶ月間の記事一覧
gen_tcp の練習で書いた id:cooldaemon:20070614:1181827975 を gen_server 化しようと考えたが、gen_tcp モジュールの accept や recv は処理をブロックするので、gen_server 化を諦めて id:cooldaemon:20070717:1184676090 のように proc_lib を使ってお茶…
某所で apache に負荷をかける為に erlang を使おうとして、知らずに http module を上書きしててハマったという書き込みをみて、Programming Erlang の APPENDIX E. Dynamic Code Loading の内容を思い出したので紹介。まず、下記の source code を準備。 -…
id:cooldaemon:20071013:1192285916 で application を使った場合にのみ使える限定的な方法を書いたが、もっと簡単な方法を見つけたので紹介。 % cat ./test.config {test1, foo, bar}. [test2, {foo, 1}, {bar, 2}]. test3. % erl 1> file:consult("./test.…
今まで(id:cooldaemon:20070919:1190169198 とか)、下記の source のように Mnesia を起動した後に mnesia:create_schema/1 を実行していたのですが… start() -> mnesia:start(), mnesia:create_schema([node()]), mnesia:create_table(store, [{attributes,…
id:cooldaemon:20071013:1192285916 を書く際、 man erl を読んでいたら、erl コマンドにユーザ定義のオプションを渡す方法が書かれていたのでメモを残す。(これ常識なんだろうなぁ) % erl -flag1 value1 -flag2 value2 value3 1> init:get_arguments(). […
erlang 付属の httpd や yaws 等は、設定ファイルを自力で開き、読み込み、値を確認して…とやっている。 何か楽をできる良い方法は無いものか?と思い調べたらあったのでメモを残す。erl コマンドには便利な -config オプションがある。 % erl -config test…
id:cooldaemon:20071011:1192094209 で Mnesia 上のテーブルをディスクに保存しましたが、そのテーブルに関数を入れて遊んでみました。前回作ったノード a を再起動し、io:fwrite/2 を保存する。 % erlang -sname a (a@imac)1> mnesia_test:restart(). ok (a…
id:cooldaemon:20070919 で書いた Mnesia のレプリケーションの記事で、id:Hamano 氏からコメントで 便利ですよねー、mnesia のレプリケーション。 でも最近悩んでいるのが ram_copies ram_copies と disc_copies ram_copies は2つ目を後から起動しても上手…
メソッド名一覧の表示 どう書く?org リフレクション系のお題の続編です。「ある与えられたオブジェクトtargetのメソッドのうち、 "test_"で始まるものをすべて呼びだす」というコードを書いてください。引数に関しては都合のいいように仮定して構いません(…