COSUMIのサーバを交換しました(2回目)

[以前の関連記事] : COSUMIのサーバを交換します

アクセス量が限界に近づいてきたので、COSUMIのサーバを新しいのに交換しました。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

交換したサーバは、さくらのアドバンスドの一番高いのです。前に使っていたさくらのアドバンスドの一番安いのと比較して、4倍弱ほどCOSUMI的に速そうです。ここ最近、止まっている時間の長かったCOSUMI APIも、とりあえず今なら24時間いつでも動くと思います(まあ、言ってる間にまたアクセスが増えそうなんですが…(笑))。

また、このタイミングでかなりの量のコードを書き直しました。新たなバグを仕込んだ可能性も高いですが、ごく一部の環境では、今までより動作が大幅に安定したんじゃないかなと思います。それから、定石も少しアップデートしました。

COSUMIはちょうど2年前の今頃始めたサイトなんですが、当時と今とでは比較にならないほど全体的に良くなりました。棋力も今が一番だと思います。ぜひ一度遊んでみてください。

速いサイトは良いサイト

2010.04.10  |  ウェブ制作  |  Comments (0)

Googleは、検索順位決定の要素として、サイトのレスポンス速度を含めるようにしていくようです。

Official Google Webmaster Central Blog: Using site speed in web search ranking
http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html

ほとんどの人は、ウェブサイトの反応が遅いことを理由にそのサイトを見るのをやめたことがあると思いますが(個人的にはしょっちゅうです)、検索エンジンの仕事とは、そういった行動を取ることがあるユーザたちが探しているサイトを見つけることなので、今回の決定は正しいと思います(そしてうれしいです)。たぶん、内部的にもほとんどコスト掛からないでしょう。また、これはただの私の直感ですが、「サイトのレスポンス速度」と「サイトのコンテンツの質」にも比較的大きな相関性があるような気がします。これも、Googleはもう調べ終えているでしょうね…

これからは、「SEOするなら、どこどこのレンタルサーバがいいらしいよ」みたいな話が頻出するんでしょうか? それはちょっといやだな…(笑)

さくらの共用サーバがFTPSに対応

2010.02.21  |  ウェブ制作  |  Comments (0)

さくらの共用サーバ(ライト・スタンダード・プレミアム・ビジネス・ビジネスプロ)と最近始まったマネージドサーバが、FTPS(FTP over SSL)に対応するようになったみたいです。

SAKURA Internet // 2010年02月17日 レンタルサーバ系サービス FTPS機能対応のお知らせ
http://www.sakura.ne.jp/news/archives/20100217-002.news

さっそくFileZillaで試してみたところ、ちゃんとFTPSで接続することができました。設定は、サイトマネージャの[サーバの種類][FTPES - 明示的なTLS/SSL上のFTP]にするだけです(でいいんだよね?)。

これで、SFTPが使えないライトプランの価値がぐっと上がった気がします。

Flashな囲碁の棋譜ビューア Goswf

Goswfは、自分のウェブサイトで囲碁の棋譜を再生することができる、Flashでできた棋譜ビューアです。この手のソフトとしては、ほとんど完璧だと思います。

Gludion – Go game
http://www.gludion.com/go/

特徴を箇条書きしてみると

  • グラフィックがきれい
  • UIが分かりやすい
  • 表示サイズを変えられる
  • 色を変えられる
  • 棋譜の分岐に対応している
  • 日本語が通る
  • Flashでできている

と、いいことづくし。囲碁版KiFLAもすばらしいですが、こっちの方が個人的には好みです。

[追記 2009/12/5]

紹介だけでなく、このソフトの使い方も簡単に書いておきます。

上に貼り付けたのは、こんな感じのソースになっています。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="520"
        height="390">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=http://www.perfectsky.net/misc/kifu/20091129.sgf&amp;move=127" />
</object>

