NEWREEL
Feature

いまの自分に疲れている人のための あおぞら技術用語
「ディペンデンシー・インジェクションの巻」

清水幹太 清水幹太 May 15 2018

清水幹太さんによる技術用語連載。今回は一撃で敵に20000ダメージを与える最凶の必殺技(ウソ)「ディペンデンシー・インジェクション」について。

FacebookTwitterLinePocket

攻撃力の高い技術用語たち

言葉っていうものには意図せず何らかの風情というか、単なる言葉以上の「雰囲気」がついてきてしまうことがある。そもそも何の風情もまとっていない言葉というものはないのかもしれない。

たとえば、有名な例だと「安中榛名」だ。安中榛名は、1997年に設置された群馬県にある北陸新幹線の駅で、「あんなかはるな」と読むわけだが、駅としてはそんなに大きくはないしメジャーな存在ではない。しかし、「美少女っぽい駅名」ということでなぜか有名だ。ここには説明しても仕方ないものがある。何しろ「安中榛名」だ。「安中榛名」という名前を口ずさむだけで、なんだかシトラス・フローラルの香りがする。新築のリハウスに引っ越してきてもバチが当たらない名前であることには多くの読者に異存のないところではあると思う。私などは、中高を保健の先生しか女性が存在しない男子校で過ごしたので、忸怩たる思いを禁じ得ない。
この連載で扱っている技術用語にも、安中榛名が美少女っぽい名前であるように、いろいろな風情をまとっているものがある。


そんな中にも傾向というものはある。技術用語は横文字が多く、声に出すだけでちょっとかっこいいものが多いのだ。それはつまりどういうことかというと、技術用語には、なんか必殺技っぽいものが多いのである。

「クロスサイト・リクエスト・フォージェリっっ!」

といきなり叫んでみると、何か脳波とかそういうニュータイプっぽい何かでコントロールした浮いている物体から一斉にレーザーが発射されるような感じもするが、クロスサイト・リクエスト・フォージェリというのは、必殺技ではなく技術用語で、ネットワークの脆弱性の一種だ。しかし、どこかのサーバとかウェブサイトとかを攻撃するための手段みたいなものではあるので、やや必殺技に近い攻撃性を持ったフレーズではある。最後の「フォージェリ」というのがなんか英語っぽくなくて、何ともいえないエキゾチックでミステリアスな感じを醸し出している。

「プロヴィジョニング・プロファイル・・・!!」

などは、「プロファイル」という言葉の先入観もあって、攻撃系というよりは、戦闘補助系の必殺技であろうと思う。左目を掌で覆うと、右目からホログラムみたいのが投射されて目の前の敵をスキャンし、相手の弱点や属性を解析する。一度手に入れると手放せない必殺技だ。
しかし、プロヴィジョニング・プロファイルはiPhoneとかのiOSアプリの実機テストや公開データをつくるときに必要な、端末の情報とかアプリのIDとかいろんな情報が入ったデータのことだ。
みたいな調子で、必殺技っぽい技術用語は攻撃系・防御系・戦闘補助系といろいろある。

今回のテーマとして扱いたいのは、その中でも最強の殺傷能力を誇る必殺技だ。弱かった主人公が修業の後に会得した新しい必殺技の名前にもなりうるし、スター・ウォーズの皇帝とかが指から発射するガビガビの電撃みたいなものにこの名前をつけても良いのかもしれない。

その最強の必殺技(っぽい技術用語)が、「ディペンデンシー・インジェクション」だ。

今回は、このただただかっこいい、謎の攻撃性を持った言葉について解説してみたいと思う。

と言ってはみたものの、これはなかなかに大変な作業だ。なぜかというとそれは、この「ディペンデンシー・インジェクション」がそこそこ専門性が高い言葉で、何の予備知識もない読者にわかりやすく説明するのがかなり難しい概念だからだ。
どういう専門用語なのかというと、これはいわゆる「プログラム用語」なのだ。

