最近書かれた記事5件分を表示します。
更新状況をRSS 1.0形式でご覧になれます。
「サニタイズ言うなキャンペーン」とは何か(高木浩光@自宅の日記)を読み、自分のプログラムを見直した。
XML+XSLT+PHPのシステムを導入したものの、うまく処理がなされず、時々白紙のコンテンツが返されていた。どうやら、記事を収めている/notes/2005/articles.xmlのファイルサイズが大きすぎるために起きているようだ。
XSLTスタイルシートのMIME typeは、text/xslではなくapplication/xmlであるようだ。
以前の記事(『XML Hacks』を読む)に記した通り、XML+XSLT+PHPによるWebサイトの再構築を実現することができた。
Windows付属のディスクデフラグツールを用い、OSをインストールしてある論理ボリューム(C:)を分析したところ、1.5GBものページファイルが断片化したものとして検出された。この断片化したページファイルは、通常のデフラグ処理では解消できないようだ。
諸事情から所属している研究室のWebサイトを制作(厳密には更新、あるいはリニューアル)することになった。何時もの調子で制作するわけにはいかないため、注意するべき点を挙げることにしたい。
11月22日にOpera 8.51がリリースされている。今回はセキュリティフィックスが中心であるようだ。
XML+XSLT+PHPによるWebサイト構築の参考にするため、O'Reillyの『XML Hacks』を読んだ。近頃はこういった書籍が図書館に置かれるようになって助かっている。
あるリソースにリンクするのは簡単だが、同時にいくらかの情報を付加してやるとアクセシビリティが向上する。使いやすいリンクを検討したい。
よく知られているPDFリーダといえばAdobeのAcrobatだが、起動速度・描画速度が遅いという欠点がある。これに比べて最近知ったFoxit SoftwareのFoxit PDF Readerは軽快に動作するため、Operaに組み込んでいるPDFリーダを入れ替えることにした。
Opera 9.0(Build 8031; Merlin)のTechnology Preview、いわゆるAlphaが数日前に公開されている。メジャーバージョンのアップグレードだけあって、いくつもの変更点があるようだ。
所用があって原子力発電所事故について調べていた。
トラフィック削減のため、PHPで生成しているXHTMLやCSSリソースを条件付きGET(conditional GET)に対応させた。条件付きGETとは、リクエストされたリソースとクライアントのキャッシュが一致すれば、サーバはレスポンスヘッダだけを返してリソースの内容を送信しない動作のことである。
XHTMLを基礎から学び直すべく、神崎正英先生の著書である『ユニバーサルHTML/XHTML』を読んでいる。私のマークアップは、理論に傾倒するあまり抜け落ちている部分が多い。その改善が狙いである。
レンダリングエンジンとレイアウトエンジン、どちらがよく使われる語なのかふと気になって調べることにした。少し前に海外の記事でlayout engineと見た影響である。
無料版の広告を完全に外したOpera 8.50がリリースされている。言葉は重なるが、Operaは完全無料化となった。
body要素型の直下にはインライン要素を記述できないため、img要素は何らかのブロック要素に放り込んでやる必要がある。これにはdl要素型が適任かと考えたものの、dt要素とdd要素のどちらに含めるべきか迷っていた。
「話のさわりだけご紹介いたします。」とは聞き慣れた、あるいは見慣れた表現であろう。だが、このさわりには最初の部分といった意味はない。
「ホームページ」に興味を持って早6年になろうか。長く問題であったクロスブラウザはPHPを用いることで解決し、現状では納得のいくマークアップができている。細かな工夫の余地はまだあれど、XHTML+PHPによるWebサイトの構築という観点では一段落したようだ。Webサイトの構造、あるいはXHTML、PHPについてこの機会に振り返ってみたい。
Operaが開発10周年を迎え、Opera 10-year online anniversary party - My Opera Communityでは1日限定(30日16時から31日16時までらしい)でregistration codeが無料配布されている。
CSSのcontentプロパティで生成する文字列には改行(\A; br要素と等価)を含められるが、Gecko(Firefoxなど)では改行(br要素)を行わずに改行コード(CRやLF)を返す。だが、これはバグなどではなく仕様であった。
MSIE6はDOCTYPE宣言の有無によって挙動を変えるといわれているが、詳しくは知らなかった。別件でXML宣言を外した(DOCTYPE宣言が先頭に来た)際に綺麗にレンダリングされたため、不思議に思って調べたところ、XHTML文書における落とし穴の存在を知ることになる。
gzip圧縮転送とは、ファイルを圧縮した状態で転送する技術のことである(元々圧縮されているファイルを転送することではない)。圧縮転送されたファイルはクライアントサイドで展開されるが、ユーザが圧縮や展開を意識することは通常ない(気づかない)。ファイルを圧縮するとファイルサイズが当然に減少するため、gzip圧縮転送を用いると転送量の削減が期待できる。
CSSを用いる際に<meta http-equiv="Content-Style-Type" content="text/css" />という記述をhead要素に含めることがある。これは.htaccessにHeader set Content-Style-Type: "text/css"と記述しても等価だが、実際にはContent-Style-Typeそのものが不要であると分かった。
Opera 8.02 Finalでの組み込みを見送ったことにより、BitTorrentは8.10 Preview 2として調整が続けられている。
3つのセキュリティ問題を修正したOpera 8.02がリリースされている。8.02 Preview 1で試験導入されたBitTorrentは含まれていないが、セキュリティ問題以外にもいくつかの修正が入っている。
Webページにメールアドレスを記載すると、ほぼ例外なくspamが飛んでくることになろう。これまではメールアドレスを16進数の数値文字参照で記す、mailtoスキームを書かないなどの手段を講じていたが、それも気休めにすぎなかった。よくよく考えれば根本的なところを見落としており、全然解決になっていないと気づく。
contentプロパティで文字列を生成する際、ブラウザによっては文字化けを起こしてしまうことがある。特別気に留めたことはなかったが、iCapture(Macintosh/Safari)で表示してみると文字が化けていた。
メタデータとはデータのためのデータを指し、XHTML文書においてはhead要素内に記述することが多い。文書名、作成者、作成日などがメタデータの例である。head要素内に記述されたメタデータ(meta要素型やlink要素型による)は通常表示されないが、何とか表示させる方法はないものかと考えた。
以前、id属性はどの要素に振るべきかでdiv要素型について述べた。その最後にdiv要素型を使い続ける理由を記しているが、よく考えると逆の考え方もできる。
Pentium 4の技術文書が公開されていることを今になって知った。私はただのユーザにすぎない(技術者ではない)が、温度についての仕様書(Thermal Specifications)は参考になる。
一旦リリースの撤回されたOpera 8.01だが、いくつかのバグを修正して再リリースされている。今回は日本語版も同時にリリースされており、Opera Softwareの日本語サイト(livedoorのものではない)も公開となっている。
Webサーバではしばしばバーチャルホストが使われているが、これはローカルサーバにおいても実現可能である。
Opera 8.01 Preview 1(Build 7583)に続き、正式版となるOpera 8.01 Final(Build 7624)がリリースされた。公式による発表は少し先になるそうで、Changelogはまだ公開されていない。
Windows XPには、テクストの読みやすさを改善するClearTypeというフォント表示技術が組み込まれている。これはアンチエイリアシングの一種で、Microsoftの解説によると「LCD(液晶ディスプレイ)に対して効果があり、CRTディスプレイに対しても多少の効果が期待できる」とのことだ。
RDFのMIME typeでHTTPレスポンスヘッダとXHTML文書内のMIME typeを一致させられないことがもどかしい。
などと述べたが、これは単純に「特定のUA(ブラウザ)に対する指定」を取り除けば解決する話であった。
今や手の込んだCSSを用いず、専らテクストを読みやすくしているにすぎないが、MSIEにおいて何らかの原因で要素内容が左へずれてしまう現象を確認した。CSSバグリスト WinIE バグ009では、最後の子要素が非匿名ブロックレベル要素である要素の四方にパディングを設置し、さらに左または右にボーダーを設置すると、その要素に後続する要素の内容物がボーダーを設置した方向にずれてしまう。
と解説されており、blockquote要素やins要素に指定した左ボーダーが原因だと分かった。
XHTML/HTMLでは、文書のメタデータを記述するためのmeta要素が定義されており、例えば、文書の作者を示す情報を付加する場合に<meta name="author" content="桐沢 辰" />などとして使う。しかし、作者を示すauthorはあれど、作成日を示すmeta要素のname属性値は存在しておらず、詳細なメタデータを記述するには不足があった。そこで、メタデータを記述するための語彙としてDublin Core Metadata Initiativeで策定されたDublin Coreを用いることにした。
IntelのXeonやPentium 4系列(CPU)などに実装されているHyper-Threadingに脆弱性が見つかった。Intelのハイパースレッディングに深刻な脆弱性(ITmedia)では、マルチユーザーシステムの管理者は直ちに使用を停止した方がいいとの勧告が出されている。
と報じられている。なお、シングルユーザシステム(個人利用のコンピュータ)はこの影響を受けないそうだ。
Opera 8.00 Finalのバグ(主にクラッシュ関係)を修正したOpera 8.01 Preview 1が公開された。
PHPのエラーメッセージには、デバッグしやすいようにスクリプトの場所が含まれている。制作者にとっては役立つ情報だが、第三者が閲覧できる状態にするのは危険でもある。
ハイフンとアンダースコアは共にファイル名として使用できるが、どちらを使うべきかと考えたことはなかった。手元のファイルではハイフンとアンダースコアが混在しているため、それを統一すべく調べることにした。
今夏にBetaが登場するといわれているMSIE7について、「Internet Explorer 7」の姿が開発者のブログで一部明らかに(CNET Japan)という記事が出ている。
Opera8が100万回以上ダウンロードされたことを受け、Opera SoftwareのCEOであるJon S. von Tetzchner氏は、宣言していた通りノルウェーからアメリカへ泳いで渡ることになった。
予定より少し早くOpera 8.00の正式版がリリースされた。英語版の他に、ドイツ語版、オランダ語版、ポーランド語版が用意されている。Opera 8 - My Opera ForumsにあるJunyor氏の書き込みによると、「正式なリリース日は明日なので、それまでChangelogは出ない。」とのことだ。
Rhongomyniad.orgでは、Opera7以降と2004年以降のGeckoエンジンを搭載したブラウザ(Firefoxと比較的新しいバージョンのMozilla、Netscape)に対して、HTML文書ではなくXHTML文書を送り出すようにしている。XHTML文書とは、MIME typeがapplication/xhtml+xmlである(つまりはXML)文書のことを指す。XHTML文書を読み込むとXMLパーサがパーシング処理(構文解析)を行い、解析に失敗する(開始・終了タグの不一致などによる)とレンダリングを中止するが、OperaとGeckoでは文書の扱いが異なっていた。
我々が一般的に用いる読点は「、」(点)だが、1946年(昭和21年)に文部省教科書局調査課国語調査室が作成したくぎり符号の使ひ方〔句読法案〕では、横書きにおいてテン又はナカテンの代りに、コンマ又はセミコロンを適当に用ひる
としている。ただし、前書きにくぎり符号の適用は一種の修辞でもあるから、文の論理的なすぢみちを乱さない範囲内で自由に加減し、あるひはこの案を参考として更に他の符号を使つてもよい。
とあり、横書きに点を用いて問題ないことが分かる。
日本語における引用符は鉤括弧(「」)とされているが、実際には強調する目的で使われることもあり、必ずしも引用文を括っていない。HTMLでは、blockquote要素およびq要素を引用と見なすので鉤括弧をどう使おうと問題はないが、文章を書く上での自分なりのルールは確立しておく必要がありそうだ。
約物(やくもの)とは、約物(Wikipedia)で自然言語の記述で使われる、括弧や句読点などの特殊な記号のこと。
と定義されている。二重鉤括弧(『』)は、鉤括弧の中でさらに鉤括弧を使う時に用いるものだが、作品名(書名など)は二重鉤で括る。
とあった。これまでは、作品名をダブルクォート("")で括っていたので覚書しておく。
Operaでは、WMVファイルへのリンクを辿ってもきちんと動作しないことがある。ここで想定している動作とは、リンクを辿る→Windows Media Playerが起動して再生することを指す。いちいちダイアログを表示しないで再生できるよう、Operaの設定を変えてやることにした。
Webページの内容を引用する際、blockquote要素のcite属性ならびにtitle属性で引用元を示すことにしているが、qタグによる引用では引用元を示していないものがいくつかあった。これは前後の文脈(リンクなど)から分かるだろうという判断によるもので、厳密には引用元を示していることにはならない。
異なるシステムで同一のアプリケーションソフトを利用する場合、ディレクトリの構造やドライブレターの相違から、単にファイルを移動するだけでは正常に動作しないことがある。ディレクトリの構造はともかくとして、ドライブレターの相違は一見解決できないように思えるが、ディレクトリを仮想ドライブとして扱うことによってドライブレター自体を変更することができる。
iCaptureではMacintoshのブラウザ"Safari"での表示確認サービスを提供しており、ユーザはSafari上でキャプチャされた画像を見ることができる。2月の半ばから使用不能に陥っていたが、現在は利用できるようになっている。
プログラムの例文で、特に意味を持たない変数やファイル名をfooとすることがある。このfooは日本語のhogeに相当するもので、メタ構文変数と呼ばれている。よく見るのはfooやbar、bazだが、この次は何かと思ってリソースを探したところ、驚いたことにRFCが見つかった。
今月16日にOpera 8.00のBeta 3が公開された。今回はPreferencesの構造に変更が入り、ポップアップの設定などがより見つけやすい位置に再配置されている。この変更は、これからOperaを使い始めるユーザのために配慮されたものと考えられる。
RDF Site SummaryとReally Simple Syndicationはどちらも略すとRSSになるが、その意味するところは決して同じではない。マスメディアの記事ではこれらを混同しているものがあり、区別が曖昧になっている節がある。
この程、rhongomyniad.org/以下にあるページの一部がGoogleに捕捉された。以前はNotesの最新版であるrhongomyniad.org/notes/latest.htmlのみ捕捉されていたが、今回はNotes :: 2005年2月がHTTPリダイレクトを利用しない正式なURIで捕捉されている。これにより、「2005年2月分にあるキーワードに引っ掛かったのに、リンクを辿ると2005年3月分が表示された」という事態は避けられる。
id属性は、文書内の特定の要素を参照するために用いる。分かりやすくいえば、ページ内の特定の位置にジャンプ(結果的にジャンプしているだけで、実際には誤り)するものだ。では、id属性はどの要素に振るべきだろうか。
bug reportが相次いだためか、8.00b2から一週間で新たなPreviewが公開された。このPreviewの安定性は重視されておらず、実験的な意味合いの強いバージョンであることに注意する必要がある。
先月28日、オランダのOneStat.comとアメリカのWebSideStoryによってブラウザシェアの調査結果が発表された。WebSideStoryの調査としてはMSIEのシェアが初めて90%を割り、2つ以上の調査でMSIEのシェアが同時に90%を割っているのは初めてだという。
昨年12月22日に公開となったOpera 8.00 Beta 1に続き、一昨日、Opera 8.00 Beta 2が公開された。8.00b1に存在したInfo panelの不具合(Opera 8.00b1)は修正され、JavaScriptの実装も強化されている。
よく見るサイトで紹介されていたので覚書しておく。Firefoxの欠陥を組み合わせることにより、ユーザがスクロールを行うだけで悪意あるプログラムが実行されてしまうそうだ。
窓の杜でMSIE用のプラグイン"Web Accessibility Toolbar"の記事を見つけた。「Web Accessibility Toolbar」は、どのような環境・ユーザーでも利用しやすい、バリアフリーなWebページの作成を支援するWebアクセシビリティ検証ソフト。
と紹介されている。
15日のRSA Conferenceにおいて、MicrosoftのBill Gates会長は、Internet Explorer 7.0をWindows XP Service Pack 2に向けてリリースすると発表した。夏頃にBetaを公開するとのこと。
Samurize導入の続きとして、CPU温度の測定方法を覚書しておく。日記ではなく、何かしら役に立つリソースとして公開していることを忘れていた。
faviconとは、Webページがブックマークされた際のアイコン表示を変更するために用いられるものである。
記事の数が増えてきたため、利便性を考えてカテゴリ別に分けた。各記事の見出し以下に表示されているキーワード(例えば、XHTMLやCSS)から、カテゴリ分けされた記事一覧を見ることができる。一つの文書内でカテゴリ分けをしようとも考えたが、今後も記事の数が増えることは間違いないので別々の文書にした。また、記事によっては複数の話題に属するものがあり、その場合はそれぞれのカテゴリに含めることにしている。
デスクトップにコンピュータの情報を表示できるSamurizeというフリーソフトウェアがある。例えば、タスクマネージャを開くことなく、メモリの使用量を確認することが可能だ。詳しくは次のサイトを参照されたい。導入する際にとても参考になった。
div要素型に依存しないレイアウトを行うことは、Webサイト制作における一つの到達点である。「div要素型に依存しない」とは、divタグを取り除いてもレイアウトに変化がないこと指す。つまり、div要素型をHTML文書の構造化に使っても、見栄えの制御には使わないことをいう。
Preview/Betaを除いたOperaの最新版であるOpera 7.54 Update 2がリリースされた。まだChangelogは公開されていないが、“data:”形式のURLに関する脆弱性(INTERNET Watch)などの修正が中心になっているようだ。今回は日本語版も同時にリリースされている。
先日、スタイルシート切り替えスクリプトを導入したばかりだが、ある方からご意見をいただいて熟考した結果、スタイルシートの切り替え自体を取り外すことに決めた。現状ではスタイルシートのオン・オフを切り替える飾りでしかなく、通常は必要ない。今後、選択できるスタイルシートを増やせば面白いかも知れないが、果たしてそれが必要な機能であるか考えると疑問が残る。
久し振りにAnother HTML-lintで文法チェックしたところ、<PRE> 内にはタブを書かないようにしましょう。
と言われた。結果の解説にはこう書いてある。
CSS3のText Moduleには、文字を均等割付するためのtext-justifyというプロパティが含まれている。CSS3はまだ勧告されていないが、MSIEは独自拡張(先取り)としてtext-justifyを実装しているようだ。
以前の記事(overflowの振る舞い)では、MSIE6(WinIE6)でpre要素の領域内にスクロールバーを出す方法について書いている。しかし、overflow: auto;またはoverflow: scroll;にwidth: 100%;(auto以外の値であれば問題なし)という組み合わせでは、pre要素の中身が一行しかないのに縦スクロールバーを出すことが分かった。
RFC 3870によると、RDFのMIME typeはapplication/rdf+xmlとして登録されている。NotesのRSS FeedはRDFであり、head要素には次の通り記述している。
これまではblockquote要素の後にp要素で引用元を明示していたが、そのp要素を削除することにした。引用元を明示しないようにするのではなく、blockquote要素のcite属性・title属性とCSSを用いてblockquote要素の領域内に表示する。
よく見るサイトでfeed meterを知り、早速Notesのfeed meterを生成してみた。人気度と更新頻度は画像で表現されており、直感的に分かるようになっている。
大晦日は冷え込みが厳しく、大阪北部では何年振りかの積雪を記録した。降雪はともかく積雪は珍しいため、名神高速や京滋バイパスをはじめとする主要道路は相次いで通行止めとなった。元日も冷え込みが続き、降雪の可能性があるという。