FlashVarsurlでSGFファイルへのパスを、moveで初期表示局面が何手目かを指定します。ブログなどに貼り付ける場合は、urlは絶対パスの方がいいでしょう。棋譜の一番最後の手を初期表示局面にする場合は、moveを手数を超える大きな数字にするのが簡単で便利です。moveは必須ではありません。省略すると、対局開始時(0手目)が初期表示局面になります。

色を変えるには、navbgを指定します。色の濃い水色の部分がnavで、色の薄い水色の部分がbgです。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="520"
        height="390">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=http://www.perfectsky.net/misc/kifu/20091129.sgf&amp;move=127&amp;nav=4a8c48&amp;bg=cae6b2" />
</object>

高さより横幅が大きいと横長レイアウト、横幅より高さが大きいと縦長レイアウトに自動的になります。横長レイアウトの場合は、横幅と高さを4:3の比率にしないと無駄な余白ができ、縦長レイアウトの場合は、高さが横幅より十分に大きくないと下が少し切れてしまいますので注意してください。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="390"
        height="520">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=http://www.perfectsky.net/misc/kifu/20091129.sgf&amp;move=127" />
</object>

以上、簡単な使い方の解説でした。

[追記 2010/4/4]

最近のバージョンでは、棋譜を直接ソースに書き込むことができるようになっています。

<object data="http://www.perfectsky.net/flash/goswf.swf"
        type="application/x-shockwave-flash"
        width="520"
        height="390">
<param name="movie"
       value="http://www.perfectsky.net/flash/goswf.swf" />
<param name="FlashVars"
       value="url=(;GM[1]FF[4]PB[安田秀策]PW[井上因碩]SZ[19]KM[0]RE[B+]
              ;B[qd];W[dc];B[pq];W[oc];B[cp];W[cf];B[ep];W[qo];B[pe];W[np];B[po];W[pp];B[op];W[qp];B[oq];W[oo]
              ;B[pn];W[qq];B[nq];W[on];B[pm];W[om];B[pl];W[mp];B[mq];W[ol];B[pk];W[lq];B[lr];W[kr];B[lp];W[kq]
              ;B[qr];W[rr];B[rs];W[mr];B[nr];W[pr];B[ps];W[qs];B[no];W[mo];B[qr];W[rm];B[rl];W[qs];B[lo];W[mn]
              ;B[qr];W[qm];B[or];W[ql];B[qj];W[rj];B[ri];W[rk];B[ln];W[mm];B[qi];W[rq];B[jn];W[ls];B[ns];W[gq]
              ;B[go];W[ck];B[kc];W[ic];B[pc];W[nj];B[ke];W[og];B[oh];W[pb];B[qb];W[ng];B[mi];W[mj];B[nd];W[ph]
              ;B[qg];W[pg];B[hq];W[hr];B[ir];W[iq];B[hp];W[jr];B[fc];W[lc];B[ld];W[mc];B[lb];W[mb];B[md];W[qf]
              ;B[pf];W[qh];B[rg];W[rh];B[sh];W[rf];B[sg];W[pj];B[pi];W[oi];B[oj];W[ni];B[qk];W[ok];B[qe];W[kb]
              ;B[jb];W[ka];B[jc];W[ob];B[ja];W[la];B[db];W[cc];B[fe];W[cn];B[gr];W[is];B[fq];W[io];B[ji];W[eb]
              ;B[fb];W[eg];B[dj];W[dk];B[ej];W[cj];B[dh];W[ij];B[hm];W[gj];B[eh];W[fl];B[fg];W[er];B[dm];W[fn]
              ;B[dn];W[gn];B[jj];W[jk];B[kk];W[ii];B[ik];W[jl];B[kl];W[il];B[jh];W[co];B[do];W[ih];B[hn];W[hl]
              ;B[bl];W[dg];B[gh];W[ch];B[ig];W[ec];B[cr];W[fd];B[gd];W[ed];B[gc];W[bk];B[cm];W[gs];B[gp];W[li]
              ;B[kg];W[in];B[lj];W[lg];B[gm];W[jf];B[jg];W[im];B[fm];W[kf];B[lf];W[mf];B[le];W[gf];B[hf];W[ff]
              ;B[gg];W[lk];B[kj];W[km];B[lm];W[ll];B[jm];W[ge];B[he];W[ef];B[ea];W[cb];B[fr];W[fs];B[dr];W[qa]
              ;B[ra];W[pa];B[rb];W[da];B[gi];W[fj];B[fi];W[fa];B[ga];W[gl];B[ek];W[em];B[ho];W[el];B[en];W[jo]
              ;B[kn];W[ci];B[lh];W[mh];B[mg];W[di];B[ei];W[lg];B[qn];W[rn];B[re];W[sl];B[mg];W[bm];B[am];W[lg]
              ;B[eq];W[es];B[mg];W[ha];B[gb];W[lg];B[ds];W[hs];B[mg];W[sj];B[si];W[lg];B[sr];W[sq];B[mg];W[hd]
              ;B[hb];W[lg];B[ro];W[so];B[mg];W[ss];B[qs];W[lg];B[sn];W[rp];B[mg];W[cl];B[bn];W[lg];B[ml];W[mk]
              ;B[mg];W[pj];B[sf];W[lg];B[nn];W[nl];B[mg];W[ib];B[ia];W[lg];B[nc];W[nb];B[mg];W[jd];B[kd];W[lg]
              ;B[ma];W[na];B[mg];W[qc];B[rc];W[lg];B[js];W[ks];B[mg];W[hc];B[id];W[lg];B[fk];W[hj];B[mg];W[hh]
              ;B[hg];W[lg];B[gk];W[hk];B[mg];W[ak];B[lg];W[al];B[bm];W[nf];B[od];W[ki];B[ms];W[kp];B[ip];W[jp]
              ;B[lr];W[oj];B[mr];W[ea];B[sr])
              &amp;move=127" />
