横文字単語まとめ

最近仕事で横文字や専門用語がたくさん出てくるので、その内容をまとめておこうと思う。
この辺の単語は初見で内容が想像つかないので、「暗号」→「意味が分かる」程度に昇華させるのが目的

# 略語シリーズ

### CaaS
**C**ontainer **a**s-**a**-**S**erviceの略語：クラウド上で提供するコンテナを利用したサービスを指します。

https://cloud-ace.jp/column/detail323/

### BMaaS
**B**are **M**etal **a**s-**a**-**S**erviceの略語：サービスとしてのベアメタルサーバー。

### FQDN
**F**ully **Q**ualified **D**omain **N**ame（完全修飾ドメイン名）の略称。
トップレベルドメイン（TLD）までのすべてのラベルを含むドメイン名のことをいいます。

### K8s
Kubernetesのこと。

### CDC
**C**hange **D**ata **C**hapture
変更データキャプチャは、データにいつどのような変更が発生したかを追跡し、それらの変更に対応する必要がある他のシステムやサービスに警告するための実証済みのデータ統合パターンです。変更データキャプチャは、データに依存するすべてのシステム間で一貫性と機能を維持するのに役立ちます。

https://www.redhat.com/ja/topics/integration/what-is-change-data-capture

### PV
**P**ersistence **V**olume
ストレージクラスを使って管理者もしくは動的にプロビジョニングされるクラスターのストレージの一部です。

https://kubernetes.io/ja/docs/concepts/storage/persistent-volumes/

### ACL
**A**ccess **C**ontrol **L**ist
システムやファイル、ネットワーク上のリソースなどへのアクセス可否の設定をリストとして列挙したものです。

https://www.ntt.com/bizon/glossary/e-a/acl.html#:~:text=ACL%EF%BC%88Access%20Control%20List%EF%BC%89%E3%81%A8,ACL%E3%81%A8%E3%81%97%E3%81%A6%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

### QPS
**Q**ueries **P**er **S**econd
検索システムやデータベースなどが1秒間に外部からの問い合わせ（クエリ）を処理する件数。平均して1秒間に1件のクエリを処理できる速度が1QPSとなる。

https://e-words.jp/w/QPS.html

## CUI
**C**haracter **U**ser **I**nterface
すべての操作をキーボードだけで動かす画面。
例でいえばコマンドラインで動かすツールなど

https://wa3.i-3-i.info/word1373.html

## CLI
**C**ommand **L**ine **I**nterface
コマンドラインインターフェイス (CLI) は、コンピュータのオペレーティングシステムを介して操作するコマンドを入力できるテキストベースのインターフェイス。
コマンドで動かすツール。

### CUIとCLIは違うのか？
今の話だと大まかには変わらなさそう。狭義で言うと下記のように
**C**haracter **U**ser **I**nterfaceの略か、**C**ommand **L**ine **I**nterfaceの違いがあるので
コマンドライン以外の文字列ベースのインターフェースがあれば「CUI」という表現になるかもしれない。

GUIの反対としてCUIが生まれたという経緯があるらしいが、コマンドでのツールを指すなら「CLI」と呼ぶ方が誤解は少ないかも。

### EOF
**E**nd **O**f **F**ile
読んで文字の如く、ファイルの終端を示す単語。

https://wa3.i-3-i.info/word12527.html

どっちかというとこちらのエラーでEOFで出てくることを知っておいた方がいいかも

http://www.e-frontier.co.jp/support_info/faq/shade/1416.html#:~:text=EOF%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%A8%E3%81%AF%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB,%E3%81%93%E3%81%A8%E3%81%8C%E8%80%83%E3%81%88%E3%82%89%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

### PoC
Proof **o**f **C**oncept：概念実証
新たなアイデアやコンセプトの実現可能性やそれによって得られる効果などについて検証することです。これによって事前に検討したアイデア／コンセプトの実現可能性を見極め、期待した効果が得られると判断できれば実プロジェクトを進めていくという形が一般的です

https://www.ntt.com/bizon/glossary/e-p/poc.html#:~:text=PoC%EF%BC%88Proof%20of%20Concept%EF%BC%9A%E6%A6%82%E5%BF%B5,%E5%BD%A2%E3%81%8C%E4%B8%80%E8%88%AC%E7%9A%84%E3%81%A7%E3%81%99%E3%80%82

## PI（Port Id）
ポート番号。略語でPIと呼ばれることがある。

## TX（Trasmit Exchange
信号を送信する装置や機器のことを指す。

