IE のシェアが落ちてるってさ

http://news.cnet.com/8301-1023_3-10154447-93.html
news.cnet.com の記事
IE slips further as Firefox, Safari, Chrome gain

Firefox, Safari, Chrome がシェアをのばし IE のシェアが引き続き下落傾向だそうだ。

Market Shere
Top Browser Share Trend
の調査結果を元にした記事。

IE : 67.55%
Firefox : 21.53%
Safari : 8.29%
Chrome : 1.12%
Opera : 0.70%
Netscape : 0.57%
Other : 0.24%

とIEは70%を下回ったとなっている。

小さな世界の個人的な感覚では、
Web 開発に携わる人たちの中でのIEシェアは30%を切っているように思う。
一般ユーザーになるとIEシェアが90%、その内IE7は半分にも達していないように感じる。

少なくともIE6以下のブラウザが淘汰されるとうれしい。

prototype.js, フォーム selectタグが選択済みかをチェック

prototype.js でフォームの入力チェックをする時に、Field.present('ID') で「入力済み」「選択済み」がチェック可能なのは助かる。
input type が text に使え、textarea, select タグにも使える。

IE のためにselectタグにvalue属性を忘れずに

ただ select タグをチェックするとき IE は value 属性が無いと選択していても false しか返さないので注意が必要。

<select name="fruits" id="fruits">
	<option value="">選択してください</option>
	<option value="みかん"> みかん </option>
	<option value="リンゴ"> リンゴ </option>
</select>
if ($("fruits") && Field.present('fruits')) {
	// 選択済み
}

面倒くさがらないでちゃんと value 属性を書くと吉。

IE8でもまだイケテナイな話題

japan.cnet.com の記事
http://japan.cnet.com/marketing/story/0,3800080523,20387238,00.htm

原文 news.cnet.com
http://news.cnet.com/8301-13505_3-10151584-16.html

Internet Explorer 8(RC1), Opera 10.00 アルファ版, Firefox 3.1b1, Google Chrome 2.0.158.0, WebKit r40220 での Javascript ベンチマークテストの結果。
テストには SunSpider が使われている。

IE8 はまだまだ改善の余地が残ってる、ヨな記事。

Chrome 以外は開発版なのでそのまま一般環境でも同じってことはないけど、やっぱりネな印象は残る。

それにしても登場して間もない Chrome の成績には驚かされる。

日頃使っているブラウザの結果が気になるなら下記のURLでテストが可能。
SunSpider
少々時間がかかるのでじっと待ちましょう。

HTMLの知識がなくてもWeb(ウエッブ)は制作できる?

japan.cnet.com の記事
http://japan.cnet.com/news/ent/story/0,2000056022,20387063,00.htm

なんでもある会社がウェブページ製作・管理サービスを開始したらしい。

HTMLなど特別な知識がなくても、デザイン性の高いウェブサイトを低コストで制作、運営できる

だってさ。

なんか今までなんども聞いたことがあるようなフレーズ。

CMSと呼ばれるツールもエディターと呼ばれるツールにもそんなコピーがよく似合っている。

ただ巡り合わせが悪いのか、いまだに知識がなくてもデザイン性が高いものが作れるツールにであったことがない。
今度はどうなんだろう、とても気になる。

たぶん、だ め だ と お も う

PHP, フレームワーク

PHPを使った Web開発に周囲ではフレームワークを使用する人が増えてきている。
CakePHP とか Ethna, Maple なんか良く聞く。

フレームワークってまた学習作業が必要そうでなんか面倒くさそう、と思ってる。

PEARライブラリと書きためた自前のライブラリだったら事前準備無しでも開発に入れるので手っ取り早いと考えてたけど・・・
セキュリティとかパフォーマンスとかちゃんと把握できいるわけでもないので、作って動いているけど少々不安だったりすることがある。

そろそろフレームワークでもって考えてはみるものの数が多すぎてどれから手をつけるか悩ましい。

なんて考えてたら、大垣靖男さんが技術評論社のサイトで「ZendFrameworkで作る『イマドキ』のWebアプリケーション」という連載を始めてくれていた。
PHP5が使えないホスティングサービスもほとんどなくジャストタイミングなのかも。。

第0回が始まってるだけだけど、数多くあるフレームワークの簡単な解説がのっていて便利。
今後の連載に期待です。

WordPress, 子カテゴリのカテゴリIDを取得したい

WordPress のテンプレートタグ、カテゴリ。

ある親カテゴリの子カテゴリのIDを取得したい時があったけど、どうも該当するテンプレートタグが無さそうだった。
$wpdb インスタンスを使ってSQLクエリを使ってみることにした。

$wpdb->get_results("SELECT t.term_id FROM $wpdb->term_taxonomy AS term LEFT JOIN $wpdb->terms AS t ON term.term_id = t.term_id WHERE parent = 'Parent ID' ORDER BY t.slug");

WordPress 2.5系からコンテンツやカテゴリ管理に taxonomy「分類」が使われています。

terms
カテゴリ、タグに関する情報テーブル

term_id bigint(20) PRIMARY auto_increment
name varchar(200) INDEX カテゴリ名 / タグ名
slug varchar(200) UNIQUE
term_group bigint(20)

term_taxonomy
カテゴリ、タグに関する情報テーブル

term_taxonomy_id bigint(20) PRIMARY auto_increment
term_id bigint(20) UNIQUE
taxonomy varchar(32) category / link_category / post_tag
description longtext
parent bigint(20) 親ID
count bigint(20) 投稿数

SQLの結果から子カテゴリIDを取出す。

$children_cats = array();
foreach($wpdb->last_result as $cat){
	$children_cats[] = $cat->term_id;
}

関数化して functions.php にでも置いておくと便利かな。

あと、バージョンアップに伴ってテーブル構造が変わったら使えなくなる。
2.5系へのアップグレードでカテゴリ関連のテーブル構造が変わって、SQLを使ってカスタマイズしていたテンプレートの修正で死にそうになったことがある。

WordPress, 複数ページのタイトルやdescriptionにページナンバー

index とかアーカイブとかコンテンツが増えてくると複数ページにまたがることがある。
title, description が重複していると Google サイトマップさんに怒られるので、せめてページナンバーを付けて許してもらうことにした。

ページナンバーを付ける。
wp_title(); に続けて

echo (isset($paged) && $paged) ? " Page - {$paged}" : "";

とした。

変数 $paged に現在のページナンバーが入っているのでセットされている時に出力するようにしただけ。

all-in-one-seo-pack プラグインを使えばプラグインが勝手にやってくれるけど、好きじゃないんだよねこのプラグイン。

MySQLクックブック〈VOLUME1〉〈VOLUME2〉

MySQLクックブック〈VOLUME1〉
ポール デュボワ

¥5,670

MySQLクックブック〈VOLUME2〉
ポール デュボワ

¥4,620

必読:MySQL使いになるために

2冊で1万円を超えてしまいます。
2003年の出版なので、MySQL4.0系の話が多くなり副選択などは軽く触れられているだけです。
それでもこの本の価値は燦然と輝いていると思います。

オライリーの「クックブック」いっつもボリューム満点ですが、この本も例外ではありません。
複数の翻訳者による本ですが、文章は整然として章ごとにバラバラ感は無く読みやすいと感じました。

〈VOLUME2〉の「第12章 複数テーブルの使用」は何度も読み返しました。
また、同じく〈VOLUME2〉の「第13章 統計手法」もなるほどネな話が多くためになりました。

PHP, Perl, Python, JAVA などの言語からの操作方法も全てではないですが例示されていたりする点も参考になります。

CMSなどのツールを使うと直接SQLを書くことはほとんどないですが、使えると便利度は飛躍的に上がります。

また、CMSやフレームワークを使わないWebアプリ開発にはSQLは必須です。
ホスティングサーバーが提供するDBのほとんどがMySQLな現状を考えると、手元に置いておきたい2冊だと思います。

WordPressを初めとするCMSもほとんどがMySQLを前提として提供されてるし、やっぱり「読め」です。

ページ数も多く内容も濃いので1冊ずつ読むといいのかもです。

Acid3 テスト – Webkit, Safari, Minefield, Firefox

OS X 10.5, MacBook Pro 2.4GHz で使用しているブラウザ、
Webkit, Safari, Minefield, Firefox の Acid3 テストをやってみた。

Safari 3.2.1
Webkit r4000 (?)
Minefiled 3.1b2pre
Firefox 3.0.5

成績は Webkit の 98 / 100 が良くて、続いて次期 Firefox 3.1 のベータテスト版と言われている Minefield が良かった。
Webkit はサイトに掲載されていたような 100 / 100 のフルスコアではなかった、マシン環境も関係あるのかも。

Safari の方が若干 Firefox より成績が良かったのは不思議な感じ。
表示に関しては Safari の方がイケテないと思ってたので意外な印象。

Webkit / Safari をメインブラウザで使っているのは起動スピードが速いからだったけど、ちょっと見直さないといけないのかな?

いつか IE のテストもしないと・・・

update
IE 7 は予想どおりお話にならなかった、画面がグチャグチャでよく見えないが多分 12 / 100。
Google Chrome は 79 / 100、まずまずの結果。