| HOME | FrontPage | 記事編集 | RSS |
新blogやることありすぎ Perl
やることはたくさんあるのに、コードの美しさにこだわり始めたら全然進まなくなった。バッジョ状態。「状況に対して最も難しいプレーを選択する」バッジョは美しさの定義をよくわかってる。美しさに明確な基準は無い。基準は難しさにあって、美しさは難しさに付随する。
1. なるべく静的に
いま表示されてる向かって右側のリンクですが、これ今どうやってるかっつーと、新しいエントリを追加するたびに、当該年度分の全HTMLを更新しています。乱暴に思えるかもしれないけど、結局その方が速い。CGI、mod_perl、静的HTMLで、それぞれどのくらい差が出るか計った人が居ます。
| CGI-Perl | 2req/sec |
| mod_fastcgi | 21req/sec |
| mod_perl | 26req/sec |
| HTML | 196req/sec |
req/secとは1秒で処理したリクエスト数です。CGIを基準として、概算でmod_perlとかは10倍速い。HTMLは100倍速い。
圧倒的じゃないか我が軍は。
でも右側のリンクをサーバに1枚置いておき、別途Ajaxで取れば、全HTMLを更新する必要は無いわけです。コメントやトラックバックも同様です。まず第一にこれをやりたかったんだけど、べつにこんな仕組みは一瞬で出来て、クロスブラウザの検証もとっくに終わってます。いくらなんでもたったこれだけのために1から作り直そうとは思わない。
2. ログイン管理
ユーザIDとパスワードの入力欄を持つログインフォームが表示され、ログインすると
「ようこそ○○さん」
と表示されるamazonみたいなやつです。巷のログイン管理は画面遷移します。遷移ナシでも作れます。問題は工数(所要時間)。全ページの右列にログインフォームを載せ、ログイン・ログアウトの状態に応じてログインの有無に関わる表示を全て書き換えるだけです。言葉にすると簡単です。簡単な筈なのに誰もやってない。ここをちょうどいま作ってるんだけど、誰もやらない理由が少しずつわかってきた。
3. vCard管理
登録ユーザの住所とか、趣味とか、好きなアイドルとかを管理するユーザ管理のことです。もちろんうちでやる時は空欄かウソ情報でお願いします。僕は漏洩の責任を一切負いません。あくまでも業務システムに搭載する雛形の実績作りです。これがまたmicroformatsにある項目を全部載せると項目が多すぎて、テーブルを基本と詳細に分けるとかしないと、一つのテーブルやレコードが巨大になり過ぎる。全部1個のテーブルにすると確実にヤバいのはわかるけど、具体的なしきい値が分からない。そういうのも含めて実績を取りたいんだけどね。見せ方をYahoo!プロフィール式にすれば単体でひとつのサービスになるすぐれもの。
4. path_info
これはもう出来た。UIの核になる部分です。
今はこんな感じ↓ですが
/bbbs/logs/20081030223011.html
次はこう↓なります。
/bbbs/2008/10/30/22/30/11
こう↓書くと上のエントリにコメントします。
/bbbs/2008/10/30/22/30/11/comment
こんな風に↓書くとperl::mod_perlカテゴリの一覧を表示します。
/bbbs/category/perl/mod_perl
ついでに検索もこんな感じ↓です。
/bbbs/search/i/ゲレンデ/まるなげ
まぁ大したこたあない。完動パーツを30分で書いた。素人さんはこういうURIに喜ぶらしい。でも僕が検証したいのは実行速度。この例ではbbbsが実行ファイルです。超巨大です。超巨大なのでCGIなら確実に全く使い物にならないけど、mod_perlならどうなんだと。mod_perlなら全リクエストがbbbsを経由するので、bbbsはほとんど常にメモリ上に存在しています。mod_perlでコンパイルから起動までの時間がゼロに近付くなら、超巨大だろうと超小型だろうと、そんなに変わらないんじゃないかと今のところは予想しています。実際やったらめちゃくちゃ遅いかもしれない。そこは実際やってみるしかない。巨大になった分の重さから、apacheが最初の探索で実行ファイルを見つける軽さを差し引いて、何がどうなるかを見てみたい。
5. 記法
Wiki記法とか、markdown記法とか、PODとかの文書整形フォーマットのことです。手当たり次第インスコして動的に表示します。表示は動的ですが、テーブルを未整形と整形済みの二つ作ります。表示の際には整形済みテーブルからデータを引っ張ってきてそのまま表示するだけ。現行はエントリ毎にHTMLを起こしています。静的HTMLに非同期Ajaxで色をつける仕組みがどう考えても最速だけど、ファイルが増えすぎるし、あまり業務サーバ向きのソリューションとは言えない。やはり動的なシステムでsquidなどたしなみながら試行錯誤しないとチャリンチャリンに結びつかない。
6. カレンダー
カレンダーから日付をクリックするとエントリの部分だけが選択した日付のエントリに差し替わります。
これは既に実績があるので心配していないけど、でも誰も使わないんじゃないかなぁ。。
7. タグクラウド
よくあるやつです。これが大変。管理方式がどうしても汚くなる。汚いので処理も重くなる。「5つまで」とか低い上限を決められれば別だけど、そんなタグクラウドは世の中に無いし、見た目も汚いし、「はてなキーワード」の次ぐらいに無意味な機能なのでテンションも上がらない。まぁ一応作るけど、いったい誰が考えたのこれ。全然面白くないよ。こういうくだらない機能を常識化するのはやめて欲しいなぁ。。
8. 登録ユーザのオンライン状態
何かのサーバから取って来られたよね。ICQだっけ?Yahooだっけ?IMのwebインタフェースがあれば携帯端末から相手の自宅へメッセージを投げられるので、年明けには絶対間に合わないけど、そのうち調べて実装したい。Perl用のインタフェースは既にある。インターネットで見た。
9. 眠くなってきた
あとスキンとか、テーマとか、プラグインとか、まだまだあるけどクスリが効いてきた。とにかくやりたいことを書き出したら、本当に年内に終わるのかどうか怪しい空気になってきた。まぁ作るけど。PS3なんて買うんじゃなかった。既に一杯一杯ですが、他に必要な機能や、または自社に導入したい(ので予算出すよ)といった御提案がございましたら制作者までお知らせ下さい。
speed
/ 2008.10.22 00:39
BBSWiki ver.1.50 Final blogmode.
Copyleft (!C) 2005-2007 SUICIDE BLONDE JP.
All Lefts Reserved.
- 2008 Recent 50 Entries
- Windows Vista x64
2008.12.31 19:50 - 性格が良いor悪い
2008.12.30 02:45 - PC-MDVD/U2
2008.12.28 02:25 - USBメモリ5GBあたり\1,000
2008.12.25 22:10 - 植田佳奈叩かれる
2008.12.24 22:29 - 哲学熱再燃
2008.12.23 03:30 - Cha-la Head Cha-la
2008.12.21 13:47 - 紅第6巻
2008.12.17 02:19 - 民団、民主・公明支援へ
2008.12.16 03:30 - 口論における男性の勝率
2008.12.15 00:14 - 本業の話
2008.12.14 23:15 - 鉄拳王になったよー
2008.12.13 18:34 - やっぱりuse warningsを使おう
2008.12.11 23:02 - WinningEleven 2009 (PS3)
2008.12.03 20:31 - Ishkur's Guide to Electronic Music
2008.11.30 21:35 - ゲームも必要
2008.11.30 15:41 - UbuntuWWWサーバのセットアップ
2008.11.29 22:14 - らき☆すたOVA
2008.11.28 01:58 - Ubuntuデスクトップ用.vimrc
2008.11.27 22:02 - キーボードを水洗い
2008.11.25 01:33 - よりよい世界をMakeするために
2008.11.23 13:07 - だいぶ疲れも取れたようです
2008.11.20 08:56 - HDMI接続
2008.11.14 00:59 - またモニタ買った
2008.11.12 04:41 - うちの平尾がやりおった!!
2008.11.09 21:32 - ワイヤレスキーボード買った
2008.11.06 23:01 - PS3その後
2008.11.04 22:59 - PS3でかすぎ
2008.10.31 09:22 - ゲームばっかり!!111
2008.10.29 09:10 - 1$92yen
2008.10.27 23:29 - ヒアドキュメント中のハッシュ要素
2008.10.26 15:27 - 女性差別
2008.10.25 23:08 - 鉄拳5サウンドトラック
2008.10.24 04:11 - 新blogやることありすぎ
2008.10.22 00:39 - 鉄拳 DarkResurrection (PSP)
2008.10.20 00:08 - Linuxだけで足りるかも
2008.10.18 23:25 - PS3予約した
2008.10.18 00:26 - Firefox使えない
2008.10.17 23:18 - XML+XSL+Microformats
2008.10.17 00:59 - Minibuffer+AutoPagerize+LDRize
2008.10.15 22:52 - 心の余裕
2008.10.15 01:47 - IPパケットからWEPキーを抽出
2008.10.14 22:45 - Fedora Core4の壁紙
2008.10.13 19:29 - Fedoraマジおすすめ
2008.10.13 17:26 - 新サーバ構築中
2008.10.11 23:18 - 『安心ネットづくり』促進協議会
2008.10.09 22:42 - サーバ/インフラを支える技術
2008.10.09 20:57 - 田中理恵エロすぎ
2008.10.06 23:03 - 翻訳法人
2008.10.05 13:42 - ObjectDriver使えねえ。。
2008.10.02 22:39
- Archive
- 2006年
- 2006年01月
- 2006年02月
- 2006年03月
- 2006年04月
- 2006年05月
- 2006年06月
- 2006年07月
- 2006年08月
- 2006年09月
- 2006年10月
- 2006年11月
- 2006年12月
- 2007年
- 2007年01月
- 2007年02月
- 2007年03月
- 2007年04月
- 2007年05月
- 2007年06月
- 2007年07月
- 2007年08月
- 2007年09月
- 2007年10月
- 2007年11月
- 2007年12月
- 2008年
- 2008年01月
- 2008年02月
- 2008年03月
- 2008年04月
- 2008年05月
- 2008年06月
- 2008年07月
- 2008年08月
- 2008年09月
- 2008年10月
- 2008年11月
- 2008年12月