エンジニアが作る最新ITブログ トップ>エンジニアの発信する【Firefox】
2008年02月01日Firefox 紹介キャンペーンに参加
Firefox 紹介キャンペーンに参加しました。ぬいぐるみが当たるかも。(^^)そして、ぬいぐるみ以上に気になるのが
「Firefox 3.0」 正式版のリリース。いつ頃になるんでしょうか?楽しみにしてまーす。
関連情報・Firefoxをオススメすると「フォクすけぬいぐるみ」がもらえるキャンペーン
| マイコミジャーナル
・Firefox
3.0のβ第3版が公開 - β2からの変更点は1300以上 | マイコミジャーナル・Firefox
3 Beta 3レビュー - builder by ZDNet Japan・Firefox
3の新アイコン「キーホール」を表示させる方法 - builder by ZDNet Japan
(02/22 追記)・TechCrunch
Japanese アーカイブ » Firefoxのダウンロード数5億回(間近)
2008年01月14日EmEditorと補助漢字EmEditorのバージョンが7になりました。2006年11月に「秀丸エディタとEUC補助漢字(「繋がる」と「繫がる」)」という記事を書きましたが、EmEditorは当時、補助漢字には対応していませんでした。実際、2007年3月には、EmEditorの公式フォーラムで以下のような質問がなされていました(なお、質問した人は私ではありません)。 ●EmEditor テキスト エディタ - フォーラム「EUC-JPは実際にはサポートされていない?」 http://jp.emeditor.com/modules/newbb/viewtopic.php?topic_id=195&forum=2&post_id=746#forumpost746 この中で「次の EmEditor のメジャー バージョンでは、ほぼ確実に、このような新しいエンコードにも対応していきたいと思います。」と開発者の方が語られていたので、バージョン7になって実際どうなっているだろうかと思い、試してみましたが(バージョン7.00でテスト。)、未対応のようでした。(ちょっと意地が悪いですね。補助漢字に対応するのは本当に大変なことだと思います。私のWEBアプリも、まだ対応できていません(汗)。) データベース(文字コード:EUC-JP)のバックアップなどを取った際に、バックアップファイルをEmEditorで再編集後、データベースに戻す処理をする場合は、注意が必要な場合もあるでしょう。なぜなら、Firefoxで登録された「鷗外」や「繫ぐ」を補助漢字に対応していないテキストエディタで開き、それを再保存すると、文字化けした結果である「乗ス」「恕リぐ」が確定化してしまい、バックアップファイルからの復元前は「IEでは文字化けするけれどFirefoxでは文字化けしない」状態だったのが、「IEでは文字化け。Firefoxでも文字化け」という事態に悪化してしまうこともありうるからです。 もちろん、このような事態を避けるためにも、Firefox(やSafari)で送信された3バイトのEUCデータは、データベースに登録する前に数値文字参照化してしまい、IEでもFirefoxでも文字化けしない状態にしておくのが理想的だと思います。そうすれば、補助漢字に対応していないテキストエディタを経由しても文字化けしないようになりますが、なかなかそこまで手が回らないのが実情でしょう。 話を、テキストエディタの比較の話に戻します。では、補助漢字の対応だけを見るのであれば、今のところ、秀丸に軍配が上がりそうかというとそうでもなさそうです。私が誤解している部分があるかもしれませんが、両テキストエディタの機能を比較してみますと、
好き好きはあるかもしれませんが、私は、EmEditorの保存時の設定は優れていると思います。EmEditorの場合、このデフォルトの設定が気に入らない場合は、【ツール】→【現在の設定のプロパティ】→【ファイル】タブ→【保存時】ボタン→【Unicode文字をHTML/XMLの文字参照として保存】及び【名前による実体参照を使用する】のチェックを外せば良いでしょう。 ●EmEditor テキスト エディタ - FAQ: 「HTML、または XML ファイルを保存する際に、EmEditor はUnicode 文字を文字参照 "Numerical Character References" (NCRs - x; など) として、エンコードすることはできますか?」 http://jp.emeditor.com/modules/xoopsfaq/index.php?cat_id=6#q63 秀丸エディタにも同様の設定がないだろうかと探してみたのですが、見つかりませんでした。こちらの公式サポートフォーラムのスレッドは私が知りたいことをダイレクトに聞かれた内容ではないのですが、この内容からすると、私が捜し求めている機能はなさそうです。そこで、このスレッドで「秀丸担当 さん」が回答しておられるマクロを改良して、私が期待するマクロを考えてみました。なお、私は秀丸マクロは他人のマクロを少しだけ改良(改悪?)して自分だけ使うというレベルですので、以下のコードは全くの無保証です。念のため。 このマクロは、基本的に、ファイルの保存前に実行することを想定しています。 このマクロを実行すると、Unicode文字の部分は数値文字参照にするのか下駄文字(〓)にするのか、それとも無視するのか、選択できます。なお、選択肢の表示のさせ方がよく分からなくて、質問部分まで選択肢の一つになってしまっているのでご注意ください。また、「©」の場合は数値文字参照ではなく文字実体参照にしたいとかいうのがあると思いますが、そこまでするのが面倒なのでやっていません。EUC補助漢字(及び、補助漢字にも入らない漢字など)は全て、数値文字参照になってしまいます。また、マクロの仕様なのか、私の無知なのか分かりませんが、「変換しました」というメッセージが表示された後に、実際は変換が行われます。(適当に、改良して、まともなものに仕上げてください。) このマクロがあれば、EUC-JPのページでハングル文字を表示させたい場合に、数値文字参照に変換するのが結構面倒という場合にも使えます。ただし、この場合は、ファイルの保存前に実行しないといけません。そうでないと、保存時に、秀丸エディタが文字コード変換できない旨のメッセージを出し、「はい」を選択すると「?」に置き換えてしまいます。 ファイルの保存時に必ず、このマクロを実行してから保存されるようにするように秀丸エディタをカスタマイズできればいいのですが、そこまでの力量もなく、秀丸エディタの仕様が変更にならないかなと思う今日この頃ですが、設定可能項目が増えると、かえって使いづらくなることはよくある話なので、やっぱり、すべての人の要望は受け入れられないですよね、秀丸エディタ開発者様。 2008年01月10日[思]Firefox用Extension RamBackを使ってみる
via:RAMBack :: Firefox Add-ons Firefoxがメモリ上にキャッシュを作成するためにメモリ上にフラグメンテーションが発生し,使用済みメモリの再利用が困難になっているのはよく知られている事実だ.此を解消するためにFirefoxのメモリキャッシュをクリアする目的のExtensionがこのRamBackというものだ. 尚,RamBackはFirefoxのtrunk buildでしか動作しないので,Release buildユーザは参考程度にして戴きたい.Installして数時間が経過するが,タスクマネージャで使用メモリサイズと仮想メモリサイズをチェックしているが効果の程は不明である.一番の謎は何をトリガにキャッシュをクリアするかだ.変なタイミングでキャッシュをクリアされたらブラウジングに悪影響が発生しかねないと思う. もう一つ理解出来ない点はキャッシュをクリアすることで本当に使用済みメモリが再利用可能になるのかと言うことだ.Firefoxがメモリキャッシュを作成するとフラグメンテーションが発生する.で,単にキャッシュをクリアするだけではフラグメンテーションは解消されない.RamBackは単にキャッシュを解放するだけでなく,フラグメンテーション解消処理も行っているのだろうか.フラグメンテーションの解消を行っていたら効果はあるかもしれない.暫くは様子を観てみよう.もし効果が出ない(感じられない)場合はUninstallしてしまおう. 2008年01月03日ブラウザ別EUC-JP補助漢字などのサポート状況(2)EUC-JP補助漢字(JIS X 212)の処理をPHPやPerlなどにてどのように処理すべきかを考えるために、ここで、補助漢字の各種ブラウザ別対応状況を引き続き調べてみたいと思います。 Windows版IEは補助漢字に関して、数値文字参照や文字実体参照で全て処理しようとしますが、そのようにして送信されたデータがデーベースに保存され、それを使って表示しているWEBサイトを想定してみます。この際、他のブラウザが見たときに正しく表示されるのかをまとめてみたいと思います。 実験2-1:各種ブラウザは、補助漢字や補助漢字外の韓国語や記号に関して、Windows版IE形式で符合された文字列を意図通りに表示できるか?(EUC-JPのページで) 「鷗外」「髙﨑」「möchte」「안녕하세요?」「©♦」でテストしました。
※1 ただし、多くのWEBアプリケーションで「&」をエスケープします(このこと自体は正しい処理です。)が、数値文字参照や文字実体参照の存在を考慮していないことがほとんどのため、これらの文字は意図通りに表示されないことが多いのも事実です。 これがhtmlspecialcharsの仕様について、ここ数日間いろいろ調べていたきっかけであり、いろいろ書きなぐってきた記事の最初の出発点です。そもそも、「&」をエスケープしなければならないのはなぜか?に始まって、やっぱりエスケープしないといけないんだという結論に至るまで相当の時間が必要だったのですが、「HTMLの仕様がそうなんだから」とかいう理由ではなく、実例で理解したかったので、これはこれでよかったと思います。 実験2-2:各種ブラウザは、補助漢字や補助漢字外の韓国語や記号に関して、Firefox形式で符合された文字列を意図通りに表示できるか?(EUC-JPのページで) 「鷗外」「髙﨑」「möchte」「안녕하세요?」「©♦」でテストしました。
以上の結果を踏まえて、どちらの方式にプログラム側でデータを統一するかということを考えた場合、私には一目瞭然に思えます。Windows版IEの方式に合わせるべきでしょう。これは、単にWindows版IEのシェアの方がFirefoxより圧倒的に多いということだけではありません。 ブラウザ(Windows版IEとFirefoxのいずれか)の開発チームに仕様を変えるように言うことも選択肢かもしれませんが、そう簡単に仕様変更があるとは思えません。両者それぞれ深い考えがあってのことだと思います。ブラウザの側で統一されないなら、結局は、プログラム側で対応しなければならないでしょう。 ここで、Windows版IE派であれFirefox派であれ、「何でブラウザのバグなのにプログラムで対応しなければならないの?」 という疑問を持つ人もおられるかもしれません。非標準のバグっている仕様に敢えて対応することで、その悪しきバグを延命させるというか、認めてしまう結果になるとかいう発想も理解はできます。ただ、どちらの仕様が正しいかということも重要かもしれませんが、趣味のプログラマーやRFCそのものの研究家ならいざ知らず、実際に稼動している(or 稼動することを想定している)サイトのプログラムを作成されている人なら、どちらの仕様が正しいかということよりも、
この際に、上記のテストでも明らかなように、補助漢字に対応しようとするのであれば※2、Windows版IEの言葉はFirefoxは理解できるが、Firefoxの言葉はWindows版IEは理解できないのですから、Windows版IEの仕様に合わせるべきでしょう。そのようにすれば、文字化けになる確率がずっと減るのですから・・・(数値文字参照の「&問題」を解決できた場合)。Firefoxの方が賢いのですから、Windows版IEの仕様に合わせるべきだと思うのです。これは、別にFirefoxの開発チームに求めていることではなく、プログラマーがそのように仕様を合わせるべきだと思うのです。
※2 これを言ってしまえば終わりということになり、今更な発言ですが、補助漢字の処理で問題になるケースは実際にはそれほどないはずであり、対応しないというのも十分ありうる判断であるとは思います。 日本語や英語以外の言語で掲示板やブログでの書き込みをしたいという場合、及び「鷗外」「♦♠」などの記号を入れたい場合にのみ問題になりうることであり、ぶっちゃけた話、滅多にはないと思われるからです。ただ、ここでの議論は、もし「対応しようとするのであれば」という話になります。 PHPやPerlが標準で、そのような対応(2つの仕様のすり合わせ)をしてくれていたらベスト(≒「楽」)ですが、そうでないなら、プログラマーが自力で対応するしかないでしょう。(自分で作れないなら、補助漢字などの処理で問題になるケースははっきり言ってレアなケースでしょうから対応しないことにするか、他の献身的で優秀な方が既にライブラリーなどを公開していないか探すしかないでしょう。) 私が調べた限りでは、PHPやPerlが標準で、Firefoxなどの0x8F~の符号方法を数値文字参照にするような処理をしてくれる関数は準備されていないようです。ですから、対応しようとするのであれば、自力で対応するしかなさそうです。 具体的には、
この際、「&」が「&」になって数値参照文字が破壊される問題を解決するために、そもそも「&」を「&」にする意味はどこにあるのか? というのを調べたのが「【PHPネタ】htmlspecialchars関数はサニタイズ関数? 」(昨年12月25日)の記事でした。 「&」を「&」にする意味が例えば、セキュリティ的な理由であるならば、不用意に数値文字参照や文字実体参照を普通の文字に変換するのは危険かもしれません。最終結論的には、「【PHP関連】「&」(アンパサンド)をエスケープしなければならない実例」(昨年12月31日)の記事で書きましたように、表示上の問題だけでなく、セキュリティ的な意味でも「&#数字;」や「&アルファベット;」、「進数文字列;」をpreg_replace関数などで一律変換するのは危険だと書きました。 そのような意味で、「&」を「&」の処理を入れるのはホワイトリスト方式にするのが良いです。これが私が出した結論です。 リストは徐々に拡大させていくこともできるでしょうし、リストが多くなれば多くなるほど処理時間がかさみますし、その結果、ブラウザに出力表示されるのが遅くなり、サイト訪問者を待たせる結果になりますので、少なくとも最初はリストのサイズを抑えたほうがいいでしょう。 リストの作成は今回は手動でやりましたが、例えば、韓国語のコードポイントは一定の箇所に集中して現れますので、ここの部分はプログラムで変換用データを作成することは可能だと思います(ずいぶん前のことであり、遠い記憶なのですが、誰かが韓国語用のライブラリを公開していたと思ったのですが、見つけることができませんでした。)。 各自のサイトの仕様に合わせたホワイトリストを作成すれば、ブラウザでの表示レベルにおいては、文字化けが減るでしょう(テストはしていませんが、メール送信が絡んでくると、JISでメールを送信する仕様にしている限りは、文字化けを回避することは難しいと思います)。 実際にプログラムしてみると、下記のような感じになると思います。 ● ホワイトリスト方式でやってみた正直な感想: 無茶苦茶面倒です。ブラックリスト方式でやってみたい誘惑に駆られましたが、これは駄目ですね。ホワイトリストの作成を効率的にできる方法も模索しないと駄目なようです。 2008年01月02日ブラウザ別EUC-JP補助漢字のサポート状況(1)EUC-JP補助漢字(JIS X 212)の処理をPHPやPerlなどにてどのように処理すべきかを考えるために、ここで、補助漢字や補助漢字でも表すことのできない外国語や記号について、各種ブラウザ別対応状況を詳しく調べてみたいと思います。その前に、前提となる知識として、以下の3つのサイトをご紹介したいと思います。 ● IEがEUCのJIS X 212をサポートしていないのは規格違反なのか http://mkosaki.blog46.fc2.com/blog-category-10.html ● Extended Unix Code - Wikipedia http://ja.wikipedia.org/wiki/Extended_Unix_Code ● Bug 4873 –EUC-JPエンコーダは補助漢字を変換すべきではない http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=4873 (bugzillaの投稿。かなり活発に意見が交わされています。)を読んでみてください。 ここから分かるのは、IEの仕様もFirefoxの仕様もどちらが規格違反とかバグであるとかいうことは、ないようです。ただ、私は、IEの仕様に合わせるほうがいろいろ都合がよいと考えています。(誰がどのように・どんな名目や理由で合わせる作業をするのかという議論とかかわっていますが、その考えを述べるに当たっても、下記のようなテストは重要だと考えます。 こんなややこしいことを考えないためにも、EUC-JPではなくUTF-8でサイトを構築すべきであるという結論ももちろんありでしょうが、必ずしもそうできない場合もありますから、その結論はとりあえず「抜き」にして、別の対処案を考えてみたいです。) 実験1:各種ブラウザは「鷗外」をどのようにエンコードするか?(EUC-JPのページで) (※ このテストには、HTMLページにメタタグによる文字コード指定()がブラウザによっては必須のようです。)
Opera 9.5β版の結果が意外でした。9.5の正式版でどうなるかですね。 実験2:各種ブラウザは「髙﨑」をどのようにエンコードするか?(EUC-JPのページで)
Safari 3のこの挙動には注意した方が良いですね。Firefoxとも違う処理になっています。 次に、補助漢字ではありませんが、参考までに、補助漢字に含まれない韓国語の場合、どうなるかを考えてみたいと思います。 実験3(番外編):各種ブラウザは韓国語の「안녕하세요?」をどのようにエンコードするか?(EUC-JPのページで) 或る意味、当然の結果が出ました。
韓国語に関しては、何とか対応しようとしているブラウザは全て数値文字参照方式を取っています。或る意味、当然の処理かもしれませんが、ここで「&」が登場するため、EUC-JPで構築されたブログや掲示板などシステムでは、エスケープされたまま、元に戻されないため、結局韓国語を表示させることは不可能であり、「UTF-8で構築されたブログや掲示板で投稿してください」ということになるのかもしれません。 韓国語はこうなりましたが、ではドイツ語の場合はどうでしょうか? 実験4:各種ブラウザはドイツ語の「möchte」をどのようにエンコードするか?(EUC-JPのページで)
ドイツ語のウムラウトは、EUC-JP補助漢字(JIS X 212)に入っていますので、Firefoxなどでは原則どおりの対応をしようとしているのが分かります。 実験5:各種ブラウザは「©♦」をどのようにエンコードするか?(EUC-JPのページで) (♦は補助漢字には入っていません。)
今までの内容をまとめますと、次のようになると思います(順不同。順番に意味はありません)。
これらのブラウザの挙動の違いを元に、PHPやPerl+MySQLなどのデータベースで構築されたサイトを運営するに当たり、どのように処理するのが望ましいのかまで考察したかったのですが、時間などの関係で本稿はここまでにしたいと思います。 2007年12月31日NetscapeブランドのWebブラウザサポート打ち切り
NetscapeブランドのWebブラウザのサポートが完全に打ち切られるとのこと。
これには最新のNetscape 9も含まれています。
いまだに多くのWebサイトがNetscape4以上を推奨ブラウザとし、Firefoxやその他のブラウザを推奨に挙げていませんが、これでNetscapeを推奨する意味がなくなりました。
各サイトにおいてはHTML標準に準拠し、IEやNetscape以外の主要ブラウザへの対応をお願いしたいと思います。
個人的にはFirefoxは必須でしょう、と思っています(WindowsもCentOSもFirefoxを利用してるので・・・・)。
2007年12月30日NetscapeブランドのWebブラウザサポート打ち切り
NetscapeブランドのWebブラウザのサポートが完全に打ち切られるとのこと。
これには最新のNetscape 9も含まれています。
いまだに多くのWebサイトがNetscape4以上を推奨ブラウザとし、Firefoxやその他のブラウザを推奨に挙げていませんが、これでNetscapeを推奨する意味がなくなりました。
各サイトにおいてはHTML標準に準拠し、IEやNetscape以外の主要ブラウザへの対応をお願いしたいと思います。
個人的にはFirefoxは必須でしょう、と思っています(WindowsもCentOSもFirefoxを利用してるので・・・・)。
2007年12月23日Mozilla Labs が Weave 0.1 をリリース
Mozilla Labs が 「Weave」
というプロジェクトを立ち上げました。Web上で使用する個人情報などのデータを記録/制御するオンラインサービスと、同サービスを使用するための
Firefox3 の拡張機能を開発しているようです。
関連情報・hogeLog
? Mozilla Weave・Akira
Ohgaki: Mozilla Weave
・Jungle
Java - Firefox 3 Beta 2 リリース
2007年12月21日[Work]サイトの更新
今週は、複数のサイトのデザインや構成を考えて、必要なパーツの作成依頼をかけて、HTMLとにらめっこしながら、CSSをいじったりと、ウェブデザイナみたいな作業がメインな感じ。IE6/IE7/Firefox2 で動けばいいや、という感じだけど、やっぱり、3つで確認するのは面倒・・・。IE7への自動更新が近づいているから、それを過ぎれば、IE6からは開放されるかね・・・。
2007年12月20日Firefox 3 Beta 2 リリース
「Firefox 3 Beta 2」 がリリースされました。描画速度の向上と共に、メモリ消費についても大幅に改善された模様です。
・Mozilla
Japan - Firefox 3 Beta 2 リリースノート
関連情報・Firefox
3.0のβ第2版が公開 - β1以降の改良箇所は900以上 | マイコミジャーナル・Firefox
3 Beta 2レビュー:これは便利!な「スマートブックマーク」 - builder by ZDNet Japan
p.s.「Mozilla
Firefox, Portable Edition」 も 「3 Beta 2」 がリリースされました。
関連情報・Mozilla
Firefox, Portable Edition 3 Beta 2 | PortableApps.com - Portable
software for USB drives・MOONGIFT:
» Firefox3を試してみたい方はこちらで「Firefox 3 Portable Edition」:オープンソースを毎日紹介
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
エンジニアが作る最新ITブログ トップ>エンジニアの発信する【Firefox】