↓ ↑ページトップへ
表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

PR
1/10

第1話 魔導書を本番直書きするのはやめてください!

鼻をつくのは、焦げた羊皮紙の匂いと、安物の魔力回復ポーションの青臭い匂いだった。

 部屋のあちこちに散乱する乱雑な書類の山。

 徹夜明けで充血した目をこすりながら、机に突っ伏して微動だにしないローブ姿の男たち。

 壁の時計が規則的な針の音を刻む中、部屋の隅からはブツブツと何事かを呪詛のように呟く声が聞こえてくる。


「……強烈な既視感(デジャヴ)だな」


 俺――アイザック・ケン・アデルハイムは、手にしたマグカップから温かい茶をすすりながら、小さく息を吐いた。


 前世の記憶を思い出したのは、ほんの数日前のことだ。

 前世の俺の名は、相澤健人(あいざわ けんと)。三十代前半の中堅IT企業で、テックリード兼SRE(サイト信頼性エンジニア)として働いていた。

 大規模障害の火消し、燃え盛るレガシーシステムの改修、新卒のコードレビューに追われる日々。そして迎えた、某メガバンクの大規模システム刷新プロジェクトの深夜リリースの日――サーバールームの冷気の中で意識を失ったのが、俺の現代での最後の記憶だった。


 過労死である。間違いなく、過労死だった。


 神の気まぐれか何なのか、目が覚めたら俺はこの「アルカディア王国」という異世界の貴族の三男坊――とはいえ領地も継げない末端の貧乏貴族の青年として転生していた。

 持ち前の計算能力と几帳面さを買われ、就職できたのは国家の魔導中枢である『王立魔導院・第一編纂室』。


 魔導士といえば、世間一般には「華麗に火球を放ち、空を飛び、魔物を討伐する栄光の職種」と思われている。

 だが、その裏側にあるこの「編纂室」の実態は、あまりにも過酷だった。


 この世界の魔法は、適当に気合を込めて呪文を叫べば出るような代物ではない。

 古代から受け継がれた数千行に及ぶルーン文字と幾何学陣――いわば「魔導式」と呼ばれる精密なコードを羊皮紙に記述し、それを媒介にして初めて発動する。

 そして、この第一編纂室の役目は、王国のあらゆるインフラや軍事で使われる公式呪文のメンテナンスと新規開発だった。


 部屋の中央の豪奢な台座に鎮座する『原典大魔導書』は、王宮地下の中央魔力炉と霊脈を通じて常時接続されており、ここに記述された呪文は王国全土の魔導インフラへ瞬時に反映される。

 いわば、王国という巨大システムを動かす『本番マスターサーバー』そのものなのだ。


 つまり、ここは異世界における『ソフトウェア開発・運用保守の現場』そのものだった。


「うっ……ぐすっ……うぅ……」


 すすり泣くような声が、静まり返った部屋の奥から聞こえてきた。

 見れば、部屋の隅の長机で、大きな丸眼鏡をかけた少女が机に突っ伏して肩を震わせていた。


 ルミナ・ファルク。

 今年配属されたばかりの十五歳の見習い魔導士だ。亜麻色の髪を無造作にサイドテールに束ね、小柄な体に少し大きすぎるローブをまとっている。

 真面目で勉強熱心、いつも誰よりも早く出勤して部屋の掃除をし、夜遅くまで呪文の書き写しをしている健気な後輩だ。


 アイザックは茶の入ったマグカップをもう一つ淹れると、彼女の席へと歩み寄った。


「ルミナさん。温かい薬草茶です。どうぞ」

「ひゃいっ!? あ、アイザック先輩……! す、すみません、見苦しいところを……」


 ルミナは慌てて眼鏡を外し、ローブの袖で涙を拭った。赤くなった目元がひどく痛々しい。


「何かあったんですか? よかったら話してください」

「うぅ……実は……消えちゃったんです……」

「消えた?」

