ぎょーむ日誌 2003-08-12
2003 年 08 月 12 日 (火)
-
0800 起床.
朝飯.
コーヒー.
0900 自宅発.
晴.
暑い.
0910 研究室着.
-
今日はちょいハンパな日だ.
昨日の苗場山問題は返事まち.
ということで,
甲山さんのぎょーむ指示,
講座トップペイジ
の日本語版 (久保作成) と敵国語版 (露崎さん作成) の
「みてくれ」を同じようにせよ,
というのに取り組んでみる
(現時点ではまだ同じになってないよ).
-
この問題は以前から興味あったことだし.
あるペイジの複数言語版を生成するやりかたはいろいろある.
-
ファイルをコピーして手で直す
(最悪)
-
テンプレイト HTML ファイル
+
簡易データベイスによる自動生成
(例: 講座のメンバー表
これ
とこれ)
-
その他いろいろ
-
今回は複数言語混合ファイルから各国語版を分離生成する,
というアイデアで挑戦
……
じつに,
これにまるまる一日を使ってしまった.
やりたいことは,
こういうファイルを準備しておいて,
<title>日本語で<!-- en -->in En lang</title>
<html lang="ja">
<p class="hihihi">
あああ
<span class="hehehe">ははは</span>
<!-- en -->
aaa
<span class="hehehe">hehehe</span>
</p>
<p><span>ここは表示<!-- en -->in English</span></p>
</html>
ファイル中の
<!-- en -->
というのが区切りになっていて,
ここから開始タグまでを残すと,
下のような日本語版
<title>日本語で</title>
<html lang="ja">
<p class="hihihi">
あああ
<span class="hehehe">ははは</span>
</p>
<p><span>ここは表示</span></p>
</html>
区切りよりうしろを終了タグまで残すと
Enemy's language 版を生成するわけだ
(ここらへんに挙げているのはそのプログラムを使った実行例).
<title>in En lang</title>
<html lang="en">
<p class="hihihi">
aaa
<span class="hehehe">hehehe</span>
</p>
<p><span>in English</span></p>
</html>
-
なんでこんな簡単そうなコトに時間をかけてしまったのか?
この問題で難しいのは HTML が階層構造をしている,
というところ.
たとえば En 出力モードにおいて
<span> …… <!-- en -->
というのがあったら
これより後ろの「どこまで」を残せばいいのか?
次の
</span>
が出現するまでなんだけど,
途中にまた新しく
<span>……<span>
が出現したら,
それを考慮してホントの終了点
</span>
を探さないといけない.
-
いやー,
午前中はこのややこしー階層構造を明確に意識してなかったんで,
ごく単純に
「行ごとに読みこんでいって,
スタックにタグを
push したり pop してりゃあいいんだろ」
というふうにやってみた.
ところが大失敗してしまった.
これではタグは管理できてもタグにはさまれた「中身」がね
……
もちろんこの方式でもできるんだけど,
そのためにはかなりの「気合い」が必要なようで
……
-
昼すぎに北大構内走しながらアタマを整理する.
ラクに問題を片づけるなら Perl ライブラリ CPAN
から何か適当なる HTML パーザをダウンロードしてくればいいんだけど,
それではいかにも大げさすぎるような気がする.
だったら
……
よーし,
タグと中味がセットになったようなデータ構造,
TagTree
と名づけることにして,
このタグごとに
TagTree
を生成していき,
途中で別のタグがあらわれたら
TagTree
の中に別の
TagTree
をいれる,
つまり枝分かれさせればよろしかろう.
-
昼飯くってメイルなど書いてから,
TagTree
書きにとりくむ.
こういう問題はデータ構造がとくに重要だ.
階層構造をあつかうために再帰というのを多用する
……
このへんはぱいぷ樹木
と同じだ.
-
1700 から北海道地区会の会長選挙の選挙委員ぎょーむ.
露崎さんにつかまってしまって,
ですね
……
今回は返信用封筒に切手はってあるので投票率たかいそうだ.
100 票ちょい.
開封したりカウントしたり.
-
それが片づいて,
またプログラミングにとりくんで,
上のような結果を生成できるところまでできた.
よーやく.
やはりこの
TagTree
のような樹状のデータ構造は階層構造を扱うのに便利だ.
もはやばてたので,
これを利用して敵国語版を分離生成するのはまた後日,
ということで.
-
2100 研究室発.
2120 帰宅.
体重 72.2kg.
なんか太ってるな.
晩飯.
-
明日は出張で,
「とまこまい夏休み Perl・R 工作教室」
の生徒さんたちと勉強してまいります.
-
[今日の素読]
-
Salsburg, D. 2001.
``
The Lady Tasting Tea
-- How statistics revolutionized science
in the twentieth century''.
Owl Book.
-
Chapter 5. Studies in crop variation
(continuation)
- Randomized controlled experiments
- Fisher's analysis of variance
- Degrees of freedom
- Studies in crop variation III
-
I can imagine these discussions among the scientists
at Rothamsted once Fisher pointed out that setting
treatments within small blocks would allow for more
careful experimentation. I can imagine the discussions
over how to determine the fertility gradient, while
R.A. Fisher sits back and smiles, letting them get
more and more involved in complicated constructs.
He has already considered these questions and has a
simple answer. He removes the pipe from his mouth.
Those who knew describe Fisher as sitting, quietly
puffing on his pipe, while arguments raged about him,
waiting for the moment when he could insert his
answer. ``Randomize,'' he says.
-
In 1947, Fisher was invited to give a series of talks
on BBC radio network about the nature of science
and scientific investigation. Early in one talk,
he said:
A scientific carrer is peculiar in some ways. Its
raison d'être is the increase of natural
knowledge. Occasionally, therefore, an increase
of natural knowledge occurs. But this is tactless,
and feelings are hurt. For in some small degree it
is inevitable that views previously expounded are
shown to be either obsolete or false. Most people,
I think, can recognize this and take it in good
part if what they have been teaching for ten years
or so comes to need a little revision; but some
undoubtedly take it hard, as a blow to their amour
propre, or even as an invasion of the territory
they have come to think of as exclusively their own,
and they must react with the same ferocity as
we can see in the robins and chaffinches these
spring days when they resent an intrusion into
their little territories. I do not think anything
can be done about it. It is inherent in the nature
of our profession; but a young scientist may be
warned and advised that when he has a jewel to
offer for the enrichment of mankind some certainly
will wish to turn and rend him.
-
[今日の運動]
-
北大構内走 1230-1300.
ストレッチング.
-
腹筋運動 30 ×
3 回.
-
[今日の食卓]
- 朝 (0830):
米麦 0.7 合.
キャベツ・ゴーヤ・マイタケの炒めもの.
- 昼 (1320):
弁当.
研究室お茶部屋.
米麦 0.7 合.
キャベツ・ゴーヤ・マイタケの炒めもの.
- 晩 (2200):
米麦 0.7 合.
キャベツ・ゴーヤ・マイタケ・
タマネギ・ジャガイモ・豆腐のカレー.