Rails 2.1より前では、Polymorphicアソシエイションを Eagerローディングするのは面倒でした。 しかし、Rails 2.1以降では、Eagerローディングの方法が変わったため、 自分でEager Loadingが行われるタイミングを決める方法 を使って簡単にPolymorphicなアソシエイションをEagerロードすることができます。

   1  trackbacks = Trackback.all(:limit => 10)
   2  Trackback.send :preload_associations, trackbacks, :trackbackable

このように、事後にpreload_associationsを呼ぶだけです。

posted by Png genki on Wed 27 Aug 2008 at 09:36

技術評論社さまより献本いただきました。ありがとうございます。

WEB+DB PRESS Vol.46
WEB+DB PRESS Vol.46
posted with amazlet at 08.08.26

技術評論社
売り上げランキング: 99

今号で印象に残ったのはこんな感じです。

  1. AIR開発入門 基礎から応用までまとまっているので、これからAIRを使いたい人には非常に便利だと思います。
  2. ALPHA GEEKに逢いたい(よしおかさん) よしおかさんの喋りっぷりに脱帽。あの弾さんが無口な人に見える。そして代表作に期待!
  3. プロトコルバッファ 深追いしていなかったので参考になりました。分散レンダラを作る時に使えるかな…? しかし全部自分でプロトコル設計するだろうなぁ…。 安藤さんのRuby版プロトコルバッファにはGAE的な意味で期待。
posted by Png genki on Tue 26 Aug 2008 at 21:03