</object>

Askの日本語検索が復活

2009.11.21  |  ウェブ制作  |  Comments (0)

今年6月に終了していたAskの日本語での検索が、再度できるようになったようです。

Ask.com
http://jp.ask.com/

日本法人は撤退したけど、アメリカの本社がこれからやっていくということらしい… 現在、http://ask.jp/にアクセスすると、上のURLへリダイレクトされます。検索結果も一応まともっぽい。シンプルなUIはいいですね。

YSTが本当に無くなるのなら(実際のところはよく分かりませんが)、実質GoogleとBingだけになってしまいますので、Askあたりにもぜひ頑張ってもらいたいところです。

COSUMIのサーバを交換します

たいへんありがたいことなんですが、ここ最近COSUMIへのアクセスが急激に増え、サーバの負荷が高い状態が続いています。ということで、来月中をめどにサーバをもっと速いのに交換したいと思います。

オンライン囲碁ゲーム COSUMI
http://www.cosumi.net/

ひどい時には、GNU GoとFuegoのプロセスが10個以上同時に走っているのですが、これは、10面打ちをしている状態ということではなく、15面打ちだか20面打ちだかしていて、COSUMIの手番になっている対局が10局あるということでして、うーん、なんともオソロシイ…

しばらくの間、時間帯によっては遅かったり弱かったりすると思いますが、まったりとお楽しみください(笑)。

[以後の関連記事] : COSUMIのサーバを交換しました(2回目)

[追記 2009/10/16]
交換しました。今度のサーバは、さくらのアドバンスドの一番安いやつです。以前のサーバと比べて8倍くらいは処理能力があるんじゃないかと思うのですが、ここ最近のアクセス数の伸びは、本当に本当に凄まじく、これもいつまで持つやら… 先月1ヶ月の間に、COSUMIが考えた総手数(COSUMIの手だけ。遊んでくれているユーザの手は含まず)は、なんと1,000,000手を超えてたんですよ! 平均すると、33,333手/日、1,389手/時間、23.1手/分、0.386手/秒。ピーク時はこんなものではないですから、GNU Goはどんだけ軽いんだって話ですよね。

でも、今月はもっと凄そうです…(泣)

