IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

スーパーエンジニアの独り言

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート 

第19回 銀河鉄道の夜 2013年1月

 ジョバンニが親友カムパネルラを見送るため天の川を列車で一緒に旅する話、宮澤賢治の「銀河鉄道の夜」では宝石や鉱物、貴金属の類が登場します。
 金剛石(ダイアモンド)、黒曜石(スノーフレークオブシディアン)、黄玉(トパーズ)、月長石(ムーンストーン)、青宝玉(サファイア)、水晶(クォーツ)、硝子(ガラス)、真珠(パール)、紅玉(ルビー)、黄金(きん)、金、銀、銅、鉄、鋼、硫黄、水銀、真鍮、リチウム、それに、石炭とアセチレンも。

 元素記号の化学式を羅列するが如く、漆黒の夜の情景に煌びやかな花を咲かせ銀河の星ぼしに色味を与えています。まるで色彩博覧会のようです。
 今宵は、「紅玉(ルビー)」と「鉄道」に縁のある話をしたいと思います。

 Rails 4のリリースが間近に迫ってきた様子です。

 Railsの歴史を紐解くと2004年07月に最初に公開された後、Rails 1が2005年12月、Rails 2が2007年12月とリリースされました。
 2010年8月にリリースされたRails 3は、言葉通りのメジャーバージョンアップでした。Rails 2からRails 3への変更点では、Merbという名前の外部フレームワークを吸収しRailsの根幹の実装から変更するという大きな変化(痛み)を伴いました。Railtieを最小コアに据えて必要な機能をモジュールとして組み込む、モジュール指向(Modularity)を実践したパラダイムで実装されました。その結果、多様なアプリケーションを実装できることが可能になりました。単線だった路線が色々な方向へと向きを変えレールを延ばせるようになったとも比喩できるのでしょう。

 昨年(2012年)夏頃から噂され始めたRails 4は、既にベータ版も公開されていることもあり、近々登場すると期待されています。Rails 4では、前回のような大きな変化は伴わないと噂されていて、Rails 4は最初から安定版として登場すると憶測されます。これは実際に現在に至るまでにRails 3にて順次、機能追加や仕様変更がマイナーバージョンアップにて行われ続けており、次はその集大成としてのリリースであるというのが大半の見方です。既にRailsのバージョン番号は飾りとなっていて、Rails自体が絶え間なく変化しているのだという方もいらっしゃいます。

 しかしながら、メジャー番号が3から4へと一つ増えるのですから傍目から見て視認できる区切りであることに相違ありません。果たして、Rails 4での変更点は実際どのようなものになるのでしょう。

 リリースノートの冒頭に出ている目玉は、Ruby 1.8のサポート終了が謳われており、Rails 4ではRuby 1.9以降を母体とするようです。まさにこれが一つの大きな変更点であり区切りといえるでしょう。これ以外にもいくつかのAPIなどの機能が廃止予定になっています。

 新機能も追加される様子です。目玉の一つが、Strong Parametersです。
 これはHTTPリクエストから受け取るパラメータをコントローラで処理(フィルター)出来るという機能です。外部から受け取ったパラメータをそのままモデルに渡すのでなく、コントローラ側でチェック出来るようになります。MVCにて本来の役割であるコントローラ側で行うことは、スマートであり、また道理でもあるでしょう。
 パラメータのハッシュ値であるparamsに対しrequire(key)メソッドで指定のパラメータを含んでいるのかを先ずチェックし、permit(*filters)メソッドでパラメータ内の指定したキーのみを有効にします。

| params.require(:person).permit(:name, :age)

 この機能で、不要なパラメータを取り除いてしまうことが出来るのです。
 Mass Assignmentで起こり得る脆弱性に対しての有効な防止策ともなります。
(Mass Assignmentは、フォームデータをオブジェクトにマップするための安全かつ効果的な機能のこと。)
 詳細は、ActionController::Parametersのマニュアルをご参照ください。

 他にも、Russian Doll Caching(ロシア人形キャッシュ)やTurbolinks(ターボリンク)という冴えたネーミングの機能が挙げられています。

 細かい所ではindex.htmlが無くなり、代わりにトップページを表示するWelcomeコントローラが標準で提供されるというちょっとした驚きや、非推奨となっていたupdate_attributeメソッドを廃止するなど(update_columnメソッドに変更)既になされた変更を含めてRails 4リリース後にいくつか確認する必要があるようです。

 ところでRubyは2013/02/24で二十周年を迎えます。この誕生日に合わせてメジャーバージョンアップ(Ruby 2)の発表があるのでは?
と目されています。次回は今回に引き続き、Rubyのバージョンについてお話差し上げることになるかもしれません。

 黒い天蚕絨(びろうど)を広げたように漆黒の闇夜の中、天上の石炭袋の中に吸い込まれてしまいそうな孤独に苛まれる夜に、寂しさに堪えられず逃げ出した先の小高い丘で、何処からか「銀河ステーション、銀河ステーション」と、不思議な声が聴こえてくるかもしれません。耳を澄ませて暫しお待ちください。

 では次回もご期待ください。

 >> Rubyの関連コース一覧

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  OpenStack  システムトラブルシュート