分123Railsを使っている方も,使っていない方もこんにちは。この特集では,「⁠Rails2.0の足回りと中級者への道」と題して,2007年12月7日にリリースされたRails2.0の基礎と,Rails2.0が提示する新しいアプリケーションの形,について学んでいきたいと思います。revolutionary⁠”⁠)⁠」なリリースです。バージョンの数値の変化とはうらはらに,Rails1.1とRails1.2間に行われたほどの変革はありません。痛みすら伴う数多くの洗練と,RESTfulなアプリケーションへの傾倒を含んだリリースになっています。この特集ではまず,Rails2.0で行われた変化を探り,Rails2.0の香りを感じていきたいと思います。Rails2.0の進化と変化とはいうものの,Rails2.0での機能追加は,はじめてRailsに触れる人にとっては非常に細かな変化がほとんどです。「⁠Railsはじめまして」の方はしばらくご辛抱しておつきあいください。ActiveRecordRailsの中でももっとも大きく重要なフレームワークと目されているActiveRecordでも数多くの変更がなされました。Cache)Rails2.0では,Railsの全てのactionの中で,自動でクエリーキャッシュが行われるようになりました。未設定の場合標準でクエリーキャッシュが行われます。クエリーキャッシュとは,次のことをさします。「SQLのSELECT文発行の結果を保持し,同じSQLが発行された場合はキャッシュの値を返すこと」ただし,自動でクエリーキャッシュが行われるのは,Modelインスタンスの存続の間,通常は一つのリクエストの間に限られます。そのため複数のリクエストをまたぐようなキャッシュとしては利用できません。キャッシュがクリアされるのは「INSERT,UPDATE,DELETEを発行したとき」です。結果が変更されてなくてもキャッシュはクリアされます。実行時のイメージを,script/consoleで手動キャッシュを行うことで例示してみます。}逆に,actionの中で,クエリーキャッシュを行いたく無い場合には以下のような工夫が必要です。endendリスト2では,Userモデルに,force_findメソッドを追加しています。Rails2.0では,uncachedブロックを指定した場合のみ,キャッシュが行われません。非キャッシュのfindを実行したい場合は以下のようになります。script/console>>User.force_find(:all)ActiveRecordその他の進化その他の変更点としては,次のようなものが挙げられます。migration)テスト用データの作成が簡単に(FoxyFixture)開発の生産性を向上させるこれらの機能については,次回以降紹介していきたいと思います。ActionPack(ActionController,ActionView,ActionHelper)つづいて,ActionController,ActionView,ActionHelperの変化を見ていきます。Delimiterまず,進化ではなく変化ですが,Rails2.0では,RESTfulなルートでのカスタムアクションの区切り文字が変更になりました。「⁠カスタムアクションの区切り文字」と言ってもピンとこない方も多いかと思います。具体例を挙げてみましょう。:get}上のルート定義が行われていた場合,Rails1.2では,区切り文字として「;」が使われていました。Rails2.0ではこれが「/」に変更になりました。HTML4.01仕様書の附属書Bに「&」の代用として「;」のサポートを求める⁠』⁠,HTTPサーバへの実装者への推奨からです。そのため素直に,そのとおり実装しているHTTPサーバもあるわけです。Rails1.2のカスタムアクションの区切りはこれを無視して「;」を区切り文字として使用していました。この件についてはRails2.0での変化というより「行儀がよくなった」と言うべきかもしれません。Rails1.2でRESTfulなアプリケーションを作成されている場合は注意が必要です。Rails著者プロフィール鎌田達哉(かまだたつや)SI企業勤務。10年ほど前にはじめて自分で行ったプログラミングはRubyによるものであったが,語ってもにわかには信じてもらえないような紆余曲折を経て現在に至る。現在は,JVM上の言語実装に興味あり。ありがちですが,Scalaにはまり中。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。