でも、調子に乗ってFuegoの一手あたりのPlayout数を少し増やしました!(笑) ちょっと怪しそうだったので… それから定石もちょっぴり追加しました。

[追記 2009/11/11]
なにかいろいろと勘違いしていたようで、処理能力は8倍も上がっていません。4倍ちょっとぐらいかな? 困りましたね…

Yahoo!とMicrosoftが検索分野で提携するって!

2009.07.30  |  ウェブ制作  |  Comments (0)

らしいです。うまくいくといいですね。

MicrosoftとYahoo!が検索分野での提携を発表 – スラッシュドット・ジャパン
http://slashdot.jp/it/09/07/30/048215.shtml

Yahoo!とMicrosoftが検索事業で提携、検索プラットフォームはBingに一本化::SEM R
http://www.sem-r.com/09/20090729222027.html

ちなみにこの話が発表された後、Yahoo!の株が売られてMicrosoftの株が買われています。

米Yahoo!株が急落 Microsoftとの提携条件に投資家が失望 – ITmedia News
http://www.itmedia.co.jp/news/articles/0907/30/news020.html

売られ方と買われ方の程度にかなり差がありますが、現在Microsoftの時価総額はYahoo!の約10倍ほどあるようなので、これでもマーケットは「全体的にはややプラス」と判断したと言えそうです。

個人的には、AdSenseの競合サービス(pubCenterっていうやつかな?)をがんばって欲しい。よろしくー

[追記 2010/7/29]
しかし、Yahoo! JAPANはGoogleを選びました。

ヤフーとグーグルが提携、アルゴリズム検索技術にGoogleを採用::SEM R
http://www.sem-r.com/news-2010/20100727153000.html

「囲碁用語辞典」を作ってみました

2009.04.29  |  ウェブ制作,囲碁  |  Comments (0)

囲碁で使われる専門用語の意味を解説したウェブサイトを作ってみました。似たような内容のサイトは、もちろんすでにたくさんあるんですが、どうも、ここっていう感じのものが無かったので、ちょっとがんばってみました。

囲碁用語辞典
http://www.godictionary.net/

最初は簡単にできるだろうと考えていたんですが、思っていたよりもはるかに時間が… またおいおい追加・修正はしていきたいと思います。

それにしても、囲碁の専門用語ってへんちくりんなのが多い(笑)。

AWStatsをさらにかっこよく JAWStats

2009.02.04  |  ウェブ制作  |  Comments (0)

アクセス解析ソフト、AWStatsの解析結果をさらにかっこよく表示してくれる、JAWStatsというソフトの紹介です。

JAWStats Web Site Statistics & Analytics | An AWStats Companion
http://www.jawstats.com/

ウェブサーバが動いていないと使えないのがちょっと残念ですが、デモページを見ると、とてもかっこよくていいですね!

日本語での表示も可能なようです。

SFTPにアスキーモードはない?

2008.11.30  |  ウェブ制作  |  Comments (0)

最近知ったことなんですが、SFTP(SSH File Transfer Protocol)にはプロトコルレベルでアスキーモード(テキストモード)とバイナリモードの区別がなく、すべてのファイルは改行コードの変換が行われないで転送されるんだそうです。SFTPに対応したクライアントソフトの中には、ソフト自身でそれをしてくれるものもあるみたいですが、それはFTPのアスキーモードとはちょっと意味が違うとのこと。そこで、普段使用しているFilezilla(バージョン 3.1.5.1)はどうなっているのか確かめてみると、SFTPで接続時はファイルの種類や設定に関わらず、改行コードの変換が行われていませんでした([転送]-[転送モード]もグレーアウトしている)。うーんしかしこれは、知らないで使っているとなにかの時に嵌りそうな話ですね…

ただ、SFTPのアスキーモードについてもう少し調べてみると、こんなのとかこんなのが見つかりました。うーん、難しくてよく分かりませんが、将来的には…ってことでしょうか?

コメントスパム対策にWP-SpamFreeを使ってみる

