流れるようなインターフェイスとActiveRecord
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?FluentInterface
ActiveRecordを利用するようになって思ったのが、ファウラーが上記で
述べている流れるようなインターフェイスを実現するのに適したツールだと
いうこと。複雑なSQLを書かなくて言い分、開発者が本来集中すべき箇所に
集中できると感じた。
Ruby-GetTextで500エラー
rails-2.1.0だと
http://www.yotabanana.com/hiki/ja/ruby-gettext.html?ruby-gettext
で紹介している通りに、gettextを導入すると500エラーがでる。
エラーの内容は「undefined method `file_exists?' 」で
どうやらfile_existsが見つからないみたい。
解決策は以下
config/initializers/gettext.rbを以下のように記述。
require 'gettext/rails' module ActionView class Base delegate :file_exists?, :to => :finder unless respond_to?(:file_exists?) end end
gettextをrails 2.1.0に対応させる方法
参考→http://zargony.com/2008/02/12/edge-rails-and-gettext-undefined-method-file_exists-nomethoderror
MerbをDebianにインストール
$sudo gem install merb --include-dependencies
$ merb test
$ cd test
$ merb
これでMerbのロゴのあるページが出たらインストール完了。
Erlangが注目される理由
CPUのマルチコア化が進む昨今ではあるが、実際にはOSがサポートしているマルチスレッド環境ではマルチコアの特性が生かしきれていないのが事実である。Erlangの並列処理ではCPUのコア数がN個になると、実行速度もN倍になると言われており、マルチコアの特性を大いに引き出せるからです。
Erlangの特徴〜並列言語
Erlangは並列指向プログラミング言語(COPL)としての特徴も備える。
CやJavaやC++では、言語ではなく、OSがスレッドモデルを提供していますが、Erlangの場合は言語が独自にマルチスレッドのための仕組みを提供します。
CやJavaやC++では変数に値を代入することで、つまりは、メモリを共有することでスレッド間の情報共有を行っていますが、Erlangの場合は全てのスレッドが独立したメモリを持ち、メモリを共有することはありません。
つまり、全てのスレッドは他のスレッドから完全に独立することができ安全です。
因みにErlangでは完全な独立性を備えたスレッドのことをプロセスと呼びます。
プロセス間の情報のやり取りには、メッセージという仕組みを用います。
メモリを共有する代わりにメッセージをやり取りすることで、プロセス間での情報共有を安全に実現しているのです。