2006年 01月 22日

エロスタイルデザイン

エロスタイルデザインのお誘い < Black Box で、知らないうちにうちのサイトが参加サイトになっていたりする。

むずいです。エロ。

2006年 01月 19日

テンプレートに XSLT スタイルシートを使う利点

俺はもうテンプレートが XSLT じゃない日記システムないし CMS ツールは使えない人間になってしまったのだけど、なんで XSLT を使うかを考えてみた。

  1. アプリケーション間で使いまわししやすい。(仕様化されているので)
  2. ホスト言語をあまり制限しない。(仕様化され、ライブラリが存在するので)
  3. not well-formed にはまずならない。(XML プロセサが処理をするので)
  4. インデントがまとも。(XML プロセサが処理をするので)
  5. (タグなどに関しては) sanitize を言わなくてすむ。 (XML プロセサが処理をするので)
  6. やろうと思えば XPath 関数を増やせるので、拡張性が高い。
  7. パズルちっくで (書いていて) 楽しい。(裏を返せば読みにくいのだけど)

XPath の話も混ざってますけど、どうせ一緒に使うからいいよね。

メリットを書くならデメリットも書くべきだけど、そんなに思いつかない。

  1. とにかく元が XML じゃないと話にならない。
  2. ちょっと難しいことやると難読になる。
  3. XPath 1.0 が貧弱。
  4. 最初は template がどんな意味を持つのか理解できない。XPath が地味に難しい。
  5. 難読まで行かなくとも、読むのが面倒くさい。(上から順番に実行されるわけではないから)

思いつかないとかいいつつ結構あるね。

一番重要なのは、アプリケーション間で使いまわしやすいことだと思う。共通のテンプレートを作っておけば、それを include したりして、それぞれ別のシステムから利用できる。このサイトはヘッダとかフッタとかナヴィゲーションとかは XSLT の1ファイルにまとめて書いてある。だから CSS のスタイルを作っても適用するのは全く面倒くさくない。ようは別々になってるとめんどいのよ。面倒くささ解消のために標準化標準化

2006年 01月 17日

CGI FastCGI, ruby

既存のスクリプトを修正せず、そのまま fcgi 化したい。

Web Server 側の設定の変更だけでいきたい。

fastcgi.server             = ( ".rb" =>
( "localhost" =>
(
"socket" => "/tmp/fcgi-ruby.socket",
"bin-path" => "/usr/local/bin/ruby-fcgi.rb"
)
))

とか書くとして (仮定)、ruby-fcgi.rb を考えたい。しかしながら FastCGI の仕組みがいまいちわかってないのでとりあえず保留。

UNIX ソケットであらかじめ起動してある CGI 実行プロセスと通信する?みたいなのはわかるんだけど、実際のとこ、この bin-path に指定したプログラムと、実際にリクエストされたファイルの関係がわからない。普通の CGI は引数にリクエストされたファイルを渡すけど、FastCGI はどうなるんだろう。というところで、試そうと思うんだけど、ちょっと環境構築に手間取っている。

というか、できるなら既にそういう方法が発見できるはずなんだけど、ないってことはやっぱないんだろうか。Ruby に環境を保存しておく機能がないんだっけ。callcc ?

UNIX ソケットで、とは限らないようだ。TCP/IP でもできる (すなわち、別のサーバにもおける) みたい。