2008.11.29  |  WordPress,ウェブ制作  |  Comments (0)

このWordPressを使った新しいブログにも、ちょこちょことコメントスパムが来だしたので、その対策に先日からWP-SpamFreeというプラグインを使い始めました。普通はみんなAkismetを使っているんだと思いますが、ユーザ登録が必要だったりするのがちょっといやだったので、簡単・お手軽なこちらのプラグインを選んでみました。

WP-SpamFree: A Powerful Anti-Spam Plugin for WordPress! | WebGeek
http://www.hybrid6.com/webgeek/plugins/wp-spamfree

一応今までのところ、100%完全にスパムコメントをブロックしていてくれています。後は誤判定さえなければいいのですが、大丈夫かな?

ちなみに、WP-SpamFreeはJavaScriptとCookieが有効になっているかを調べてスパム判定しているようなので、もしコメントできなかったら、その二つを確認してみてください。

さくら専用サーバエントリープランの使用感

COSUMIは、さくらの専用サーバエントリープランで現在運営しています。このサーバを借り始めてから半年近く経ったので、このあたりで使ってみた感想を記事にしておきたいと思います。と言っても、ごく単純なウェブサーバとして使っているだけなので、高度な内容の話はなにもありません。

専用サーバ|エントリー:月額7800円ではじめられるさくらの専用レンタルサーバ
http://server.sakura.ad.jp/dedicated/entry/

ハードウェアはCeleron 215、メモリ 1GB、HDD 80GBとかなりミニマムなスペックです(なんて言ったら贅沢か(笑))。Celeron 215ってのが調べてもあまりよく分かりませんが、一応こんな感じのCPUです。

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 14
model name	: Intel(R) Celeron(R) CPU          215  @ 1.33GHz
stepping	: 8
cpu MHz		: 1333.439
cache size	: 512 KB
fdiv_bug	: no
hlt_bug		: no
f00f_bug	: no
coma_bug	: no
fpu		: yes
fpu_exception	: yes
cpuid level	: 10
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush
 dts acpi mmx fxsr sse sse2 ss tm pbe nx constant_tsc up pni monitor tm2 xtpr
bogomips	: 2667.65

なにを見てそう勘違いしたのか、借りる前はデュアルコアのCPUだと思ってたのですが、ではないです(泣)。ただしこちらからダウンロードしてきたSuperπでベンチとってみると、そこそこ速そう。

Start of PI calculation up to 1048576 decimal digits
 End of initialization. Time=       0.651 Sec.
 I= 1 L=       0        Time=       2.072 Sec.
 I= 2 L=       0        Time=       2.379 Sec.
 I= 3 L=       1        Time=       2.381 Sec.
 I= 4 L=       2        Time=       2.378 Sec.
 I= 5 L=       5        Time=       2.383 Sec.
 I= 6 L=      10        Time=       2.377 Sec.
 I= 7 L=      21        Time=       2.381 Sec.
 I= 8 L=      43        Time=       2.377 Sec.
 I= 9 L=      87        Time=       2.380 Sec.
 I=10 L=     174        Time=       2.377 Sec.
 I=11 L=     349        Time=       2.380 Sec.
 I=12 L=     698        Time=       2.376 Sec.
 I=13 L=    1396        Time=       2.379 Sec.
 I=14 L=    2794        Time=       2.374 Sec.
 I=15 L=    5588        Time=       2.371 Sec.
 I=16 L=   11176        Time=       2.358 Sec.
 I=17 L=   22353        Time=       2.324 Sec.
 I=18 L=   44707        Time=       2.266 Sec.
 I=19 L=   89415        Time=       2.104 Sec.
 End of main loop
 End of calculation.    Time=      46.937 Sec.
 End of data output.    Time=       0.195 Sec.
 Total calculation(I/O) time=      47.132(       1.321) Sec.

COSUMIはCPUがボトルネックなので、このあたりの数字が結構気になるのですが、とりあえずOKかな? ただ、今現在さくらのサイトでは、CPUはIntel CeleronまたはIntel Atomってなっていますので注意してください。Atomにもいろいろ種類があると思うのですが、どうなんでしょうか?