「はい……! 昨日の夜、私、丸一日かけて王都の『常夜街灯点灯式』の呪文を直したんです。最近、暗くなっても街灯が点かない不具合が出ていたので、魔力供給の循環ループを三十二行書き直して、ちゃんとテスト用の小魔導具で灯りが点くところまで確認して……それで、部屋の中央の【原典大魔導書】に清書したんです」


 ルミナは震える指先で、部屋の中央の大魔導書を指差した。


「なのに、今朝確認したら……私が昨日書いた三十二行がまるまる消えていて、一週間前の壊れた呪文に戻ってたんです……! 私の書いた呪文はどこにも残ってなくて……また最初から書き直さなきゃいけなくて……うぅっ……」


 ルミナが再び顔を覆って泣きじゃくる。

 その言葉を聞いた瞬間、アイザックの背筋に冷たいものが走った。


 ――待て。

 ――いま、なんと言った?


「ルミナさん、確認させてください」

 アイザックは極めて静かに、しかし声音を低くして尋ねた。

「あなたの直した呪文は、手元の控え……いわゆる下書き用の紙には残っていないんですか?」

「えっ? ひ、控えですか? そんなの取ってません……。だって魔導院の規則では『羊皮紙の無駄遣いを禁ず。魔導式はすべて原典大魔導書に直接書き込むべし』って……」

「……」


 嫌な予感が確信に変わっていく。アイザックはこめかみを押さえた。

「じゃあ、その大魔導書には、誰がいつどこを書き換えたかという記録……刻印の履歴(ログ)のようなものは?」

「履歴……? そんな記録魔法、聞いたことありません……。大魔導書に今書かれている文字が、この世のすべてです……」


 胃が。

 前世で何度も味わった、あの忌まわしい胃痛が、キリキリと音を立てて腹の底で目を覚ました。


(バックアップなし。変更履歴のログもなし。全員が唯一無二の【本番魔導書】に直接羽根ペンで手書き……!?)


 現代のIT現場で例えるならこうだ。

 Gitのようなバージョン管理ツールを一切使わず、ローカルの開発環境も作らず、エンジニア全員が本番サーバーに直接SSHログイン。

 そして、稼働中の本番プログラムを 『sudo vi /var/www/production.py』 で直接編集して保存しているようなものだ。


 狂気の沙汰である。正気の沙汰ではない。

 いつ大爆発事故が起きてもおかしくない、地雷原の真ん中でタップダンスを踊るような運用だ。


「がっはっは! 今日も精が出るな、若造ども!」


 その時、重厚な扉が勢いよく開き、威圧的な笑い声とともに一人の巨漢が入ってきた。

 第一編纂室長、バルカス・グライフェン。

 金糸の刺繍が施された豪奢な上級ローブを身にまとい、髭面を撫でながら傲然と歩いてくる。この編纂室のトップであり、王国内でも名を知られたベテラン大魔導士だ。火炎魔法の構成力にかけては王国屈指の実力者だが、組織運営や運用の知識は皆無に等しい。


「ルミナ、何をめそめそ泣いておる。見習いが朝から湿気たツラをするな!」

「あ、バルカス室長……おはようございます……」


 ルミナがおずおずと頭を下げる。

 バルカスは部屋の中央の大魔導書へ歩み寄ると、満足げに腹を叩いた。


「いやあ、昨夜は素晴らしい閃きがあってな! 深夜にわざわざ登院して、大魔導書に儂の新作呪文を追記しておいたのだ! 【紅蓮爆炎球・極大詠唱】! 従来の三倍の火力を誇る、儂の魂の結晶よ!」

「……え?」


 ルミナが凍りついたように目を見開いた。

「し、室長……? その呪文、大魔導書のどこにお書きになられたのですか……?」

「ん? どこだったかの。確か第七章の三十四ページあたり、余白が中途半端に空いておったから、邪魔な下級魔導式を二〜三ページほど魔力消去液でゴシゴシ消して、その上にドカンと書いてやったわ! 余白に儂のサインも金文字でばっちり書き添えてな! がっはっは!」


