第1話「入社式、2015年4月1日」

二〇三一年。
俺の部署は、今日で無くなる。
【全社通知】開発二部の業務は、本日をもって AI 開発基盤へ移行します。

十六年。
書いてきたコードは、
全部、あれが一晩で書き直した。

悔しいのは、
仕事を取られた事じゃない。
――あの頃、これがあれば、
と思う人がいる事だ。

律:宇佐美さん。


目を開けると、
春だった。

律:……二〇一五年?
おはようございます。何をお手伝いしましょうか?


隣の新卒:おい、
どこ見てんの?
律:見えてない。
……俺にだけ、見えてる。
律:今年の秋に何が起きる?AI:その質問には答えられません。私が手伝えるのは、書く・調べる・作ることです。
律:未来の答え合わせは
できない、か。
……十分だ。

配属先は、前の人生と同じ。
開発部、物流システムの保守。
――社内で〈地獄〉と
呼ばれていた部署だ。

鬼塚:新人。
お前は見てるだけでいい。
邪魔だけはするな。

宇佐美:宇佐美です。
ごめんね、
今ちょっと燃えてて。

生きている。
まだ、倒れる前の、
宇佐美さんだ。

鬼塚:在庫の数が合わない件は、
必ず今週中に……!
障害 No.0412毎日の締めの在庫数が合わない発生:2015年3月9日〜(サーバー移行の翌日から)状態:原因不明(23日経過)
宇佐美:三週間追ってるの。
サーバーを新しくした
次の日から、毎日の締めが
合わなくて。

律:サーバーの移行。
――二〇一五年か。
律:2015年3月にサーバーを移行した翌日から、深夜の日次締めの在庫が合わない。古い物流システム。何を疑う?AI:移行先のサーバーの時刻の設定(タイムゾーン)を最初に確かめてください。日本時間の深夜2時に動く締めの処理は、協定世界時(UTC)のままだと前の日の17時として扱われ、その日の分が前の日の在庫に入ります。
タイムゾーン(UTC と日本時間)の解説
現実の事実タイムゾーンは、その地域の時刻が協定世界時(UTC)から何時間ずれているかの決まりです。日本時間(JST)は UTC より9時間進んでいて、日本では夏時間を行っていないため、この差は1年中変わりません。サーバーのタイムゾーンが UTC のままだと、日本時間の0時から8時59分までは、UTC ではまだ前の日の日付です。
- UTC と日本時間は何時間違う?
- 日本時間は UTC より9時間進んでいます(UTC+9)。たとえば日本時間の4月1日2時は、UTC では3月31日17時です。
- 毎日の締めがずれるのはどんな時?
- その日の分を日付で区切って集める処理が、UTC の日付で区切っている時です。日本時間の0時から朝9時前までに入った記録が前の日の分として数えられ、その日の在庫や売上が前の日に移ります。
- サーバーのタイムゾーンはどう確かめる?
- Linux では timedatectl で今のタイムゾーンを確かめ、変えられます。Amazon EC2 のサーバーは、最初は UTC に設定されています。記録の時刻を 2015-04-01T02:00:00+09:00 のように時差を付けて残すと、取り違えにくくなります。
出典

律:宇佐美さん。
新しいサーバーの
時刻の設定、
日本時間になってますか?

日次締め 開始 02:00(サーバーの時刻)タイムゾーン (UTC) 協定世界時
宇佐美:……あった。

鬼塚:おい新人。
お前、なんで分かった?
律:……時計が、
ずれてたので。

前の人生で、この不具合は、
宇佐美さんが
夏まで一人で抱えた。
今度は、
そうはさせない。
お知らせこの時代で、もう一つ、同じ窓が開いています。

律:……俺だけじゃ、
ない?
2015年、
入社式の朝。
俺にだけAIが見える
第1話「入社式、2015年4月1日」終
この話で分かること
サーバーを移した次の日から、毎日の締めの数が合わなくなるのはなぜ?
移した先のサーバーのタイムゾーンが UTC のままだと、日付の区切りが日本時間より9時間遅れるためです。日本時間の0時から8時59分までに入った記録が前の日の分として数えられ、締めの在庫や売上がずれます。
条件・例外
締めの処理が日付の区切りを日本時間で計算している時は、サーバーが UTC でもこのずれは起きません。反対に、締めの処理を「毎日2時」のようにサーバーの時刻で動かしていると、処理が動く時刻そのものも9時間ずれて、日本時間の11時に動きます。
物語との違い
作中では、2031年の AI が最初の答えで原因を言い当て、設定の画面にその行が見つかります。現実の調べでは、締めの処理の記録に残った時刻、サーバーのタイムゾーン、データベースの時刻の残し方を一つずつ見比べて、どこで9時間ずれたかを確かめます。
この話の用語
- タイムゾーン(UTC と日本時間)漫画の中で見る
- 現実の事実タイムゾーンは、その地域の時刻が協定世界時(UTC)から何時間ずれているかの決まりです。日本時間(JST)は UTC より9時間進んでいて、日本では夏時間を行っていないため、この差は1年中変わりません。サーバーのタイムゾーンが UTC のままだと、日本時間の0時から8時59分までは、UTC ではまだ前の日の日付です。
出典
この話のあらすじ
2031年、AI の導入で部署ごと職を失ったエンジニアの南雲律は、駅のホームで倒れ、2015年の入社式の朝に戻る。目の前には、律にしか見えない AI の窓が開いていた。AI は未来の出来事には答えないが、書く・調べる・作ることなら手伝う。配属先の物流システムの部署では、古いサーバーを新しくした翌日から、毎日の締めの在庫が合わない不具合が三週間解けずに残っていた。律は、新しいサーバーの時刻が日本時間ではなく協定世界時のままで、深夜の締めの処理が前の日の分として動いていると気づき、前の人生で倒れた先輩・宇佐美の重荷を一つ下ろす。その夜、AI は告げる。この時代で、もう一つ同じ窓が開いている、と。