第63話 ロストテクノロジー 追っ手 2人
<ララ>
MPN。名前だけ聞くと、てっきり無機質な空間かなと思っていたけど、実際に入ってみると見ると聞くとは大違いで、私たちは、土の上を走っていた。スプリンクラーが水をやり育てたとみられる草木と花が美しく咲き乱れている。
無人空間だが、定期的に誰かがメンテナンスしていることがわかる。ってことは、侵入者への警備員も簡単に私たちの元へ辿り着く。一刻も早くしないといけない。
地図魔法をアルトボイスで詠唱し、迷路のような空間を駆け抜ける。
テヌート君が、AR(拡張現実)ナビゲート魔法知ってるの助かるぅ。決して難しい魔法じゃないけど、そこまで誰も覚えようと努力していないレアな魔法だ。軍人一家ってやっぱりすごい。
誰と出会うこともなく、最深部に辿り着く。
巨大な石板の手前にホログラムでできたタッチパネルが置かれている。これが星詠みの記録機というものらしい。
美しい。これが、ロストテクノジーというやつか。とはいっても、QWERTY配列のキーボードとタッチパッドとわかるような形にもなっていて、ただ美しいだけでなく、人間工学的な配慮も行き届いている。
起動ボタンらしきものを押すと、見たことのないOSが立ち上がる。lsと打ち込んでEnterキーを押すと、ずらりとファイルとディレクトリ一覧が。どうやら、おおよそ、異世界OSのUNIXと同じような操作体系になっているようだ。まったく未知の技術ではないことに、ひとまずは、安堵するが、操作に時間がかかりそうな予感に冷や汗をかく。
しばらく悪戦苦闘していると、統合開発環境アプリらしきものが見つかるので起動する。遠隔リポジトリの名前が一覧で並べられているので、資料を眺めつつ、カルマポイントが管理されているものを見繕う。
普通ならここから、2段階認証を経ないと、ソースコードをローカルに取得できない。だが、アナログな手段として、三人合唱が用意されている。
「PullとFetchまでやるよ!」
「OK!」
「練習してきた?」
「毎日、15分、個人練やってたよ」
フォルルンが軽快に返す。テヌートくんが、音叉とメトロノームを三人分買ってくれたものだから、こちらも気合を入れて練習がはかどった。
スピーカーの前にフォルルンを中心に私とテヌートくんが左右に立つ。テヌートくんが指を指揮棒の代わりにして、四分の四拍子を刻む。
「LaLaLaLa~」
三人の声が和音を成し、まず、Pullが成功。成功を示す青いダイオードが点滅する。続いて、同じようにFetchの歌も続いてこなすと再び点滅。
最新のソースがローカルにダウンロードされたのを確認すると、中身を確認する。
見たことのない拡張子、プログラミング言語だ。
だが、不安になったのも最初だけ、読み進めてみると、静的型付け言語、MVCモデルと類似したデザインパターン、メソッドチェーンを駆使したモダンな実装。自然言語で可読性高く命名されたメソッド名や変数名。
おおよそ、エンタープライズ向けの大規模Webシステムで採用されている保守性の高いフレームワークと大差ないもので、いくら、未知の言語と言えど、私の知見で十分解読可能なものだった。
こういったものは、統計ライブラリが豊富なおしゃれな言語で実装されていると勝手に思っていたが、案外、堅牢性や後方互換性などがものを言うのかもしれない。
資料はないのでひとまずソースコードから、情報を読み取るしかない。
ソースコードの大半は外部API魔法の呼び出しやバリデーションチェックなどに割り当てられている。この中で、私が探すべきはビジネスロジックについて書かれている中枢部だ。
それにしても、依存性の注入が多用されている。これだけ疎結合が徹底されているならば、ソースコードの更新も1行だけで済むかもしれない。
いや、ソースコードですらないかもしれない。即座に検索をかけ、設定ファイルを検索する。が、めぼしい結果はでない。そんなバカな。他に可能性があるとすると。
「ララってすごいよね。私なら、頭の中のデータベースが壊れそう。ははは」
何気ない軽口をフォルルンが叩いたのをきっかけに、点と点が結びつく。
「それだわ!」
データベースに命令を出しているスクリプト言語。そこで、計算も行われているかもしれない。
「見つけた!」
カルマポイントを算出する中間テーブルのようなものから、謎の値Dの合計を集計し、集計結果を取得するスクリプト。
これこそがカルマポイントの最終計算式の正体。
ここまで、突き詰めたところで思い悩む。合計を計算している箇所を0に置き換えたら、カルマポイントはおそらく、無に帰す。
だけど、私は。
「カルマポイントをみんなが幸せにする新指標に生まれ変わらせたい。技術は幸せにするためにある」
「ララ……」とフォルルン。
「時間はなさそうだぜ。シャープと右殺義が、セットでこっちに、向かっている。フォルテのやつは既にネットワークの外に魔法で放り出された。このままだと俺たちも」
テヌートくんの説明で状況はおおよそ飲み込めた。これ以上、ソースコードや資料の読み込みに時間はかけられなさそうだ。
手早く修正し、コミット、プッシュしてデプロイ、全世界に魔法の修正版を公開する。
そのためには、最後のパズルのピースが足りない。それは、Dの正体だ。