ソフトウェアはどうやってできているのか

プログラム用語を説明するということは、当然ながらプログラムとは何なのかを説明しなくてはならない。プログラムというものにはそこそこ長い歴史もある。多くの人が時間をかけて作り上げてきた深遠で大きな概念だ。そんなものを本稿で簡単に説明ができるのか、というとそれは難しい話なので、今回は、「ディペンデンシー・インジェクション」が何なのかを理解してもらうだけのために、細かい話や深遠な話はしない。

というわけで、すごく端折った説明にチャレンジしてみる。

いわゆる「ソフトウェア」というのはいろんなプログラムが組み合わさったものである。会社みたいなものだと思うといい。
たとえば、電化製品メーカーを1つのソフトウェアとして考える。つまり、起動すると商品を企画して必要な材料を集めて製品をつくって売る、みたいなソフトであると考える。
会社の中にはいろんな部署がある。いろいろ決める役員会みたいのがあって、企画部とか開発部とか人事部とか経理部とか、役割によっていろんな部署が仕事をしている。もちろん会社によってこういう構造は違ったりするものだが、企画部の人間からすると、経理部というのはたとえば、請求書の発行に必要な情報を送ると、それをつくって取引先に送っておいてくれる存在だ。
そういう具体的な「機能」は知っていても、企画部の人間は経理部の人間が具体的にどういう作業や苦労をしてその機能を提供しているのかは、もともとその部署から異動してきたような人でもない限りなかなか見えないものだ。
逆も然りで、経理部の人間は企画部の人間がやっていることを具体的には見えていない、ということがある。

多くのソフトウェアはそういう「部署」が集まってできているのだ。
投稿された顔写真にヒゲが自動的に付いて、それをTwitterに投稿できるソフトウェアがあったとする。そういう場合、「投稿されてきた写真が顔写真かどうか判定する部」とか「顔写真にヒゲを付けて合成する部」とか「画像をTwitterに投稿する部」みたいに、処理ごとに分けてプログラムを書いて合体して1つのソフトウェアに仕上げる、という感じでつくるのが普通だ。

なんでそんなふうにするのかというと、つくっててわけがわからなくなるからだ。会社の話に戻って想像すると、企画部とか人事部とかが部署に分かれていなくて、各々の社員が適当に企画をしたり人事をやってみたり、というようなことをしたら誰がどこで何をやっているのかわからなくなってしまうし、構造も複雑になってしまうからミスや事故が多くなってしまう。
プログラムの話で言うと、バグやエラーが出やすくなってしまう。
なので、機能ごとにまとめて、分けてプログラムを書く。ソフトウェアというのはそんな感じでできている。

ただ、プログラムというのは適当に書いていると、変更が入ったりすることがある。

「投稿された顔写真にヒゲが自動的に付いて、それをTwitterに投稿できるソフトウェア」に戻ると、突然プロジェクトの偉い人の気が変わって、「いやこれヒゲじゃなくってメガネにしようよ」という変更が入ったりすることがある。
もともとのプログラムには、「投稿されてきた写真が顔写真かどうか判定する部」とか「顔写真にヒゲを付けて合成する部」とか「画像をTwitterに投稿する部」があったわけだが、この変更が入ったことで、「顔写真にヒゲを付けて合成する部」を「顔写真にメガネを付けて合成する部」に改編しなければならなくなる。
というわけで、がんばって改編して「顔写真にメガネを付けて合成する部」ができた。
ところが翌日また偉い人の気が変わって、「メガネいまいちだから、サングラスにしよう」と言い出すことがある。
そうするとまた改編だ。「顔写真にメガネを付けて合成する部」は一日で解散して、「顔写真にサングラスを付けて合成する部」の立ち上げだ。
これはなんていうかすごい面倒な感じがする。
何かつくっているとこういうことが起こってしまうので、それに備えてもっと賢い方法を考えなくてはならない。さもないと毎日無茶な注文に対応して徹夜だ。働き方改革なんて夢のまた夢。プレミアムフライデーなんて貴族の寝言だ。

