読者です 読者をやめる 読者になる 読者になる
【スポンサーリンク】

うるう秒はエンジニアを苦しめる、らしい。就活前の学生が調べてみた。

エンジニア阿鼻叫喚地獄

Twitterではご覧のとおりです。。。

 

予備知識→「うるう」とは

一年の日数や月数が普段の年(平年)よりも多いこと、または一日の秒数が普段の日よりも多いことを閏(うるう)いいます。

太陽暦では1太陽年の長さが365日より約4分の1日長くなっています。

(365日と約5時間50分くらい)

この少し長い分のずれが4年間の月日を重ねると、およそ24時間分のズレが生じ、暦と季節が無関係なものになってしまいます。

(年に5時間50分長い→5時間50分×4年=20時間と200分=23時間20分くらいですかね。)

そこでこれを補正するために太陽暦では4年に一度、一年に1日を足すことにしています。 それが2月29日になります。

オリンピック的な感じですね。

 

「うるう年」は1日増える。「うるう秒」は?

世界の公式時刻である「協定世界時(UTC)というものと、

地球の自転を基準にする「世界時(UT1)というものがあります。

その誤差を調整するために追加(削除)する1秒のことが「うるう秒」です。

協定世界時は一定に時間が進んでいきますが、地球の自転を基準としている世界時は、自転速度が一定でないので徐々にズレていくんです。なので調整する、と。

 

なぜエンジニアを苦しめるのか

情報系の専門学校に通っているとはいえ、就活前の学生なので実務経験がありません。なのでどのような難点があるのか全くわからないので調べてみました。

パソコンなどの電子機器には時計が組み込まれています。

最近の通信機器(スマホ、サーバなど)はうるう秒が追加されると特殊信号で自動的に補正が効くのですが、ソフトウェアによって対応できるものと出来ないものがあるらしいんです。

「べつに1秒位誤差あっても気にならなくね???」

といっても、「59分60秒」が追加されることで複数のシステムの間で「時刻の食い違い」が起こるとシステム障害が発生するんです。

対応している「システムA」と対応していない「システムB」があったとします。()内は実際の時刻。

【B】11月11日07時00分59秒03(07時00分59秒03)にデータ送信

【A】11月11日07時00分59秒05(07時00分59秒05)にデータ受信

【A】11月11日07時00分60秒02(07時00分60秒02)にデータ送信

【B】11月11日07時01分00秒02(07時00分60秒04)にデータ受信<アレェ!?なんかズレてね!?

※単純計算でやってみたので違うかもしれませんが、こんなイメージかな???

こんな感じでシステム間に時刻差が生じるとマズイ、ということですね。それをエンジニア達が総出で修正にかかるので苦しめると、、、ふぅ。

しかも元日に。

【スポンサーリンク】