
公衆電話トラブルの原因は「うるう年」 67
ストーリー by mhatta
最後に公衆電話使ったのいつだろう… 部門より
最後に公衆電話使ったのいつだろう… 部門より
84p 曰く、
ITmediaの記事によると、1月下旬から一部の公衆電話が使用できなくなっていた障害は「うるう年」が原因だったことが判明した(NTT東日本のプレスリリース)。障害が発生しているのはNTT東日本・西日本のデジタル公衆電話「DMC-8」で、全国の約3000台が利用できなくなっている(公衆電話の総数は約33万台)。プレスリリース内の説明によると、当該電話機の自己診断機能で次回診断日を設定する際のうるう年処理に問題があったため機能停止に至ったとのことである。2000年問題を知らない世代が開発したのであろうか?
場当たり処理 (スコア:5, おもしろおかしい)
A:「やべっ2000年って2月29日あるんだってよ」
B:「そりゃそうだろ」
A:「『100で割り切れる年はうるう年じゃない』って処理になってんだよ」
B:「ちょwおまw」
A:「取り敢えず処理の前に『2000年だったらうるう年』って入れておく」
B:「おk」
2005年のある日…
C:「なんか処理の頭に直値で『2000年だったら云々』って書いてあるんすけど?」
A:「あーなんだろ、わすれちゃったなー」
C:「2000年問題の何かの対応ですかね?削除しちゃいますよ?」
A:「もう大丈夫かな、そこらへんまとめて消しちゃっていいかも」
C:「消してもひととおり動作してるみたいですよ」
A:「じゃー消してコミットしとこう」
Re:場当たり処理 (スコア:1)
挙句、2400 年が近づくと、
「100で割り切れると閏年じゃない?ナニいってんだぃ、おまえさんは?」
なぁんてコトになったりするんでしょうねぇ。
# K&R の練習問題「閏年を判定するプログラムを書け」を懐かしく想い出しました。
2000年問題を知らない世代 (スコア:4, おもしろおかしい)
#くだらないけどID
Re:2000年問題を知らない世代 (スコア:3, おもしろおかしい)
昨日撮影した画像は、
/108_02_04/
というフォルダーに入れられていました。
別にいいんだけど。
Re:2000年問題を知らない世代 (スコア:1)
Re:2000年問題を知らない世代 (スコア:1)
仕様書に無かったから (スコア:3, すばらしい洞察)
受注側:言われて無いし入れなくていいや
って感じだと予想
…バグってるのがうるう年の部分だけで済んでるのかとても気になりますね
Re:仕様書に無かったから (スコア:1)
http://www.finetune.jp/~lyuka/interests/essay/binarian/binarian.html [finetune.jp]
ていうか GPS を使ってるのでうるう年もうるう秒も嫌いだ。
2005年に設置されたもの (スコア:2, 参考になる)
2005年2月に設置された機種が問題を起こしていたようですので、今回が初めての閏年のようです。
http://mainichi.jp/select/wadai/news/20080202ddm041040031000c.html [mainichi.jp]
#つまり、「閏年?それおいしいの?」っていう技術者が作ったと。
Re:2005年に設置されたもの (スコア:3, 興味深い)
画像を見てやっぱり、と思ったこの電話機。
ICカード電話、というのがありましたよね。
またグレー電話というやつも。
2005年にどちらも廃止の方向になり、特にICカード電話をカード電話にもどそう、
とNTTさん。利用量の少ない磁気カード公衆電話を廃止してICカード電話の代替に
持ち込もうとしたのですが、想像をはるかに超える反発にあい磁気カード電話が
不足になりました。
あわてて作ったのがこの機種で、見るからに部品の寄せ集め、という印象がありました。
(中は見ていないのであくまで印象ですが、外から見える部品自体が・・・)
電話は医師の話は1年以上前から書面で通告されており、NTTの営業も
代替の話もNTTの営業から直接聞きだしました。
実はその2年前に大変な手間をかけて施設内の10台近くの電話をICに換えていたのですが、
NTTの方針転換で磁気カードに変更。
ああ、どたばたしているなぁ、という印象があったことを思い出しました。
きっとプログラムは過去のものを流用できなかったんですね。
閏年を忘れていたんじゃなくて… (スコア:3, おもしろおかしい)
ん、下位モジュールで閏年が計算されてないぞ
指摘したいけど、下位班の××さん苦手だしな
いいや、こっちで補正しておこう
・下位モジュール班
やべ、閏年処理忘れているじゃん!恥ずかしすぎる!
えい、修正してやる!
Re:閏年を忘れていたんじゃなくて… (スコア:1)
・上位モジュール班
あ、やっべ。これ、うるう年処理が必要じゃないの?
いや、こういうのは下位モジュールで気をきかせて対応してくれるから大丈夫。
そっか。じゃあいいや。
・下位モジュール班
あ、やっべ。これ、うるう年処理が必要じゃないの?
いや、こういうのは上位モジュールで気をきかせて対応してくれるから大丈夫。
そっか。じゃあいいや。
clausemitz
Re:閏年を忘れていたんじゃなくて… (スコア:1)
なんか変なリアリティがあってあんまりおもしろおかしくないな…
Re:閏年を忘れていたんじゃなくて… (スコア:1)
>なんか変なリアリティがあってあんまりおもしろおかしくないな…
昔(8bit時代とか)のしょぼいプログラムなんかには平気で2月が31日まであったりしましたなぁ。閏どころか月管理が無くて全部31日まで。
でもリアリティといえば、恐怖の8月32日 [youtube.com]には敵いますまいて…。
#西向く侍?そんなのよりfloor( 2.3 * count )で計算すれば一発で配列化できますよ。(テーブルにしとけ…。)
Re:2005年に設置されたもの (スコア:1)
常識知らず・・・○
PG書ける、書けないの前に"4年に一回は閏年"は一般社会人の常識でしょ?
(このコメント中、40年、100年はあえて無視してます。
一般社会での生活できるレベル常識の話をしたいので)
Re:2005年に設置されたもの (スコア:1)
>一般社会での生活できるレベル常識の話をしたいので)
40年とかどこから出てきた?400年の間違いだろ?
※100で割り切れる年は平年だが、400で割り切れる年は閏年。
や、だから (スコア:1)
# タイプミスだと思ってあげよう。
Re:2005年に設置されたもの (スコア:1)
ザルですね (スコア:1)
#型番がGo to DMCかと思った
Re:ザルですね (スコア:2)
4年に一度2000年問題が来るということで(笑)。
ご参考まで↓
http://www.pahoo.org/e-soul/webtech/time/time03-01.shtm [pahoo.org]
Re:ザルですね (スコア:1)
元記事の書き方だと「うるう年で発現するバグがあった」って感じですね。
# JScript で 8月と9月に発現するバグを組み込んだことがあるけど non AC
マクロの基本は検索置換(by y.mikome)
Re:ザルですね (スコア:1)
でも、「うるう年のテストをしてない」事は変わらないよね。
うるう年のテストしてればそのときにバグが発見されてるわけで。
Re:ザルですね (スコア:1)
惜しい! 7月1日に発現すればJUNET記念日 [watanabe.name]だったのに。
2000年問題を知ってる世代 (スコア:1)
いやいや、それは無い。無いと信じたい。
それでか (スコア:1, おもしろおかしい)
衆議院議員みたいだな。
Re: (スコア:0)
Re:2000年問題を知ってる世代 (スコア:1, 興味深い)
Re:2000年問題を知ってる世代 (スコア:1)
# なにが難しいんだろう?
法律上のうるう年 (スコア:1)
先生が悩まれているのは、西暦年でプログラムするなら「4で割り切れる」「100で割り切れる」「400で割り切れる」だけなのを、いったん660で引いてから同じ処理をさせなければならず、プログラマなら簡単でも学生には難しいということかと。
#もしくは旧仮名遣いの法律文を現代文に読み下させること?(ぉ
Re:2000年問題を知ってる世代 (スコア:1, 興味深い)
っていうプログラムを書かせるなぁ。
斜め読みした段階ではアルゴリズムをどう書くかスルリとは思いつかん程度の阿呆なので。
#OTなのでAC.
Re: (スコア:0)
そういう問題ではない
Re: (スコア:0)
んん? (スコア:1, 興味深い)
公衆電話のシステムって、そんな最近に開発されたもんなの?
もう何年も新規開発なんてしてないイメージが
Re:んん? (スコア:2, 興味深い)
それに、今回のうるう年の処理で不具合が生じたってことは、前回のうるう年では問題なかったわけで。
ということは
- 今回のうるう年に特有のトラブルだった
- 前回のうるう年以降に立ち上がったシステムであった
のどちらかであろう、と。
出張修理 (スコア:3, 参考になる)
ちなみに当該プログラムは公衆電話機「DMC-8」約2万5000台に搭載されており、本体を開閉した際に(詳細省略)不具合が生じたが、定期的診断による次回設定の場合には不具合は出なかった。そこで「緊急措置として2月2日に公衆電話機の自己診断機能を遠隔操作で停止」したのはともかく、復旧には、正常なプログラムを現地で(!)公衆電話機にインストールするしかないという。これだと、復旧完了日時がすぐには特定できないわけだ。また故障したのは約3200台だけど、「自己診断機能を遠隔操作で停止」の対象は2万5000台なのか?
Re:んん? (スコア:1)
http://ja.wikipedia.org/wiki/%E3%83%92%E3%82%B8%E3%83%A5%E3%83%A9%E6%9A%A6 [wikipedia.org]
責任転嫁 (スコア:1, おもしろおかしい)
.....何とか言う伴天連の親玉のせいかも
と言って責任転嫁してみる
Re:責任転嫁 (スコア:1)
あるいは新しい太陰暦が採用されてもっと面倒なことになっていたと思われますよ。
Re: (スコア:0)
と言ってみる
オフトピ (スコア:0)
そういえばそんな2000年問題もありましたね。(2000年2月29日問題)
でも今回のは400年に一度の話じゃなくて4年に一度の話レベルなので
2000年2月29日問題がどうこうというレベルじゃないような気が。
# 2000年問題と言うと年の下二桁という発想をする世代なので AC
Re:オフトピ (スコア:1)
4年に一度の「うるう年」を間違えるなんてのは
そもそもうるう年の処理そのものが入ってなかったのではないかとすら思える。
# でも本当に入ってないなら処理ミスってコケる理由も無いはずなので
# 入れてはいたけど根本的にタコだったと。
## どこの素人に書かせたら失敗できるんだ?うるう年計算なんて。
Re:オフトピ (スコア:1)
・100n年は閏年じゃない
・4n年は閏年
って組もうとして、真ん中を
・8n年は閏年じゃない
って書いちゃったとか…
Re:オフトピ (スコア:1)
意外と、2000年問題でうるう年が問題にならなかったから、そのままやっちまった熟練者だったりしてね……
みかかとはお仕事してないのでID
Re:オフトピ (スコア:1, 興味深い)
とか言ってるヤツは、少なくとも閏年問題については理解出来てない気がする。
「下二桁」問題も「400で割り切れる閏年」問題も2000年問題と纏める場合がある。
> 意外と、2000年問題でうるう年が問題にならなかったから、そのままやっちまった熟練者だったりしてね……
「問題にならなかった」は事実ではないし、
今年は「2000年以降最初の閏年」でも無いはずだが...。
Re:オフトピ (スコア:1)
って問題は、2000年問題の対策時にはまったく考慮されてなくて、国内では直後に発覚した話題だった気がする……
Re:オフトピ (スコア:1)
1.4の倍数年はうるう年
2.ただし100の倍数年はうるう年ではない
3.ただし400の倍数年はうるう年
2と3のルールを知らずにたまたま2000年のうるう年を切り抜けたって言う場合も多いんじゃないでしょうか。
1と2は知ってたけど3は知らなくて問題になったって言う場合よりは多そう。
Re:オフトピ (スコア:1)
ぶっちゃけ言ってしまうと、自分が生きている間は(多分)
【4の倍数年は閏年】
ルールだけで十分だったりするんですけどね。
自分が書いたプログラムが、自分が死んだ後も動いているなんて事はないと思っているし。
この思い込みが2000年問題を生んだという話もあるけど・・・・
1990年頃作っていたシステムは「2000年までにリプレースするから、そのとき考えればいいよ」なんて人が多かったせいで問題になっちゃったんですけどね。
Re:オフトピ (スコア:2, おもしろおかしい)
Re:オフトピ (スコア:1)
問題が起こったということは、今でも、自前で実装しているってことですね。
> 自分が書いたプログラムが、自分が死んだ後も動いているなんて事はないと思っているし。
せめて、生きている間は使ってくれていたら、こんなことにはならなかったのに、、、
#ごめんなさい、Driver さんや、その会社のせいではないことは、わかっています。
Re:オフトピ (スコア:1)
そっか!そういうことか!!
> #ごめんなさい、Driver さんや、その会社のせいではないことは、わかっています。
2000年問題の発生するプログラムは、92年くらいまで書いてました。
問題がおきるの判ってたのですが、当時の先輩の言葉で「そんなに長く使われないから」って言葉を鵜呑みにして・・・
所詮私は「長いものには巻かれろ」タイプの人ですから。
スイマセン・・・スイマセン・・・スイマセン・・・・