https://www.panduit.co.jp/column/naruhodo/7835/#:~:text=%E3%80%8CTX%E3%80%8D%EF%BC%9D%E9%80%81%E4%BF%A1%E7%B5%90%E6%9E%9C%E3%80%81%E9%80%81%E4%BF%A1%E6%A9%9F%E3%81%AE%E3%81%93%E3%81%A8,-%E8%87%AA%E5%AE%85%E3%81%A7%E4%BD%BF%E3%81%86&text=%E3%80%8CTX%E3%80%8D%E3%81%A8%E3%81%AF%E3%80%8CTransmit,%E6%A9%9F%E3%82%92%E8%A1%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82


## RX（Recieved Exchange
信号を受信する装置や機器のことを指す。

https://e-words.jp/w/%E3%83%AC%E3%82%B7%E3%83%BC%E3%83%90.html

## SC（Security Channel)

https://milestone-of-se.nesuke.com/sv-basic/windows-basic/secure-channel-ntlm-auth/

## CN (Common Name)
Common Name(コモンネーム)とは、SSLサーバ証明書の設定項目の一つで、SSL暗号化通信を行うサイトのURLのうち、サブドメインまでを含んだドメイン部分のこと。

https://www.ssl-store.jp/common-name%EF%BC%88%E3%82%B3%E3%83%A2%E3%83%B3%E3%83%8D%E3%83%BC%E3%83%A0%EF%BC%89%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F/

## SA (Security Association)
セキュアな通信を提供するために、2つのネットワークエンティティ間で共有セキュリティ属性を確立することである。

https://ja.wikipedia.org/wiki/Security_Association

##　疎通
色んなソフトウェアなどの通信を確立することを言う。

https://e-words.jp/w/%E7%96%8E%E9%80%9A.html#:~:text=%E9%80%9A%E4%BF%A1%E3%83%BB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%88%86%E9%87%8E%E3%81%A7%E3%81%AF%E3%80%81%E9%80%9A%E4%BF%A1,%E3%81%A6%E3%81%84%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E6%8C%87%E3%81%99%E3%80%82

## 技術シリーズ

### ソルトとは
ハッシュ化する際に解析を容易にしないために、元データ(文字列)に任意の文字列を加えてハッシュ化する手法。

https://qiita.com/YutaManaka/items/93444c803cf3087af2b5

### コンテナ
この話が出たらおよそコンテナ型の仮想化の話な気がする。

https://www.dx-digital-business-sherpa.jp/blog/containerized-virtualization#:~:text=%E4%BB%AE%E6%83%B3%E5%8C%96%E6%8A%80%E8%A1%93%E3%81%AE1,%E5%BF%85%E8%A6%81%E3%81%A8%E3%81%97%E3%81%AA%E3%81%84%E3%81%93%E3%81%A8%E3%81%A7%E3%81%99%E3%80%82

### ベアメタルサーバー
物理サーバ。

https://www.idcf.jp/words/baremetal.html#:~:text=%E7%94%A8%E8%AA%9E%E9%9B%86%EF%BD%9C%E3%83%99%E3%82%A2%E3%83%A1%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC&text=%E3%80%8C%E3%83%99%E3%82%A2%E3%83%A1%E3%82%BF%E3%83%AB%E3%80%8D%E3%81%A8%E3%81%AF%E3%80%81OS,%E3%81%A8%E3%81%84%E3%81%A3%E3%81%9F%E6%87%B8%E5%BF%B5%E3%82%82%E3%81%82%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82

### レプリケーション
「複製（レプリカ）を作ること」の意味。同じネットワーク内、もしくは遠隔地にサーバーを設置し、リアルタイムにデータをコピーする技術のこと。

https://mypage.otsuka-shokai.co.jp/contents/business-oyakudachi/words/replication.html

### べき等性（冪等性)
べき等性とは、「何回実行しても実行結果が同じ状態になる」ことを意味します。 サーバレスのプログラミングにおいて、べき等性とは、イベントの 繰り返しを識別し、データの重複、矛盾、損失を防ぐアプリケーションまたはコンポーネントの能力です。

https://www.sunnycloud.jp/column/20221110/#:~:text=%E3%81%B9%E3%81%8D%E7%AD%89%E6%80%A7%E3%81%A8%E3%81%AF,%E3%81%BE%E3%81%9F%E3%81%AF%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%AE%E8%83%BD%E5%8A%9B%E3%81%A7%E3%81%99%E3%80%82