「――――っ!!」


 息が止まる音がした。

 ルミナの顔から、さーっと血の気が引いていく。


「そ、そんな……第七章三十四ページは……私が昨日、丸一日かけて直した街灯点灯式のページです……」

「ああん? 街灯だと? くだらん! ただの生活魔法ではないか! 儂の極大魔法の閃きに比べれば、街灯など後回しでよいわ! 消されたならまた書けばよかろうが!」

「で、でも……控えも何もないのに……どうして相談もなしに上書きしちゃうんですか……!」

「口答えするな見習いが!」


 バルカスが一喝し、床を杖でダンと鳴らした。


「魔導書とは一意専心、恐れを知らぬ者のみが原典に魂を刻む神聖なものだ! 下書きだの控えだの、そんなものは軟弱な腰抜けのすることよ! 我が筆先に迷いなし! 常に一発勝負で本番に刻むからこそ、魔力は純度を増すのだ! 文句があるなら儂より強い呪文を書いてみせよ!」


 ルミナは唇を噛み締め、ボロボロと大粒の涙をこぼした。

 周りの魔導士たちも、バルカスの怒声を恐れて見て見ぬ振りを決め込んでいる。彼らにとっても、バルカスのこの横暴な「上書き」は日常茶飯事なのだろう。


 だが。

 アイザックの怒りの沸点は、とっくに限界を超えていた。


(……本番環境に夜間侵入して……)

(他人が丸一日かけてバグ修正したコードを、ろくに確認もせず消去して……)

(自分の書きたいオレオレ新機能をノーレビュー・ノーテストで強制デプロイしただと……!?)


 しかも、それを「職人の誇り」だの「魂の一発勝負」だのという耳ざわりのいい精神論で正当化している。

 典型的な、現場を崩壊させるレガシーエンジニアのムーブそのものではないか。


 アイザックが拳を握りしめ、一歩前に踏み出そうとした――その時だった。


『――ウゥゥゥゥゥゥン!! ウゥゥゥゥゥゥン!!』


 けたたましい警報音が、魔導院の天井に設置された警鐘水晶から鳴り響いた。

 赤黒い警告の魔力光が、部屋中を点滅しながら照らし出す。


「な、なんの音じゃ!? 敵襲か!?」

 バルカスが慌てて狼狽える。


 バタン! と編纂室の扉が乱暴に開け放たれ、青ざめた伝令の魔導士が転がり込んできた。


「ほ、報告! 緊急事態です! 王都第一通りから第三通りの魔導街灯が一斉に過負荷を起こし、火柱を噴き上げてショートしました! 現在、魔力炉へ炎の魔力が異常逆流しています! このままではあと十五分で中央魔力炉が臨界爆発します!!」

「な、なんじゃとォォォッ!?」


 バルカスが素っ頓狂な悲鳴を上げた。

「ば、馬鹿な! なぜ街灯の魔力炉が暴走するのだ!?」


「当然の帰結です、室長」

 静かな、しかし氷のように透き通った声が、パニックに陥った編纂室に響いた。

 アイザックだった。


「アイザック……? 貴様、何を言っておる!」

「室長。あなたが書いた【紅蓮爆炎球】の術式、大魔導書に中途半端に残っていた街灯用の魔力循環式と回路が直結しています。出力回路の検証も安全性テストも行わずに極大出力を流し込めば、容量不足でショートして炉が炎上するのは自明の理です」

「なっ……! ぐ、ぐぬぬ……! お、おい、誰か街灯の呪文を元の安全な状態に戻せ! 早く書き直せ!!」


 バルカスが叫ぶが、室内の魔導士たちは顔を見合わせ、首を横に振るばかりだった。


「む、無理です室長! 先週の呪文がどんな記述だったか、誰も正確には覚えていません!」

