地球が一周したくらいで騒ぐのもなんですが、明けましておめでとうございます。
お米を切らしてしまいました。お店はまだやってないので、買うことも出来ません。年末にストックしておくべきでした。
年始ってことで、カレンダーでも(何故)
六曜の算出には旧暦が必要なわけですが、旧暦計算にはとても時間がかかります。一年間(365日)分の旧暦算出に、jperl(Win) + Athlon XP 1600+ で約11秒。300年(約11万日)分算出するのに50分以上かかりました。まあ、予め算出しておけば次回以降はそれを使うだけですから、計算を省ける分高速化に繋がるでしょう。
せっかく計算したんだからPostgreSQLに突っ込んでおくのもいいかも。
今のところ、出力形式をHTMLにしているのですが、例によってタグの山が生成されるおかげでファイルサイズがバカでかくなっています。1ファイルが100KB以上になる上に、テーブル要素が12個(1年分)ですから、レンダリングにもそれなりに時間がかかります。かといって月ごとの出力だと、今度はファイル数が増える(単純計算で12倍)わけで、それはそれで困ります。
いっそのこと、年別と月別、両方作ってしまおうかと。
無洗米が欲しいんですが、無洗米だけ売り切れのようです。ついてないなぁ。
処理高速化と各種モジュール追加。って年明け早々何やってますか。
200年分以上(1873年から2100年)のカレンダーが出来たんですが、一つ一つがかなりでかいので、表示に時間がかかります。とりあえず、今年の分だけ。旧暦、六曜、日の六十干支は、精度未確認です。間違ってるかもしれませんので悪しからずご了承ください。
重量版を全部公開すると、ロボットが全部さらっていってトラフィックが大変なことになりそうなので、公開しません。ZIP圧縮しても3MBもあるし。
春分日、秋分日の算出方法が間違っていたので修正しました。簡易計算ではダメということで計算方法を変更。太陽黄経から二十四節気を割り出し、そこから春分、秋分を取り出すことにしました。
太陽黄経の計算にはそれなりに時間がかかるため、二十四節気の算出結果もテーブル化しておきました。
日の干支と二十四節気を見なければならないようです。面倒ですね。こいつもテーブル化してしまいましょうかね。
<noframes>このページをご覧いただくにはフレーム対応のブラウザが必要です。</noframes>
んなこと言われてもねぇ。lynxだし…
<noframes>フレーム・サポートブラウザで見て下さい。</noframes>
イヤです。
<noscript>JavaScriptに対応していません。</noscript>
余計なお世話です。
PostgreSQL 7.4 のユリウス日って、おかしくないですか?グレゴリオ暦で言うところの「正午」に切り替わるはずなんですが。
foo-> select to_char(timestamp'J2453011', 'YYYY-MM-DD HH24:MI:SS'); to_char --------------------- 2004-01-06 00:00:00 (1 row)
foo-> select to_char(timestamp'J2453011.5', 'YYYY-MM-DD HH24:MI:SS'); to_char --------------------- 2004-01-06 12:00:00 (1 row)
メモ。
DateTime::Util::Astro::Sunをインストールするために、足りない非標準モジュールをインストールしていました。20個以上インストールしたような気がしますが、よく覚えてません。途中で嫌になって数えるのをやめました。GMP(非perl)なんかもインストールしましたよ?
いつものように飛んでくるPatra *1 からの熱烈なラブレター *2 が、今日は珍しく飛んできません。不思議に思ってログを見たところ、ログサイズが全て0。…ありえない。最低でも「スキャン不要」くらいのメッセージは残すはずなのに…プログラムが落ちていればcronがメールを飛ばすはずなのに…
いろいろ調べていくうちに、昨日の作業が影響していることが判明。昨日インストールしたうちのモジュールの名前が、自分の作ったモジュールの名前とダブっていたのが原因のようです。いつかバッティングするだろうとは思いながらも放置していたモジュールなんですが、とうとうぶつかってしまいました。さすがにDateTimeはまずかったか… よく今まで大丈夫だったなぁ、と妙に感心したのでした。<感心してないで直せ
DTDを読み間違いしていることが発覚しました。+(ELEMENT)
の解釈が間違っています。何を今更気付いてやがる、って感じです。これは
ELEMENT
が直接含まれるのではなく、子孫代々に渡って含まれるという意味です。
さっそくソース修正…したいところですが、大変だこりゃ。一年半前の自分が書いたソースを見てて、書いたやつを呪い殺してやりたくなりました。
tcpdumpで遊んでました。面白いですね、これ。(遊ぶものじゃねー)
www.i-o.jp:80にHEAD http://www.i-o.jp/notFoundError.htm HTTP/1.0
を投げたら
HTTP/1.1 302 Found ... Location: http://www.i-o.jp/notFoundError.htm ...
が返ってきました。勘弁してください。
HEADを投げると無条件で404 Not Foundを返すってのはどうかと思います。Netscape Enterprise Server ...
RAGNAROK BATTLE ADVENTURE、ソロプレイでクリアできました。なるほど、VIT剣士にすればいいのですね。最終的にVIT81、HP4788で、驚異的な自然回復力にものを言わせての力押しでした。
メモ。
GET / HTTP/1.0
HTTP/1.1 403 Forbidden Date: ... ... Content-Type: text/html <META http-equiv="refresh" content="0;URL=http://www.itmedia.co.jp/">
…もうね、ア(略)
shell# groupadd mysql shell# useradd -g mysql -s /bin/false mysql shell> tar -zxvf mysql-4.0.17.tar.gz shell> cd mysql-4.0.17 shell> ./configure --prefix=/usr/local/mysql --with-charset=ujis shell> make shell# make install shell# ./scripts/mysql_install_db shell# chown -R root /usr/local/mysql shell# chown -R mysql /usr/local/mysql/var shell# chgrp -R mysql /usr/local/mysql shell# cp support-files/my-medium.cnf /etc/my.cnf
shell# /usr/local/mysql/bin/mysqld_safe --user=mysql & shell# /usr/local/mysql/bin/mysqladmin create mydb
shell# /usr/local/mysql/bin/mysql mydb
ユーザ設定はハマりやすいですねー。繋がらないとか、繋がらないとか、繋がらないとか、…ホストを指定するのがポイントですかね。
grant usage on *.* to xxxx@localhost identified by 'zzzzzzzz'; grant all on mydb.* to xxxx@localhost; flush privileges; quit
shell> /usr/local/mysql/bin/mysql -u xxxx -p mydb
shell# /usr/local/mysql/bin/mysqladmin shutdown
インストールに関しては、本家とか日本MySQLユーザ会のサイトを見るよりも、tarball内のINSTALL_SOURCE(2153行目付近)を読んだほうがマシです。公式サイトのドキュメントはあまり役に立たないというか、読む気になれないですね。体系化されてない感じがします。
インストールしてはあるものの、まるで使い道がなくて放置状態です。現状、PostgreSQLで間に合ってますから。RFCでもぶち込んでみましょうかね(何故)
投稿直後のリロード(二重投稿)対策って、どうやってるんでしょう。直前の投稿と、件名、投稿者名、内容、IPアドレスなんかを比較して判断するのでしょうか。単純に最終書き込み時刻だけを見るのは、実装は楽でいいのですが、ユーザ側の使い勝手は悪くなりそうです。IPアドレスくらいは見たほうがいいかもしれません。
メモ。Another HTML lintのディレクトリ構成や自身のHTMLはかなりアレなんで、なんとかしたいなぁ、と。
/public_html /cgi-bin htmllint.cgi htmllint.env htmllintrc /htmllint *.css *.html /grammar *.html /image *.gif /private_dir /htmllint /rule *.dtd *.ent *.rul parsedtd.pl /lib httpreq.pl htmllint.pm RFC2396.pm /logs /tmp
うまくいくかなぁ。
Perlの正規表現一致パターン参照変数($1 ,$2 , ...)って、1〜9までだと思ってたんですが、10以降もあるんですね。初めて知りました。
$n = 100; # 1000でも10000でも。 $re = '(.)' x $n; ($a, $p) = ('', ''); for (1..$n) { $a .= $_ % 10; $p .= "\$$_;"; } $a =~ m/$re/; eval 'print "' . $p . '"';
いくらでも参照できそうですね。
cygwin環境にPostgreSQL 7.4.1をインストールしました。PostgreSQL自体はいいのですが、PerlモジュールのDBD::Pgが動作しません。make test
でエラーが出てしまいます。エラーを無視して強引にインストールしてみましたが、DBI->available_drivers;
でDBD::Pgだけ取得できませんでした。ま、当然か。
おとなしくLinux上でやるか…
アキバでお買い物。
帰りにデニーズでコーヒーを啜りながらまったりと本を読んでいたら、20時を過ぎてしまいました。シャーロック・ホームズはなかなか面白いですよ。
うちのIME2000、使えば使うほどバカになっていく。何を「学習」してるんだか。
去年買おうと思ったゲーム、THE地球防衛軍以外ことごとくハズレでした。実際に買ってプレイしたのはマクロスだけですが、ホイホイさんもWA alter code:Fも評判はよろしくないようで、買わなくて良かったと思いました。ハズレ年でしたねー。
今年はいいゲームに逢いたいなー、と。
中古品を漁る事になりそうですが。
あー、風ザナは未プレイ。
それからROもMUもFFもリネもリアルワールドに帰って来られなくなりそうなのでやりません。
cygwin環境でApache1.3を稼動させてみたのですが、今ひとつ安定しません。GETの返答が遅かったり、POSTなんかは返ってすらこなかったり。なんでだろー。
つーわけで、cygwinはやめてApache 2.0.48(Win32)だけにしました。まあ、2つも必要ないですから。だったらインストールするなって。
Xercesって、結構細かいチェックもしてくれるものですね。ちゃんとDTD読んでるし。侮れません。
次から次へと、よくもまあ。OSと並んで、話題の尽きないブラウザですねー。
HTML,XMLパーサ、レンダラ共々作り直したほうがいいんじゃないかと。マジで。
数学的帰納法の説明が…(笑)