普通の CGI は引数にリクエストされたファイルを渡すけど って嘘つきすぎ(w

CGI はただたんにリクエストされたファイルを起動してるだけだ。shebang を混同してる。

うーん。よくわからん。FastCGI を使ったアプリケーションを作るたびに、HTTPD の設定ファイルも書き換えないといけないんだろうか。

ENV を書き換える方法がないから無理だなこれ。

2006年 01月 16日

新スタイル - 指輪

前にだしたやつ を気が向いたので CSS 化。魔術というか卑怯というか、キモい技を使ってますが結構微妙ですね。

手の画像は Spindly by salt fork です。

「なんかよくわからないけど」読みにくい感じがする。回りのぐにゅぐにゅのせいかな? ちょっとしたら元に戻すかもしれない。

戻した。指輪は alternate にしといた。

2006年 01月 15日

CSS for IE

個人サイトでは IE を無視して楽しい CSS ライフを とかいう記事を読んで

おおむね同意というか、タイトルは同意なんだけど中身はそんなにアレだなぁとかなんとか。個人サイトでやらないことを仕事にしてできるかとか謎い。IE を無視して CSS を書くのは気が楽だけどねぇ。IE ユーザー・IE ユーザーサポーターは、私よりもウェブ・ウェブ制作を楽しめていないと言える。 ってのは、ねぇ。どうなんだろうねぇ。そうは思わないと俺は思うんだけど。

というか、CSS を書くこと自体に喜びを覚えるわけじゃなくて、CSS を使って、デザインした結果に対して、ないし、デザインした結果を誰かに見てもらうことで喜びを覚えるから、IE をサポートしないというのは、めぐりめぐって自分の喜びを殺しかねないなぁと (あくまで個人的な話)。もちろんそれでもめんどうくさいときは IE をサポートしないんだけど (喜びとめんどくささの天秤) ね。今だって積極的に対応しているわけじゃない(笑)パっと見普通に見えるけど、アンカーホバーでがっくんがっくんですし、知っててめんどくせーからいいやーと放置してますし。ダメじゃん。

pukiwiki が空ページを

pukiwiki が空ページを吐くようになった。10920e10mMeta*Headphone-Girls が完全にまっしろ。エラーさえ吐かない。もちろん心当たりはない。FTP で覗くとファイルは存在するので、なんかバグっているんだろうけど、原因不明。死ね PHP

XREA SUPPORT BOARD - View Single Post - メンテナンス情報:サーバーソフトウェア これのせいかなぁ……なんでバージョンアップ、しかもマイナーで非互換性に当たるんですか。

なんとなく (暗黙知) ページのエンコードが怪しいとにらんで、DATA_DIR で grep, file.php function get_filename($page)var_dump をしてみると、末尾に余計な 0 がつく。null ね。encode が怪しいので、grep して func.php を以下のように書き換え

// return ($key == '') ? '' : strtoupper(join('', unpack('H*0', $key))); // original
return ($key == '') ? '' : substr(strtoupper(join('', unpack('H*', $key))), 0, -1);

0 が効いてないっぽい。うざいなぁ。

2006年 01月 14日

どうしても Flash が

どうしても Flash が好きになれない。Flash も別に俺に好いてもらおうとは思っていないだろうけど。意味不明。

Flash でかっこいいサイトっていうは素晴らしくかっこいいんだけど、でもなんか、違う気がする。コンテンツが Flash ならいいんだけど、構築技術として Flash が使われているのはなんか、違和感がある。はっきりした違和感ではないけど、気持ち悪い。Flash 自体は面白いはずなんだけど (ECMAScript, E4X のサポート、ベクターグラフィックス・クロスブラウザ考えなくていい) どうも好きになれない。どうしてだろう?

Flash は埋め込みリソースとしてソースの書かれるわけだから、サイト全体ないしナヴィゲーションその他を Flash にするのは明らかにおかしい。オール Flash なら、代替として HTML 版を用意すればいい、というのは他人のサイトの話で、自分の手の届く範囲では、そういう糞ソースを出したくない。ちなみにコンテンツが Flash だけのサイトはこの限りじゃないんだと思う。よくわからないんだけど。

で、そういう理由がわかっている部分とは別に、Flash を学ぶ気にならない。なんでだろう。専用のソフトウェアが必要だっていうのは一つあるだろうけど、それだけじゃ足りない。

あー、別に Flash を使ってまで作りたいものがないってことか。別にほんと何もないな……canvas 要素と JavaScript で十分なものしか思いつかない。

リソースの定義

URI の R の定義。

RFC 3986 に書いてあるみたい。

要約が Web Kanzaki にある。URIとファイルディレクトリ -- ごく簡単なHTMLの説明, URIの意味するところ, Resource (RFC 2396 を基にしている。RFC 2396 は obsolete)

RFC 2396 では微妙に細かいことが書いてあったんだけど、RFC 3986 では意味するところが「なんでもいい」になった感じ。長いこと書いてあるけど大半が例。URI がついてるもんは全部リソース、インターネットを通じてアクセスできる必要はない、抽象的なものでもいい。

Resource
This specification does not limit the scope of what might be a resource; rather, the term "resource" is used in a general sense for whatever might be identified by a URI. Familiar examples include an electronic document, an image, a source of information with a consistent purpose (e.g., "today's weather report for Los Angeles"), a service (e.g., an HTTP-to-SMS gateway), and a collection of other resources. A resource is not necessarily accessible via the Internet; e.g., human beings, corporations, and bound books in a library can also be resources. Likewise, abstract concepts can be resources, such as the operators and operands of a mathematical equation, the types of a relationship (e.g., "parent" or "employee"), or numeric values (e.g., zero, one, and infinity).

注意:勝手にマークアップしました。

思ったよりてきとーだった。

2006年 01月 13日

CSS レンダリングモード

DOCTYPE スイッチのアレ。

このサイトでは全てのページに XML 宣言を書いている。だから、IE とかいうファッキンなブラウザだと後方互換モードでレンダリングされる。最初の CSS を書いたとき、XML 宣言によって後方互換モードになるばかばかしいバグについて知らなかったので、今のも含めて、全ての CSSIE の後方互換モードを考慮して書いてある。アンダースコアハックなんて日常茶飯事ね。

で、いつもいつも思う margin: auto によるセンタリング。これが実は標準準拠モードだとちゃんと動くらしいことを知った。これはもう XML 宣言消すしかない!とは思ったんだけど、今までの CSS は完全に使えなくなるし、だからといって昔の書き直すのは面倒くさいしっていう。前にあった標準準拠モードだとどうしよもないっぽいバグとか、どうすりゃいいかなぁ、って思って、今また、今のままでいいや、と思い始めた。なんなんだ。

そうだな、なにが言いたいかってさ、俺がいいたいことなんて、ただ一つなんだよ。IE が底知れず糞ってこと。それだけ。

2006年 01月 12日

URI デザイン

URI をデザインするのもウェブデザインのうちであると思うので、今はかなり神経使って考えていたりする。でも、将来おそらくアドレスバーが消え去ってしまう (ユーザビリティとしたら消え去ってしまうほうがいい) だろうから、一貫性があり恒久的なら、ぶっちゃけ神経を使いまくるほどでもないんだなぁとも思ったりもする。まぁアドレスバーが消え去るには高級な検索アルゴリズムと UI が不可欠だから、相当先なのかもしれないけど……

とはいえ、URI が美しくないのはやっぱ、ねぇ? ポール・グラハムが言ってるけど (流行) 偉大なソフトウェアも、同じように、美に対する熱狂的な没頭が必要だ。良いソフトウェアの中身をみてみれば、誰も見ないような箇所でさえ美しく創られていることがわかるだろう。 ってことですから。