2008/09/16(火)ANAのシステムの件

〔速報〕全日空の国内空港システムで障害、復旧のメド立たず欠航便も:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080914/314775/

〔続報〕全日空の搭乗システムが暫定復旧、日付処理の問題が濃厚:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20080914/314795/

うわぁ。という件ですが、記事にある"able-D"というのはUNISYSが絡んでいるシステムっぽいですね。

全日本空輸,脱メインフレームで70億円削減へ:ITpro
http://itpro.nikkeibp.co.jp/article/JIREI/20070530/273051/

エアライン・パッケージソフトウェア「AirCore」- 2006年4月20日- 日本ユニシス
http://www.unisys.co.jp/news/NR_060420_AirCore.html

全日空システム企画株式会社
http://www.asp-kk.co.jp/businessfield/contents02_01.html

記事によると今はオープン系で構築する予定の次期システムへの移行期のようですが、トラブルを起こしたのは既存システムか新規システムか、あるいはつなぎの部分か。

ANA、システム障害の原因をほぼ特定:ITpro
http://itpro.nikkeibp.co.jp/article/NEWS/20070612/274537/?ST=solution

ちなみに2007年に起こしたトラブルもその辺みたいですね。
サービスを生かしながらの移行ってことで大変だと思いますが。

2008/08/25(月)「おまえ本当は18歳じゃないだろ」と思ってしまった

Webぐるぐるしていて見つけた。ちょっと前の記事。
New Generation Chronicle:上野康平――3次元空間を統べる若き天才プログラマー(完全版)- ITmedia エンタープライズ
7ページ目
―― 「もう時代遅れになってしまったなぁ」と思う技術があったら挙げてください

スタックポインタをVRAMに合わせてPUSH命令連発
意味わかる?*1>プログラマの人たち

これはこれでネタとして。
一応記事全部読んでみたけど、確かに天才かもなぁ...

*1 : アセンブラでのコーディングが前提。VRAM領域は連続的なデータの書き込みを行うことが多いけど、普通に書くとデータ書き込み・カウンタインクリメントの繰り返しになる。それに対してスタックポインタをVRAMのアドレス空間に移動させてPUSHすれば、データ書き込みだけを連続で発行できる(PUSHでスタックポインタが移動するので)ので高速。ただし、VRAMがメインメモリ空間と連続している必要があるし、ループ中は割り込みを禁止しないといけないので制約が多い。8bit/16bit時代のテクニックだな...

2008/08/12(火)VMWare ESXi 3.5突然配布停止?

本日突然「そういえばESXi Serverって無償化されてたよねー」という話になり、早速VMware社のページへ。

http://www.vmware.com/download/esxi/
VMware ESXi 3.5 Installable Update 2
Latest Version: 3.5 Update 2 | 7/25/2008 | Build: 103909
Temporarily Unavailable | Release Notes
あれ?なんで配布停止してるんだろ。


VMware総合スレ Part17
http://pc11.2ch.net/test/read.cgi/software/1217426756/
128 名前:名無しさん@お腹いっぱい。[] 投稿日:2008/08/12(火) 13:52:41 ID:eBQZC/800
VMware ESXiなんだが今日急にVMが起動しなくなってびびった。
http://communities.vmware.com/thread/162377?tstart=0
これって皆さんも出てるんですか?
評価版の日付チェックはずし忘れた?

(2008.08.13追記)
http://kb.vmware.com/kb/1006716
An issue has been discovered by many VMware customers and partners with ESX/ESXi 3.5 Update 2 where Virtual Machines fail to power on or VMotion successfully. This problem began to occur on August 12, 2008 for customers that had upgraded to ESX 3.5 Update 2. The problem is caused by a build timeout that was mistakenly left enabled for the release build.
らしい。
patchは出ているけど本体のdownloadはまだ再開していない。

2008/07/31(木)アクセス(HTTPリクエスト)ごとにIPアドレスの変わるISPが存在しようがしまいがIPアドレスを信用しちゃダメ

アクセスごとにIPアドレスの変化するISPは存在するのか - 狐の王国

正しくは「HTTP request毎に変化する」だね。

他社さんのことなので社名は上げないけど、個人向けのISPで実際にそういう風になっているところはありました。
(試してみて「あーっ」ってことに。本番投入前でよかった)

複数台のproxyが設置されていて、ユーザ側からのリクエストをL4的にラウンドロビンで分散させているらしい。セッションの継続とか(当然)考えていないので、アクセスごとに違うIPアドレスからくるように見えるわけです。


で、そもそもHTTPの規格に「連続した同一の人物(同一のセッション)のHTTPリクエストは常に同じIPアドレスからくる」なんて決まりはないので、「同じIPアドレスであることを期待する」ようなWebアプリ書いちゃいけません。

規格が全てではないけど、だからと言って規格にないことを「こうなってるはず!」で強行するのは失敗の元ですよ。

2008/07/13(日)PDO buffered query

個人的な作り物。
コアの部分はperlで書いて1日で出来たのだけど、設定用のWebUIが全然作れない。ちなみにWebUIはPHPで書いてる。

で、PDOで絶賛はまり中。
Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
とか言われるんですが...
こちらでも同じようなことではまってらっしゃる方おられる模様。

別に仕様としてそれでいいんですが、PDOStatmentクラスって明示的に結果を破棄するメソッドってないのね?
perlのDBIだと$sth->finish()で明示的に破棄できるんですが。

pdo-mysqlの説明にはattributeを指定するのは移植性が低いからfetchAllを使えと書いてあるのですが、それもなんだかなぁ。


ところでPDOってprepareに失敗してもexception投げないんですね。
例外でハンドリングできるだろうと高を括ってたら全然違うところでエラーになるんでやんの。


追記:
PHPからMySQLのクエリ送信のバッファリングについて - gounx2の日記
まとまってたので。