ubichupas.net

MCPCモバイルシステム技術検定2級を取得

先月受験したモバイルシステム技術検定の2級認定証が届きました。 たまたま申し込み期間中にこの試験の名前を耳にして受験してみたのですけど、試験問題が回収されるため過去問などの情報も少ないし、会社命令以外で受験する人なんて滅多にいなさそうな第3世代携帯電話についての資格でした。 今回札幌の受験会場は教育文化会館で、受験者は28名程。 1級の試験は別会場だったのか、そもそも受験者が誰もいなかったのでしょう。

モバイルシステム技術検定の試験範囲には、無線アクセスネットワークで使われる電波の変調方式や周波数、パケット通信の基本であるTCP/IP、BluetoothやFeliCaなどの端末周辺技術、フィーチャーフォン(ガラケー)向けJavaアプリやWebページの作成に関する用語まで幅広く含まれます。 そのせいで試験問題はマークシート方式で100分100問と多くなり、SNMPとSMTPのような略語の覚え間違いを狙った質の悪い問題も出題されました。

他の不満点としてはOSI参照モデルを真面目に説明するような試験範囲のため、コアネットワークについてHLR(Home Location Register)とVLR(Visitor Location Register)によるローミングとナンバーポータビリティが取って付けたように出題されるだけだったこと。 それとモバイルシステム技術を扱うのだから、ありふれたTCPとUDPでなくSCTP(Stream Control Transmission Protocol)まで言及するべきなのではないのかと思いました。

唯一の教材は『モバイルシステム技術テキスト 第4版』。 今年改版され、LTEやクラウドなど新しいキーワードが盛り込まれています。 ただし全面的に書き直されたわけではないため、3Gガラケーの将来性に期待しているかのような記述がところどころに残っています。 次に改版される頃にはスマホとLTEが主流になって、試験内容自体に大幅な見直しを迫られているのではないでしょうか。

PaperclipでEXIF情報に従って画像を回転させる

 「スマートフォンから投稿した横向きの写真が縦に表示される」という苦情が寄せられまして、「スマホの本体を横に倒して撮影したのなら、写真を見るときも本体を横に倒せよ」と、スマホを持っていない自分は思ったのでした。 (゚Д゚)ハァ?

どうやらスマホには写真を撮影したときの本体の向きを加速度センサーで調べてJPEGファイルにEXIF情報として記録しておき、後で写真を見るときは本体の向きに合わせて回転させて表示してくれる便利機能が備わっているようです。 だからスマホユーザーにとっては「横向きに撮った写真は横」なのでしょう。

なおWindows標準のビューアーにはそういう機能がないため、スマホで撮った写真をPCに持ってくるとすべて縦向きに表示されてしまいます。

 そんなわけでスマホ時代の画像アップローダーには、投稿された写真をEXIF情報(Orientationタグ)に従って加工してから保存する機能が必須になります。

自分が現在Rails3の開発で画像投稿機能に採用しているプラグインはPaperclipです。 PaperclipはRubyでお馴染みのRMagickを介さず、直接ImageMagickを呼び出して画像処理を行うという特徴があります。

 まずImageMagickでEXIF情報に従った画像回転を行うには、次のようにconvertコマンド-auto-orientオプションを付けて実行します。
$ convert -auto-orient tate.jpg yoko.jpg

そしてPaperclipでこの機能を使うには、投稿画像を保存するモデルにconvertコマンドのオプションを書いた1行を追加します。
class User < ActiveRecord::Base
    has_attached_file :avatar,
        :styles => { :medium => "300x300>", :thumb => "100x100>" },
        :convert_options => { :all => "-auto-orient" }
end

:allで指定したオプションは全ての:stylesに適用されますが、originalの画像は未加工の状態で保存されます。