備忘録のぺえじ

Archive - 2006/6

'06 6/29SBMがまたひとつ…

今でさえ、del.icio.usのnetworkとはてブの人気エントリーを追いかけるのに必死だっていうのに、さらにLDですか…。LDリーダーの高性能っぷりからして今回も期待できそうだけにねぇ。

リンク集をいじっています。

Simple API製のサムネイルをマウスオーバーで出すようにしてみました。つか、本当に出すようにしただけで、本文との配分とか全然考えてないです。これから考えるということにしておいてください。

あと、ローディング時間がやばそうだったので、紹介文中のリンクは消しました。下のほうのサムネイルがいつまでたっても完成しないという…。

'06 6/28オンラインソフトの話

menuHackerのマクロの%arg%をなんか利用できないかな、と思いまして。で、ウインドウを再起動させるスクリプト、なんてものをぶちあげてみる。スクリプトはWSHで。

Option Explicit

Dim exe
exe = WScript.Arguments(0)

Dim args,i
args = ""
For i=1 To WScript.Arguments.Length-1 Step 1
    args = args & " " & Chr(34) & WScript.Arguments(i) & Chr(34)
Next

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.SendKeys "%{F4}"
WScript.Sleep 1000
WSHShell.Run Chr(34) & exe & Chr(34) & args

設定ファイルは、

このウィンドウを再起動(&R),run,E:\application\menuHacker\restart.vbs,"%exe%" %arg%

%exe%には""を付けて%arg%には付けないのがポイント。以下、留意点を挙げときます。

リンク集をどうにかしたい

ソフトアンテナさんが結構前に移転してたのに、こちらを訂正するのを忘れてました。あとは、タイトルを間違えていたのを訂正したり、一件追加したり。

ていうか、前から思ってたんですけど、ウチのような過疎地でリンク集置いても、アクセス数やリンクポピュラリティの向上という観点では正直意味無いですよね。かと言って今から廃止するのもアレだし、何か上手いアイディアはないですかね。

'06 6/23Operaの話

A blog? with Σαιτω - Opera - Security

Opera8系固有のセキュリティ問題があるらしいので急遽アップデートしました。とりあえず、うちのサイトのCSSの描画やJavaScriptの動作は今のところ問題が無いようです。一安心。

あ、全角空白ハック、今回も使えました。これでこれからもOperaとFirefoxの間のプロパティの振り分けが出来ます。もちろん、これはCSSの文法にも重きを置く人は使えないやり方なんですけど。

'06 6/21サイト内検索を

作ってみました。

…やばい。作った自分自身がブチ切れそうなレベルで重いですね、これ。

'06 6/20Opera9正式版

出ましたね。

Opera9から新たに出てきたバグはもちろん気になりますけど、CSSハックの変化も気になるなぁ。全角空白ハックってOpera9でも使えるのかな。

当サイトのOpera9対応をもう少し見送らせてください

現在のバージョンがあまり評判が良くないようで、実は使ってないんですよ。別フォルダに入れて別個に検証した方がいいのかな。

'06 6/19やっちまった

esPstの紹介を一部修正しました。設定ファイルを例示している部分です。

"@item=1"で外部テキストファイルから転送したときに表示名称の設定が上手くいかない、みたいなことをついこの前まで書いていましたけど、全然そんなことなかったですね。readmeから見逃していました。ごめんなさい。

ここ見てるかな

innerTextはFirefox非対応かと。

あなたのウェブページでウェブ標準を - サポートされない DOM 関連プロパティ

DOMとinnerHTMLの比較はこの辺。

最速インターフェース研究会 :: 日本語テキストをテーブルで表示するJavaScriptの高速化

'06 6/18レイアウトを見直す

コンテンツ(過去ログや各ソフト紹介)のページにサイドメニューを置くのを止めてみようかと思います。理由としては、

といったところを考えています。

CSSはもう一個用意した方がいいのかな。その辺ちゃんと考えないとダメかもですね。

'06 6/17色分けを実装してみた

IE対応はやっぱ無理です。ソースはこれ→pretxt.js

function foo() {
    var myStr = 'hoge';
    if(bar) {
        alert(myStr);
    }//一行コメントです
    return true;
}
/*複数行のコメントはここから
          ……
複数行のコメントはここまで*/
var myArr = new Array;
myArr = ['one', 'two', 'three', 'four', 'five'];
for(var i=0;i<myArr.length;i++) {
    document.write(myArr[i]);
}