LLVM勉強会以来、バックグラウンドプロセスでずっとyak shavingしてました。 debian/etchでllvm-2.3をソースからインストールする方法のメモです。

  1. gcc-4.3.1をソースからインストールする。 最新のllvmは、コンパイルするのにgcc-4.3以降が必要らしい。 全部入れようとするとgfortranのコンパイルあたりで symbol `fstat64' is already definedというようなエラーが出てしまったので、 色々解決策を探していたけれど、llvmをインストールする上では必要ない ことに気がついたので、gcc-coreとgcc-g++のみソースからmakeしてインストール
  2. llvm-2.3をソースからインストール。

で完了です。

See Also

posted by Png genki on Tue 26 Aug 2008 at 20:30

天下一カウボーイ大会で、マトリックスっぽい箱に入ったカレーをもらってきました。
なんでもスポンサーの方が作られた高級カレーだそうで、一つ1000円ほどもするそうです。
各種キノコ類やマンゴー、パパイヤ、ホタテエキスなども入っていました その高級カレー、色が青いです。
ブルーカレーと書かれています。
せっかくの高いカレー、おそらくは美味しくもあるだろうカレーを何も青に染めなくても、とは思いますがそうしたい気持ちもわかるような気もします。
おいしいのに食欲減退色とか、お金持ちはすることがダイナミックですね。
さっそく食べてみました。
ブルーというより青緑でした。パッケージを開けた瞬間から微妙です。
ご飯にかけるとグロテスクです。
kare-.png

若干引き気味になりながらも、口に入れる瞬間までスプーンに乗った色が目に写っているわけではないので(目の前にあるお皿は相変わらずグロテスクなんですが)、意外にも普通に食べられました。
味はまぁまぁでしょうか。クリームチーズが入っているのでチーズっぽさが少しあって、キノコがたくさん入っているところが市販のお手ごろ価格なレトルトカレーとは違いますが、それでもそれほど高級感があるというか、しみじみおいしく感じるというほどのものではなかったです。レトルトの限界でしょうか。
キノコが入っているのは青くても何が入ってるのかわかるようにするためなのかな、と思いました。ジャガイモやニンジンだとわかりにくそうですし。えのきもシメジもエリンギも、青くてもわかりましたし。
原価1000円もするなら、もうちょっと別のものを作った方が良いと思います。
口に入れるときはともかく、お皿を見るとやはりげんなりしてしまいますし。食欲減退効果は確実にあると思います。全部食べましたが。

posted by Png mari on Tue 26 Aug 2008 at 08:45

自分用メモ。
パスワード生成、銀行情報・カード番号などの情報を暗号化したいとき等に役立つページを見つけたので、リンクしておきます。

ランダムパスワード生成

http://snippets.dzone.com/posts/show/3632

railsでsensitiveなデータを暗号化する

パスワードなしでpublic/privateキーだけでデータを暗号化:public key encryption
http://stuff-things.net/2007/06/11/encrypting-sensitive-data-with-ruby-on-rails/

railsで大量のsensitiveなデータを暗号化する

パスワード+public/privateキーでデータを暗号化:public key encryptionとsymmetric-key encryptionの複合
http://stuff-things.net/2008/02/05/encrypting-lots-of-sensitive-data-with-ruby-on-rails/

posted by Png satoko on Tue 26 Aug 2008 at 07:15 with 2 comments

NetBeans6.1で「プロジェクト内を置換」を実行した場合。 コメント内を置換するとそれ以降のソースが吹っ飛ぶ。 日本語関係の問題なのか、コメント内だからいけないのかとか、そこまでは調べていない。

下記のコードで「# ・」みたいになってそれ以降のソースがなくなってしまう (苦笑)

   1        # ソート条件

posted by Face ysakaki on Mon 25 Aug 2008 at 09:21

チームで開発しているときに「俺が関係しているテーブルのfixtureだけloadしたいんだぜー」というときに使う。使い方は調べたけど結局使わなかった。

rake db:fixtures:load fixtures=fixture1,fixture2,fixture3,・・・

posted by Face ysakaki on Mon 25 Aug 2008 at 08:29

ruby-lang.orgより、REXMLの脆弱性に関する報告がありました。

REXMLのDoS脆弱性

RailsでXMLリクエストのパースに使用されているREXMLに、DoS脆弱性が発見されました。XML entity explosion attackと呼ばれる攻撃手法により、ユーザから与えられたXMLを解析するようなアプリケーションをサービス不能(DoS)状態にすることができます。大部分のRailsアプリケーションはこの攻撃に対して脆弱です。

問題に対処するためのGemがリリースされているようなので、 以下のように対処しました。

  1. Gemをインストール
       1  # gem install rexml-expansion-fix
    
  2. ライブラリを読み込む
       1  require 'rexml-expansion-fix'
    

また、RailsのPlugin Gemとして機能するものも作ってみました。

genki-rexml-expansion-fix

Gemをインストールした後、以下のようにconfig/environment.rb似記述します。

   1  config.gem 'genki-rexml-expansion-fix',
   2      :lib => 'rexml-expansion-fix',
   3      :source => 'http://gems.github.com'

See Also

posted by Png genki on Mon 25 Aug 2008 at 07:18 with 2 comments

http://www.ipetitions.com/petition/iPhoneNDA/index.html

オンラインで請願書にサインできます。名前とemailが必須です。
すでに300人以上の人が参加しています。

賛同される方はぜひ。

posted by Png satoko on Mon 25 Aug 2008 at 07:16

Formulaは、数式や化学構造式をブログに貼り付けて共有するサービスです。

このたび、出力形式が透過PNGになりました。 以下のように、背景色が白以外の環境でもお使いいただけます。

ブラウザがIE6の場合、透過PNGを正しく扱えないため、 従来の非透過PNGと同様の出力となります。 IEPNGFix 2等を使うことで、IE6でも透過PNGを扱えるようになるようです。

今後の方向性としましては、

  • 黒背景用の白文字画像の生成
  • JavaScriptが利用不可能な環境で、IE6でも利用できるようにするために任意の背景色と前景色を指定して非透過PNGを生成する

等を予定しております。 今後ともよろしくお願いいたします。

posted by Png genki on Mon 25 Aug 2008 at 03:19