If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
このフレーズは前にもどこかで読んだ気がするけれど、実感すること多し。
あ、定額給付金もそうだな。
If the implementation is hard to explain, it’s a bad idea.
If the implementation is easy to explain, it may be a good idea.
このフレーズは前にもどこかで読んだ気がするけれど、実感すること多し。
あ、定額給付金もそうだな。
2009年5月25日追記
サイボウズOffice8ではUTF-8のメールが読めるようになっていました。
コメントで教えていただき、確認したところたしかに読めるようになっていました。ありがとうございました。
このエントリ後にバージョンアップしたときに、リリースノートは読んだはずなんですが、そんなこと書いてあったかなあ。
メールのソースを見るとヘッダはUTF-8のままで文字コード変換して表示しているようですね。ちょっと気持ち悪いですが、まあ読めないよりはずっといいです。
職場ではサイボウズを使っている。最近はUTF-8のメールがちょこちょこ届く。サイボウズはUTF-8のメールを受信すると文字化けするんですよ。
http://cbdb.cybozu.co.jp/cgi-bin/db.cgi?page=DBRecord&did=843&vid=116&rid=10
頻繁ではないけれど、読めないと困るものが結構ある。ブラウザでソースを見るのも疲れてきた。ずーっとサイボウズの対応を待っていたのだけれど、ぜんぜんそんな気配もない。暮れも押し迫って大きな作業もできないこのタイミングで、なんとかすることにした。
まあDeleGateを動かすだけなんだけれど。
Apacheでできているリバースプロキシをlighttpdに移行する設定を書いていて困った。
Apacheと同じように設定してみると、書き換え後のURLでバックエンドにリクエストしていないように見える。
調べてみると、lighttpdのmod_rewriteは$HTTP[“url”]の内側では無効になるということらしい。
http://trac.lighttpd.net/trac/wiki/Docs%3AModRewrite
NOTE: url rewriting does not work within a $HTTP[“url”] conditional. http://forum.lighttpd.net/topic/1092#3028
でもURLでしか区別のつかないリクエストをどうしてもバックエンドで受けたい。いまさらユーザに見えるURLを変えることができないし。
バックエンド側ではPythonのSimpleXMLRPCServerで作ったもの。ソースを見てもどこにもURLをいじるところはない。そういえば、URLは意識したこと無いなあ。
で、探して探して見つけた。
[ python-Bugs-1473048 ] SimpleXMLRPCServer responds to any path
SimpleXMLRPCRequestHandlerのソースを見ると、
class SimpleXMLRPCRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): """Simple XML-RPC request handler class. Handles all HTTP POST requests and attempts to decode them as XML-RPC requests. """ # Class attribute listing the accessible path components; # paths not on this list will result in a 404 error. rpc_paths = ('/', '/RPC2') def is_rpc_path_valid(self): if self.rpc_paths: return self.path in self.rpc_paths else: # If .rpc_paths is empty, just assume all paths are legal return True def do_POST(self): """Handles the HTTP POST request. Attempts to interpret all HTTP POST requests as XML-RPC calls, which are forwarded to the server's _dispatch method for handling. """ # Check that the path is legal if not self.is_rpc_path_valid(): self.report_404() return
なるほど。最初からソース見ればよかった。
SimpleXMLRPCRequestHandlerを継承したクラスで、is_rpc_path_validを継承して解決。
なんだか、達成感。
Using Python and Stompserver to Get Started With Message Queues
実践的なチュートリアル。
stomp.pyを使う。
MQ,Python,STOMP
Don’t use Pound for load balancing
によると。Poundはout datedだからNginxがいいよとのこと。設定もわかりやすいし、おかしなCPU spikesもないぜ、と。
Poundは2.xになってなんだかどうも今ひとつだなあとは思っていたし、試してみようか。
Nginxのサイトを見ると、ロシアンテイストってあるなあ。
一年前には怖いとかなんとかいっていたくせに、メインのメールアドレスとして使っているco.jpドメインをGoogle Appsに移行した。
手続き自体は簡単なんだけれども、既存のGmailアカウントがそのまま移行できるわけではないことに気づくのに時間がかかる。
カレンダーとかRSS ReaderとかBookmarkはまあなんとかなるけど、メールが困る。1GBほどあるからIMAPクライアント(Thunderbird)でコピーしてるけれどもいつまでかかるやら。これはちょっと昔のメールをそのまま移すのは難しいかな。レンタルサーバ(占有タイプ)を2つ返す目処がたったのはうれしいな。¥50万/年ほど浮くことになる。これはうれしい。少々の不便はなんでもないぜ。
実はGmailをメインのメール環境にしたかったってことでもあって、そうなるとFirefox2(現行バージョン)のもたつきが気になる。
家で使っているのは、iBook G4。もう結構経ってるけれど、これで十分間に合うことの方が多い。
それじゃあ最新のブラウザを試してみるか、Firefox3(beta5)はかなり速くなってるらしいし、Safariもかなり速いらしい。調べてみると・・・。Firefox3を試そうと思うと僕のiBookG4に入っているMacOS X 10.3はサポートされないらしい。Safariも最新版はだめみたい。
なんだか最近もうOSが古くてダメっていわれることが多いので、ずいぶん久しぶりにMacOSのバージョンアップを買ってみた。10.5.1 Leopard。手元OS(サーバ以外のOS)のアップグレードなんてのはもう何年ぶりだろうか。System7とか漢字Talk7の頃を思い出す。
最近はMacでもPCでも買ったらそのままかったときのOSで壊れるまで使うか、どうにも使えなくなったらネットワークサービス用のサーバでしばらく使うとかそんな感じだから、ずいぶん久しぶりの作業。
ディスクに空きがなくて、インストール時にディスクをフォーマットして再インストール。OSの再インストールなんてめったにしないけれど、こういうときに、メールだとか文書ファイルだとかをネットワーク上に置いておくとラクチン。1.5時間ほどかかってインストール完了。起動後はまた10.5.1から10.5.2へのアップデートが始まって1時間弱。いやはや。
Leopardの新機能とかはまあおいといて、心配したけれど特に遅くなった感もなし。768MBメモリと1.2GHzPowerPC G4。Firefox3(beta5)は快適。Gmailサクサク動く。でもファイルのダウンロード中に固まること数度。他にも、使いたいアドオンが使えないなどいろいろ。Firefox3がリリース版になるまでは、このiBookだけはSafari3.1でいくことにするかも。日常的に4カ所から違うマシンで使うから、こういう基礎的な環境はそろえたいんだけれど。
まあしばらく試行錯誤。
こんなことにかまけてた週末。