_ another blog@hatena/Wiki/BBS
マルチスレッド化は上手くいったような感じ。
_ところでserviceRepaintsの問題はserviceRepaints()に制御を奪われてしまうためwait()できないことにあるような気がする。だから、「serviceRepaintsを呼ぶため(だけ)のワーカースレッド」を立ててこいつを(notifyで)起こす一方で自分はwait()すれば解決しそうな気がする。といっても既に問題は(多分)解決されているようなので今更だが。まあそのうち暇があったら試そう。
帰ろうとするとフロアには残り一人で、仕方ない今日も施錠かと思って共用のカードキー置き場を見ると自階の鍵が既に借り出されてしまっていた。予備的に置いてある別階の鍵はある、その別階に自階の鍵の予備はある。しかし、その別階は既に施錠されていた。
結果、別階の鍵を持って出る→1Fで別階を開錠→別階で自階の鍵を借りる→1Fで自階を施錠→別階で自階の鍵を返す→1Fで別階を施錠→帰るという操作をする羽目に。
_そんなことをしていたら終電に乗り遅れた。一本後のが最寄り駅のひとつ手前まで行くのでまだ良いが、しかしどことなく悔しい。
昼過ぎに家を出てコミティア82に。どこかからバスを使うかなども検討したが結局は乗り換え回数の少なくかつ所要時間の安定する都営新宿線→都営大江戸線→ゆりかもめのルートで。30分に一本のバスは都区内移動においては検討対象になりにくかろう、とか。
ビッグサイト到着が14時ぐらいですぐNight-Marchenに行って売り子をやる。15時ぐらいに村山さんが戻ってきたので入れ替わりで買い物へ。事前チェックなんてもちろんしてないので歩き回って勘で選んで気に入ったら全部買うといういいかげんなスタイルで買い物、25分ほどで戻ってすぐ閉場。
_コミティア閉場後はデザインフェスタ vol.26に流れてぶらぶらとあれこれ見る。昔に比べて規模が大きくなって敷居が下がってるような雰囲気だった。てか常設ギャラリーなんて持つようになったのか。そういう施設を作る文化があるのはアート系のいいところのような気がする。
_その後秋葉原に移動してヨドバシの上の方で晩飯。冬のProgressiveの原稿の話を中心にあれこれと。2時間ほど話しこんだ後で解散……の前に私が突如PSP(新型)を買うぜ!とか思い立ったのでそのように。なるほど、これは確かに軽くなっている。UMD回りのメカとかバッテリーのぶんとかが大きそうだなあ。なお、明日両方会社に持っていく予定>PSP
某所での会話より:
A> PHPって元はHTML中に埋め込まれる感じなんだっけ?
B> そう
B> でもPHP用のテンプレートエンジンとかあってもうわけがわからない
A> ww
B> でもってそのテンプレートエンジンがifとかforとかサポートしててプログラミング言語並の機能を備えていて――「…あれ? それってPHPそのものじゃないの?」
俺> テンプレートエンジン使いはじめたら、もうPHPでやるべきかどうかを疑うべきだと思うわけですが
B> 全くその通りですよ
A> テラカオスw
_というか、PHPでサイトを作っていたら気付くとテンプレートエンジンっぽくなっていた、というのは至極当然の話であって、そうならないような奴はプログラマに必要な怠惰が致命的に欠けているように思うのだが。
俺> PHPも他の言語とは別の形でだけど書く人のセンスがそのまま出るよなぁ
B> 出るなあ
俺> 原始的なPHPはHTMLとC的なコードの違う概念2つが同居しているから、その使い分けとかに技量がにじみ出る。
そう、意識するしないにかかわらず、PHPでは2つの層が同居したコードによる一種のメタプログラミング的作業が要求される。そう考えれば、そりゃああっという間に混乱するのもうなずける。Perlがマルチパラダイムすぎるがために果てしなく初心者向きでないのと同様に、PHPも案外初心者向きでないのかもしれない。
他人担当の仕事が通信回りでハマって数日手が止まっていたようで、なんとなくヘルプしろということになる。
モノはS!アプリ。症状は、
_もちろんこういうときにはパケットキャプチャだ。もともと端末と本来のサーバの間にリバースプロキシを挟んでいるのでこういうときは楽。プロキシの上でパケットキャプチャしてやれば通信の内容はおおむね見える。tcpdump -X tcp and port 80
で通信内容を見てやると、端末→プロキシ→サーバ→プロキシ→端末、という順番でいかにも正しく流れていた。ということは端末がなんらかの理由で受け取ったレスポンスを破棄しているということか。
そこで着目したのはリクエストヘッダのAccept: 。ちなみにレスポンスはtext/tsvを返している。
さっき取ったdumpではAcceptにどんな文字が並んでるかわかりにくいので一度dumpという名前のファイルに取りこんでから、
cut -b 59- dump | perl -npe 'chomp(); ' | perl -ne 'print join("\n",split(/,/,$_))'
とかやって各行のASCIIダンプ部だけをつなげたものをカンマで改行させてAcceptヘッダの内容の一覧を得る。
で、その一覧には見事にtext/tsvは含まれていない。
ここでリバースプロキシをさせてるApacheでヘッダいじれないだろうか、などと一瞬思ったが、結局はサーバ担当の人に「とりあえずMIME型をtext/tsvから変えてみて」とお願いを出すという(俺が)楽な方法に落ち着く。しばらくして「変えたよー」と連絡が来たので実機でアクセス。通信成功。