タグ

drubyに関するsecondlifeのブックマーク (17)

  • Scaling Twitter: Making Twitter 10000 Percent Faster - High Scalability -

    Update 6: Some interesting changes from Twitter's Evan Weaver: everything in RAM now, database is a backup; peaks at 300 tweets/second; every tweet followed by average 126 people; vector cache of tweet IDs; row cache; fragment cache; page cache; keep separate caches; GC makes Ruby optimization resistant so went with Scala; Thrift and HTTP are used internally; 100s internal requests for every exter

  • 複数のNICがある時に困るんだけど、なんとかしろ。 - @m_seki の

    ごめんなさい。 RubyKaigi前夜祭にてid:secondlifeさんに強く指摘されたのでパッチを書いてみました。 なんとなく動くんじゃないかと思うんだけど、こういうのでいい? goro.diff ホスト名を省略したとき、gethostnameを信じていました。このパッチではacceptして得られたソケットに対してSocket#addrでドット表記の自分のアドレスを問い合わせ、それをDRbObjectのURIとします。 同値性に問題がありそう なんとなくコネクションが余計に増えそう などの懸念事項があるけど、ま、いっか。

    複数のNICがある時に困るんだけど、なんとかしろ。 - @m_seki の
    secondlife
    secondlife 2007/06/12
    わーい
  • Network Facade Homepage

    About NetworkFacade is an alternative to DRb, XML/RPC and other REST api, all in one ! DRb alternative Do the same as DRb (tcp, unix socket, ssl) but easier and even more sexy XML/RPC and REST alternativeSee Flickr, Digg, Netvibes, Remember The Milk examples in the documentation Simple client example # Declare the Foo class with default port and host (localhost and 5042) class Foo Simple server

  • 3 日坊主日記 - 市立図書館 , BackgrounDRb

    _ [] 市立図書館 DB勉強会参加したい! てことでRDBMSの基礎を学ぶ一冊。 データベースパフォーマンスアップの教科書 基原理編 比喩が楽しい。 こんなところに萌え要素。 闘うのはオプティマイザだが、武器はユーザが事前に提供しなくてはならない。……現実には、ほとんどのユーザは自分が武器を提供しなかったにも関わらず、戦いに敗れた者だけを責めている。オプティマイザが喋れるなら、さぞかし不満を述べるに違いない。(p.83) オプティマイザ萌えー。 今、我々は教師としてSQLを通してオプティマイザに宿題を出すのである。……しかし現実はどうであろうか? 立場は教師であるが、それにふさわしい行動をとっている人はほとんどいないのではないだろうか。あまりに多くの宿題を出すと、学生が辛いのではと心配していないだろうか? データベースが可哀想に思えて、自分が直接宿題をしていないだろうか?(p.84)

  • http://rails.office.drecom.jp/takiuchi/archive/154

  • 省略されたdRubyのURI - @m_seki の

    dRubyのサービスを開始するときのURIを省略することができるのだけど、注意が必要です。 DRb.start_service('druby://hostname:12321', front) #1 DRb.start_service('druby://hostname:0', front) #2 DRb.start_service(nil, front) #31の'druby://hostname:12321'はhostnameで指定するネットワークインターフェイスのポート12321でサービスを開始することを示します。hostnameはマシンを特定するんじゃなくて、ネットワークインターフェイスを特定します(その結果、マシンを特定する)。 2の'druby://hostname:0'は1と同様にhostnameで指定するネットワークインターフェイスで、空いているポートをシステムに選んでもら

    省略されたdRubyのURI - @m_seki の
  • IIrcv - 汎用通知サーバ with dRuby

    IIrcv - 汎用通知サーバ with dRuby IIrcv.app Imitation of Ircv. English 概要 IIrcv.app は Ircv の Mac OS X における劣化バージョンです。 「Irc」という名称は入っていますが、これ体に Irc クライアント機能はありません。 じゃあどうやって表示をするんだ?というと、IIrcv.app はdRuby サーバとして動いているので、 それを通じて外部アプリケーションから表示を行います。 初期状態では自動 URI モードのポート 9876 を listen します。 この状態の IIrcv.app への表示要求を行う Ruby スクリプトを示します。 require 'drb/drb' o = DRbObject.new_with_uri("druby://localhost:9876") o.call("Hel

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    secondlife
    secondlife 2006/11/12
    スバラシス> IRC を表示する DRb クライアント
  • http://lowreal.net/blog/environment/d20061108-auto-autoreload-with-rinda

  • dRuby + Rindaでriを15倍速くするfastri - 角谷HTML化計画(2006-11-08)

    ■1 dRuby + Rindaでriを15倍速くするfastri fastriはebanさんのri検索結果キャッシュスクリプトにインスパイアされたらしい。仕組みはdRuby + Rinda。riサーバ(fastri-server)にクライアント(friコマンド)からタプルを投げちゃう。15倍ぐらい速くなる。かっこいい。 $ time ri -T Enumerable#inject 0.57s user 0.43s system 82% cpu 1.208 total $ time fri Enumerable#inject 0.03s user 0.01s system 49% cpu 0.082 total sheepmanさんのirbでのri補完っぽくfriを組み込むエントリもあったので、マネしてみた。ストレスなくirbからriを引けて嬉しい。 検索結果にほんのり色もつく。 リポジト

    secondlife
    secondlife 2006/11/08
    かっけーナ
  • 全てのDRbObjectにpingしちゃう - @m_seki の

    分散GCのかなりいいかげんな実装の提案*1。 定期的に自分が知っているDRbObjectにメソッド(respond_to?)を投げる係を置くですよ。 require 'drb/drb' require 'thread' class DRbPing def initialize(timeout=300) @timeout = timeout @queue = Queue.new @keeper = keeper @knocker = knocker end def keeper Thread.new do loop do en_q sleep(@timeout) end end end def knocker Thread.new do loop do begin @queue.pop.respond_to? :to_a rescue end end end end def en_q Obj

    全てのDRbObjectにpingしちゃう - @m_seki の
  • 1プロセスで複数のDRbServer - @m_seki の

    dRuby で 1プロセスで複数サービスの提供 こっちが題だったか。 DRb::DRbServerをnewすれば一つのプロセスで複数のDRbServerを持てます。それぞれに待ち受けスレッドが生成されます。 サーバがリモートからのメソッドを処理するコンテキスト内(スレッド内)でDRbObjectを生成するとき、そのメソッドを担当しているDRbServerへの参照が生成されます。あるコンテキストにおいて、そのきっかけとなったリモートからの呼び出しを受け付けたDRbServerがカレントサーバです。きっかけがリモートからの呼び出しでない場合には、プライマリサーバがカレントサーバとなります。プライマリサーバは一番最初に生成されたDRbServer、あるいはDRb.start_serviceで生成したDRbServerです。 こういうことは通常は意識しなくて良いように設計されていますが、こういう

    1プロセスで複数のDRbServer - @m_seki の
  • 10. sshポートフォワーディングの利用

    I like Ruby. (07-05) 借り物人生 (07-05) 通販生活 (07-05) I like iPod (05-24) RWiki (05-14) Download (05-14) ソフトウェア・シンポジウム 2003 (04-28) ruby-amazonAmazonWebService (04-16) DI ary (04-05) KoyaなTropy (03-29) このコラムではsshのポートフォワーディングを用いて、 二つのネットワーク間を行き来するアプリケーションの作成について考えます。 10.1 実験 ssh(Secure SHell)には、暗号化された通信路を用いて 一方のマシンのTCPのポートをもう一方へ転送する機能、 ポートフォワーディングがあります。 ポートフォワーディングを用いるとネットワーク間の暗号化された 経路を通じて相互のサービスを利用するこ

    secondlife
    secondlife 2006/10/29
    DRbServer を 1プロセスで複数立ち上げる例
  • I like Ruby too. - dRubyのURIのオプション

    dRubyではURIは一つのオブジェクトに関連づけられる。そのオブジェクトはfrontオブジェクトと呼ばれてそのサービスの入り口となる。 クライアントは参照オブジェクト(DRbObject)を通じてリモートのオブジェクトにメッセージを送るのだけど、DRbObjectを手に入れる方法は二つある。一つはURIからnew_with_uriを使って生成する方法で、もう一つは誰かに教えてもらう方法だ。後者はリモートオブジェクトのメソッド呼び出しの戻り値だったり、ファイル渡しだったり、自分のサービスへのメソッド呼び出しの引数だったり、まあ、二次的なもの。前者は自分で(どうにかして)知ったURI文字列を元にnew_with_uriで生成するもので、 dRubyのシステムへ参加するときの最初の一歩として一般的な方法。 URIから参照を作ろうとすると、サービスの入り口のオブジェクトしか参照できないことになる

    I like Ruby too. - dRubyのURIのオプション
  • BetaBrite:よたらぼ(2006-09-30)

    ■ [Misc] BetaBrite RedHanded経由。このライブラリはBetaBriteというLEDパネルを操作するものみたいなんだけど、DRbを使った例が面白い。 まずはgemでbetabriteをダウンロードする。んでもって上記Blogにもあるサンプルを実行。送信するメッセージだけYotabananaに。 require 'drb' require 'rubygems' require 'betabrite' DRb.start_service() obj = DRbObject.new(nil, "druby://eviladmins.org:9000") File.open("out.jpg", "wb") { |a| a.write obj.write_simple("Yotabanana") } んで、右の画像が結果。 なんと、メッセージを作者のAaron Patte

    secondlife
    secondlife 2006/10/02
    すげー!!
  • Xヶ所村: dRubyによりRubyとJSynを使った即興演奏を集団即興演奏へ

    屋で「dRubyによる分散・Webプログラミング」を立ち読みながら、ふと、RubyとJSynを使ったライブコーディング即興演奏を、dRubyが集団即興演奏へと導くのではと思った。複数の演奏者(クライアント)が、サーバの楽器をコントロールする。例えば、A氏は楽器の周波数を変え、B氏は音量を変える、C氏は楽器のデザインまで変えてしまうかもしれないし、D氏は寝ていてもかなわない。それは3ピースバンドのようにバラバラに楽器(ギター、ベース、ドラム)を持ち込むのではなく、3台のラップトップがバラバラな楽器になるのではなく、3台のラップトップは1つのサーバーの楽器をコントロールし、楽器の改造すらおこなう。ピアノの連弾をイメージしながらも、ネットワークを越えたジャムセッションによるグルーブが産み出される。 楽器作り dRubyは以下か上記の書籍を参考にしてもらうとし、簡単な楽器を作り、再生や停止、周

  • I sort my thought... - BackgrounDRbについて調べてみた

    このページの情報は既にかなり古いです。私は現在あまり使っていませんし、追ってもいないのでこのページの情報が更新されることはあまり期待できないのでなるべく家の情報なりを見た方がよいでしょう。2009年8月現在だと http://d.hatena.ne.jp/tech-kazuhisa/20090816/1250432286 とかで似たような情報をあつかってるみたいです。検索しても結構上にまだくるっぽいのでいちおう追記しておきました。 次回の第8回Rails勉強会@東京でセッション案に上がっていたBackgrounDRbというやつがなにやら面白そげなので調べてみた。 調べてみた感じ以下のページがよくまとまっている。 http://www.infoq.com/articles/BackgrounDRb 以下、この内容を大雑把に要約してみる。 Ruby on Railsは素晴らしいフレームワーク

    I sort my thought... - BackgrounDRbについて調べてみた
  • 1