OSはCentOS 5のみです。上位のプランだともっとたくさんの種類の中から選べるのですが、個人的には他の選択肢があったとしてもCentOS 5を選ぶと思うので、別に構いません。

OSは選択できませんが、パッケージ構成は、「標準構成」と「最小構成」の二つから選べます。うちは最小構成なんですが、今さくらのサイト見てみると、最初はウェブサーバも入ってなかったんですね。自分で入れた記憶がちょっと無いんですが…(笑) 参考までに今現在こんな感じ。

$ rpm -qa | wc -l
478

自分で入れたパッケージはそんなにたくさんはないはずです。

それから、標準サービスとしてトラフィックレポートを見ることができるのがGood! サーバでの設定等は一切必要ありません。

専用サーバ|トラフィックレポート – さくらインターネット
http://server.sakura.ad.jp/dedicated/service/traffic.html

全体的な感想としてはかなり満足です。とりあえず今までのところ安定して動いてますし、サーバのレスポンスも悪くないと思うので。価格もまあ妥当ではないでしょうか? 初期費用が0っていうのは、気軽に始められるのですごくいいです! だめならだめでどこかに乗り換えればいいだけですしね。月額10,000円以下の専用サーバを探している時は、候補に入れてみてはいかがでしょうか?

[追記]
他の方が書かれたこちらの記事も参考にしてみてください。

さくらの専用サーバーエントリープランが良かった6つの理由(+嫌な点3つ)
http://p0t.jp/archives/2008/10/post-35.html

クオリティの高い背景画像がダウンロードできる ava7 patterns

さまざまなテイストのハイクオリティな背景画像がダウンロードできるサイトです。現時点で500種類以上公開されてます。

ava7 patterns | free seamless background patterns
http://patterns.ava7.com/

使用条件は、「ウェブサイトで使う時はリンクしてくれるとうれしいけど、絶対必要ってわけではないよ。でも、売ったり配布したりするのはダメ!」みたいな感じ。さっそく、COSUMIで使わせてもらうことにしましたが、すごくいいです!(色合いは少し変えちゃってますが… 改変はOKだよね?) ずいぶん品が良くなりました。

とっても囲碁なWeb APIを作ってみました

囲碁の棋譜を送るとその次の一手を考えて返すという、とっても囲碁なWeb APIを作ってみました。今現在のところ、9路盤と11路盤のみにしか対応してませんので使い道はかなり限られると思いますが、このWeb APIを利用した楽しい「なにか」を、だれかが作ってくれたらうれしいです。

囲碁Web API 「COSUMI API」
http://www.cosumi.net/api.html

このWeb APIは、あくまでサーバのリソースが余っていたら仕事するって感じなので、サーバが過負荷な状態の時は手を考えないでエラーレスポンスを返すようになっていますが、今現在ならほぼ24時間いつでも正常にレスポンスを返せると思います。こういうWeb APIは継続してサービスを提供し続けることがすごく大切だと思うので、約束は一切できませんが、できるだけ長い期間使えるようにがんばります!

「仕様がおかしい!」とか、「仕様どおりに動いてない!」とかがあればぜひ教えてください。それもできるだけがんばって直してみたいと思います。

[追記]
13路盤にも対応しました。

AWStatsとクエリストリング

2008.06.18  |  ウェブ制作  |  Comments (0)

WordPressを使い始めて気づいたのですが、デフォルト設定のAWStatsは、URLに付加されたクエリストリングを無視してアクセスを集計するようになっています。例えば、

http://www.example.com/?p=foo

というアクセスは、

http://www.example.com/

へのアクセスとしてカウントされます。当然の振る舞いのようにも思いますが、クエリストリングが付いている時に全く別の内容が表示される場合は、できれば別々にカウントして欲しいですね。そういう時は、コンフィグファイルのURLWithQueryという項目を設定するといいようです。デフォルトは0になっているのでこれを1にします。

