パスワードを忘れた? アカウント作成
1888389 story
Windows

Windows Azureでうるう年に関連するバグ、管理不能に陥る 37

ストーリー by hylom
MSもか…… 部門より
あるAnonymous Coward 曰く、

Windows Azure公式Blogによると、うるう年に関わるバグにより全てのデータセンターでWindows Azureの管理ができない状態となっていたようだ(ITmedia)。

「太平洋時間の29日午前2時57分にはほとんどの地域で復旧」とのことだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by manmos (29892) on 2012年03月01日 17時42分 (#2109306) 日記

    ちゃんと、クラウディアさんは、2月29日にもつぶやいています。 [twitter.com]

    • by Anonymous Coward on 2012年03月01日 17時46分 (#2109309)

      クラウディアさんはドジっ娘と

      親コメント
    • by Anonymous Coward

      Claudia_Azureクラウディア (来日中) 2/29
      ワタシってまだ26歳なのにもうババァなんて言われちゃうワケ?日本ってシビアすぎるワ・・・

  • by Anonymous Coward on 2012年03月01日 20時02分 (#2109439)

    Windows HAzure

  • by Anonymous Coward on 2012年03月01日 17時51分 (#2109313)

    うるう年って基本的な事すら知ってる人間がもういなくなってるんだね。
    4年前に現場にいたやつはもうコード書いてないってことなんだ。

    • by Anonymous Coward

      Hellow World の次はうるう年判定するのがよくある参考書だったような気が。

      • by Anonymous Coward

        これが今の日本を象徴してそうだ。

      • by Anonymous Coward
        今はコードをしこしこ書くんじゃなくて、すでに用意されてライブラリの使い方を覚えるので精一杯なんでしょうね。
        • by Anonymous Coward

          いや、ちゃんとしたライブラリを使ってれば問題なかったんじゃないですか?
          参考書に載ってるものを参考にとか俺実装しちゃうから問題が発生するんだと思います。

          • by Anonymous Coward

            ライブラリを用意したところで、次は閏年がある事自体を忘れて実装する予感。

    • by Anonymous Coward

      さすがにお粗末すぎて何も言えないですな

    • by Anonymous Coward
      とりあえず4で割っときゃ、あと八十数年はトラブらないはずだけどなあ。
      西暦2000年にトラブったアホも余計な事せずに4で割るだけにしとけばよかったのにね。
  • by Anonymous Coward on 2012年03月01日 20時00分 (#2109437)
    毎度毎度よくバグりますね。
    うるう年判定なんて、一回プログラム書いてテストしたらまず変更しないだろうし、インターフェイス気に入らないから作り直すっていうようなインターフェイスにはならないと思うのですが。
    「小さいから簡単だろw」って思って毎回作り直してるんですかね。
    • by Anonymous Coward

      「こんなもの、ライブラリを使うまでもない」。
      そして罠に嵌る。

      • by Anonymous Coward

        いやあライブラリ使っても油断してると簡単に罠にはまりますよ。
        たとえば任意の日付の1ヵ月後、2ヵ月後、…12ヵ月後の日付までを求める処理をJavaで

        DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
        Calendar cal = Calendar.getInstance();
        for (int i = 0; i < 12; i++) {
            cal.add(Calendar.MONTH, 1);
            System.out.println(df.format(cal.getTime()));
        }

        みたいにしちゃうとか。

        • by monaoh (12125) on 2012年03月01日 22時06分 (#2109548)

          ここでいうライブラリとは、「任意の日付のnカ月後の日付を求める処理」そのものの事ですよ。

          親コメント
          • by Anonymous Coward

            JavaのCalendarはまさに「任意の日付のnカ月後の日付を求める処理」を行うライブラリそのものですが、馬鹿に銃をもたせたら自分の足を撃つだけという話をしてるんですが。

          • by Anonymous Coward

            そんなのdateコマンドでとググったら面白いの見つけた。

            http://shellscript.sunone.me/date.html [sunone.me]
            #私もバグ作るとこだったか。

            1ヶ月後だとそんなに違和感は無いが、1ヶ月だとおかしなことになるという話.
              date -d '2012-03-31 1 months ago' '+%m'

            "nヵ月後"だとまず暦日でしょうけど、存在しない日は月末とみなすのか、翌日に繰り下げるのかとか稼働日なのか解釈はいろいろあるし。

            • by kei100 (5854) on 2012年03月01日 23時53分 (#2109611)

              鉄道の定期とかは月末とみなしますね。
              例:1か月定期
              1/30→2/29まで有効
              1/31→2/29まで有効
              2/29→3/28まで有効
              3/1→3/31まで有効

              まぁ、民法がそういう風に定めているからですが。 [e-gov.go.jp]

              親コメント
              • by Anonymous Coward

                払い戻しの時はどうするのかとか、素朴に疑問に思った。

                「1/30、1/31、...で6ヶ月定期を購入した時、5ヶ月分の支払いを受けられるのは、
                 何月何日までに払い戻しを受けた時」とか、その変はどうなってるんだろう。

                開始日から一ヶ月分?残り日数が5ヶ月分?これに月末の補正が加わる?

              • by Anonymous Coward

                法律つながりで。
                日付の解釈と同じように祝日も国民の祝日に関する法律 [cao.go.jp]で定められていてその運用にみんな従ってるハズなのに、「春分の日と秋分の日は前年の2月の官報がでないとわかりません」と言ったらはぁ?という顔をされました。。。いや、知らないのはいいんすけど、法律できまってることぐらい知っといてよと。

                # そんなの計算して近似して注意書きでものせとけよ!と男前なディレクション希望

              • by Anonymous Coward

                おれなんか、バレンタインデーのことは毎年2/14を過ぎるまでキッパリ忘れてるぜ!
                忘れてるだけなんだぞ!ほ、ホントだからなっ!

              • by kei100 (5854) on 2012年03月02日 19時04分 (#2110277)

                関東の首都圏で普通に不要となったケースなら、JR東かPASMOだと今年なら2/29に払い戻しを申請しないと無理です。
                その場合でも、払い戻されるのは元の金額の5/6が返ってくる訳でも、5か月分の定期が買える金額でもありません。

                既に利用した日数や払い戻しの理由(買い間違い・区間変更・その他(例えば死亡))や事業者によって異なるので正確性を期するなら問い合わせて下さい。
                事業者を跨ぐ定期の払い戻しですと、複数の法則が絡みますので返答まで待たされるかもしれません。

                具体的な計算式は
                往復したと仮定して普通の切符の2枚分*利用日数と手数料を定期の額面から引いた形だったり、
                大体10日(旬)単位で計算だったり、
                1か月定期分マイナスだったりとバラバラです
                JR東日本 [jreast.co.jp]
                小田急(PASMO圏なら大抵これだと思うけど、要確認) [odakyu.jp]

                親コメント
            • by Anonymous Coward

              > 1ヶ月後だとそんなに違和感は無いが、1ヶ月前だとおかしなことになるという話.
              1月31日の1ヵ月後でも同じ問題が起きるはずなので(試してないけど)前か後かの問題じゃないような。
              > 解釈はいろいろあるし。
              まあいろいろあるんですけど、(営業日とか考慮しないで) 1月31日の2ヵ月後が平年は3月28日、閏年は3月29日になるのが仕様というのは、そういうプログラムを書いてしまった後で言い張る場合以外にはなかなかないのではないかと。

              • by Anonymous Coward

                1月31日の"1ヵ月後"だと、「月末までじゃ日数少なくなっちゃうよ。存在しない日付の分,3月に食い込んでもいいよね?」というのはよくあるよね。ね?

              • by Anonymous Coward

                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

  • by Anonymous Coward on 2012年03月01日 20時54分 (#2109497)

    まともに動くほうがニュースでないの?

  • by Anonymous Coward on 2012年03月01日 22時15分 (#2109555)

    まだ1月だっての

  • by Anonymous Coward on 2012年03月04日 5時54分 (#2110937)

    ネットから日時を取得すればいいじゃないか。

typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...