結構致命的な脆弱性なんだけど、そんなに騒がれていないのは何故だろう。まぁ、おかげで攻撃を受ける前に全環境にパッチを当てることができた。商用環境を抱えるとこの辺の動きがどうしても鈍くなる。 まずはRuby公式の発表から。 REXMLのDoS脆弱性 DoS vuln…
前回の続きで、「request_forgery_protection」の問題点について。 GETリクエストをスルーしているため根本的にCSRF対策になっていない 宣言したアクションだけにしか適用されないので開発者の宣言漏れの可能性がつきまとう FORMタグを使う部分は問題ないが…
Rails-2.0がリリースされて半年が過ぎ、既にRails-2.1もリリースされているというのにRubricksはいまだにRails-1.2.6で動いている。というのも、Rubricksが使っているComponentsの仕組みそのものがRails2で消失してしまったため。他の数多のPluginのように外…
▼ 参照サイト ・HowtoChangeSessionStore ・dreammindの日記 ・夜のDiscovery ・くりまるwebつくる ==[RAILS_ROOT/config/environment.rb]==== ... SESSION_CACHE = MemCache.new(['192.168.0.1:11211'], {:namespace => 'rails'}) ActionController::CgiReq…
http://ceo.sourcelab.jp/archives/97 ちょうどRubricksのユーザやグループの読み仮名の仕様を見直している際にこの記事がホッテントリにあったので興味を持った。着眼点はとても素晴らしい。ギミックはありがちと謙遜されているが、自分は今までWEBアプリで…
Rails2.0のPreviewが出たようです。 Rails本家のBlogに色々機能について書いてあったので読んでみた。下のようなことが書いてあった気がします。 たぶん間違いだらけなので、信用しないで元の文章読んでください。 http://feeds.feedburner.com/~r/RidingRai…
Rubyに標準添付されているRssParserでGigazineのフィードから更新日時が取得できない! http://gigazine.net/index.php?/news/rss_2.0/よくよくフィードを見てみた。 ... ... モバイル 2007-08-01T15:30:00+09:00 ... これは・・・間違っている・・・。Gigaz…
Rubyの多重代入・可変長引数はとても便利だが、トリッキーに使ってしまうとコードが追いにくくなる。リファレンスマニュアルには下記のように例が示されている。 foo, bar = [1, 2] # foo = 1; bar = 2 foo, bar = 1, 2 # foo = 1; bar = 2 foo, bar = 1 # f…
WindowsXP SP2 Ruby-1.8.6 Rails-1.2.2 MySQL-5.0.27 uta
Railsで「タグ」を実装する場合には「acts_as_taggable」を利用するのがスタンダードと思われるが、実際に使用してみたところ結構不満点がでてきた。 find_tagged_with なんでAR#findの各オプションが使えないの? 「:include」「:order」「:conditions」あ…
某OSS関係団体の視察で米国Sun Microsystems本社を訪問、Mr.Charles NutterからJRubyの紹介を聞いて感銘を受けたのが2月頃。 帰国してすぐにJRuby0.9.xでRubricksを動かそうとしたけどウンともスンとも言わなかった。 そんなRubricksが、JRuby1.0上で動きま…
RubyKaigiでも発表させてもらったのですが、Rubricks0.6リリースに向けてパフォーマンスをがんばって上げております。 以下、つらつらと。 render_componentが遅い render_componentはrequest.dupしてコントローラに投げなおすようなつくりになってて無駄が…
フォームにフォーカス当てて、Enterを押すとサブミットされる時とされない時があるのに気づいたことはありますか? 衝撃的な事にフォームに含まれるテキストフィールドの個数で挙動が変わるのです。例えば <form> <input type='text' /> </form>の場合、テキストフィールドにフォーカスを合わせ…
ActiveRecordでdistinctを伴うpaginateをやろうとするとなかなかうまく行きません。 いろいろいじくってやり方を編み出したのでメモ。まず、ActiveRecordでfindのdistinctを扱うには下記のようにします。 >> RubricksUser.find(:all, :select => 'distinct *…
負荷テストツール「JMeter」を触っているのですが、日本語情報少なかったことを調べたのでメモ。 もはやRubricksと関係ありませんが。 JMeterは負荷ツールなので、たくさんのリクエストをWebサーバに対して発行してくれます。 ただ、一意性確保などの理由で…
とあるやりとりで、Rubricksにインクリメンタルサーチのライブラリはないのか、という話がありました。結論としては、ないのです。サブプロジェクトのspinelzにもありません。 しかし、script.aculo.usのライブラリを使えば普通にできる(はず)です。 あま…
Todoリストコンポーネントを新たに公開しました。 http://rubyforge.org/frs/?group_id=1494&release_id=8413Todo Listコンポーネントはユーザ個々人のTodoリストを管理する機能を提供します。 ユーザは新たなTodoリストの作成や完了ができます。 ドラッグア…
Rails1.2rc1がでました。DHH氏がブログで概要を書いています。 http://weblog.rubyonrails.com/2006/11/23/rails-1-2-release-candidate-1 斜め読みした感じ、こんなことが書いてあった気がします。 RESTフレームワークの追加 RubyKaigiでもプレゼンしてたAc…
Rubricks 0.4にてコンポーネントを作成するためのScaffoldジェネレータを追加いたしました。 このScaffoldを使ったTODOリストコンポーネントを作る動画を作成いたしましたので、公開させていただきます。 http://rubricks.org/scaffold.htmlコメントもなにも…
Rubricks0.3をリリースしました。 カレンダー機能をコアに追加しました。 まだ部品という感じなので何ができるわけでもないのですが、今後スケジューラやTodoなんかを作るときに利用する感じになると思います。たぶん、0.4リリースももうすぐです。 0.4には…
日本Rubyカンファレンス2006のライトニングトークスでRubricksを紹介させていただけることになりました。 5分間でどこまでできるか難しいところですが、デモ中心に紹介したいと思っています。それにしてもRuby作者、Rails作者の前でプレゼンすることになると…
Seleniumにはstoreという一種の変数の仕組みがあって、 store value1 key1 type textElement ${key1} と書くとtextElementには'value1'という値が入る。ただ、storeを使った場合、同一のケースでしか変数にアクセスすることができない。 どこのケースでも共…
Rails勉強会@東京第6回でRubricksのセッションを開催させていただきました。 そめえださんがまとめて下さっています。大して準備もしていかなかったので中々わかりづらい説明で申し訳なかったです。 acts_as_approval(簡易ワークフローをモデルに宣言する…
acts_as_searchableを利用したコンポーネントを作ってみた。やっぱりacts_as_searchableの出来は素晴らしく、検索回りが非常に楽になった。それでも敢えて気になる点を挙げてみる。
前回の修正によって、アプリケーションの動作的には問題が解決されたが、Functionalテストが全て通らなくなるという問題が発生した。エラー内容は前回と同様に「url_forでURLが生成できません」ということだった。
Rubricksではコンテンツを主に6つのパーティションに分割して表示する。5つはコンテンツブロックを入れるためのパーティションで、左・中央・右・中央左・中央右の各パーティションで、残りの1つがメインコンテンツを表示するためのパーティションとなる。そ…
RailsでAjaxを利用するためのヘルパーメソッドとしてlink_to_remoteやform_remote_tagは良く利用するけど、出力される<a>タグにclassやstyle等のHTMLオプションを付け加えたい。Ruby on Rails APIには記述はないけれど、ソースを眺めてみたら指定できるみたい。</a>
検索結果をAtomフィードの形でも見れるようにしようと実装してみたが、Seleniumテストの際にFireFoxだと文字列を認識してくれないようで、assertがかからない。user-extension.jsに以下の記述をしてオーバーライドすることでとりあえず動作した。
結論から言うととんでもなく便利だ。これはすごい。ARモデルクラスに1行書くだけで自動的にインデックスの更新をしてくれるようになる。 class SampleModel ActiveRecord::Base :acts_as_searchable :searchable_fields => [:col1, :col2] end
RubricksではCMSの上に乗っかるサービスをRailsコンポーネントの形で提供する。そこで各コンポーネントを一元的に検索する窓口として検索機能を提供するべく試行錯誤中なのだが、気になっていたのがacts_as_searchableだ。これは全文検索エンジンであるHyper…