電気ウナギ的○○

About Home

また今夜も深夜テストだよ。とほほ・・・

shinoda (2012年2月29日 15:17)
昨日の深夜にサーバ接続テストをやったんだけど、23:30から準備を始めているはずなのに、全然先方からの連絡無し。
お客さんとこに入った業者が、俺の作ったサーバに向けてデータを投げてくるテストなんだけど、深夜1時になっても 2時になっても連絡無し。
で、2:30頃、やっと「データ流してるんで、届いてるか見てもらえますか」との連絡が。

まあ、こういうテストでは、開始時間がずれてしまうのはよくあることなので、仏のような心で俺は対応したよ。

で、テスト結果なんだけど、一部のデータだけうまいことヘッダ部とデータ部を分離できなくてエラーになってる。
あらら・・・と思って、ログの検証とか、データの解析とかしてたら、「4時までにテスト環境を本番環境に戻さないといけないので・・・」と 3:30にはテスト終了。翌日(つまり今夜)、再度テストを行うことになった。

いやあ、こっちの検証時間が 1時間しかないというのはどうなの?(^^;

まあ、原因は俺のコーディングミスだったんだけど(笑)

バイナリデータを正規表現を使って分割してるんだけど、例えば、

if ($data =~ /^(.{2})(.{2})\x00(.{740}).*$/) {
$key1 = $1;
$key2 = $2;
$body = $3;
}

みたいな処理で、760バイトあるデータなのに、$body になにもセットされないという状況。
ま、一眠りしてソース見たらすぐに間違いに気づいたんだけど、この時は深夜に延々待たされて、頭がぼーっとしてたんでね、すぐにミスに気づかなかった。

Perl 書ける人、わかる?

そう、s オプションが抜けてるんだね(^^;
s オプションは「ワイルドカードのドット( . )が改行にもマッチするようにする」オプションね。
このオプション付けないと、例えば LF(\x0A)にマッチングしてくれないんだよね(^^;
だから改行コードと同じコードが混ざることが想定されるバイナリデータのマッチングじゃ、必ず s オプションは付けないといかんよね。

ああ、しょうもないミスで今夜も寝不足確定だ(^^;
つーか、昨夜(というか今朝未明か)、もう少しうちの調査時間くれれば気づいたと思うのに・・・

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/2006

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE