第24回 携帯電話への拡張を進めるGoogleとWeb隠しコマンド
株式会社ピーデー
川俣 晶
2007/8/28
そのほかの見どころ
Ajaxとそれに関連する話題を紹介します。
■ リクルートがWebサービスサイトで4種のAPIを公開
- - PR -
2007年8月1日に、「リクルートWEBサービス」のサイトがオープンしました。ここで公開されているAPIは、以下のとおりです。
- 赤すぐnet(商品をさまざまな検索軸で探せる商品情報API)
- リクルート進学ネット(リクルート進学ネットに掲載されている学校および各種学問・仕事・資格をさまざまな軸で検索できるAPI)
- エイビーロード(約2万件の海外ツアー情報をさまざまな軸で検索できるAPI)
- ホットペッパーBeauty(ホットペッパーBeautyに掲載されている美容院・美容室・ヘアサロンを、さまざまな軸で検索できるAPI)
開催期間が間もなく終了する、Mash up Award 3rdの対象APIでもあります。
![]() |
| リクルートWEBサービスのトップページ |
このラインアップを見て感じるのは、APIが提供する情報は、各ジャンルに特化した専用情報が増えてきたことです。例えば、地図は誰でも使う可能性があるので、Google Maps APIは万人向きのAPIといえます。しかし、例えば学校の情報は自分や子供が進学に直面しない限りめったに必要とされない情報ですから、特定分野に特化したAPIといえます。そういったAPIが増えると、本当の意味で役立つサービスが増えるのではないかと思います。
■ Webサイトに“隠し機能”を付けてちょっとびっくりさせる
家庭用ゲーム機の世界には、特定の順序でコントローラの特定のボタンを押すと、“隠し機能”が動作するという例が多く見られます。このような機能性が埋め込まれる理由は、テストやデバッグのためであったり、ゲームに対する話題性を持続させる手段であったり、さまざまです。
これと同じように、Webページでも特定のキーコンビネーションで隠し機能を発動させる機能を作成した方がいます。その成果が上記のページです。
このような機能性は、通常のページでは必要ありません。しかし、必要ないからこそ、それが組み込まれていたときの驚きは大きいといえます。ページに、「ちょっとびっくり」を仕込む手段としては面白いと思います。
■ CSSの未使用セレクタを発見できるFirefoxプラグイン
コンピュータ言語上で、宣言したのに使われていない「資源の無駄」を探すのは実は厄介です。もちろん、無駄だと知って入れたものではありません。試行錯誤しているうちに不要になったものが放置されてしまうわけです。
こういう問題に対処するために、例えばプログラム言語では使用されていない変数があったときに、それを警告することが珍しくありません。
![]() |
| Dust-Me Selectorsで@ITリッチクライアント&帳票フォーラムを調査した結果 |
Webの世界で最も気になるのは、やはりCSSの未使用セレクタでしょう。必要だと思って追加したセレクタなのに、文書を書き換えているうちにいつの間にか使われなくなっていた……ということは珍しくないと思います。しかし、ページを開く際にはその未使用のセレクタの情報も転送され、無駄なトラフィックを増やします。
ここで紹介されているのは、そういった無駄を検出することができるFirefoxのプラグインです。こだわりのあるCSSデザイナーは名前ぐらいは覚えておくとよいでしょう。
■ JavaScriptでMath.floorを使わずに小数を整数にする
純粋にプログラミングの話題です。JavaScriptでは、実数を整数に直すために、通常はMath.floor関数を使います。しかし、ここでは補数を求める単項演算子(ビット否定演算子)「~」を2回使うことで整数にできるとしています。なぜ整数になるのかというと、ビット演算は実数には適用できないので、暗黙的に整数化してから処理されるためです。そして、ビット否定を2回行うと元の値に戻るので、結果として整数化された値だけが残ります。
このコードの問題は、「整数化」という本来の意図と関係ない「ビット否定演算子」を使っているため、このソースコードから「整数化」という意図を読み取るのが難しいという点です。このようなコードは許されるでしょうか? それとも書くべきではないのでしょうか?
このような副作用にのみ着目した使い方は、一般的には「可読性を落とすから悪い」と見なされると思います。しかし、最近になって、時と場合によってはそれもありではないか……と思うようになってきました。
例えば、C風の構文を持つ言語で、変数に1を足すために"変数名++"と書きますが。それも副作用だけを期待した使い方です。これが許されるのは、「それが常識的なパターンとして定着しているから」だろうと思います。ならば、きちんとパターンとして整理し、それが1つの「常套(じょうとう)句」であると見なせば、こういう使い方もありではないかと思います。
逆にいえば、「同じ効能を持つ書き方」を何種類も1つのソースコードに使うのはNGということです。このテクニックはビット演算子を使うすべての演算子で利用できますが、ビット否定の次はAND演算子「&」を使おう……などとテクニック自慢をやってはならないわけです。それを行うと、後でソースを読む人の負担が増えてしまいます(後でソースを読む人に書いた本人が含まれるのはいうまでもありません。忘れたころに自分でも読むのに苦労します)。
■ HTML5は次世代標準になり得るのか?
これは注意喚起のために取り上げるものです。
![]() |
| HTML5.JPのトップページ |
最初に、本来のAjax的な意味で、HTML5なる言語には何の意味もないことを確認しておきましょう。Ajaxとはユーザーがすでに持っているWebブラウザに何も足さずに利用できる技術であって、未来の標準には何の意味もないからです。より正確にいえば、「未来」と「標準」という言葉の双方に、それぞれ違った理由で「意味がない」といえるのです。
「未来」とは「実際にうまくいくことが証明できない」領域を意味し、懐疑主義者に対して彼のパソコン上で即座に動作することで価値を証明してきたAjaxとは相性が良くありません。そして、「標準」と称するどのような文書を、どのような権威ある団体から発行しようと、それによってユーザーがすでに持っているWebブラウザが変化するわけではない以上、それに従う意味はありません。
しかし、そういうAjax的な無意味さを除外しても、このサイトの言い分には難点が多過ぎます。突っ込みどころが多過ぎていちいち指摘することはやめておきますが、もしこのレベルでHTML5なる技術標準が作られるとすれば、それはまともに実装できない……あるいは、そもそも標準を発行できる段階に至らない可能性を留意すべきでしょう。
Ajax的なリアリティから結論をいえば、「能書きはいいから、実装してちゃんと動くところを見せてよ」といったところでしょうか。それがXHTML 2.0に期待している者たちも納得させるものであれば、そのときに初めてHTML5の存在意義は証明されたといえるでしょう。
■@IT関連記事
| いまさら聞けない、“Ajax”とは何なのか? いまさら聞けないリッチクライアント技術(3) Googleマップで有名になり、もはやWebの定番といっても過言ではないAjax。その生い立ちや仕組み、構成技術について解説 「リッチクライアント & 帳票」フ ォーラム 2007/8/23 |
||
| プログラマならWeb APIという巨人の力を使っちゃえ! 連載:5分でネットがわかるシリーズ(10) アイデアとテクニックがあれば個人でも強力なWebサービスを生み出せる。Web APIの魅力とその仕組みを5分で説明します 「Master of IP Network」フォーラム 2007/3/13
|
||
1-2 |
| INDEX | ||
| 第24回 携帯電話への拡張を進めるGoogleとWeb隠しコマンド | ||
| Page1 Windows MobileとiアプリでGoogleマップ|新たな表計算はExcelのような使い心地?|年表、自分について、情報ランキング | ||
| Page2<そのほかのみどころ>リクルートがWebサービスサイトで4種のAPIを公開|Webサイトに“隠し機能”を付けてちょっとびっくりさせる|CSSの未使用セレクタを発見できるFirefoxプラグイン|JavaScriptでMath.floorを使わずに小数を整数にする|HTML5は次世代標準になり得るのか? | ||
Ajax うきうき Watch バックナンバー
- 第1回 Webアプリのユーザビリティを改善しまくるAjax
- 第2回 Ajax、それはWeb 2.0へと続く道
- 第3回 どんなに無茶をやっても「それもありかな」なAjax
- 第4回 自動車業界のAjaxを活用したキャンペーンを目撃せよ
- 第5回 “どのブラウザでも動くAjax”を共有財産として育てよう
- 第6回 プロプライエタリ2.0から考えるAjaxの公開/非公開部
- 第7回 メモリリークが小さくなったGoogle Maps APIの新版
- 第8回 “CGUI” 消費者が作り出すUIの時代突入
- 第9回 巨大化するAjaxライブラリをシンプルにする新たな流れ
- 第10回 地図のように年代を移動できるMITのAjax歴史年表
- 第11回 JSONがRFCになり、どんどんこなれるAjaxサービス
- 第12回 サーバが通信を開始できるComet活用Webチャット
- 第13回 オンラインゲームで検索精度を上げるGoogleの巧みさ
- 第14回 IE7とFirefox 2への利用者の大移動は起こるか?
- 第15回 グーグル検索エンジンを特定ジャンル専用に、Co-op
- 第16回 帯域やデバイス領域をフル活用させる“モバイルAjax”
- 第17回 新しい技術を模索するYahoo!、Google、MS
- 第18回 Ajaxの高度な使用例、Yahoo! pipes
- 第19回 Apollo参戦でウィジェット開発者の争奪戦が激化
- 第20回 Twitter登場で注目されるRTコミュニケーションツール
- 第21回 過熱するTwitterブームとMicrosoftのマッシュアップ
- 第22回 iPhoneのAjax戦略、そして今日もWeb APIは増加する
- 第23回 Ajax開発者がヒーローになるとき、それはいま!
- 第24回 携帯電話への拡張を進めるGoogleとWeb隠しコマンド
- 第25回 Ajaxで加速!? エンタープライズ2.0とWebOSの普及
- 第26回 「言葉」を超えた説得力を持つAjaxの存在感と広がり
- 第27回 ゲームから読み解く、俺スクリプト時代の知的な挑戦
- 第28回 マッシュアップ元年が終わり、2008年はどうなる?
- 第29回 Twitterやクラウドへも分岐するAjax/Web APIの道
- 第30回 Ajaxはじめて物語、そしてサーバでも動くJavaScript
- 第31回 新ブラウザ戦争はon fireだがJavaScriptはoffのナゾ
- 第32回 Google App EngineはAjaxへのハードルを下げるか?
- 最終回 Pure JavaScriptの動画再生やRPGも好きでした
TechTargetジャパン
- 次のモバイルアプリはどのフレームワークで作る? (2012/5/24)
スマホアプリの開発を容易にするJavaScriptのフレームワークが続々と増えている。それぞれの良さや仕組み、何がどこまでできるのかを徹底解剖する - 「LESS&専用エディター」でCSSをシンプルに書こう (2012/5/23)
「LESS」はCSS初心者に向けた、シンプルなライブラリだ。「LESS」で、変数などのプログラミングの基礎的な考え方もCSSで学ぼう - 学校が世界一のデジタル環境になったら (2012/5/18)
授業はアーカイブに蓄積され、家からも見られる。家族が授業テーマのアイデアを出す。そんな姿が実現されるかもしれない - 1000万ドル調達も夢じゃないクラウドファウンディング (2012/5/15)
クラウドファンディングは、寄付型でも投資型でもない「購入型」が主流。商品を“開発する前に販売”して開発費用を集める逆転のシステムだ
|
|




