崩壊する関係<2>
−−翌朝
正樹はスマホのアラーム音で目を覚ました。7時過ぎ、いつもの時間だ。寝ぼけた頭を振りながら、洗面台で顔を洗い、キッチンへと向かった。コーヒーを淹れ、昨夜の居酒屋での話を思い返しながら朝食代わりにバナナを一本手に取る。
リビングの一角にある仕事部屋へ入ると、デスクにはデュアルモニターと高性能なデスクトップPCが整然と配置されている。正樹は椅子に腰を下ろし、PCの電源を入れるとモニターに開発環境が表示された。
「さて、今日も頑張るか」
昨日中断した箇所を確認しながらタスク管理ツールを開く。今日のメインタスクはAPIのデバッグと新機能の実装。特にバックエンドの動作がクライアントとスムーズに連携する様にエラーハンドリングを見直す必要がある。
正樹はターミナルを立ち上げ、前日挿入していたデバッグコードを実行。返却されたJSONデータを注意深く見ながら、データ構造とレスポンスの整合性をチェックする。
「ここか・・・この値が予期しない挙動をしてるな」
彼はエラーの原因を特定し、新しい処理を試みる為にコードを書き換えた。キーボードからはタイピング音がリズムよく響く。モニターには修正されたコードが表示され、実行ボタンを押すと期待通りのレスポンスが返ってきた。
「よし、これで問題なし」
正樹は軽く息をつき、少しコーヒーを飲む。スクリーンの光を見つめながら、自分の集中力が少しずつ戻ってきているのを感じた。
「ん?」
集中してコーディングを進めている最中、ふとあるソースに目を留めた。
console.log("Don't leave me");
なぜかその一行が目に刺さる様な違和感を覚えた。自分が書いた物ではない。それどころか、このプロジェクトに関わった他のメンバーがこんな意味のない物を書くはずがない。
正樹はキーボードから手を離し、コード全体をスクロールしながら再確認した。再びそのコメントが視界に入った瞬間、なぜか背筋に冷たい物が走る。
「・・・誰が書いたんだ?」
彼はバージョン管理ツールを開き、該当箇所がいつ書き込まれたのか、履歴を確認し始めた。だが、奇妙な事にその行に関する記録がどこにも見つからない。まるで、最初からそこに存在していたかの様だった。
「・・・これは一体何なんだ?」
正樹の指が自然とキーボードを叩く速度を落とし、画面越しに何かを見つめる様な視線を送っていた。このソースがまるで彼自身に向けて訴えかけているかの様だった。
正樹がコードの別の行に移動してみると、今度は何の為に書かれたのか理解できないソースを見付けた。
function processData(data) {
console.log("Processing data...");
console.log("Don't leave me");
console.log("Don't leave me");
console.log("Don't leave me");
if (!data) {
console.error("Don't leave me");
console.log("Don't leave me");
return;
}
return data.map(item => item * 2);
}
どの行にも "Don't leave me" が挟み込まれるように表示されている。それは単なるコードではなく、何か生命を持ったかの様に見えた。
正樹は必要なコードだけをコピーし、新しいファイルに貼り付けようとした。だが、コピーしなかったはずの部分も一緒にペーストされる。
混乱しながらも正樹は試しにスクリプトを実行してみる事にした。
Processing data...
Don't leave me
Don't leave me
Don't leave me
Don't leave me
Don't leave me
「Processing data...」を出力して、データがなければエラーを出す・・・。それだけのはずだ。コードの末尾には複数の console.log("Don't leave me") があった物の、それらはリファクタ時に削除したはずだった。
その時、モニターの光が一瞬揺らいだ様に見えた。そしてログの最下部に一行だけ奇妙なログが表示された。
You left me once. Don't do it again.
画面の最下部に、まるで彼を咎めるかのように浮かび上がったその文字列はただのメッセージとは思えなかった。ソースコードを何度見返しても、そんな文字列を出力する箇所は存在しない。
「なんだこれ・・・」
呟きながら、恐る恐るファイルをスクロールしてみる。いつのまにか増殖していた “Don’t leave me” のログ達や意図しないエラーメッセージの混在でコードは乱雑その物。にもかかわらず、そこに「You left me once. Don't do it again.」を出力する明確な記述は見当たらない。
“Don’t leave me” が画面を覆い尽くした時、正樹は確かに奇妙な圧迫感を覚えた。まるで画面越しに何者かの「念」が送り込まれているかの様だ。冷静に考えれば単なるプログラムの暴走かもしれないが、それだけでは説明がつかない空気感がこのファイルには漂っている。
微かな胸騒ぎを抑えきれないまま、正樹はファイルに残された痕跡とにらめっこを続ける。ふと “Don’t leave me” という文字列の並ぶ隙間から覗き見る様に、あの一行がまた現れた気がした。
You left me once・・・
思い出すたび正樹の背筋は凍る。もし本当にこのメッセージが生きているかの様に振る舞っているのだとしたら、再びコードを触れる事で何か「呼び覚まして」しまうのではないかと恐怖の念が膨れ上がっていく。逃げ出したい気持ちが強くなる一方、何者かの意思に突き動かされるかの様に正樹はキーボードに手を伸ばす。
だがその時、モニターの光が再び揺らいだ。正樹は震える指先で画面をスクロールさせる。そこには見覚えのないコードが無数に並び、どれもこれも「Don’t leave me」と「You left me once. Don't do it again.」が巧妙に入り組む様に書かれていた。昨日までこの行にこんな物はなかったはずだ。まるで誰かがコードの中から「自分」を主張し、憎悪や悲しみを訴えている様にさえ見える。
正樹はどこにも存在しないはずの声を探す様に天井を見上げた。答えなど得られるはずもないと分かっていながら言葉を飲み込む事ができなかったのだ。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます