News&Column

Monthly Archives: 2月 2008

apache commons net 1.4.1の閏年処理バグ

Calendar org.apache.commons.net.ftp.parser.FTPTimestampParserImpl.parseTimestamp(String timestampStr) throws ParseException
には、以下の処理がある

if (this.recentDateFormat != null) { parsed = recentDateFormat.parse(timestampStr, pp); }

recentDateFormatはdefaultとして”MMM d HH:mm”の書式を持っており、コレを元にparseを行った後年号を推定するような処理となっている

ここで、SimpleDateFormat#parse(String text, ParsePosition pos)の処理を見ると、
SUN JDKは年号の指定が無い場合Calendar.clear()した時間、即ちunix epoch timeを前提に時間の推定を行うよう実装されている

しかし、1970年はうるう年ではなかった為、SimpleDateFormat#setLenient(false)を呼んだparserでは、
2007-02-29T18:00のような時間はparse不可能な物として排除されてしまう。

なら、他のJVMなら上手く動くかも?と予測するが今更テストする気にもならない。
だって、既に2月29日になってしまっているのだから

続きを読む »

IE7がWindows Updateに乗る日

日本人は好きなものをピックアップするカフェテリアより定食が好きなんだそうです。
すなわち、
・自分でカスタマイズするGoogleより、全部入りのYahoo
・自分でカスタマイズするFirefoxより、デフォルトのIE
そんな日本人の趣向を知っているYahooは、日本だけデザインをずーっと
変える事が出来なかったそうで、やっと今年に変更することが出来ました。
Yahooは変更する前に、切替期間を用意し、旧デザイン→新デザイン→旧デザイン
が出来るようにしました。日本のYahooが、世界トップのアクセス数を持つのも
こういった、日本人の趣向を理解した努力の賜物だと思います。

IE7が2月13日にWindows Updateに乗るそうです。
私の知る限り、IE7はIE6→IE7→IE6が出来ないそうです。
Windows Updateへの乗り方が強制updateならば、きっと急な定食の大きな変化に
日本人は困惑するでしょう。

このタイミングで、大和ハウスのCMの
「みんな、今時外断熱だよね」
とか、以前批判の多かったSoftbankのCMの
「えっ~、Softbankじゃないの~」
のように、最近、あまり聞かなくなったけど日本人の趣向を理解しているSleipnirあたりが
「えっ~、Sleipnirじゃないのつかっているの~」
という日本人の横並び意識をくすぐるCMを打ったら、面白いだろうなぁと思った次第です。

  • | Posted by syun |