### スレッドセーフとは
スレッドセーフ（Thread-safe）とは、マルチスレッド環境において、プログラムを複数のスレッドで並行に実行しても、問題が生じない作りであることを意味します。

https://medium-company.com/%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%82%BB%E3%83%BC%E3%83%95%E3%81%A8%E3%81%AF/#:~:text=%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E3%82%BB%E3%83%BC%E3%83%95%EF%BC%88Thread%2Dsafe%EF%BC%89,%E3%81%93%E3%81%A8%E3%82%92%E6%84%8F%E5%91%B3%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

### Kubernetes (K8s)
クバーネティス。
Kubernetes (K8s)は、デプロイやスケーリングを自動化したり、コンテナ化されたアプリケーションを管理したりするための、オープンソースのシステムです

https://kubernetes.io/ja/#:~:text=Kubernetes%20(K8s)%E3%81%AF%E3%80%81%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4,%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%82%92%E3%82%B0%E3%83%AB%E3%83%BC%E3%83%94%E3%83%B3%E3%82%B0%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

### テナント
テナントとは、CLI・API・UIなどのインターフェイスを通じて、システムへのアクセス権を持つユーザー・グループの集まりを指します。

https://techstep.hatenablog.com/entry/2020/09/06/160435

### namespace
Kubernetesの用語かも。
Namespaceとは、クラスターの分離機能のことです。また、複数のユーザーでクラスターリソースを分割する方法ともいえるでしょう。

Namespace を使うことで、Kubernetes内の環境に名前を付けて利用することができます。他の環境と分離させることができ、ユーザーによって権限を変えることも可能です。セキュリティを向上させたい、効率的に開発を進めたいという場面で利用すると効果を得られるでしょう。

https://udemy.benesse.co.jp/development/system/kubernetes.html

### 冗長化
冗長化とは、システムや設備について、性能や構成・データの内容などが同一のスペアを準備しておくことです。冗長化しておくことで、システムや設備に不測の事態があっても、運用や業務を止めることなく復旧や対応をすることができるので、損失などの影響を最小限に抑えることができます。

https://business.ntt-east.co.jp/content/cloudsolution/column-351.html#:~:text=7.%20%E3%81%BE%E3%81%A8%E3%82%81-,%E5%86%97%E9%95%B7%E5%8C%96%E3%81%A8%E3%81%AF%E3%80%81%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%84%E8%A8%AD%E5%82%99%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%81%E6%80%A7%E8%83%BD%E3%82%84,%E6%8A%91%E3%81%88%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82

## ツール
### VirtualBox
既存のOS上で、別のOSを実行するのに使う仮想環境（仮想マシン）を構築するためのオープンソースのソフトウェア。

https://www.kagoya.jp/howto/it-glossary/server/virtualbox/

### Git

### Kafka
分散化

# プログラム関連
## UUID
Universally Unique IDentifier の略であり、一意となるIDでよく利用される。

https://zenn.dev/kaorumori/articles/08ff8106300a7b

## nginx
Webサーバ、リバースプロキシ、キャッシュ、ロードバランシング、メディアストリーミングなど、多くの機能を提供するオープンソースソフトウェアである。

https://www.nginx.co.jp/

https://cn.teldevice.co.jp/column/38275/

## gunicorn
Gunicorn（Green Unicorn）は、PythonのWebアプリケーションサーバー

https://asameshicode.com/what-is-gunicorn/

## yaml
YAML は人間が判読できるデータシリアライズ言語で、設定ファイルの記述によく使用されます。YAML は Yet Another Markup Language の略語であると言う人もいれば、 YAML Ain't Markup Language (再帰的頭字語) であると言う人もいますが、これは YAML が文章ではなくデータを扱うためのものであるということを強く示しています。

https://www.redhat.com/ja/topics/automation/what-is-yaml

## openssl
ハッシュ、共通鍵暗号、公開鍵暗号、署名に関する機能を集約したソフトウェア

https://www.tohoho-web.com/ex/openssl.html

