カタカナIT用語集メモ

#DESC
descending

#ベンダーロックイン
http://e-words.jp/w/%E3%83%99%E3%83%B3%E3%83%80%E3%83%BC%E3%83%AD%E3%83%83%E3%82%AF%E3%82%A4%E3%83%B3.html
>ベンダーロックインとは、情報システムなどの中核部分に特定の企業の製品やサービスなどを組み込んだ構成にすることで、他社製品への切り替えが困難になること。



#インピーダンスミスマッチ
**整合性を取るのが難しく非効率の原因になり得るもの**

https://www.weblio.jp/content/%E3%82%A4%E3%83%B3%E3%83%94%E3%83%BC%E3%83%80%E3%83%B3%E3%82%B9%E3%83%9F%E3%82%B9%E3%83%9E%E3%83%83%E3%83%81
>インピーダンスミスマッチ
出典: フリー百科事典『ウィキペディア（Wikipedia）』 (2019/11/26 05:15 UTC 版)

>インピーダンスミスマッチとは、インピーダンスの整合ができていない状態のことである。電気電子の分野においては、エネルギーの伝送という観点からは反射や損失を発生させ、非効率の原因となるため問題にされる。理論的には、電気的なものに限らず、音波などといった媒質中を伝搬する波について全く同様の現象がある。




#エビデンス
**知見や経験値が乏しく、ある事実に対して説明できないこと**

https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%93%E3%83%87%E3%83%B3%E3%82%B9
>エビデンス
出典: フリー百科事典『ウィキペディア（Wikipedia）』
ナビゲーションに移動検索に移動
エビデンスとは、証拠・根拠、証言、形跡などを意味する英単語 "evidence" に由来する、外来の日本語。一般用語として使われることは少なく、多くは、以下に示す分野における学術用語や業界用語としてそれぞれに異なる意味合いで使われている。




#アクセシビリティー
**できる限り、ふさわしい HTML 要素をふさわしい目的に使う**

https://developer.mozilla.org/ja/docs/Learn/Accessibility/HTML
>HTML について学習を進めるのにつれて——資料をたくさん読んだり、たくさんの例を見たりするのにつれて——共通の主題を繰り返し見続けることになるでしょう。つまり、意味的な (セマンティックな) HTML を使うことの重要性という主題です (これは、POSH すなわち Plain Old Semantic HTML (簡潔な昔ながらの意味的 HTML) と呼ばれることがあります)。これが意味することは、できる限り、ふさわしい HTML 要素をふさわしい目的に使う、ということです。

>これが何故それほど重要なのか、不思議に思うかもしれません。何しろ、CSS と JavaScript の組み合わせを使って、ほぼすべての HTML 要素を、どのような仕方であれ望みどおりに振る舞わせることができるわけですから。たとえば、サイト上で動画を再生するためのコントロール・ボタンを、次のようにマークアップすることもできます。

>`<div>動画を再生する</div>`
けれども、後にさらに詳しく見るとおり、この役割にふさわしい要素を使うことには、とても意味があります。

>`<button>動画を再生する</button>`

>HTML の <button> は、ある種の適切なスタイルが (おそらくそのスタイルを上書きしたいと思うでしょうが) デフォルトで適用されているだけでなく、組み込みのキーボード・アクセシビリティも備えています。つまり、<button> 同士の間をタブで移動できますし、リターン / エンターを使って <button> をアクティブにできます。

>もしプロジェクトの最初から首尾一貫して意味的な HTML を書くならば、意味的な HTML を書く方が非意味的な (駄目な) マークアップを書くよりも長くなったりはしません。それに、意味的な HTML には、アクセシビリティ以外の他の利点もあります。




#アトミックデザイン
**デザインに一貫性をもたせることは利用者にとっても開発者にとっても必要なこと**

https://www.seleqt.net/design/atomic-design-system/
>デザインシステムをレゴのたくさん入った箱と考えることができるように、デザインシステムは「原子」と同じように考えることができます。アトミックデザインシステムの方法論では、堅牢なデザインシステムの作成と維持に関わる様々なディテールを考慮しながら、「化学的視点」を通してデザインシステムについてを説明するかなり一貫した方法を提供しています。