というわけで、こういう場合、「顔写真にヒゲを付けて合成する部」を「顔写真に●●を付けて合成する部」に改変するのが良かったりする。もっと言うと、顔写真に限定せずに「▲▲に●●を付けて合成する部」をつくるのが一番いい。何に対しても何でも合成できる仕組みをつくっておいて、「ヒゲをくっつけて!」とか「尻の写真にくっつけて!」とかいろんな要望に対応できる、「何」でも「どこ」にでも合成できる部をつくれば良いのだ。つまり、プログラムをそういうふうに書いておけば良いのだ。こうしておけば、いちいち部を改編しなくてもいい。夢のプレミアムフライデーだ。

思えば、そもそも会社における「経理部」というのがいろいろな要望に対応できるようになっている。会社の中に「A社への請求書を発行する経理部」と「B社への請求書を発行する経理部」と「A社への見積もり書を発行する経理部」と「B社への見積もり書を発行する経理部」みたいのが全部あったら、効率が悪いしわけがわからなくなってしまう。なので、「▲▲への●●を発行する経理部」、つまり、いろいろ対応できる経理部という機能ができるのだ。

自由への必殺技

そして驚くことなかれ。実はこれが、一撃20000ダメージ、最凶の必殺技である「ディペンデンシー・インジェクション」なのだ。
ディペンデンシー・インジェクション、日本語で言うと「依存性の注入」ということになる。「え? 依存性? 注入?」と思われると思うが、こういうことだ。

上述の「顔写真にヒゲを付けて合成する部」というのは、依存性がある。依存性があると言っても、どうしてもみんなタバコがやめられない、とかそういうことではなくて、「顔写真」と「ヒゲ」という条件に依存しているのだ。依存しているから「顔写真にヒゲ」じゃないと処理できない。
これは前述の通り、あとあと面倒くさいことにもなるので良くない。依存しているのは良くないのだ。特定のことしかできなくなってしまって柔軟性もないし、いろんなところで使えない。
だから、「▲▲に●●を付けて合成する部」みたいな感じで、▲▲とか●●とか、「顔写真にヒゲ」にあたる部分、「依存部分」を部の外から注入できるようにして、いろいろできる部署に変える。「依存部分」を外から「注入」するから「依存性の注入」、つまり「ディペンデンシー・インジェクション」ということになる。なんていうか、構造改革なのだ。いろんなものを効率よく柔軟に動かすために必要な考え方がディペンデンシー・インジェクション。

これは技術用語だが、日常生活のいろんな局面でもポジティブな言葉として使えそうな気もする。「俺は昼飯はそばしか食わないんだ」という人に、「加藤さん、たまにはディペンデンシー・インジェクションしてみたら?」と言ってうどん屋に連れて行ったら、加藤さんはそばにこだわっていた小さい自分を反省していろいろなランチを楽しめるようになるかもしれない。
「あたしは茂くんじゃないとダメなの」という女性が、ディペンデンシー・インジェクションすることで、茂くんと育んだのとは違う愛の形を知ることができるかもしれない。

何か小さいことにこだわって、自分の可能性を狭めている読者がいたら、そっと「ディペンデンシー・インジェクション」と呟いて、自分を縛るこだわりから自由になってみると良いかもしれない。
ディペンデンシー・インジェクションは、最凶の必殺技ではなく、そんなニッチな世界のマイナーな技術用語だ。しかし、ディペンデンシー・インジェクションは、もしかしたらあなたの可能性を拡張してくれる、魔法の必殺技なのかもしれない。

(マンガイラスト・ロビン西 /協力・S2ファクトリー

清水幹太

バーテンやトロンボーン吹き、デザイナーを経て、ニューヨークをベースにテクニカルディレクターをやっている。

BASSDRUM( http://bassdrum.org