
Windows Azureでうるう年に関連するバグ、管理不能に陥る 37
ストーリー by hylom
MSもか…… 部門より
MSもか…… 部門より
あるAnonymous Coward 曰く、
Windows Azure公式Blogによると、うるう年に関わるバグにより全てのデータセンターでWindows Azureの管理ができない状態となっていたようだ(ITmedia)。
「太平洋時間の29日午前2時57分にはほとんどの地域で復旧」とのことだ。
でも、 (スコア:3)
ちゃんと、クラウディアさんは、2月29日にもつぶやいています。 [twitter.com]
Re:でも、 (スコア:1)
クラウディアさんはドジっ娘と
Re: (スコア:0)
Claudia_Azureクラウディア (来日中) 2/29
ワタシってまだ26歳なのにもうババァなんて言われちゃうワケ?日本ってシビアすぎるワ・・・
こういうことでしょ (スコア:1)
Windows HAzure
Re:こういうことでしょ (スコア:2)
Re:こういうことでしょ (スコア:1)
> Windows HAzure
俺「フランス人は最初のHは声を出さないらしいね」
クラウディアさん「私、フランス人のクォーターだけど、初めてのとき、気持ちよくてちょっとだけ声出ちゃった……」
いや、フランス語の発音の話だけど。
1を聞いて0を知れ!
つまりさ (スコア:0)
うるう年って基本的な事すら知ってる人間がもういなくなってるんだね。
4年前に現場にいたやつはもうコード書いてないってことなんだ。
Re: (スコア:0)
Hellow World の次はうるう年判定するのがよくある参考書だったような気が。
Hellow World (スコア:0)
これが今の日本を象徴してそうだ。
Re: (スコア:0)
Re: (スコア:0)
いや、ちゃんとしたライブラリを使ってれば問題なかったんじゃないですか?
参考書に載ってるものを参考にとか俺実装しちゃうから問題が発生するんだと思います。
Re: (スコア:0)
ライブラリを用意したところで、次は閏年がある事自体を忘れて実装する予感。
Re: (スコア:0)
さすがにお粗末すぎて何も言えないですな
Re: (スコア:0)
西暦2000年にトラブったアホも余計な事せずに4で割るだけにしとけばよかったのにね。
Re: (スコア:0)
ワールドゆとり教育の弊害ってことでは。
Re: (スコア:0)
http://yamatai.cside.com/yasumoto/tyosyo49.htm [cside.com]
バグの原因 (スコア:0)
うるう年判定なんて、一回プログラム書いてテストしたらまず変更しないだろうし、インターフェイス気に入らないから作り直すっていうようなインターフェイスにはならないと思うのですが。
「小さいから簡単だろw」って思って毎回作り直してるんですかね。
Re: (スコア:0)
「こんなもの、ライブラリを使うまでもない」。
そして罠に嵌る。
Re: (スコア:0)
いやあライブラリ使っても油断してると簡単に罠にはまりますよ。
たとえば任意の日付の1ヵ月後、2ヵ月後、…12ヵ月後の日付までを求める処理をJavaで
みたいにしちゃうとか。
Re:バグの原因 (スコア:1)
ここでいうライブラリとは、「任意の日付のnカ月後の日付を求める処理」そのものの事ですよ。
Re: (スコア:0)
JavaのCalendarはまさに「任意の日付のnカ月後の日付を求める処理」を行うライブラリそのものですが、馬鹿に銃をもたせたら自分の足を撃つだけという話をしてるんですが。
Re: (スコア:0)
そんなのdateコマンドでとググったら面白いの見つけた。
http://shellscript.sunone.me/date.html [sunone.me]
#私もバグ作るとこだったか。
1ヶ月後だとそんなに違和感は無いが、1ヶ月前だとおかしなことになるという話.
date -d '2012-03-31 1 months ago' '+%m'
"nヵ月後"だとまず暦日でしょうけど、存在しない日は月末とみなすのか、翌日に繰り下げるのかとか稼働日なのか解釈はいろいろあるし。
Re:バグの原因 (スコア:1)
鉄道の定期とかは月末とみなしますね。
例:1か月定期
1/30→2/29まで有効
1/31→2/29まで有効
2/29→3/28まで有効
3/1→3/31まで有効
まぁ、民法がそういう風に定めているからですが。 [e-gov.go.jp]
Re: (スコア:0)
払い戻しの時はどうするのかとか、素朴に疑問に思った。
「1/30、1/31、...で6ヶ月定期を購入した時、5ヶ月分の支払いを受けられるのは、
何月何日までに払い戻しを受けた時」とか、その変はどうなってるんだろう。
開始日から一ヶ月分?残り日数が5ヶ月分?これに月末の補正が加わる?
Re: (スコア:0)
法律つながりで。
日付の解釈と同じように祝日も国民の祝日に関する法律 [cao.go.jp]で定められていてその運用にみんな従ってるハズなのに、「春分の日と秋分の日は前年の2月の官報がでないとわかりません」と言ったらはぁ?という顔をされました。。。いや、知らないのはいいんすけど、法律できまってることぐらい知っといてよと。
# そんなの計算して近似して注意書きでものせとけよ!と男前なディレクション希望
Re: (スコア:0)
おれなんか、バレンタインデーのことは毎年2/14を過ぎるまでキッパリ忘れてるぜ!
忘れてるだけなんだぞ!ほ、ホントだからなっ!
Re:バグの原因 (スコア:1)
関東の首都圏で普通に不要となったケースなら、JR東かPASMOだと今年なら2/29に払い戻しを申請しないと無理です。
その場合でも、払い戻されるのは元の金額の5/6が返ってくる訳でも、5か月分の定期が買える金額でもありません。
既に利用した日数や払い戻しの理由(買い間違い・区間変更・その他(例えば死亡))や事業者によって異なるので正確性を期するなら問い合わせて下さい。
事業者を跨ぐ定期の払い戻しですと、複数の法則が絡みますので返答まで待たされるかもしれません。
具体的な計算式は
往復したと仮定して普通の切符の2枚分*利用日数と手数料を定期の額面から引いた形だったり、
大体10日(旬)単位で計算だったり、
1か月定期分マイナスだったりとバラバラです
JR東日本 [jreast.co.jp]
小田急(PASMO圏なら大抵これだと思うけど、要確認) [odakyu.jp]
Re: (スコア:0)
> 1ヶ月後だとそんなに違和感は無いが、1ヶ月前だとおかしなことになるという話.
1月31日の1ヵ月後でも同じ問題が起きるはずなので(試してないけど)前か後かの問題じゃないような。
> 解釈はいろいろあるし。
まあいろいろあるんですけど、(営業日とか考慮しないで) 1月31日の2ヵ月後が平年は3月28日、閏年は3月29日になるのが仕様というのは、そういうプログラムを書いてしまった後で言い張る場合以外にはなかなかないのではないかと。
Re: (スコア:0)
1月31日の"1ヵ月後"だと、「月末までじゃ日数少なくなっちゃうよ。存在しない日付の分,3月に食い込んでもいいよね?」というのはよくあるよね。ね?
Re: (スコア:0)
nヵ月後,あるいはnヵ月前の暦日が存在する場合は、おかしくなりませんよ。
$ date -d '2012-03-31 2 months ago' '+%m-%d'
01-31
$ date -d '2012-03-31 2 months' '+%m-%d'
05-31
暦日が存在しない場合に後ろにずらすので、前方向か後方向かで差が出るということ。
日数で与えれば期待した結果になります。
$ date -d '2012-03-31 31 days ago' '+%m-%d'
02-29
$ date -d '2011-03-31 31 days ago' '+%m-%d'
02-28
何でニュースになるんだ? (スコア:0)
まともに動くほうがニュースでないの?
Re:何でニュースになるんだ? (スコア:1)
まとも動いてニュースになったことがあるのか?
だからさぁ (スコア:0)
まだ1月だっての
計算しなくても (スコア:0)
ネットから日時を取得すればいいじゃないか。