JavaScriptのみ対応、コメント含めて計3色、というへたれっぷりですけど、あとで拡張できるように意識してスクリプトを書いた、つもり。

あー、マジで汚いスクリプトですね。もっと綺麗な構文を書く練習をしないと…。

'06 6/16Feedアイコンを変えました

ホントに気分の問題なんですけどね。Opera9のアイコンの問題が落着しそうなのとは、関係があるような無いような。

Opera9といえば

とりあえずXPathには期待してます。これがあると無いとでは大違いですもんね。

XSLTも興味あるけど、こっちはIE7の対応次第ですかね。application/xslt+xmlでしたっけ?

'06 6/15Ajax イン・アクション読んでます。

世間では何だか色々言われてますけど…。とりあえず5章まで読了。

あ、感想とかは完読しても書きませんよ。僕のレベルで言えることなんか何も無いんで。

<pre>要素の飾り付けの続き

border-styleプロパティにinset / outsetを指定したときの配色がOperaとFirefoxで異なるというのは何とかならんのかな。IE非対応とかそれ以前の問題な気がしてきました。

あと、せっかくだから文字の色分けも考案中。しかし、改行がらみの正規表現を仕込んだときにIEだけ違う結果を出すせいで難航してます。偉大なる先人たちはどうやって色分けしたんだろう。

'06 6/14サッカーの話題についていけない…

昨日の試合の視聴率は、一体どれぐらいだったんだろうね。

整形済みテキストについて考える

今までは<pre>要素を使ってたんですが、行番号を横に付けた整形済みテキストとか格好良くていいんじゃないか、とか思って。<li>要素に<code>を入れ子にさせて行番号を表示させているサイトはちらほら見るんですが(lintの結果表示とかね)、これを手動でやるのはあまりに面倒臭い。

というわけで、普段は今までどおり<pre>要素で表示させてJavaScriptで整形してみるのはどうかな、と。これならマークアップが滅茶苦茶でも一目では分からないしw

…早速作ってみた。ソースを実際に整形済みテキストで表示してみる。

