はじめに
IT技術者をやっていてよく見るけど、雰囲気でしか意味を分かってない、ちゃんと人に説明できない言葉を整理してみました。
エラスティック (elasctic)
Amazon EC2(Elastic Compute Cloud)など、AWSのサービス名でよく見るエラスティック(elasctic
)。
英単語の意味としては「弾力のある、伸縮自在の、しなやかな」など。
クラウドの文脈では、需要に応じてリソースを動的に増減できる柔軟性(スケーラビリティ)の意味で使われている。
アドホック (ad hoc)
アドホックネットワークとか、アドホックテストとか、複数のシチュエーションで目にするアドホック(ad hoc
)。
「特定の目的のための」「限定目的の」などを意味するラテン語とのこと。
常設・常用されるものではなく、その場限りの解決策や一時的な対応を指す場合が多い。
プロプライエタリ
OSSなんかの文脈で見かけるプロプライエタリ(proprietary
)。
英単語の意味としては「所有者の」「私有の」など。
開発した企業や団体が権利を持っていて、仕様や構造について公開されていないことを指す。利用や配布についてもライセンスで制限されている場合が多い。オープンソースの対義語的に使われる。
モノリシック
アーキテクチャなどの話で見かけるモノリシック(monolithic
)。
英単語としては「一枚岩でできた」「巨大な」などの意味で、語源はmono
(1つの)とlithos
(石)を指すギリシャ語らしい。
全体が1つのモジュールとして結合していて、部分的に切り離したり交換したりすることが難しく、全体への影響を考慮しなければいけない構造のソフトウェアを指す。マイクロサービスアーキテクチャの対義語として出てくることが多い。
サロゲート
DBのサロゲートキーとか、サロゲートペア文字などで見かけるサロゲート(surrogate
)。
英単語としては「代役」「代わり」などを意味する。
前出の例で言うと、ナチュラルキーの代わりに主キーとしての意味だけを持たせるという意味での「サロゲートキー」であったり、Unicodeで表現しきれない文字を補うために、2つの16ビットコードで1つの文字を表すのが「サロゲートペア文字」みたいな感じ。