Sooey

2011-02-14 09:51:42 +0900

Railsのconfig/locale/*.ymlgreeting: 'hello %{object}'のようにするとハマるという話。

Railsでメッセージを国際化するためにconfig/locale/*.ymlを用意する際、

greeting: 'hello %{object}'

のようにInterpolationのキーにobjectという文字列を使うと、

I18n.t 'greeting', :object => 'world'

というコードを実行しても値が置換されません。i18n gemソースを読んでみたところ、以下のようにいくつかのキーが予約されており、tメソッド(translateメソッド)のオプションに含まれていた場合に値が除去されるようになっていました。

RESERVED_KEYS = [:scope, :default, :separator, :resolve, :object, :fallback, :format, :cascade, :raise, :rescue_format]

いつかまたハマりそうなので残しておきます。

2011-02-11 11:36:14 +0900

PinboardのファウンダーであるMaciej Ceglowskiさん(ポーランドの方ですね)へのインタビュー。

短めのインタビューなのでサラッと読めると思いますが、アプリケーションのパフォーマンスを上げるために心がけていることのうち以下の2点が目を引きました。

  • Use caching as a last resort, not as a fundamental design strategy. It's 2011 - unless you have millions of users, your app should be able to run fast with all caches disabled.
  • Use frameworks for prototyping, but build from the ground up once you know what you're building.

キャッシュ機構は最後の手段として設計のベースには含めておかないことと、フレームワークを使うのはプロトタイピングまで(実装すべきものが見えたら一から作る)、と。

Maciej Ceglowski | CrunchBase Profile

2011-02-08 07:52:40 +0900

なんとなくNode.jsでAWS EC2のAPIを叩くテストをしてみた。expressaws-libを使ってます。

普段Rubyばかり触ってるので、JavaScriptを書くたびにEnumerableのありがたさを痛感する次第。

2011-01-31 06:05:21 +0900

Mongoid 2.0.0.rc6から2.0.0.rc7での変更点。

色々と変更点はあるのだけど、日本人的に一番大きいのは、Commit eb3f35f84bc73b7346f5189e80b437c2764c1be2 to mongoid's mongoid - GitHubの"mongoid should use :mongoid i18n scope instead of :activemodel"ではないかな。

rc6まではconfig/locales/ja.yml

activemodel:
  attributes:
    user:
      email: "メールアドレス"

という翻訳文字列が定義されていた場合、

I18n.locale = :ja
User.human_attribute_name :email  # => "メールアドレス"

となっていたのですが、rc7からは

mongoid:
  attributes:
    user:
      email: "メールアドレス"

というようにネームスペースの最上部がmongoidのものを見るように変わっています。

2011-01-30 17:14:37 +0900

GoogleやMicrosoftのCDNではホストされていないJavaScriptライブラリを、Amazon CloudFront + Amazon Route 53で構築したCDNで配信するcdn jsというプロジェクトがある。

現在ホストされているライブラリは、

  • Backbone.js
  • Modernizr
  • Raphaël
  • SizzleJs
  • Unerscore.js

など。

DNSにRoute 53を利用しているようなので、最近スタートしたのかな。