if(navigator.userAgent.match(/Opera\/|Gecko\//)) {
    addNum();
}

function addNum() {
    var pre = document.getElementsByTagName('pre');
    for(var i=0,l=pre.length;i<l;i++) {
        var html = '<ol>';
        var text = pre[i].innerHTML.replace(/ /g, '&nbsp;');
        var texts = text.split('\n');
        for(var j=0,m=texts.length-1;j<m;j++) {
            if(window.opera && texts[j] == '') {
                texts[j] = '&nbsp;';
            }
            html += '<li>' + texts[j] + '</li>';
        }
        pre[i].innerHTML = html + '</ol>';
        pre[i].className = 'linenumber';
    }
}

IEを最初に弾いたのは、CSSの方にIE未対応のものをたくさん使っているから。努力すれば何とかなるのもあったけど途中でだるくなっちゃって。

'06 6/12GoogleSpreadsheetsのことが

最近よく話題に上りますね。みんな結構気になってるのかな。

実際に使ってみたときは、想像以上の快適さとオンラインストレージの便利さにびっくりしました。ただ、Opera未対応なので、使いたいときだけFirefoxを呼び出さないといけないんですよね…。

ソフト紹介を色々更新しました

と言っても、内容的には何も変わってないです。日本語をいじったり、マークアップを変えたり。IEだけ表示がおかしくなるところが一ヶ所あるけど原因が分からんす。

'06 6/11UTF-8とフォントの話の続き

Junkline - UTF-8 と Shift_JIS では CSS の解釈が違う? on Win IE6 pt.2

ここのコメント欄を見ると、どうやら筆者と同じ悩みを持っていた方はそれなりにいるようで。何でそんな仕様になっているかとか結局どういう対応を取るべきなのかとかさっぱり分からないのですが、とりあえず二日前の持論を曲げてfont-familyプロパティを指定して修正していくことにしました。日本語と英数が混在している文章をIEで表示すると違和感ありまくりだったので…。

この際だからweb拍手もソースをいじってUTF-8化するのも面白いかなと思ったんですが、PerlでUTF-8を扱うときはそれなりのノウハウがいるようで、素人の浅知恵で何とかできるレベルではないのかもしれません。

'06 6/10ちょっと感じの悪いこと書きますね

ここ2、3日の間はRSSの利用の実態を調べるために結構な数のRSS(のソース)をチェックさせてもらいました。で、その途中で気になったことを今日は書いてみようと思います。

なんのことかというと、RSS内で全く使ってない要素の名前空間を冒頭に記述しているサイトが多いんですよ、なぜか。調べ始めた当初、これのせいでちょっと混乱させられました。

XMLの名前空間の解説をしてるサイトはいくらでもあるのでそっちに譲るとして、別に名前空間を余計に書いちゃいけないっていう訳じゃないと思うんですよ。ただ、そういうRSSを配信してるサイトほどxml:lang等が書いてないことが多いんです、なぜか。優先順位逆だろ、みたいな。

こじつけは良くないけど、どこかで変なテンプレでも出回ってるのかな、と思った次第であります。まあ、ぶっちゃけRSSリーダーでちゃんと見れれば文句は無いんですけどね。

'06 6/9なんか来たー

家に帰ってメールをチェックしたらGoogle Analyticsの招待コードが来てました。ていうか、手書きのウェブサイトだとスクリプトを全部のHTMLに埋め込まなきゃならんのですね。ブログならテンプレに書き込むだけなので楽ちんなんですけど。

RSSを設置してみました

超実験段階です。不具合とかあったら教えてください。いやマジで。

やってることを具体的に追っていくと、

  1. "http://misttrap.s101.xrea.com/index.htm"のLast-Modifiedを取得して、RSSリーダー等が吐くIf-Modified-Sinceと比較。更新が無い場合はそこで終了。
  2. simpleXML関数で"http://misttrap.s101.xrea.com/index.htm"のテキストをパース。そこから各記事のURL、タイトル、日付を3×5の配列で作成。
  3. ↑のテキストを今度は正規表現で加工して<description>、<content>を2×5の配列で作成。
  4. XMLの組み立て。Content-Typeはapplication/xmlになっている…はず。

というわけで完成(スクリーンショット)。動作確認のためとはいえ、自分のサイトをRSSリーダーに登録するのって虚しいですね。どうでもいいけど、Bloglinesは<link>要素にtitle属性を入れないとRSSと認識してくれないんですね。

あと、simpleXML関数を使う関係でHTMLの方をUTF-8に変更したのですが、なんかIEで表示させたときだけ半角英数のフォントが違ってないかw…どうしたものでしょうか。font-familyプロパティはあまり指定したくはないのですが。

'06 6/6オンラインソフトの話題から離れまくり

RSSの話

RSSの仕様について調べていたのですが、人によって記述に細かい部分で相違があるようで、単に作ればいいってものでもないんですね。特にバラバラなのが、全文掲載の是非で、全文掲載するにしてもどの要素に記述するかが違ってたり。

技術的な部分ではIf-Modified-Sinceによる条件付きGETへの対応とか?これを意識しながら自動生成しようとすると、やたら遠回りなスクリプトを書かなきゃいけなくなるような。

HTMLの話

パンくずリストやページ内ジャンプが、論理構造とそれ以外のものの分離の観点に反するとか反しないとかいう議論をどこかで見た気がするけど、どこで見たのかを思い出せないや。HTMLにさえ書かなきゃ表示させてもいいのかな。それとも、そういうのはただの詭弁なのかな。

'06 6/5GoogleSitemapsの話の続きです

5/23の記事でsitemaps.xmlの書式を紹介したんですけど、今回はPerlでsitemapを出力するスクリプトを作ってみました。で、さっきGoogleのステータスチェックでOKが出たのでとりあえずは安心。はっきり言ってやってみたかっただけだから、キチンと動くのを確認したらもう要らないんだけどどうしようかな。

CGIの実行結果はこれ→sitemap.cgi

あと、難しいことは何もしてないですけどソース見たい人居ますか?自分のディレクトリ構成や命名規則に依存してるので、公開しても人様のお役には立てなさそうですけど。

'06 6/26月になりました

月別アーカイブのメニューの表示をもう少しコンパクトにすべきですね。7月までには何とかしたいものです。

…と思ったら、なんとなくすぐに出来そうだったので変えてみました。年度別のプルダウン式で。

JavaScriptの話

getAttribute() / setAttribute()
って、普通にプロパティを参照すればいいような気がするけど、何か違いがあるのだろうか。

今まで何にも考えずにgetAttribute() / setAttribute()を使ってましたw脳内テンプレと化していたというか。どちらでもOKなケースにしか遭ったことがないので、違いはよく分からないです。

よく分からないといえば、document.write()で長文を書き込むときにソースの可読性を維持する方法もよく分からないんですが。