web英単語集

# はじめに

web界隈で、最近よく見かけるわかりにくい英単語をまとめた。

# Term

## Affinity

親密さ。語源は婚姻関係を意味するラテン語のaffinitatem。

出典：[英語語源辞典][]

用例

> コンテナを配置する際には、「ディスクI/Oが多い」「特定のコンテナとの通信が多い」といったようなワークロードの種類や、「ディスクがSSD」「CPUのクロック数が高い」といったような Dockerホストの種類によって、affinityやanti-affinityを意識したスケジューリングを行うことも可能です。

出典： [なぜKubernetesが必要なのか？](https://thinkit.co.jp/article/13289)

> コンテナ間を”引き寄せて” を作成するのに、–affinity:<フィルタ> を使うことができます（訳者注：affinity とは親密さの意味）。例えば、あるコンテナを実行したとします。

出典： [Docker-docs-ja](http://docs.docker.jp/v1.9/swarm/scheduler/filter.html#constraint-filter)

## Affordance

アフォーダンス。

> アフォーダンスとは、環境のさまざまな要素が人間や動物に影響を与え、感情や動作が生まれることです。アメリカの知覚心理学者ジェームズ・J・ギブソンが、「与える、提供する」という意味の英単語「afford」から作った造語で、主に生態光学や生態心理学に分野で使われています。

出典：[アフォーダンス - ferret](https://ferret-plus.com/words/923)

## Agnostic

非依存。

> unaware or noncommittal regarding the specific nature of the components or input with which it interacts.

(コンポーネントの特定の性質や作用する入力について、関心がないこと。無関心。無関係。)

出典：[agnostic - Wiktionary](https://en.wiktionary.org/wiki/agnostic)

Agnosticは、しばしば非依存(Independent)と訳される。しかし、`unaware or noncommittal`と説明されているように、厳密には非依存より無関心や無関係と訳したほうがニュアンスが近い。

例文

> *The socket communications layer is **agnostic** with regard to its underlying transport mechanism -- it is “transport-**agnostic**”.*

(ソケット通信層はその基礎となるトランスポートメカニズムにとらわれない -- それを"transport-agnostic"と呼ぶ。)

出典：[agnostic - Wiktionary](https://en.wiktionary.org/wiki/agnostic)

用例

> Standard Containers are CONTENT-AGNOSTIC: all standard operations have the same effect regardless of the contents. They are started in the same way whether they contain a postgres database, a php application with its dependencies and application server, or Java build artifacts.

（標準コンテナはコンテンツ非依存：すべての標準操作は、コンテンツに関係なく同じ効果がある。postgresデータベース、依存関係とアプリケーションサーバーを含むphpアプリケーション、Javaビルドアーティファクトの何を含んでいるか否かにかかわらず、同じように起動される。）

出典：[Open Container Initiative Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/master/principles.md#2-content-agnostic)

## Aspect

側面。

> An **aspect** of a program is a [feature](https://en.wikipedia.org/wiki/Software_feature) linked to many other parts of the program, but which is not related to the program's primary function.

(プログラムの**aspect**とは、プログラムの多くの部分に関連するが、主要機能とは関係ない[feature](https://en.wikipedia.org/wiki/Software_feature)のことである。)

出典：[Aspect (computer programming) - Wikipedia](https://en.wikipedia.org/wiki/Aspect_(computer_programming))

aspectは、機能やアーキテクチャのレイヤーの縦構造を横断(cross-cut)するという意味で側面である。

用例

> An aspect is the part of the application which cross-cuts the core concerns of multiple objects.

出典：[Aspect-Oriented Programming - Flow Framework](https://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartIII/AspectOrientedProgramming.html)

## Baked-in

内臓の。

## Breaking Change

破壊的変更。

後方互換性のない変更のこと。互換性を破壊するという意味で破壊的。

## Closure

> クロージャは、関数と、その関数が宣言されたレキシカル環境の組み合わせです。

出典：[クロージャ - MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Closures)

## Concept

概念。

## Concern

関心。

> 4. (*[programming](https://en.wiktionary.org/wiki/programming#Noun)*) Any set of [information](https://en.wiktionary.org/wiki/information) that affects the [code](https://en.wiktionary.org/wiki/code) of a [computer program](https://en.wiktionary.org/wiki/computer_program).

（コンピュータ・プログラムのコードに影響を与える何がしかの情報の集合）

出典：[concern - wikitionary](https://en.wiktionary.org/wiki/concern)

concernとは、心をひかれることや気にかけていること(a matter of interest to someone)を指す。転じて、プログラマが気にかけているコードに影響を与える何がしかの情報の集合をconcernと呼ぶようになった。

用例

> 「関心の分離」を意味する英語「separation of concerns」は、[エドガー・W・ダイクストラ](https://ja.wikipedia.org/wiki/エドガー・ダイクストラ)が[1974年](https://ja.wikipedia.org/wiki/1974年)に論文「On the role of scientific thought」（[Dijkstra 1974](https://ja.wikipedia.org/wiki/関心の分離#CITEREFDijkstra1974): 科学思想の役割）で初めて使用したとされている。

出典：[関心の分離 - Wikipedia](https://ja.wikipedia.org/wiki/関心の分離)

## Context

> **コンテキスト**とは、文脈、前後関係、事情、背景、状況などの意味を持つ英単語。ITの分野では、利用者の意図や状況、環境などの総体を表したり、同じ処理や記述でも状況に応じて動作などが異なる場合に、その選択基準となる判断材料や条件などを指す場合が多い。

出典：[e-words][]

## Contract

契約。

> An [agreement](https://en.wiktionary.org/wiki/agreement) between two or more parties, to perform a specific [job](https://en.wiktionary.org/wiki/job) or [work](https://en.wiktionary.org/wiki/work) order, often [temporary](https://en.wiktionary.org/wiki/temporary) or of fixed [duration](https://en.wiktionary.org/wiki/duration) and usually governed by a written agreement. quotations

出典：[contract - Wiktionary](https://en.wiktionary.org/wiki/contract#Noun)

contract は、複数の当事者(party)間で、何かの仕事(a specific job or work order)について約束すること。

「何かの仕事について約束する」とは、例えばどんなものがあるか。

例文を挙げる。

> A service contract specifies:
>
> - What are the inputs and the outputs of/from the service?
> - What is the URL at which the service is available?
> - How do you send authorization?

出典：[Designing a REST API — What Is Contract First?](https://dzone.com/articles/designing-rest-api-what-is-contract-first)

この例では、「サービス・コントラクトはサービスの入出力、URL、認証方法などを特定すること」と定義している。つまり、「入出力、URL、認証方法」が何かの仕事であり、「特定する」が「約束する」ことを意味する。

## Convention

規約、規則。

> A [practice](https://en.wiktionary.org/wiki/practice) or [procedure](https://en.wiktionary.org/wiki/procedure) widely observed in a group, especially to facilitate social [interaction](https://en.wiktionary.org/wiki/interaction); a custom. quotations

出典：[convention - Wiktionary](https://en.wiktionary.org/wiki/convention)

用例：命名規則(naming convention)

しばしば規約、規則と訳される。しかし、ニュアンスとしては慣習のほうが近いか。

## Choreography

コレオグラフィ。

> コレオグラフィは「踊ること」と「書くこと」を意味する二つのギリシア語に端を発する言葉であり、その意味において、踊りを記譜することである。

出典：[コレオグラフィ | 現代美術用語辞典ver.2.0 - アートスケープ](https://artscape.jp/artword/index.php/コレオグラフィ)

用例

> ある業務で一連のサービス（特定の業務を処理するプログラム）を連結させて全体の処理を行う方式に、オーケストレーション（Orchestration）とコレオグラフィ（Choreography）があります。
>
> （中略）
>
> 演劇や踊りで演技者に予め振り付けが行われるように、個々のサービスに予め動作条件や次にどのサービスを起動させるかといった設定が与えられており、それに従って、各サービスが自律的に動作する方式です。

出典：[【図解】コレ１枚でわかるオーケストレーションとコレオグラフィ](https://blogs.itmedia.co.jp/itsolutionjuku/2019/08/post_729.html)

オーケストレーションと対比的に用いられる。ギークたちもネタ切れ？なのか音楽用語を持ち出してきている。

## Dependability

信頼性。他から見て依存できる(depend on)能力。

信頼性を意味する単語は3つある。信頼性工学の分野では使い分けられているらしい。

- [Reliability](#reliability)
- [Trustworthiness](#trustworthiness)
- [Dependability](#dependability)

## Dependency

依存関係。

垂れ下がる、頼るなどを意味するラテン語のdependereが語源。

出典：[英語語源辞典][]

対義語は In-dependency だが、Web界隈で使われることは殆ど無い。代わりに形容詞の [Agnostic](#agnostic) が最近使われるようになった。

## Description

説明書き。

語源はラテン語の scribere (書く)。

元来は記述を意味する単語だが、web界隈だと explanation (説明) に近い意味合いでよく使われる。

似ている語として Definition (定義) もある。Descriptionは自然言語による文を指すことが多く、Definition は 文、図、表、スクリプトなどを組み合わせた文章を指すことが多い。

用例

>
| Field Name | Type | Description |
|:--|:--|:--|
| description | string | A short description of the API. CommonMark syntax MAY be used for rich text representation. |

出典：https://swagger.io/specification/

## Directive

指導。命令。

語源は、ラテン語のdirectus (整理する、真っ直ぐに矯正する)。

出典：[英語語源辞典][]

Directive は単なる命令というより、何か正しい方向に導く、指導する、矯正する、教導するという意味がある。

宣言型言語において、手続き型言語の関数に相当する概念を Directive と呼ぶことがある。

用例

> ディレクティブは、プログラミングにおいてコマンドのような意味で使われる用語で、nginx.confの設定項目です。
モジュールは、システムなどを構成する機能的なまとまりで、nginx.confのディレクティブの集まりです。

出典：https://qiita.com/riita10069/items/5d36dfeb756e3b6c4978

## Doer

実践家のこと。Thinkerの対義語。

## Domain

ドメイン。元は領地を示し、転じて学問、思想等の領域を指す。

出典：[英語語源辞典][]

## Edge

端末。末端。

Edge computingなどと用いられる。

## Elastic

弾力性。伸縮自在な。

スケールアウトに特化した拡張性のニュアンス。

## Enabler

Frank Burkittが[A Strategist’s Guide to the Internet of Things](https://www.strategy-business.com/article/00294?pg=all)で提唱したIoTのステークホルダー類型の１つ。
以下の3つの類型がある。

- Enablers：基盤となるテクノロジーを開発および実装する
- Engagers：IoTサービスを設計、作成、統合、および顧客に提供する
- Enhancers：Engagerが提供するサービスに加えて、モノのインターネットに固有の独自の付加価値サービスを考案する

## End point

[Entry point](#entry-point)の逆。

モジュールAが、モジュールBのメソッドCを呼び出すとき、メソッドCはモジュールBにとっての end point であり、モジュールAにとっての entry point である。

## Engager

Frank Burkittが[A Strategist’s Guide to the Internet of Things](https://www.strategy-business.com/article/00294?pg=all)で提唱したIoTのステークホルダー類型の１つ。
以下の3つの類型がある。

- Enablers：基盤となるテクノロジーを開発および実装する
- Engagers：IoTサービスを設計、作成、統合、および顧客に提供する
- Enhancers：Engagerが提供するサービスに加えて、モノのインターネットに固有の独自の付加価値サービスを考案する

## Enhancer

Frank Burkittが[A Strategist’s Guide to the Internet of Things](https://www.strategy-business.com/article/00294?pg=all)で提唱したIoTのステークホルダー類型の１つ。
以下の3つの類型がある。

- Enablers：基盤となるテクノロジーを開発および実装する
- Engagers：IoTサービスを設計、作成、統合、および顧客に提供する
- Enhancers：Engagerが提供するサービスに加えて、モノのインターネットに固有の独自の付加価値サービスを考案する

## Enterprise

> エンタープライズという用語は大規模ビジネス、または任務に関与する組織を指し、事業そのものではなく、事業を行う要素に使われる。

出典: [LATTANZE, Anthony J.; 橘高; 陸夫. アーキテクチャ中心設計手法. 2011.][ACDM]

## Entity

> **エンティティ**とは、実体、存在、実在（物）、本質、本体などの意味を持つ英単語。ITの分野では、何らかの標識や[識別名](http://e-words.jp/w/識別子.html)、所在情報によって指し示される、独立した[一意](http://e-words.jp/w/ユニーク.html)の対象物をエンティティということが多い。

出典：[エンティティとは - IT用語辞典 e-Words](http://e-words.jp/w/エンティティ.html)

## Entry point

[End point](#end-point)の逆。

モジュールAが、モジュールBのメソッドCを呼び出すとき、メソッドCはモジュールBにとっての end point であり、モジュールAにとっての entry point である。

## Error

異常。

[Success](#success) の逆。

## Exploit

手柄、功績。転じて、脆弱性を利用したソースコードのこと。エクスプロイトコードのこと。

出典 : [エクスプロイト - Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%97%E3%83%AD%E3%82%A4%E3%83%88)

## Fail

失敗。

[Success](#success) と [Error](#error) のどちらでもない状態や値。

## Feature

特徴、特性。

featureの語源は、ラテン語のfacturam(作られたもの)。転じて、古仏語では姿、形などを意味した。つまり、featureは内面的でなく外見的な性質を指すことに注意したい。

出典：[英語語源辞典][]

> The [Institute of Electrical and Electronics Engineers](https://en.wikipedia.org/wiki/Institute_of_Electrical_and_Electronics_Engineers) defines the term *feature* in [IEEE 829](https://en.wikipedia.org/wiki/IEEE_829) as "A distinguishing characteristic of a software item (e.g., performance, portability, or functionality)."

IEEE829では、ソフトウェアアイテムの識別特性(例えば、性能、可搬性または機能性等)

出典：[Software feature - Wikipedia](https://en.wikipedia.org/wiki/Software_feature)

## Fragment

何かのデータの部分集合を指す。

用例

> Every URI query parameter or fragment **MUST** follow the General Rules.

出典：[adidas API Guidelines](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/evolution/naming-conventions#general-naming-rules)

## Hardened

堅固な。強固な。

セキュリティの観点で堅固なことを意味する。

## Head

画面等。

画面表示しないブラウザをHeadless browserという。

## Idempotence

冪等性。

> 冪等性(べきとうせい、idempotency, idempotence)とは、**同じ操作を何度繰り返しても、同じ結果が得られる**という性質です。冪等性がある操作(idempotent operation)は、1回操作した場合の結果と、2回以上操作した場合の結果は同じになります。

出典：[冪等性とは「同じ操作を何度繰り返しても、同じ結果が得られる性質」のこと](https://qiita.com/suin/items/316cb8aaf8dfcf11abae)

## Identity

ID、識別子。

何かを識別する符号。

## Immutable

不変。

用例

> イミュータブル (英: immutable) なオブジェクトとは、作成後にその状態を変えることのできないオブジェクトのことである。対義語はミュータブル (英: mutable) なオブジェクトで、作成後も状態を変えることができる。

出典： [Wikipedia][]

## Ingress

入場。

システムへの入場管理をIngress Controllerという。

Gatewayだと受動的な入退場の門というイメージだが、Ingress Controllerだと能動的に入場経路を振り分けているイメージ。
Reverse Proxyに近いイメージ。

用例

> Ingress
An API object that manages external access to the services in a cluster, typically HTTP.

https://kubernetes.io/docs/concepts/services-networking/ingress/

## Injection

注入。

## Intent

意図。

用例

> Android アプリ開発をしている人であれば、IntentというとActivityやServiceを起動する仕組みを思い浮かべるかもしれませんが、Dialogflowにおいては「ユーザーがやりたい事全体」を指すものになります。
> Android開発者にとって紛らわしい名前がついているのはAlexa Skilの名称に合わせてきたのが理由かと思います。

出典：<https://qiita.com/kenz_firespeed/items/0979ceb05e4e3299f313>

## Invariant

不変条件。 in(否定) + variant(変形)。

> 不変条件（英: invariant）とは、コンピュータプログラムの理論における用語で、ある処理の間、その真理値が真のまま変化しない述語 (predicate) であり、その処理シーケンスに対して不変であるという。

出典： [Wikipedia][]

## Invoke

呼び出す。 [call](#call)と同義。

## Lexical Scope

静的な[Scope](#scope)

> **静的スコープ**（せいてきスコープ、[英](https://ja.wikipedia.org/wiki/英語): static scope）とは、[プログラミング言語](https://ja.wikipedia.org/wiki/プログラミング言語)における[スコープ](https://ja.wikipedia.org/wiki/スコープ)の一種。字句のみから決定できるため、字句スコープまたはレキシカルスコープ (lexical scope) ともいう[[1\]](https://ja.wikipedia.org/wiki/静的スコープ#cite_note-1)。

出典： [Wikipedia][]

## Manifest

証拠。

Java,DockerなどでManifestファイルというものがある。それぞれまったくちがうファイルだが、言語の形式が宣言型であること、内容が制約や規則を記述していることが共通している。

用例

> JARファイル・マニフェストは、メイン・セクションと各JARファイル・エントリの複数の個別セクションで構成され、それぞれ改行文字で区切られています。メイン・セクションおよび個別セクションは、すでに説明したセクションの構文に準拠しています。各セクションには、固有の制約と規則があります。

出典： [JARファイルの仕様](https://docs.oracle.com/javase/jp/8/docs/technotes/guides/jar/jar.html#JAR_Manifest)

## Mixin

> mixin は、その[メソッド](https://developer.mozilla.org/ja/docs/Glossary/method)や[プロパティ](https://developer.mozilla.org/ja/docs/Glossary/property)の一部またはすべてが実装されていない[クラス](https://developer.mozilla.org/ja/docs/Glossary/class)または[インターフェイス](https://developer.mozilla.org/ja/docs/Glossary/interface)であり、別のクラスまたはインターフェイスが欠落している実装を提供する必要があります。 新しいクラスまたはインターフェイスには、mixin のプロパティとメソッドと、それ自身で定義したプロパティとメソッドの両方が含まれます。 mixin が実装しているか、mixin を実装しているインターフェイスまたはクラスが実装しているかにかかわらず、すべてのメソッドとプロパティは全く同じように使用できます。

出典：[MDN Web Docs 用語集][]

## Narrative

物語。流れ。話。

日本だと、ストーリー(story)やエピソード(episode)に近い意味合い。

## Native

生来の。

用例

- Cloud Native
- Digital Native

## Negotiation

ネゴシエーション。交渉。

通信業界の用語。httpのプロトコルの説明等で用いられる。

用例

> ネゴシエーションとは、交渉、折衝という意味の英単語で、通信の分野では二者間で接続を開始する際にどのような設定で通信を行うかについて情報を交換し、決定する過程を指す。

出典：[e-words][]

## Resource

> **リソース**とは、資源、資産、資料、供給源などの意味を持つ英単語。目的を達するために役立つ、あるいは必要となる要素のこと。ビジネス分野で人材・物資・資金をまとめて指す用例のように、異なる種類の要素を包括的、総称的に表す用語としてよく用いられる。

出典：[e-words][]

## Perspective

見通し、視点。 

ラテン語のperspicere(xxを通じてみる)が語源。

用例

> パースペクティブとは、eclipse ワークベンチのビューの初期セットとメニューバー・ツールバーを含めたレイアウトを定義したものです。各パースペクティブは、特定のタスクや作業を実行することを目的としています。例えば、Java パースペクティブは、ソースコードを編集する際に共通的に使用されるビューを組み合わせたもので、デバッグ・パースペクティブには、Java プログラムをデバッグする際に使用されるビューが含まれています。ビューについては別節の「 エディターとビュー」を参照してください。

出典：http://www.hot-surprise.org/IntroEclipse/Operation/N01/4_1.html

perspectiveは、任意の複数の[view](#view)を選び、任意のlayoutで表示したものを指す。

## Plain

### TBD

## Protocol

プロトコル。規約、規定。

Protocolは元来、議定書や外交儀礼を意味する外交・法律用語。転じて、何かの処理の手続きや命令を整理した文書もプロトコルと呼ぶ。

## Query

クエリ。問い合わせ。

> クエリ とは データベース管理システムに対する問合せ（処理要求）のこと。 データの抽出や更新などの処理要求を文字列で表す。 処理対象のテーブルやデータの抽出条件、並べ方などを指定する。

出典：[クエリとは - 意味の解説｜ITトレンドのIT用語集](https://it-trend.jp/words/query)

## Reliability

信頼性。他から見て頼ったり依拠(rely on)できる能力。

信頼性を意味する単語は3つある。信頼性工学の分野では使い分けられているらしい。

- [Reliability](#reliability)
- [Trustworthiness](#trustworthiness)
- [Dependability](#dependability)

## Remediation

修復。

主にセキュリティ対策の文脈で使われる。

## Replicable

複製可能な。

## Resilience

はね返り。弾力性。

出典:[英語語源辞典][]

あるいは、強靭性とも。

> ｢この多様性こそが強靭性（レジリエンス）を生む｣
> 出典: https://www.businessinsider.jp/post-221175

あるいは、抗たん性とも。

> 米国では「宇宙領域における任務保証（Space Domain Mission Assurance）」の定義の中で、「抗たん性（Resilience）」を、「防御活動（Defensive Operation）」及び「機能回復（Reconstitution）」と並ぶ、「任務保証」の構成要素として定義している。
> 出典: https://www8.cao.go.jp/space/comittee/27-anpo/anpo-dai17/shiryou3.pdf

## Responsibility

責務。

Response (応答)するability (能力、権限)のこと。

## Scope

> スコープとは、領域、範囲などの意味を持つ英単語で、プログラミングの分野ではプログラム中で変数名などのシンボルが参照可能な有効範囲のことを指す。

出典：[スコープとは - IT用語辞典 e-Words](http://e-words.jp/w/スコープ.html)

以下の3分類、5種類のScopeがある。

- Global/Local Scope
- [Lexical Scope](#lexical-scope)
- Static/Dynamic Scope

## Semantics

> プログラミングでは、**セマンティクス**とは、コードの断片の*意味*を指します。たとえば、「JavaScript でその行を実行すると、どのような効果があるのか？」、「その HTML 要素には、どのような目的や役割があるのか？」 (「どのように見えるのか？」ではなく)。

出典：[MDN Web Docs 用語集][]

## System

### TBD

> 「第二次世界大戦までは生活はシンプルだった。その後はシステムを持ってしまった」という格言をよく引用したグレイスホッパー海軍少将に、システム工学の時代は特長付けられる。

出典: [LATTANZE, Anthony J.; 橘高; 陸夫. アーキテクチャ中心設計手法. 2011.][ACDM]

## Thinker

思索家のこと。Doerの対義語。

## Trustworthiness

信頼性。他から見て信頼する(trust)価値のある(worth)能力。

信頼性を意味する単語は3つある。信頼性工学の分野では使い分けられているらしい。

- [Reliability](#reliability)
- [Trustworthiness](#trustworthiness)
- [Dependability](#dependability)

## Umbrella

包括的。

用例は少なく、訳例も見当たらない。包括的と訳すべきか。

用例

> Spring Cloud Contract is an umbrella project holding solutions that help users in successfully implementing the Consumer Driven Contracts approach. Currently Spring Cloud Contract consists of the Spring Cloud Contract Verifier project.

出典：[spring-cloud-contract#overview](https://spring.io/projects/spring-cloud-contract#overview)

## Well-xxx

- well-defined
- well-constructed
- well-known : よく知られた
  例) well-known port

[e-words]: http://e-words.jp/
[英語語源辞典]: https://amzn.to/3f3rSyr
[Wikipedia]: https://ja.wikipedia.org
[MDN Web Docs 用語集]: https://developer.mozilla.org/ja/docs/Glossary
[ACDM]: https://amzn.to/31FpGJb "LATTANZE, Anthony J.; 橘高; 陸夫. アーキテクチャ中心設計手法. 2011."