Google のサイドバーからの検索は99年から存在した。
普 インターネットエクスプローラーを使ってないので気が付かなかったけど、検索バーからの Google 検索って昔からあったんだね。
ちゃんと「次へ」って押すとサイドバー内でページ遷移するんね。
http://www.google.com/ie
↓
インターネットアーカイブへ
サイドバーは便利だけど入り口としては使いづらい、または習慣が身に付かないのかもしれない。
または、本当は大半のユーザーがここからの検索を知っている、のかもしれない。十分ありえる。
PHP、array_map と for文の実行速度は for文の方が速い。しかしもっと速いのは・・・。
みんな知っていることかもしれないけれど・・・。
array_map 関数って便利だなー、是非活用しよう!と思ったんですがもしかしたら速度に問題ないだろうか?と思って調べてみました。
ネットで調べたところでは、
http://www.stackasterisk.jp/tech/php/searchAction.do?cid=27
というのがあって array_map 関数のほうが速いと書いてありました。
でも簡単に作った比較のスクリプトでは array_map の方が遅くて、for文よりも foreach文の方がはやかったのです。
どうやら、
for($i=0; $i<count($array); $i++ ) {
ここの配列の数を毎回取得しているのが原因なのと $i++ より ++$i の方がはやいらしい。なぜかは今は知りませんw
これを直してテストをしました。
また繰り返しも加えたのと foreach を加えたのと、おまけもあります。
簡単に作ったスクリプトは以下の通り。
<?php function a($a) { return $a . "\n"; } $loop = 50; $array = array_pad(array(), 32000, "a"); $array_count = count($array); /* * array_map の計測 */ $s = 0; $s = microtime(true); for ($l = 0; $l < $loop; ++$l) { $array2 = array_map("a", $array); unset($array2); } $u_map = microtime(true) - $s; /* * for文 の計測 */ $s = 0; $s = microtime(true); for ($l = 0; $l < $loop; ++$l) { for($i = 0; $i < $array_count; ++$i) { $array2[] = a($array[$i]); } unset($array2); } $u_for = microtime(true) - $s; /* * foreach文 の計測 */ $s = 0; $s = microtime(true); for ($l = 0; $l < $loop; ++$l) { foreach($array as $k => $d) { $array2[] = a($d); } unset($array2); } $u_foreach = microtime(true) - $s; /* * foreach文 の計測 * 配列の参照を加えた。 */ $s = 0; $s = microtime(true); for ($l = 0; $l < $loop; ++$l) { foreach($array as $k => $d) { $array2[] = a($array[$k]); } unset($array2); } $u_foreach2 = microtime(true) - $s; echo "array_map: $u_map\n"; echo "for: $u_for\n"; echo "foreach: $u_foreach\n"; echo "foreach2: $u_foreach2\n";
結果は、
array_map: 4.18736886978 for: 4.02036190033 foreach: 4.01496505737 foreach2: 4.30645799637
という感じです。
Wii、インターネットチャンネルの拡張機能を少し触ってみました。
http://www.nintendo.co.jp/wii/q_and_a/093.html#category05
↑を参考にして色々触ってみました。読んでみると isBrowsing が 1 の時の動作が微妙かな?と思いましたが本当に微妙なところがありました。
もうひとつ微妙だと思ったのは2本目以降のリモコンのリンクなどへのイベントかな。2本目以降の当たり判定は自作になりそう。
- dpdDistance と dpdValidity は isBrowsing が 1 のリモコンからしか取得できない、っぽい。
- dpdScreenX, dpdScreenY という画面のピクセル数を基にした座標の数値を取得するプロパティがある。isBrowsing の値には関係なし。しかし画面外にカーソルがあるときはこのプロパティが存在しないようになる。
- isBrowsing が 1 の時は拡張機能によるボタンフラグの取得ができない。
- しかしキーイベントから取得が可能である。参考:bolinfestivus home
- しかししかし isBrowsing が 0 のリモコンはボタンフラグから値の取得が可能で、ボタンを押しっぱなしにすると連続して値が取得できるが、isBrowsing が 1 のリモコンで使わざるを得ないキーイベントでは押した瞬間しか値が取れない。
- isBrowsing が 0 のリモコンはリンクにカーソルを当ててもクリックができないし、ロールオーバーイベントも取得できない。
- 複数リモコンでゲームを作るには、isBrowsing が 1 の時はボタンのイベントが微妙で、isBrowsing が 0 の時は当たり判定を独自に実装する必要あり、かと。
- http://flix.2kki.com/sample/wii/test.html http://flix.2kki.com/sample/wii/test.html ここで色々テストできます。
isBrowsing が 1 でも 0 でも同一の操作性を持たせるライブラリができると嬉しいですね。
Google in Sidebar に機能を追加しました!
http://flix.2kki.com/tools/gis/
詳しい使い方は前回の日記[Firefox][Opera][Sidebar]サイドバーにGoogle検索を。 - フリックスの日記をごらんいただくと分かります。
検索結果をタブで切り替えられるように機能を変更しました。
タブの数を増やすと折り返しがあるとタブの画像が変なところで折れたりしてしまいます・・・。
画像でタブを表現しなくても別にいいかな〜、なんて思ってますがどんなもんでしょ?
Ajax の動作は jQuery を利用しています。
あと JavaScript でのクラスの実装や、 prototype も理解できるようにコーディングしていきました。
何か気がついた点などありましたらご意見ください・・・。
サイドバーにGoogle検索を。
Firefox のツールバー周りが見直されてきているのかな?
サイドバーで Google 検索ができるようしてみました。
http://flix.2kki.com/tools/gis/
FORM の acition とリンクのターゲットを、サイドバーにするのか、メインとなる画面へのリンクとするのかを制御しているぐらいが特徴です。
勢いで作った、ってやつです。
これで検索結果を常に見える位置に置いて実際のページを開き、次のページを見るときに毎回閉じたりウィンドウを切り替えたりする必要がなくなります。
こんな感じ
Firefox のサイドバーに追加する方法
- 登録したブックマークを選択するとサイドバーにこのページが表示される
「日本全体の大渋滞現象」を読んで。
名古屋にいた頃、前の職場の最盛期はきっと理想的な状態だったんだろう。美化しすぎかもしれない。それなりに不満はあった。
正直今はその理想から遠く離れつつあるとも感じるけど、離れないように頑張っている状況でもある。
業界全体がひたすら走っているからっていう訳じゃないけど、ボクはひたすら走っている、でも走っていない人が、何で走っているの?wって感じで見てくる。
ああ、邪魔くさい。
でも最近は走っている仲間が増えてきたのでちょっとうれしい。もう少し頑張るか。判断を下すのはまだ早い。
Yahoo! について。
http://tsuruaki.cocolog-nifty.com/tsuruaki/2004/05/post_16.html
彼氏は台湾系米国人で日本語は分からないのだが、少々やきもちやきのところがあるのか一緒についてきたいと言っているということだった。
今更ながら知った。さすがアメリカ人種の坩堝。
更にいえば奥さんが日本人ってのも驚いた。
そしてサーバー2機の名前が、
「2台のサーバーで運営してるんだ。1台はコニシキ、もう一台はアケボノって名前をつけたんだ」とジェリーはうれしそうだった。
かなり日本かぶれな方なんだな〜っと。
ちょっとした豆知識でした。