## telaterm
WindowsでPCを遠隔操作(SSHなど）するときに利用されるソフトウェア

https://wa3.i-3-i.info/word12679.html

## printenv
Linuxで環境変数を出力させるコマンド

https://atmarkit.itmedia.co.jp/ait/articles/1801/11/news008.html

## export
環境変数を設定・変数などを設定するLinuxコマンド

https://qiita.com/yaaabu51/items/5056a9ecf93c5ed95d84

## cipher_suite
暗号スイートは鍵交換アルゴリズム・鍵認証方式・サイファー・メッセージ認証符号の組み合わせのことを指すらしい。

https://developer.mozilla.org/ja/docs/Glossary/Cipher_suite

## kyber
https://www.sompocybersecurity.com/column/glossary/kyber

Kyberは格子暗号を用いた公開鍵暗号であり、幾何学的格子を用いた暗号スイート「CRYSTALS」の1つです。
Kyberは強度の高い鍵カプセル化メカニズム（key encapsulation mechanism（KEM））であり、量子コンピューティングによる解読からの耐性を提供します。

## ntru
https://www.sompocybersecurity.com/column/glossary/ntru

NTRUは1996年に開発された公開鍵暗号です。当初は開発者たちによって特許取得されていましたが、現在はオープンソースとなっています。

NTRU暗号は、暗号機能を持つNTRUEncryptionと電子署名機能を持つNTRUSignからなります。
NTRUは数学における格子（Lattice）概念を暗号プリミティブ（暗号アルゴリズムの中心）に据えた方式であり、他の公開鍵暗号（RSAなど）に比べて高速である特徴があります。

## 楕円曲線

https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography-ja-jp

https://qiita.com/unhurried/items/74af0829af2965cd7af2

## 共有鍵

https://eset-info.canon-its.jp/malware_info/term/detail/00197.html

共通鍵暗号方式とは、暗号化と復号に同じ鍵を使う暗号方式。この方式では、事前に情報をやりとりする相手と共通鍵を共有しておく必要がある。この共通鍵を安全な経路で配送することが求められるが、これは「鍵配送問題」とも呼ばれる。

## 秘密鍵
https://www.smd-am.co.jp/glossary/YST3529/#:~:text=%E5%85%AC%E9%96%8B%E9%8D%B5%E6%9A%97%E5%8F%B7%E6%96%B9%E5%BC%8F%E3%81%AB%E3%81%8A%E3%81%84%E3%81%A6,%E9%8D%B5%E3%80%8D%E3%81%A8%E5%91%BC%E3%81%B0%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

公開鍵暗号方式において、対応する公開鍵で暗号化された情報を復号する際に利用する文字列のこと。暗号資産（仮想通貨）では、その暗号資産の所有者であることを証明するデータとなっています。通常、所有者はこの文字列を秘匿することから「秘密鍵」と呼ばれます。

## 公開鍵
https://it-trend.jp/encryption/article/64-0089#chapter-1

公開鍵とは、通信を暗号化するときに使うキーのことです。公開鍵暗号方式で使われる２種類の暗号鍵の一つで、誰でも利用できるように広く公開されています

## 秘密共有値（秘密鍵共有暗号方式)

https://uquest.tktk.co.jp/embedded/learning/lecture14-2.html#:~:text=%E7%A7%98%E5%AF%86%E9%8D%B5%E5%85%B1%E6%9C%89%E6%96%B9%E5%BC%8F%E6%9A%97%E5%8F%B7,%E3%82%92%E5%BE%A9%E5%8F%B7%E5%8C%96%E3%81%97%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B%E3%80%82

## ssh接続
SSHとは「Secure Shell」を省略したキーワードで、ネットワークを介して他のコンピュータへとログインするために利用される仕組み

https://www.value-domain.com/media/ssh/

### CAとは
認証局(CA)とは、ウェブサイトやその他の独立した存在などに、デジタル証明書を発行する信頼できる組織のことです。CAは、ウェブサイトのドメインや、証明書の種類によってはウェブサイトの所有権を認証し、Chrome、Safari、Firefoxなどのウェブブラウザが信頼するTLS/SSLサーバ証明書を発行します。

https://www.digicert.com/jp/blog/what-is-a-certificate-authority

#### CA証明書

CA 証明書とは、認証局 (CA) によって発行されたデジタル証明書のことです。CA は、トラステッド・ルートのトラステッド証明書を証明します。 トラステッド・ルートは、証明書内の信頼チェーンが構成される基盤です。

CA ルートを信頼するということは、その CA によって発行されたすべての証明書を信頼するということです。CA ルートを信頼しないことを選択した場合は、Sterling B2B Integrator は、その CA によって発行されたどの証明書も信頼しません。

CA 証明書には、秘密鍵に対応する公開鍵が含まれています。CA は秘密鍵を所有しており、その CA で発行する証明書に秘密鍵を使用して署名します。トラステッド証明書を検証するには、まず CA 証明書をチェックインする必要があります。

https://www.ibm.com/docs/ja/b2b-integrator/5.2?topic=certficates-ca-certificates

### サーバー証明書
SSLサーバー証明書とは、ブラウザとWebサーバー間で通信データの暗号化を行うための電子証明書のことです。この証明書により、Webサイトがデータを安全に送受信していることを保証します。

https://www.gmo.jp/security/ciphersecurity/not-secure/blog/ssl/

### クライアント証明書

https://jp.globalsign.com/managed-pki/about_clientcert.html

クライアント証明書とは、個人や組織を認証し発行される電子証明書のことです。

SSLサーバ証明書がサーバにインストールされ、ウェブサイトの所有者の実在性を認証するのに対し、クライアント証明書は、システムやサービス、メールを利用するユーザのデバイスに証明書をインストールし、そのユーザが正規の利用者であることを認証します。いわば運転免許証やパスポートのような身分証明書を想像すると理解しやすいです。

### パスフレーズとは
パスフレーズとは、本人認証で用いるパスワードの一種です。通常のパスワードが８文字前後のところ、パスフレーズは10文字以上の単語を組み合わせた文字列で構成されているため、セキュリティが強固になります。

https://it-trend.jp/encryption/article/64-0064#:~:text=%E3%83%91%E3%82%B9%E3%83%95%E3%83%AC%E3%83%BC%E3%82%BA%E3%81%A8%E3%81%AF%E3%80%81%E6%9C%AC%E4%BA%BA,%E3%81%8C%E5%BC%B7%E5%9B%BA%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82

### 初期化ベクトル
初期化ベクトル（Initialization Vector）とは、平文ブロック暗号化アルゴリズムを初期化するための二値ベクトルです。
一般的にIVという略語で表現されます。
入力値とともに暗号アルゴリズムに入力されることで暗号処理が開始されます。
初期化ベクトルは、暗号分散を強化しセキュリティを高めるとともに、暗号機器を同期します。この値は秘密である必要はありませんが、乱数あるいは疑似乱数である必要があります。

https://www.sompocybersecurity.com/column/glossary/iv#:~:text=%E5%88%9D%E6%9C%9F%E5%8C%96%E3%83%99%E3%82%AF%E3%83%88%E3%83%AB%EF%BC%88Initialization%20Vector,%E5%87%A6%E7%90%86%E3%81%8C%E9%96%8B%E5%A7%8B%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82

## 拡張子

### .crt

CRT ファイルは ASCII 形式で、任意のテキスト エディターで開いて証明書ファイルの内容を表示できます。これは、証明書の構造を定義する X.509 認定基準に従います。 SSL 証明書に含める必要があるデータ フィールドを定義します。 CRT は、Base64 ASCII でエンコードされたファイルである証明書の PEM 形式に属します。

https://docs.fileformat.com/ja/web/crt/#:~:text=%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%81%8C%20.crt%20%E3%81%AE,%E3%81%93%E3%81%A8%E3%82%92%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82

### .csr

CSR ファイルは、公開鍵と秘密鍵のペアを使用して生成されます。セキュリティ上の理由から、秘密鍵は少なくとも 2048 ビットの長さである必要があります。

https://www.file-extension.info/ja/format/csr#google_vignette

### .pem
PEM形式（Privacy-Enhanced Mail）とは、電子メールを暗号化して送受信する「PEM」（Privacy-Enchanced Mail）規格から派生したファイル形式。デジタル証明書や暗号鍵などをBase64形式で文字列に変換して記録したテキストファイルである。

https://e-words.jp/w/PEM%E5%BD%A2%E5%BC%8F.html#:~:text=PEM%E5%BD%A2%E5%BC%8F%EF%BC%88Privacy%2DEnhanced%20Mail,%E3%81%97%E3%81%9F%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82

### .p12
.P12拡張子を持つファイルには、Public Key Cryptography Standard＃12、または略してPKCS＃12に従って暗号化されたデジタル証明書が含まれています。 P12ファイルは通常、公開鍵を転送したり他の機密データを移動したりするための移植可能な形式として使用されます

https://www.file-extension.org/ja/extensions/p12

<!--
暗号化
復号
curlのオプション
VM環境
pythonのインスタンス化
pythonのクラス、インポートの仕方
scp
sftp
/etc/hostsの存在
hostname
sudo
ssh公開鍵
fastapi
ps aux
コマンドラインのパイプ
macsecマネージャ
Ansible
サブドメイン
-->