エンジニアリングの星図 — システムエンジニアリングの語彙を、系譜として辿る
何かを理解するために、先にどの語彙を知っておくとよいのか。235の語彙を、前提知識の系譜でつないだ星図です。 上の星をたどるほか、下の一覧からも各語彙の解説へ進めます。
基礎
- 2進数0と1の2種類の数字で数を表す方法。コンピュータのすべての情報表現の土台。
- OSハードウェアを管理して使いやすい抽象に変え、アプリケーションに実行環境を提供する基盤ソフトウェア。
- アルゴリズム問題を解くための明確な手順。同じ問題でも手順の選び方で計算の速さが桁違いに変わる。
- シェルコマンドでOSに仕事を頼む対話環境。プロセスの起動と、パイプで小さな道具をつなぐことが本質。
- データ構造データの並べ方・つなぎ方の型。操作の速さを決める、アルゴリズムと対をなす基礎概念。
- GPU大量の単純計算を並列実行するプロセッサ。描画専用から機械学習の主役へと役割を広げた。
- オブジェクト指向データとそれを操作する手続きをオブジェクトにまとめて設計する考え方。カプセル化・継承・ポリモーフィズムが柱。
- カーネルOSの中核としてハードウェアを直接管理し、プロセスにCPU・メモリ・入出力を配分する特権プログラム。
- コンパイラ人間が書いたコードを、段階を踏んで機械が実行できる形へ翻訳するプログラム。誤りの検出と最適化も担う。
- スタックとヒーププログラムがメモリを使う2つの領域。呼び出しに合わせて積み崩れるスタックと、自由だが管理が要るヒープ。
- スレッドプロセスの中を流れる実行の筋。メモリを共有したまま、複数の処理を並行に進める単位。
- ビット演算数値をビットの列とみなして行うAND・OR・XOR・シフトなどの演算。低レイヤ処理の道具。
- ファイルシステムブロックデバイスの上に「名前付きの階層とファイル」という抽象を築く仕組み。永続化の土台。
- プロセス実行中のプログラムを表すOSの管理単位。専用のメモリ空間と資源を持ち、互いに隔離される。
- 計算量とO記法入力が増えたとき処理時間や使用メモリがどう伸びるかを表す記法。性能の共通言語。
- 再帰関数が自分自身を呼び出し、問題を同じ形の小さな問題に分割しながら解く技法。木構造の処理と相性がよい。
- 正規表現文字列のパターンを小さな記法で表現し、検索・抽出・置換を行う道具。ほぼすべての言語とツールに載っている。
- 値渡しと参照渡し関数へ値のコピーを渡すか、同じ実体への参照を渡すかの区別。共有された参照が思わぬ書き換え事故を生む。
- 浮動小数点小数を仮数と指数で近似表現する方式。表せる値はまばらで、0.1+0.2が0.3にならない理由もここにある。
- 文字コード文字と数値の対応、そして番号をバイト列にする規則。書く規則と読む規則がずれると文字化けになる。
- 例外処理想定外の失敗を通常の流れから切り離し、呼び出しを遡って受け止める仕組み。伝播と後始末の設計が頑健さを決める。
- CPUキャッシュCPUと主記憶の速度差を埋める小容量高速メモリ。局所性を活かすと桁違いに速くなる。
- イベントループ1本のループがイベントを順に処理する並行モデル。少数スレッドで大量のIO待ちを捌く定石。
- イミュータビリティ一度作った値を書き換えず、変更を新しい値の生成で表す方針。共有と並行処理に強いコードの土台になる。
- ガベージコレクションどこからもたどれなくなったヒープ上のデータを自動で回収する仕組み。安全と引き換えに停止時間を払う。
- クロージャ関数が定義された場所の変数を捕まえたまま持ち歩く仕組み。状態の隠蔽やコールバックの土台になる。
- ジェネリクス型をパラメータにして、型安全なまま色々な型で使い回せる部品を書く仕組み。コレクションで特に威力を発揮する。
- システムコールアプリがカーネルに仕事を頼む正式な入口。ファイルも通信もプロセスの生成も、この呼び出しの先にある。
- スケジューラ限られたCPUを、どのスレッドにいつ・どれだけ使わせるかを決めるOSの仕組み。応答性と効率を天秤にかける。
- デッドロック互いに相手のロック解放を待ち合って全員が永遠に止まる状態。成立には4条件が揃う必要がある。
- メモリ階層速いが小さい記憶から遅いが大きい記憶までを段に積み、よく使うものを上に置く構造。
- 仮想メモリ各プロセスに専用のメモリ空間があるように見せる仕組み。番地の翻訳で隔離と物理メモリ以上の割り当てを実現する。
- 割り込みデバイスやタイマがCPUの実行を中断させて出来事を知らせる仕組み。待たずに反応できる計算機の反射神経。
- 関数型プログラミング副作用を抑え、純粋関数の合成としてプログラムを組み立てる様式。実行順に左右されない予測しやすいコードを目指す。
- 型システム値の種類を検査してプログラムの誤りを実行前に見つける仕組み。静的か動的か、強いか弱いかの設計軸がある。
- 排他制御共有資源に同時に触れる数を制限し、競合状態を防ぐ仕組み。ミューテックスやセマフォが代表。
- 並行と並列複数の処理を扱う2つの考え方。切り替えて進める並行と、同時に実行する並列の区別。
ネットワーク
- IPアドレス通信の宛先と差出人を表す番号。前半でネットワークを、後半でその中の機器を指す。
- ポート番号1台の機器の中で通信の窓口を区別する番号。IPアドレスが住所ならポートは部屋番号。
- DHCPネットワークに参加した機器へ、IPアドレスやゲートウェイなどの設定一式を期限付きで貸し出すプロトコル。
- DNSドメイン名をIPアドレスなどに変換する、階層ごとに管理を委任した世界規模の分散データベース。
- HTTPWebの通信プロトコル。クライアントが要求しサーバが応答する、1往復の繰り返しでできている。
- MACアドレスネットワークの口ごとに付く48ビットの識別子。同じLANの中でフレームを届ける宛先。
- OSI参照モデル通信を7つの階層に分けて整理する思考の枠組み。「L4」「L7」の語源で、障害の切り分けにも使う。
- SMTP電子メールをサーバからサーバへ中継して届けるプロトコル。送信ドメイン認証でなりすましと戦う。
- TCP/IPインターネット通信の基本プロトコル群。届く保証のない IP の上に、TCP が番号と確認応答で信頼性を作る。
- UDP到達や順序の保証を捨て、IP にポート番号だけを足した軽いトランスポート。DNS・通話・QUIC の土台。
- VPNパケットを暗号化して別のパケットに包み、公衆網の上に仮想的な専用線を通す技術。
- ファイアウォール通信をヘッダとルールで照合し、許可か破棄かを決める関所。境界防御の基本装置。
- レイテンシとスループット1件が返るまでの時間と、単位時間に捌ける量。別の軸だが、限界付近で待ち行列を介して結びつく。
- ARPIPアドレスから同じLANにいる相手のMACアドレスを調べるプロトコル。L3とL2の橋渡し。
- CDN世界中のエッジサーバにキャッシュを置き、近い場所から配信して速度と負荷を改善する仕組み。
- HTTP/21本のTCP接続に複数のやり取りを多重化し、HTTP/1.1の待ち行列問題を解いた改訂版。
- HTTPSTLSで暗号化したHTTP。盗聴・改ざん・なりすましを防ぐが、守るのは通信の経路だけ。
- MQTT非力な機器と切れやすい回線のために作られた、ブローカー仲介の軽量なpub/sub型メッセージングプロトコル。
- NATルータが送信元のアドレスとポートを書き換え、1つのグローバルIPを多数の端末で共有する仕組み。
- SSH暗号化と相互の認証を備えた遠隔操作の通信路。サーバ運用とGit操作の足回り。
- TLS通信を暗号化し相手を確かめるプロトコル。公開鍵の技術で鍵を合意し、共通鍵で高速に守る。
- WebSocketブラウザとサーバの間に、どちらからでも送れる常時接続の通路を開くプロトコル。
- ソケットプログラムがネットワーク通信をするために OS が用意する通信の端点。bind・listen・accept で扱う。
- フォワードプロキシクライアントの代理で外部へ接続する中継サーバ。組織の出口で記録・制限・キャッシュを担う。
- リバースプロキシサーバの前段に立ってリクエストを受け、TLS終端などの共通処理をしてから後ろへ中継する仲介サーバ。
- ルーティングパケットを宛先まで届ける経路を選択する仕組み。ネットワークをまたぐ通信の要。
- ロードバランサリクエストを複数のサーバへ振り分け、壊れた台を外して、規模と可用性を両立させる入口の装置。
- BGP独立に運用されるネットワーク(AS)同士が、どのアドレス帯へどう届くかを教え合うプロトコル。
- HTTP/3とQUICTCPの代わりにUDP上のQUICで運ぶHTTP。接続の確立を速め、パケット欠落による全体停止をなくした。
- WebRTCブラウザ同士が NAT を越えて直接つながり、音声・映像・データを送り合うための標準技術。
Web
- CSSWebページの見た目を記述する言語。セレクタで要素を選び、衝突はカスケードで解決する。
- HTML文書の構造と意味をタグで記述するマークアップ言語。ブラウザが解釈してDOMを組み立てる。
- JSONキーと値の組と配列を入れ子にしてデータを表すテキスト形式。6つの型だけに絞った、API 通信の共通語。
- URLWeb 上のリソースの場所を表す文字列。スキーム・ホスト・パス・クエリ・フラグメントからなる。
- APIプログラム同士が機能を呼び合うための窓口の約束事。中身を隠し、境界の形だけを契約として公開する。
- Cookieサーバがブラウザに預け、条件に合うリクエストへ自動で付けて返させる小さなデータ。
- DOMブラウザがHTMLを解釈して組み立てる文書の木。JavaScriptから読み書きでき、イベントもこの木を伝わる。
- JavaScriptブラウザにページの振る舞いを書くための言語として生まれ、いまはサーバまで覆うWebの共通語。
- Webhookイベントが起きたら相手のサービスが HTTP でこちらへ知らせてくれる「逆向きの API」。ポーリングをなくす。
- アクセシビリティ障害や環境の違いによらず誰もがWebを使えるようにする設計。HTMLの意味づけが出発点。
- セッションログイン中の利用者の状態をサーバ側に保管し、Cookie で渡した ID で毎回結び付ける仕組み。
- トランスパイル新しい構文や TypeScript で書いたコードを、構文木を書き換えて古い環境でも動く JavaScript に変換すること。
- バンドラimport の依存グラフをたどり、多数のモジュールを配信用の少数のファイルへ束ねて最適化するビルドツール。
- GraphQLクライアントが必要なデータの形を宣言して取得するAPIのクエリ言語。過不足取得を解消する。
- gRPCスキーマ定義から各言語のコードを生成し、HTTP/2上で高速に呼び合うRPCフレームワーク。
- PWAWebサイトをネイティブアプリのように使えるようにする技術群。オフラインや通知に対応する。
- REST API資源を URL で名指しし、意味の決まった HTTP メソッドで操作する API の設計様式。キャッシュや再送が素直に効く。
- Server-Sent EventsHTTP の応答を閉じずに開いたまま、サーバからブラウザへ一方向にイベントを流し続ける仕組み。
- Service Workerページとネットワークの間に入るプログラム可能なプロキシ。オフライン対応とキャッシュ制御の要。
- SPA最初にアプリ一式を読み込み、以降の画面遷移をブラウザ内のJavaScriptで行うWebの構成。
- SSG全ページのHTMLをビルド時に作り置く方式。配信が速く、アプリケーションサーバが要らない。
- SSRリクエストごとにサーバでHTMLを組み立てて返す方式。表示は速いが、操作できるのはハイドレーション後。
- WebAssemblyブラウザでネイティブ並みの速度で動くバイナリ形式。JSの補完としてWebの限界を広げる。
- ブラウザレンダリングHTML・CSSが画面のピクセルになるまでの過程。この理解が表示速度の最適化を支える。
- リアクティビティ読まれた依存を記録し、データが変わったら依存先だけを自動で更新する仕組み。宣言的UIの柱。
- 仮想DOMUIの状態をメモリ上の軽い木で持ち、差分だけを実DOMへ反映する更新戦略。Reactが広めた。
- 状態管理画面に散らばる状態を一元管理し、UIの複雑さを予測可能に保つフロントエンド設計の要。
データベース
- ETL散在するデータを抽出・変換して分析基盤へ集めるデータパイプラインの基本形。
- RDBMSデータを表と表の関係で管理し、SQLで問い合わせるデータベース。業務システムの中核。
- SQLリレーショナルデータベースへの問い合わせ言語。欲しい結果を宣言し、取り方はDBに任せる。
- データウェアハウス分析のために大量データを蓄積する専用データベース。業務DBとは設計思想が根本から異なる。
- ACIDトランザクションが守る4つの約束 — 原子性・一貫性・分離性・永続性の頭文字。
- N+1問題一覧の関連データを1件ずつ問い合わせてしまい、DBとの往復が件数に比例して増える性能問題。
- NoSQL表と SQL 以外のデータモデルを採るデータベースの総称。水平分散のしやすさや柔軟な構造を重視する。
- OLTPとOLAP大量の小さな更新を捌く業務処理と、巨大なデータを集計する分析処理という2つの負荷特性の区分。
- ORMプログラムのオブジェクトとDBの表を対応づけ、SQLを書かずにDBを操作する道具。
- インデックス目当ての行へ数ページの読み取りでたどり着くための索引。多くはB+木で作る。
- コネクションプールDBへの接続を確立済みのまま貸し借りして使い回し、確立のコストと同時接続数を抑える仕組み。
- スキーママイグレーションデータベースの構造変更を版管理されたコードとして扱い、どの環境でも再現可能にする仕組み。
- データレイク加工前の生データを形式を問わずそのまま貯めておき、用途が決まってから読み解く貯蔵庫。
- トランザクション複数の更新を「全部確定するか、全部なかったことにするか」の一塊として扱う仕組み。
- ベクトルデータベース埋め込みベクトルを格納し、「意味が近いデータ」を近似最近傍探索で高速に探すデータベース。
- レプリケーション同じデータを複数のノードに複製し、故障に耐え、読み取りを分散する仕組み。複製の遅れとの付き合い方が要。
- 実行計画SQLをどんな手順で処理するか、オプティマイザが見積もりから選んだ作戦書。遅いクエリ調査の出発点。
- 正規化同じ事実を一か所にだけ書くよう表を分ける設計技法。更新・挿入・削除の異常を防ぐ。
- 全文検索文章を語に分解して索引にし、キーワードを含む文書を関連の強い順にすばやく返す仕組み。
- WAL変更をまずログへ追記し、データ本体への反映は後回しにして、停電後もログから復旧できるようにする仕組み。
- シャーディングデータをシャードキーで分けて複数ノードに置き、1台の容量と書き込み性能の限界を超える手法。
- ストリーム処理流れ続けるイベントを溜めてからではなく、到着するそばから継続的に処理し、結果を更新し続ける方式。
- トランザクション分離レベル同時に走るトランザクション同士が、互いの変更をどこまで見てよいかを段階で定める基準。
- マテリアライズドビュー重い集計クエリの結果を実体として保存し、読み取りを速くする代わりに鮮度を管理する仕組み。
- 楽観ロックと悲観ロック同じデータへの同時更新を、読む時点で塞ぐか、書く時点で検知するかを選ぶ制御手法。
- 結果整合性更新がすぐ全複製に届かなくても、書き込みが止まればいずれ全レプリカが同じ値に収束する整合性モデル。
セキュリティ
- APIキーAPI の呼び出し元を示す長いランダム文字列。手軽さと、漏れたら誰でも使える危うさが表裏一体。
- ハッシュ化任意のデータから、元に戻せない固定長の値を作る処理。改ざん検知とパスワード保存の要。
- 暗号化鍵を持つ者にしか戻せない形にデータを変える技術。方式と鍵の扱いを誤ると中身が漏れる。
- 最小権限の原則必要最小限の権限だけを与えるという原則。被害の範囲を権限の範囲に閉じ込める。
- 脆弱性攻撃者に悪用されうる欠陥。CVE で番号を付け、CVSS で深刻度を評価して管理する。
- 多要素認証知識・所持・生体のうち系統の違う証拠を重ねる認証。パスワードが漏れただけでは破られない。
- 認可認証済みの相手に、この操作とこのデータが許されるかをリクエストごとに判断するプロセス。
- 認証相手が名乗りどおりの本人かを、知識・所持・生体の証拠で確かめるプロセス。認可の前段。
- CORS別オリジンの応答を JS に読ませてよいかを、サーバの宣言をもとにブラウザが判定する仕組み。
- CSP実行してよいスクリプトの出どころをヘッダで宣言し、注入されたXSSの発火を止めるブラウザの仕組み。
- CSRFログイン中の利用者のブラウザに、罠ページから本人の意図しない操作を送らせる攻撃。
- DDoS攻撃多数の機器から大量の通信を送りつけ、回線やサーバを飽和させてサービスを止める攻撃。
- IdP利用者の台帳を一元管理し、ログインの証明と各サービスのアカウント配布を担う認証の元締め。
- JWT署名付きの JSON でクレームを運ぶトークン。受け手が発行元に問い合わせず単独で検証できる。
- OWASP Top 10Webアプリの重大なセキュリティリスクを10項目に整理した定番の啓発文書。対策の共通言語。
- RBAC権限をロール(役割)に束ね、人にはロールを割り当てるアクセス制御。権限管理の実務標準。
- SameSite属性別サイト発のリクエストに Cookie を付けるかをブラウザに指示する属性。CSRF 対策の土台。
- SQLインジェクション入力がSQLの構文として読まれ、意図しないクエリを実行される脆弱性。対策の本命はプレースホルダ。
- SSO認証を IdP に集め、一度のログインを使い回して複数のサービスに入れるようにする仕組み。
- WAFHTTPリクエストの中身を検査して攻撃のパターンを遮断する、アプリの手前の防御層。
- XSS入力をHTMLに埋め込む箇所の不備で、攻撃者のスクリプトを他人のブラウザで実行させる攻撃。
- サービスアカウント人間ではなくプログラムに与えるID。鍵を持たせず基盤が身元を保証する鍵レス化が進む。
- シークレット管理APIキーやパスワードなどの秘密情報を、集中保管・認可つき配布・自動ローテーションで扱う仕組み。
- ペネトレーションテスト許可を得て攻撃者の視点で実際に侵入を試み、防御の穴を実証的に洗い出す検査。
- レート制限一定時間あたりのリクエスト数に上限を設け、乱用と過負荷からAPIやサーバを守る仕組み。
- 公開鍵暗号公開してよい鍵と秘密の鍵の対を使う暗号。事前の鍵共有なしに秘密の通信と署名を可能にした。
- mTLSサーバだけでなくクライアントも証明書と秘密鍵で身元を証明する TLS。サービス間通信の要。
- OAuthパスワードを渡さずに、範囲と期限を限った権限をアプリへ委譲する標準。
- OIDCOAuth 2.0に宛先つきのログイン証明(IDトークン)を足した、「◯◯でログイン」を支える認証の標準。
- SAMLIdPの認証結果を署名付きXMLのアサーションにしてSPへ運ぶ、企業向けSSOの標準。
- サプライチェーン攻撃依存ライブラリやビルド基盤など開発の供給網を汚染し、間接的に標的へ届く攻撃。
- ゼロトラスト「境界の内側は安全」という前提を捨て、すべての要求を資源の手前で毎回確かめるセキュリティモデル。
- リフレッシュトークン期限切れのアクセストークンを、再ログインなしで発行し直してもらうための長寿命の資格情報。
アーキテクチャ
- サーバリクエストを受けて応答を返すコンピュータまたはプログラム。要求を出すクライアントと対をなす。
- MVCアプリをモデル・ビュー・コントローラの3役に分けるUIアーキテクチャの古典パターン。
- キャッシュ一度取得・計算した結果を速い場所に写して再利用する仕組み。速さと引き換えに鮮度を手放す。
- タイムアウト応答を待つ時間に上限を設ける仕組み。無限に待たないことが連鎖障害を防ぐ第一歩。
- 12 Factor Appクラウドで運用しやすいアプリの12の設計原則。Heroku 発で、コンテナ時代の共通の前提になった。
- APIゲートウェイ多数のAPIの手前に立つ単一の入口。認証・流量制御・振り分け・集約を一手に引き受ける。
- グレースフルデグラデーション全部が無理なら一部だけでも動かし続ける設計。完全停止ではなく品質を落として生き残る。
- サーキットブレーカー障害中の依存先への呼び出しを一時遮断するパターン。失敗の連鎖をブレーカーで断つ。
- スケーリング負荷の増大に処理能力を追随させること。1台を強くする垂直と、台数を増やす水平の二方向がある。
- バルクヘッドリソースを区画に分け、一部の障害が全体の資源を食い潰さないようにする隔離パターン。
- マイクロサービス業務機能ごとに独立してデプロイできるサービスへ分割する構成。チームの自律性と引き換えに分散の複雑さを負う。
- モノリス全機能をひとつのアプリとして作り、ひとつの単位でデプロイする構成。単純さが最大の武器。
- リトライと指数バックオフ失敗した処理を間隔を広げながら再試行する定石。無邪気なリトライは障害を増幅する。
- 分散システム複数のコンピュータが協調して一つの系として振る舞う仕組み。部分故障と遅延を抱える。
- 冪等性同じ操作を何度繰り返しても、1回だけ行ったのと同じ状態になる性質。安全な再送の土台。
- CAP定理ネットワークが分断されたとき、一貫性と可用性のどちらかを諦めるしかないという定理。
- CQRS書き込み(コマンド)と読み取り(クエリ)のモデルを分け、それぞれを独立に最適化する設計。
- イベントソーシング現在の状態ではなく、状態を変えたイベントの列を真実として追記し、状態は再生して導く設計。
- サーガ複数サービスにまたがる処理をローカルトランザクションの列に分け、失敗時は補償で打ち消して整合させる。
- サーバレスサーバの管理をクラウドに委ね、コードだけを持ち込む実行モデル。呼ばれた分だけ動き、課金される。
- ドメイン駆動設計業務領域の言葉とモデルを中心に据える設計手法。複雑なドメインをコードに写し取る。
- バックプレッシャー処理が追いつかない受け手が上流へ減速を伝え、溢れる前に入口で流量を絞る仕組み。
- メッセージキュー処理の依頼をいったん行列に積み、受け手が自分のペースで取り出す仕組み。波をならす緩衝材。
- 分散ロック複数のサーバにまたがって「同時に一人だけ」を保証する鍵。期限と番号で安全を保つ。
- 合意アルゴリズム一部のノードが故障しても、過半数の同意で複数ノードが一つの決定を共有する手順(Raft・Paxos)。
インフラ
- SLAサービス提供者が顧客に約束する品質水準の契約。違反時の補償まで含む合意。
- クラウドコンピューティング計算資源を所有せず、必要なときに必要な分だけネットワーク越しに借りて、使った分を払う利用形態。
- ヘルスチェックサービスが正常かを機械が定期的に確かめる仕組み。切り離し・再起動・復帰を自動で行う土台。
- ログシステムが残す出来事の記録。障害調査の一次資料であり、運用の目になる。
- 仮想マシン物理マシンの上にソフトウェアで作った仮想のコンピュータ。OS を丸ごと載せて隔離する、クラウドの基礎技術。
- CI/CD変更をこまめに統合して自動で検証し、いつでも安全に本番へ届けられる状態を保つ開発の仕組み。
- SLOサービスの信頼性目標を数値で定めたもの。SLIという指標で測り、運用判断の基準にする。
- SREソフトウェアエンジニアリングの手法で運用を設計する職能・方法論。Google発祥。
- アラートメトリクスやログの異常を検知して人に知らせる仕組み。監視を行動につなげる出口。
- インシデント対応サービス障害の検知から復旧までを組織的に進める活動。役割分担と手順で混乱を防ぐ。
- オンコール障害発生時に対応する担当者を輪番で決めておく体制。アラートの受け手を保証する。
- コンテナカーネルを共有したまま、見える世界を切り取られたプロセスとしてアプリを一式で動かす実行環境。
- サイドカーアプリの隣に補助コンテナを並走させ、通信代理やログ転送などの共通機能を言語に依らず後付けするパターン。
- ブルーグリーンデプロイ本番環境を2系統用意し、向き先の切り替えで新版を公開するデプロイ手法。切り戻しが一瞬で済む。
- ポストモーテム障害の収束後に原因と対応を振り返り、再発防止につなげる文書と文化。非難しないことが原則。
- メトリクスシステムの状態を、ラベル付きの数値の時系列として記録したもの。監視の基本の素材。
- 監視システムの健康状態を継続的に観測し、異常にユーザーより先に気づける状態を保つこと。
- IaCインフラのあるべき構成をコードで宣言し、ツールに現実を合わせさせて、再現と変更の管理を可能にする実践。
- Kubernetes多数のコンテナの配置・回復・増減を、宣言と現実の差を埋め続ける調整ループで自動化する基盤。
- エラーバジェットSLOが許容する失敗の残量。信頼性とリリース速度のトレードオフを数値で裁く仕組み。
- カオスエンジニアリング本番相当の環境に意図的に障害を注入し、定常状態が保たれるかを実験で確かめて弱点を先に見つける手法。
- カナリアリリース新しい版を一部のトラフィックにだけ流し、指標で健全を確かめながら段階的に広げるデプロイ手法。
- サービスメッシュサービス間通信の制御・保護・観測を、アプリの外のプロキシ層に切り出して一元的に設定する基盤。
- 可観測性外に出すデータから内部の状態を推し量れる性質。前もって想定しない問いにも後から答えられる。
- 分散トレーシング1つのリクエストが複数サービスを渡る経路を、トレースとしてつないで追う可観測性の手法。
開発プロセス
- Git変更履歴をハッシュでつながったコミットの連なりとして記録する分散型バージョン管理システム。
- アジャイル開発短い反復で動くものを届け、そのフィードバックで計画を直し続ける開発の考え方。2001年の宣言が起点。
- コードレビュー取り込む前のコード変更を他者が読んで検査する営み。欠陥検出と知識共有を兼ねる開発文化の要。
- スクラム固定長のスプリントで検査と適応を繰り返す、アジャイル開発の代表的なフレームワーク。経験主義が土台。
- テストコードが意図どおり動くことを検証する営み。自動化して何度も回せるようにして初めて資産になる。
- リファクタリング外部から見た振る舞いを変えずに内部構造を改善すること。テストが安全網になる。
- 技術的負債短期の速度と引き換えに将来へ先送りした設計・実装の劣化。利子のように開発を遅くする。
- 結合度と凝集度モジュール間の依存の強さと、モジュール内部のまとまりの良さ。設計品質を測る古典的な物差し。
- SOLID原則変更に強いオブジェクト指向設計のための5原則。クラス設計の判断基準を与える。
- デザインパターン繰り返し現れる設計課題への定石解に名前を付けたカタログ。設計の共通語彙になる。
- テスト駆動開発テストを先に書き、通す最小実装と改善を短く回す開発手法。設計を駆動するのが本質。
- フィーチャーフラグコードを残したまま機能のON/OFFを実行時に切り替える仕組み。デプロイとリリースを分離する。
- 依存性注入使う部品を自分で new せず外から渡してもらう設計手法。差し替えが効き、テストと疎結合を実現する。
AI・データ
- 機械学習データからパターンを学び、明示的にプログラムせずに予測・判断を行わせる手法の総称。
- コンテキストウィンドウLLMが1回の呼び出しで読み書きできるトークン量の上限。入力と出力の合計がこの枠に収まる必要がある。
- トークンLLMが文章を扱う最小単位。料金・コンテキスト長・生成速度はすべてトークン数で数えられる。
- ニューラルネットワーク脳の神経回路を模した層状の計算モデル。深層学習の基盤で、画像・音声・言語処理を支える。
- ハルシネーションLLMが根拠のない内容を、事実であるかのように流暢に生成してしまう現象。確率的な生成の原理から生じる。
- プロンプトエンジニアリングLLMへの指示文を設計し、モデルを再訓練せずに出力の質・形式・振る舞いを制御する技術。
- マルチモーダルテキスト・画像・音声など複数の様式を1つのモデルで理解・生成するAI。
- 大規模言語モデル膨大なテキストで次のトークンの予測を学び、その繰り返しで文章を生成する巨大なニューラルネットワーク。
- 埋め込み言葉や画像を「意味の近さが距離になる」数値ベクトルへ変換する技術。意味検索やRAGの核。
- AIエージェントLLMがツールを使い、その結果を観察しながら、目標を達成するまで行動を繰り返す仕組み。
- Function CallingLLMが関数名と引数をJSONで書いた「呼び出しの依頼書」を返し、アプリが実行する仕組み。
- MCPAIアプリと外部のツール・データ源をつなぐ標準プロトコル。M×Nの個別連携をM+Nに減らす。
- MLOps機械学習モデルの学習・デプロイ・監視・再学習を、継続的に回し続けるための実践。
- RAG外部の資料を検索してLLMに渡し、学習データにない情報や最新の情報に基づいて答えさせる構成。
- RLHF人間の比較から学んだ報酬でLLMを強化学習し、応答を望ましい方向へ調整する手法。
- Transformer自己注意機構で系列全体の関係を並列に捉えるモデル構造。LLMをはじめ現代AIの土台。
- ファインチューニング学習済みモデルに追加データで再訓練を施し、特定の口調・形式・領域へ適応させる手法。
- 拡散モデルノイズを少しずつ取り除く逆過程を学習し、純粋なノイズから画像などを生成するモデル。
- 量子化モデルの重みを少ないビット数の数値に変換して軽量化する技術。ローカルLLMの立役者。