「羊皮紙をめくっても、室長が魔力消去液で綺麗さっぱり消しちまった後です!」

「元に戻すための呪文の記述が、どこにも存在しません!!」


「ば、馬鹿な……! 元に戻せんというのか!? このままでは王都が火の海になるぞ! 儂の責任になってしまうではないかぁぁぁっ!」


 頭を抱えて取り乱すバルカス。

 ルミナも絶望に顔を青ざめさせ、震える手で机にすがりついていた。


「私の……私のせいで、王都が……」

「ルミナさん」


 アイザックは少女の肩に、ポンと優しく手を置いた。

 その手は驚くほど温かく、そして微塵も震えていなかった。


「あ、アイザック先輩……?」

「あなたのせいじゃありません。責任があるのは、こんな杜撰な運用を放置してきたこの組織と、事前の査定もなく本番を書き換えた室長です」


 アイザックは懐から、一冊の薄い黒革の手帳を取り出した。

 手のひらサイズのその手帳は、彼が前世の記憶を取り戻してから、自らの魔力を注ぎ込んで密かに構築していた特製の魔導端末だった。


「アイザック! 貴様、こんな時に手帳など取り出して何を遊んでおるか! 持ち場に戻れ!」

 バルカスが喚き散らす。


 アイザックはバルカスを一瞥すらせず、手帳の表紙を親指で弾いて開いた。


「室長。あなたはこの現場の運用を『魂の一発勝負』と言いましたね。ですが、魔導式の構築と運用において最も尊ばれるべきは、個人の職人芸ではありません」


 アイザックの瞳の奥で、淡い蒼色の魔力光が幾何学模様を描いて回転を始める。


「真に必要なのは――『いつでも安全に過去へと巻き戻せる仕組み』です」


 アイザックが手帳の白紙の頁を指先でなぞると、部屋の空間に無数の光の文字列が浮かび上がった。

 それは、過去数日間にこの部屋で行われたすべての魔導式の変更履歴。

 誰が、何時何分に、どの行を、どう書き換えたのかを示す、絶対改ざん不可能な時空の記録。


「な、なんじゃその光は……!? 文字が宙に浮いて……!?」

 目を見張るバルカス。

 アイザックは静かに告げた。


「昨夜二十一時十四分、ルミナさんが刻印した正常な状態を特定。――術式展開、【時空回帰(リバート)】、スタンバイ」


 冷徹なエンジニアの眼光が、暴走する中央魔導書を正確に捉えた。


「ルミナさん。泣くのは後です。――一秒で、あなたの魔導式(コード)を取り戻します」


――――――――――――――――

◆【今話のITまめ知識:なぜ「本番環境に直書き」してはいけないのか?】


今回のバルカス室長が行った「大魔導書への直接書き込み(直修正)」。

現実のIT業界でも、初心者やルールの緩い現場でごく稀に発生し、甚大な大惨事を引き起こす禁忌中の禁忌です。


◆1.「本番環境」と「開発環境」の違い

・【開発環境(ローカル)】:自分のパソコンの中など、どれだけ実験してエラーを起こしても他人に迷惑がかからない安全地帯。

・【本番環境(プロダクション)】:実際のユーザーが使っているシステムそのもの(今回の物語で言えば、王都の街灯を動かしている中央大魔導書)。


◆2.直書き(Direct Commit/Edit)が招く悲劇

・【他人の変更を消去(先祖返り)】:今回のルミナのように、誰かが直した大事な修正を上書きして消し飛ばしてしまう。

・【誰が何を変えたか分からない】:トラブルが起きたときにログがないため、原因特定に何時間・何日もかかる。

・【元に戻せない】:動いていたときの状態のバックアップがないため、パニックになる。


これを防ぎ、「安全に試行錯誤し、いつでも過去の状態に戻せる」ようにするために開発されたのが、次回アイザックが本格的に導入する分散型バージョン管理システム『Git』です!

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。