URLWithQuery=1

ただし、特定のパラメータに関してはデフォルトどおり無視してほしい場合もあります。その時は、URLWithQueryWithOnlyFollowingParameters、もしくはURLWithQueryWithoutFollowingParametersという項目のどちらか1つもいっしょに設定します。例えば、

http://www.example.com/?p1=foo&p2=foo

http://www.example.com/?p1=foo&p2=bar

http://www.example.com/?p1=bar&p2=foo

http://www.example.com/?p1=bar&p2=bar

こんな4つのURLへのアクセスがそれぞれ1回ずつあった場合、

URLWithQueryWithOnlyFollowingParameters="p1"

と設定すると、

http://www.example.com/?p1=foo

http://www.example.com/?p1=bar

という2つのURLへのそれぞれ2回ずつのアクセスとカウントされます。

URLWithQueryWithoutFollowingParameters="p1"

と設定すると、

http://www.example.com/?p2=foo

http://www.example.com/?p2=bar

という2つのURLへのそれぞれ2回ずつのアクセスとカウントされます。

両方の項目ともスペースで区切ることによって、複数のパラメータ名を設定できます。例えばこんな感じです。

URLWithQueryWithOnlyFollowingParameters="p1 p2"

ちなみに、このURLWithQueryWithOnlyFollowingParametersURLWithQueryWithoutFollowingParameters
を同時に設定すると、エラーが出て動きません。「どちらかが優先される」とかではないようです。

CGI.pmは重い

2008.06.08  |  Perl,ウェブ制作  |  Comments (0)

今更な話なのですが、いつもお世話になっているCGI.pmには、ものすごくたくさんの機能があることを最近初めて知りました。いつも、単に「フォームから渡されたパラメータを取得すること」にしか使っていなかったんですが、そのためだけのモジュールではないんですね…(ホント今更な話ですみません(笑))

それとは別に、最近初めて知ったものに、mod_perlやSpeedyCGIというのがあります。通常、Perlで書かれたCGIは、呼び出される度にコンパイルされて、そして実行されるんですが、mod_perlやSpeedyCGIは、一度コンパイルしたプログラムをそのまま残しておいて、次回以降のコンパイルプロセスを省くことにより、CGIの動作を高速化することができます。場合によっては数十倍も速くなるらしく、それはそれでかなりすごいのですが、そもそも実際のプログラムの実行ではなく、コンパイル時のコストがこんなに大きいってのが驚きです。

話し戻ってCGI.pmです。先ほども書いたように、大したことに使ってないのに、この巨大なモジュールを毎回コンパイルしているのは、かなり無駄が大きそうです。そこで試しに、このCGIをCGI.pmを使わないように書き直して、ab(Apache Bench)でベンチをとってみたら、なんと約4倍も速くなりました。おそらくこれはかなりレアなケースだと思いますが、大変な違いですね。「車輪の再発明」は良くないかもしれませんが、車輪一つが必要な時に10tトラック持って来るのも品がありません(この例えも品がないけど(笑))。

CGI.pmの軽量版モジュールにCGI::Minimalっていうのもあります。

CGI::Minimal – A lightweight CGI form processing package – search.cpan.org
http://search.cpan.org/dist/CGI-Minimal/lib/CGI/Minimal.pod

ベンチが載っているので引用します。

CGI.pm (3.05) via standard CGI - 16 fetches per second CGI::Simple (0.075) via standard CGI - 20 fetches per second CGI::Deurl (1.08) via standard CGI - 36 fetches per second CGI::Thin (0.52) via standard CGI - 38 fetches per second CGI::Lite (2.02) via standard CGI - 52 fetches per second CGI::Minimal (1.16, :preload) via standard CGI - 52 fetches per second CGI::Minimal (1.16) via standard CGI - 66 fetches per second cgi-lib.pl (2.18) via standard CGI - 71 fetches per second null Perl script via standard CGI - 103 fetches per second null C program via standard CGI - 174 fetches per second CGI::Simple (0.075) via mod_perl - 381 fetches per second CGI.pm (3.05) via mod_perl - 386 fetches per second CGI::Minimal (1.16) via mod_perl - 417 fetches per second null Perl script via mod_perl - 500 fetches per second

