メイン

その他 アーカイブ

2007年09月11日

[番外]今までの整理

ひとまず今までのところで学んだことを整理することにしました。

dRubyとは

  1. Rubyのオブジェクトをプロセス間でやり取りするための仕掛け
  2. dRubyは100%Rubyなので、変数が型に縛られないから楽に使える。IDLとかもいらない
  3. dRubyはプロセス間通信の仕組み自体もRubyで書かれているので、OSに依存しない

dRubyの仕組み

  1. URIに対してひとつのオブジェクトを紐付けられる
  2. 複数のプロトコルを扱える。デフォルトはDRbTCPSocket。自分で追加も可能
  3. URI文字列のパースや、メッセージをやり取りするときにProtocol関係のオブジェクトへ委譲されるため

  4. サーバー側でどんなオブジェクトを公開してようとも、クライアントが扱えるリモートオブジェクトは常にDRbObject
  5. DRbObjectを使った呼び出しであっても、自分自身がサーバー側であれば、ローカルのオブジェクトのメソッドを直接呼ぶ
  6. DRbObjectのmethod_missingからリモート呼び出しをしている
  7. メッセージの送受信を実際に行っているのはDRbMessage
  8. サーバーへの接続はDRbConnによってプールされ、接続の確立にかかるコストを抑えている

まだわからないところ

  1. puts00でサーバー側のPutsからクライアント側の@stdoutに出すにはどうしたらいいの?
  2. サーバー側は、マルチスレッドで並列にメッセージを処理している?
  3. まだmain_loop内を見ていないのでわからない
  4. fetch_serverのfriendって何?どういうときに使われるの?
  5. 通信時のMarshalを使った仕組みの詳細
  6. プールのところにある#FIXMEがなぜFIXMEなのか
  7. URIのoption引数の使い方、というか使われ方

2007年09月12日

[番外]単純な送信時のメッセージパッシングの雰囲気

今まで学んだ部分(クライアント側)をコミュニケーション図で整理してみました。が、正確ではありません。yieldや、moduleの扱いをどう描いたものか難しいですねえ。。クラスメソッドとインスタンスメソッドも区別していません。細かいところも結構端折ってます。なので、あくまでも雰囲気ということで。

(画像をクリックすると別窓に表示します)

2007年10月19日

[番外]咳さんに褒められていた件

おおおおおおおおお、わーい!ありがとうございます。


記事に出てくる質問に、一つ一つ応えていってよいものなのかしら。
I like Ruby too. - dRubyの正面がすばらしい件について

ぜひぜひ、気が向いたのだけでもいいですので~

そう言えば誰からもコメントとかないなあ。僕からのインタラクションがないからだと思いますが。

About その他

ブログ「dRubyの正面」のカテゴリ「その他」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリは4章です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。