#シンタックスシュガー
**複雑でわかりにくい書き方と全く同じ意味になるものを、よりシンプルでわかりやすい書き方で書くことができるもの**

https://ja.wikipedia.org/wiki/%E7%B3%96%E8%A1%A3%E6%A7%8B%E6%96%87
>糖衣構文（とういこうぶん、英: syntactic sugarあるいはsyntax sugar）は、プログラミング言語において、読み書きのしやすさのために導入される書き方であり、複雑でわかりにくい書き方と全く同じ意味になるものを、よりシンプルでわかりやすい書き方で書くことができるもののことである。構文上の書き換えとして定義できるものであるとも言える[1]。

>syntactic sugarの直訳に近い構文糖（こうぶんとう）という用語も使われる。また外来語としてそのままシンタックス・シュガーとも呼ばれる。糖衣構文あるいは構文糖衣とするのは少々意訳的だがよく使われている[2]。

>語源は「取り扱いやすい」を意味するsweetの第一義が「（砂糖のように）甘い」であることから[3][4]。



#HTTP1.1とHTTP2
**HTTP1.1は冗長だが信頼できる。HTTP2は簡潔かつ高速かつ信頼できる。つまりこれからの時代HTTP2ということは疑いようもない。**

https://qiita.com/gold-kou/items/a1cc2be6045723e242eb
>ヘッダ部の削減
HTTP1.1は、ヘッダ部が大きい。その分ボディ部が小さくなってしまう。
→HTTP2は、HPACK(辞書を使った圧縮方法)でヘッダ部を圧縮する。

>ステートフル前提
HTTP1.1は、ステートレスなプロトコトル上でステートフルを振る舞うために、ステート（Cookieや独自トークンなど）のやりとりを毎回やりとりする必要がある。
→HTTP2は、ステートフルを前提としたプロトコル。HPACK圧縮によるコンテキスト(HEADERSフレームを送信)を接続全体で共有し、初回以降はヘッダ差分のみを送信をする。

>バイナリベース
HTTP1.1は、テキストベースのためヘッダ部の解析コストもかかるうえに、そのヘッダは初回通信確立時を除いて不要となるため、毎回送られても無駄になる。
→HTTP2は、バイナリベースのため煩雑なテキスト解析処理は不要になり、初回以降はヘッダ差分のみを送信をする。

>Streaming
HTTP1.1は、原則1つのTCPコネクション上で複数のHTTPリクエスト/レスポンスを並列に処理することはできない。TCPコネクションの数を増やしてもよいが、その分サーバの負担は大きくなる。
→HTTP2は、Streamingにより1つのTCPコネクションで複数のHTTPリクエスト/レスポンスを並列にやり取りできる。(Streamingのタイプ一覧はこちら)TCP接続が1つになったことにより、サーバーの負荷も低減するし、TCPの3ウェイハンドシェイクも一度だけで済む。

>つまり、すごく雑に一言でいうとHTTP/2は高速になったのである（笑）！


#IDL
https://www.weblio.jp/content/IDL?edc=BINIT
>IDL
フルスペル：Interface Definition Language
読み方：アイディーエル
別名：インターフェース定義言語
IDLとは、オブジェクト指向プログラミング言語におけるオブジェクトについて、オブジェクトを他のプログラムから利用するための接点（インターフェース）を定義するために用いられる言語のことである。

>IDLは、オブジェクト指向型の分散処理構造「CORBA」（Common Object Request Broker Architecture）のための定義言語として用意された。オブジェクトのメソッドやプロパティなどの様々なデータ型を定義するために用いられる。標準化団体のOMG（Object Management Group）によって策定されたもので、COBRAの標準化に伴って標準化されている。

#デファクトスタンダード
>事実上の標準


#イベントドリブン
http://e-words.jp/w/%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%83%89%E3%83%AA%E3%83%96%E3%83%B3.html
>イベントドリブンとは、コンピュータプログラムの開発および実行方式の一つで、利用者や外部の別のプログラムなどが引き起こす出来事に対応する形で処理を記述あるいは実行する方式。