なかなか良さそうですが、このサイトが使っているさくらのサーバには入っていませんでした。ちょっと残念…

supermarketerを少し改良してみた

2008.03.18  |  ウェブ制作  |  Comments (0)

この前作ったsupermarketerを、陸続きに隣り合う県も考慮するように改良してみました。たぶん、少し精度が上がって自然な答えを出すようになったと思います。

http://www.perfectsky.net/cgi/supermarketer.cgi
http://www.perfectsky.net/cgi/ms.cgi (携帯用ページ)

ちなみにこのsupermarketer、私の場合は90%オーバーでどんぴしゃに当たります。うーんなかなかいい感じ!

かなりくだらないですが、よかったら一度遊んでみてください。

WordPressに引っ越して来ました その2

2008.03.08  |  WordPress,ウェブ制作  |  Comments (0)

[以前の関連記事] : WordPressに引っ越して来ました

せっかくですので、もう少しだけWordPressの話を書いておきます。

このブログは「英語版WordPress」+「さくら スタンダード」なんですが、インストール自体は前にも書いたとおり、かなり簡単でした。ひとつだけはまったのは、以前から.htaccessファイルに

DirectoryIndex index.html .ht

と書いていたので、WordPressにログインした後、403が出てページが表示されなかったことぐらいです。これはこのサイト特有の問題で、ほとんどの人は関係ないでしょう。次のように直しました。

DirectoryIndex index.html index.php .ht

ちなみに、さくらスタンダードでは、phpファイルのパーミッションは604でいいみたいです。オンラインマニュアルには755または705って書いてあるんですが、604でうちでは問題なく動いてます。

それから、これも前に書いたように、テーマは「WordPress Classic」をカスタマイズして使っているんですが、削れるところは削ってかなりシンプルに、そしてまず問題はないだろうという箇所はもうハードコーディング(!)しちゃってます。WordPressはMovable Typeと違って動的にページを作成するので、テーマが軽くないとページの表示が遅くなってイヤなんです。どうも私はこういうのって気になるんですよね… テーマの軽量化のおかげかどうかは分かりませんが、とりあえず今のところはそこそこ素早く表示されてます。WordPressで作成した自分のブログの表示が遅くて困ってるって人は、ぜひ一度使用中のテーマを構成しているファイルを調べてみてください。自分にとってはどうでもいいようなことに、汎用性が持たせてあったりします。まあ、さまざまな人に使われることを想定して作ってあるので、当然なんですが…

あと、ブログ内検索がどうやらおかしいです。WordPressとさくらを使っている同じような症状の人もいるみたい… MySQLの文字コードの関係でしょうか? あまりよく分からない/調べる気もないですが、とりあえず検索フォームははずしました。

現在このブログは、コメント可・トラックバック不可になっています(よね?(笑))。たぶんこれからもずっとこの設定で続けていくと思いますので、どうしてもこのブログの記事にトラックバックしたい人は、手動でコメント欄にリンクを張ってください(笑)。でも、本当にもうそれでいいと思う。

WordPressに引っ越して来ました

2008.03.06  |  WordPress,ウェブ制作  |  Comments (0)

ようやく重い腰を上げて、WordPressに引っ越して来ました。一度やり始めてしまえば、結構すぐに終わったんですが、その気になるまでがなかなか… しかしWordPressいいです。インストールは簡単だし、使い勝手も良くてかなり気に入りました。テーマは、最初から入っていた「WordPress Classic」という、以前のWordPressのデフォルトを元にして作ったんですが、PHPなんて何も知らない私でも、意外と分かるもんです。この程度のカスタマイズならそれほど難しくはないですね。あと、Firebugはすごい!(笑) 本当にすごい!

[以後の関連記事] : WordPressに引っ越して来ました その2