フォーチュンサモナーズ
«前の日記(2007-04-30) 最新 次の日記(2007-05-03)» 編集

Don'tStopMusic

2003|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|12|
2006|01|02|03|04|05|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|08|

カテゴリ別 2003年 | 2004年 | 2005年 | 2006年 | 2007年 | 2008年

知り合いサイト: よんだもの / 暴想 / Linuxでやる夫 / 新宿Vipper / 僕だけが幸せになればいいのに。


2007-05-02

_ [Rails] How to scale your web app このエントリーを含むブックマーク

BarCampLondon2でのプレゼンです。データベースとウェブサーバが一台に同居しているミニマムシステムからどうスケーリングさせていくかというお話。

ユーザを複数のデータベースに分けて格納する User Cluster が途中で出てきますが、

  • ID 管理: auto_increment や sequence に任せられなくなる
  • おそらくコードにかなり手をいれる必要がある
  • ユーザをクラスタ間で移動させる機能が必要

などを課題点として挙げています。たしかに ActiveRecord なりプラグインなりで吸収できるようになると楽なのですが。

_ [Ruby] Chris McMahon's Blog: make a change to Ruby このエントリーを含むブックマーク

Matzにっき(2007-04-25) より。

要するにPerlみたいにメソッド定義がどこにあっても良いようにしてくれ、という話。

気持ちはわからないでもないが、欠点がある。

  • ifで囲んでメソッド定義を条件分岐とかできなくなる
  • Rubyが基礎にしているLisp的実行モデルから離れちゃう

メリットよりはデメリットの方が多いんじゃないかな。

クラス定義やメソッド定義など「定義」というと静的に決定されるような印象があります。この印象はプログラミング言語歴によるんじゃないでしょうか。

実行されるものだということを強く印象付けるために、Ruby を最初に教えるときに、

class Hello
  def hello
    puts "hello, world"
  end
end

は、

Hello = Class.new
Hello.class_eval do
  define_method(:hello) do
    puts "hello, world"
  end
end

のシンタックスシュガーですと説明するとかどうでしょう。あるいは、実は省略可能な do が隠れていて正式に記述すると、


class Hello do
  def hello do
    puts "hello, world"
  end
end

となるのですよと、DSL 方面から攻めてみるとか。冗談ですが。

_ [Ruby] Silverlight で Ruby はもう使えるのかな? このエントリーを含むブックマーク

TechCrunch の記事、Silverlight: ウェブはさらにリッチになった によれば、

Silverlightでも、サポートされているいくつかの言語を使ってコードを書くことができる。現時点でサポートされているのは、C#、Javascript(ECMA 3.0)、VB、Python、Ruby。

ということで、使えそうな感じではあります。

ランタイムの比較表によると .NET CLR が使えるのは 1.1 Alpha です(そして IronRuby と書かれています)。しかし、1.1 Alpha のサンプルギャラリーにも1.1 Alpha の SDK には Ruby の R の字も見当たりません。情報を用意していないだけで実は使えるのかまだ使えないのかどちらなのでしょう。

追記。Jim Hugunin's Thinking Dynamic : A Dynamic Language Runtime (DLR) によれば、

We're initially building four languages on top of the DLR - Python, JavaScript (EcmaScript 3.0), Visual Basic and Ruby. We shipped today both Python and JavaScript as part of the Silverlight 1.1alpha1 release today. John Lam and I will be demoing all four languages, including VB and Ruby, working together during our talk tomorrow at 11:45.

とのことですので、もしかすると今配布されている Silverlight 1.1 Alpha には含まれていないのかなあ。IronPython.dll はインストールされてましたが、IronRuby.dll は存在しませんでしたし。

ということで動きがあるまで様子見します。

[]

最近のコメント:

  1. だて (05-30)
  2. eto (05-30)
  3. だて (05-15)

RSS
Creative Commons License
This work is licensed under a Creative Commons License
(note: text only. w/o web design, citations, (re)distributed softwares).