まーちぇんまーちぇん、ってのうみそのなかのぼくがいうんです。

  1. トップ
  2. thinking
  3. MÄRCHEN

昔 (といっても2-3年前) は PHP が好きだったんだよなぁ。なんでだろう。HTML に埋め込み、ウェブに特化してるってのがよかったんだろうか。

そういえば、そのころはデータベース使うのも特に抵抗がなかった。

とりあえず、少なくとも Ruby を知らなかったっていうのはある気がする。Perl は暗号で読めないし、PHP には一応日本語のリファレンスがちゃんとあったから、とっつきやすかったのかもしれない。

なんていったらいいかよくわからないんだけど、感覚としては Ruby は優しくかつ筋が通ってる感じ、Perl は玄人、PHP は楽ちんダサみたいな。いやでも比べるのが間違ってるんだろうなぁ。PHP ってなんかそこらへんの個人がやっつけで作ったマクロ言語っぽい臭いがするし。

とはいえ実用的っていえば実用的なのが PHP のキモさというかなんというか。ほげーっとしつつてきとーに書いても 500 が出にくいところがいいのかもしれない。

関係ないけど Ruby で CGI 書くときは一枚ラッパ書けるようにした。500 でるとこんなかんじになるように。#!/usr/local/bin/ruby /virtual/lowreal/bin/rubycgi.rb みたいな。ローカルは Windows だから関連付けで Apache どーん

なんか日本語書けない。もともと書けないけどさ。

  1. トップ
  2. php
  3. 昔はPHPが
  1. トップ
  2. web
  3. 昔はPHPが
  1. トップ
  2. prog
  3. 昔はPHPが

次の式を評価せよとかいう問題で (-5 != -5) * 1.5 + 6 とかいうのがでた。実数の場合小数点以下二位まで書けとかいう問題。解答欄には 6 と書いたけど、今実行してみたら 6.00 だった。しらねぇよと。。0 なんて実数でも整数でもいいだから型変換しなくていいじゃん。とかいうと整数ならなんでもそうだろという話になるけど。

C 言語で評価せよなんて書いてなかったから素直に undefined method `*' for false:FalseClass と書けばよかった。解答欄が小さいのがいぢめだ。

  1. トップ
  2. prog
  3. プログラミングのテスト
  1. トップ
  2. school
  3. プログラミングのテスト

mixi はいつまで β なの?

mabinogi のサイトがまた Gecko でログインできない。前のときの教訓がまったく生かせてない。一回修正されたのに、リニューアルとともにバカなことを復活させるバカデザイナ。Opera の場合、見れることは見れるけど表示が崩れる。さらにはログインするとスクリプトエラーで見れなくなる。こんなウェブサイトでもいいんだなぁ。

  1. トップ
  2. net
  3. mixi, mabinogi
  1. トップ
  2. web
  3. mixi, mabinogi
  1. トップ
  2. mabinogi
  3. mixi, mabinogi

全部 XML から XSLT プロセッサを通して XHTML やらなにやらを生成してる。日記部分は動的に、/about とかは静的に、それぞれ別のスクリプトが変換を担当している。日記は taglibro と呼ばれるスクリプト。静的リソースは名前のない build.rb というスクリプトが変換してる。build.rb は Makefile の類でもよさそうだけど、Ruby で書いておいたほうがなんでもできるのでいいや、みたいな。

common.xsl
サイト共通のテンプレートが書いてある。例えば head 要素内やつ。CSS とか、スクリプトを加えたいときはコレだけ編集してサイト全体を再変換させている。XHTML 用。
2html.xsl
静的リソースを変換するためのファイル。ソース XML はちょっとキモイんだけど、実用上問題ないのでいいや、みたいなヤッツケ的スタイルシート。だいぶ前に書いた。
logs/common.xsl
taglibro (日記) 用の共通部分。各種変数 (Content-type 非依存) なものがまとめて書いてある。flavor.(\w+).xsl から include されてる。
logs/flavor.xhtml.xsl
taglibro の XHTML 用テンプレート。

本当なら、taglibro は Accept ヘッダを解析してそれにあったやつを返すべきなんだけどめんどっちくて実装してない。これを実装すると IE に application/xhtml+xml を送らないようにする処理がなくせていいんだけど……(text/html を受け付けるなら flavor.html.xsl を読み込むようにする、flavor.html.xsl は flavor.xhtml.xsl なり、共通部分を分離した他の .xsl を include してやる、みたいな。)

  1. トップ
  2. web
  3. このサイトの構築構造
  1. トップ
  2. xslt
  3. このサイトの構築構造
  1. トップ
  2. taglibro
  3. このサイトの構築構造