IT 用語集
IT 技術書でよく登場するキーワードをカテゴリ別に解説しています。
データ・API
シャーディング
データを複数のデータベースインスタンスに水平分割し、書き込みスループットとストレージ容量をスケールさせる手法
ファインチューニング
事前学習済みモデルを特定のタスクやドメインに適応させる追加学習
LLM
大量のテキストデータで学習した大規模言語モデル
プロンプトエンジニアリング
LLM から望ましい出力を得るためのプロンプト設計技法
RAG
外部知識を検索して LLM の回答精度を向上させるアーキテクチャ
AppSync
AWS のマネージド GraphQL / Pub/Sub サービス
HTTP/3
QUIC プロトコル上で動作する次世代の HTTP
Apache Kafka
大規模なリアルタイムデータストリーミングのための分散メッセージングプラットフォーム
PostgreSQL
高い拡張性と SQL 標準準拠を特徴とするオープンソース RDBMS
Redis
インメモリデータストアで、キャッシュ、セッション管理、Pub/Sub に使われる
API ドキュメント
API の仕様、エンドポイント、リクエスト/レスポンス形式を記述し、開発者の統合を支援するドキュメント
Base64
バイナリデータを ASCII テキストに変換するエンコーディング方式で、メールや JSON でのバイナリ転送に使われる
GraphQL Subscription
GraphQL でサーバーからクライアントへリアルタイムデータ更新を配信する仕組み
HTTP キャッシュ
Cache-Control, ETag, Last-Modified を使った HTTP レベルのキャッシュ制御
JSON Patch
JSON ドキュメントの部分更新操作を記述する標準フォーマット (RFC 6902)
TTL
データやキャッシュの有効期限を設定し、自動的に削除・更新する仕組み
WebSocket API
API Gateway の WebSocket API でサーバーレスなリアルタイム双方向通信を実現する仕組み
ACID
データベーストランザクションの 4 つの特性 - 原子性、一貫性、分離性、永続性
API スロットリング
API へのリクエスト数を制限し、サーバーの過負荷を防ぐトラフィック制御手法
Aurora
AWS のクラウドネイティブ RDB で、MySQL/PostgreSQL 互換で高可用性・高パフォーマンスを実現する
B-Tree
データベースインデックスの基盤となる自己平衡型の多分岐探索木
キャッシュ
頻繁にアクセスされるデータを高速なストレージに保存し、読み取り性能を向上させる手法
CAP 定理
分散システムで一貫性、可用性、分断耐性の 3 つを同時に満たすことはできないという定理
列指向ストア
データを列 (カラム) 単位で保存し、分析クエリの集計を高速化するストレージ形式
合意アルゴリズム
分散システムで複数のノードが同じ値に合意するためのアルゴリズム
データレイク
構造化・非構造化データを生の形式で大量に保存し、後から分析・加工するストレージ基盤
データ正規化
データベースの冗長性を排除し、データの一貫性を保つためにテーブル構造を分割・整理する手法
データウェアハウス
分析用に最適化された大規模データストアで、複数のデータソースを統合して意思決定を支援する
データベースインデックス
検索クエリの高速化のためにデータベースが維持する補助的なデータ構造
データベースマイグレーション戦略
本番環境のデータベーススキーマを安全に変更するための戦略とパターン
非正規化
読み取り性能を向上させるために、意図的にデータの冗長性を持たせる設計手法
DynamoDB Streams
DynamoDB テーブルの変更をリアルタイムでキャプチャし、Lambda で処理するイベントソース
埋め込みベクトル
テキストや画像を数値ベクトルに変換し、意味的な類似度を計算可能にする技術
エンコーディングとシリアライゼーション
データを転送・保存可能な形式に変換する手法の総称
ETL
データを抽出 (Extract)、変換 (Transform)、ロード (Load) するデータパイプライン
結果整合性
分散システムで更新が全ノードに即座に反映されず、最終的に一貫した状態に収束するモデル
GraphQL
クライアントが必要なデータだけを指定して取得できる API クエリ言語
HTTP ステータスコード
HTTP レスポンスの結果を 3 桁の数値で表す標準コードで、1xx〜5xx の 5 カテゴリに分類される
HTTP/2
HTTP/1.1 の性能限界を解消するために設計された、多重化・ヘッダー圧縮・サーバープッシュを備えたプロトコル
べき等キー
API リクエストの重複実行を防ぐために、クライアントが付与する一意な識別子
冪等性
同じ操作を何度実行しても結果が変わらない性質で、分散システムの信頼性を支える
Kinesis
AWS のリアルタイムデータストリーミングサービスで、大量のデータを収集・処理・分析する
ロングポーリング
サーバーがデータの準備ができるまでレスポンスを保留し、擬似的なリアルタイム通信を実現する手法
マテリアライズドビュー
クエリ結果を事前に計算・保存し、読み取り性能を向上させるデータベースの仕組み
MLOps
機械学習モデルの開発・デプロイ・運用を自動化し、継続的に改善するための実践体系
NoSQL
リレーショナルモデル以外のデータベースの総称で、スケーラビリティと柔軟性を重視する
OLAP vs OLTP
オンライン分析処理 (OLAP) とオンライントランザクション処理 (OLTP) の違いと使い分け
楽観的ロック
データの読み取り時にロックせず、更新時にバージョンを検証して競合を検出する排他制御
ORM
オブジェクト指向のコードとリレーショナル DB のテーブルをマッピングするライブラリ
Protocol Buffers
Google が開発した効率的なバイナリシリアライゼーションフォーマットで gRPC の標準データ形式
レート制限パターン
API やサービスへのリクエスト数を制限し、過負荷やリソース枯渇を防ぐ設計パターン
レート制限
API やサービスへのリクエスト数に上限を設け、過負荷を防ぐ仕組み
リードレプリカ
プライマリ DB の読み取り専用コピーで、読み取り負荷を分散しスケーラビリティを向上させる
Redshift
AWS のペタバイト規模のデータウェアハウスサービスで、大量データの分析クエリを高速に実行する
REST API
HTTP メソッドとリソース指向の URL で設計する Web API のアーキテクチャスタイル
SageMaker
AWS の機械学習プラットフォームで、モデルの構築・学習・デプロイを統合的に提供する
シングルテーブル設計
DynamoDB で複数のエンティティを 1 つのテーブルに格納し、効率的なアクセスパターンを実現する設計手法
SSE
サーバーからクライアントへ一方向のリアルタイムデータストリームを HTTP で送信する仕組み
ストリーム処理
データを受信しながらリアルタイムで処理する手法で、バッチ処理と対比される
時系列データベース
タイムスタンプ付きのデータを効率的に保存・クエリするために最適化されたデータベース
トランザクション分離レベル
同時実行されるトランザクション間のデータの見え方を制御するデータベースの設定
ベクトルデータベース
埋め込みベクトルを保存し、類似度検索を高速に実行するデータベース
API バージョニング (詳解)
API の破壊的変更を管理する戦略の詳細な実装パターン
WebSocket
クライアントとサーバー間で双方向のリアルタイム通信を実現するプロトコル
API ファーストデザイン
実装の前に API の仕様を設計・合意し、フロントエンドとバックエンドの並行開発を可能にするアプローチ
Change Data Capture
データベースの変更をリアルタイムに検出し、下流システムに伝播させるデータ統合パターン
HATEOAS
REST API のレスポンスにリンクを含め、クライアントが次に取れるアクションを動的に発見できるようにする設計原則
ホットパーティション
特定のパーティションにアクセスが集中し、スループットが低下する DynamoDB の性能問題
論理削除
レコードを物理的に削除せず、削除フラグで非表示にするデータ管理手法
キャッシュ無効化
キャッシュされたデータが古くなった際に、最新のデータに更新または削除する仕組み
N+1 問題
1 回のクエリで取得したリストの各要素に対して追加クエリが発行され、クエリ数が爆発する性能問題
ライトアンプリフィケーション
データベースへの 1 回の論理的な書き込みが、内部的に複数回の物理的な書き込みを引き起こす現象
コネクションプール
データベース接続を事前に確保してプールし、リクエストごとの接続コストを削減する仕組み
DynamoDB
AWS のフルマネージド NoSQL データベースで、ミリ秒単位のレイテンシとシームレスなスケーリングを提供する
Webhook
イベント発生時にサーバーが指定された URL に HTTP リクエストを送信する、プッシュ型の通知メカニズム
SSR/SSG
サーバーサイドレンダリングと静的サイト生成 - Web ページの生成タイミングと場所を制御するレンダリング戦略
SPA
ページ遷移なしに動的にコンテンツを更新する Web アプリケーションのアーキテクチャ
gRPC
Google が開発した高性能な RPC フレームワークで、Protocol Buffers を用いた効率的なサービス間通信を実現する
REST 成熟度モデル
Leonard Richardson が定義した REST API の成熟度を 4 段階で評価するモデル
ページネーション
大量のデータを複数のページに分割して返し、API のレスポンスサイズとレイテンシを制御する手法
OpenAPI
REST API の仕様を YAML/JSON で記述する標準フォーマットで、ドキュメント生成やコード生成に活用される
OpenSearch
全文検索、ログ分析、可視化を提供するオープンソースの検索・分析エンジン
MapReduce
大規模データを Map (分割・変換) と Reduce (集約) の 2 段階で並列処理する分散処理モデル
コンシステントハッシュ
ノードの追加・削除時にデータの再配置を最小限に抑える分散ハッシュアルゴリズム
グラフデータベース
ノード (エンティティ) とエッジ (関係) でデータを表現し、複雑な関係性のクエリに特化したデータベース
AWS Glue
AWS のサーバーレス ETL サービスで、データの抽出・変換・ロードとデータカタログ管理を提供する
Athena
S3 上のデータを標準 SQL で直接クエリできる AWS のサーバーレス分析サービス
Markdown
プレーンテキストで記述し、HTML に変換できる軽量マークアップ言語
JSON
JavaScript 由来の軽量なデータ交換フォーマットで、Web API のデファクトスタンダード
YAML
人間が読みやすいデータシリアライゼーション形式で、設定ファイルや CI/CD の定義に広く使われる
プログラミング手法
Node.js
Chrome V8 エンジン上で動作するサーバーサイド JavaScript ランタイム
Null 安全性
null 参照エラーを型システムで防止し、null の可能性がある値を明示的に扱うプログラミング言語の機能
優先度キュー
要素に優先度を付与し、優先度の高い要素から取り出すデータ構造
TCP 輻輳制御
ネットワークの混雑を検知し、送信速度を動的に調整して公平で効率的なデータ転送を実現する TCP の仕組み
スレッドプール
事前に生成したスレッドを再利用し、スレッド生成のオーバーヘッドを削減する並行処理パターン
型の絞り込み
TypeScript の型ガードや制御フロー分析で、ユニオン型をより具体的な型に絞り込む手法
Worker Threads
Node.js で CPU 集約的な処理をメインスレッドをブロックせずに別スレッドで実行する仕組み
アクセシビリティ
障害の有無にかかわらず、すべてのユーザーが Web コンテンツを利用できるようにする取り組み
代数的データ型
直和型と直積型を組み合わせてデータを表現する型システムの概念
貧血ドメインモデル
ドメインオブジェクトがデータのみを持ち、ビジネスロジックが外部のサービスに散在するアンチパターン
AST
ソースコードの構文構造をツリー形式で表現したデータ構造
非同期プログラミング
I/O 待ちの間に他の処理を進め、システムのスループットを向上させるプログラミング手法
計算量 (Big O)
アルゴリズムの効率を入力サイズに対する増加率で表す記法
二分探索
ソート済み配列を半分ずつ絞り込んで O(log n) で要素を検索するアルゴリズム
ブルームフィルタ
要素が集合に含まれるかを高速に判定する確率的データ構造で、偽陽性はあるが偽陰性はない
ブランド型
TypeScript で構造的に同じ型を名目的に区別し、型の取り違えを防ぐテクニック
サーキットブレーカーライブラリ
外部サービスの障害を検知し、自動的にリクエストを遮断して障害の連鎖を防ぐライブラリ
クロージャ
関数が定義時のスコープの変数を記憶し、外部から参照できる仕組み
コードの不吉な匂い
リファクタリングが必要であることを示唆するコード上の兆候や構造的な問題のパターン
並行処理
複数のタスクを論理的に同時に進行させるプログラミング手法で、システムのスループットと応答性を向上させる
Core Web Vitals
Google が定義した Web ページのユーザー体験を測定する 3 つの指標 (LCP, INP, CLS)
CSS カスタムプロパティ
CSS で変数を定義し、スタイル全体で再利用できる仕組み
カリー化
複数の引数を取る関数を、1 つの引数を取る関数の連鎖に変換する手法
Decorator パターン実装
既存オブジェクトの振る舞いを動的に拡張し、継承を使わずに機能を追加するデザインパターン
デコレータ
既存の関数やクラスに機能を追加するデザインパターンで、元のコードを変更せずに拡張する
依存グラフ
モジュールやパッケージ間の依存関係をグラフ構造で表現し、ビルド順序や影響範囲を分析する
デザインパターン
ソフトウェア設計で繰り返し現れる問題に対する再利用可能な解決策のカタログ
デザインシステム
UI コンポーネント、デザイントークン、ガイドラインを体系化し、一貫した UI を実現する仕組み
動的計画法
問題を部分問題に分割し、結果をメモ化して重複計算を排除するアルゴリズム設計手法
エンティティと値オブジェクト
DDD における 2 つの基本的なドメインモデル要素 - 同一性で区別するエンティティと、値で区別する値オブジェクト
Enum (Rust)
Rust の列挙型で、各バリアントがデータを持てる代数的データ型
イベントループ
Node.js のシングルスレッドで非同期 I/O を実現する実行モデル
ファイルディスクリプタ
OS がオープンしたファイルやソケットを識別するための整数値
関数型プログラミング
副作用を避け、純粋関数と不変データを中心にプログラムを構築するパラダイム
ガベージコレクション
不要になったメモリを自動的に解放するランタイムの仕組み
ジェネリクス
型をパラメータ化し、型安全性を保ちながら汎用的なコードを書く仕組み
goroutine
Go の軽量スレッドで、数百万の並行処理を低コストで実現する
グラフアルゴリズム
ノードとエッジで構成されるグラフ構造に対する探索・最短経路・接続性の分析アルゴリズム
ハッシュテーブル
キーをハッシュ関数で変換し、O(1) でデータを検索・挿入・削除するデータ構造
ハッシュ
任意のデータを固定長の値に変換する関数で、データの整合性検証や高速検索に使う
高階関数
関数を引数に取る、または関数を返す関数で、関数型プログラミングの基本概念
Hooks
React の関数コンポーネントに状態管理や副作用などの機能を追加する仕組み
不変性
データを変更せず、新しいデータを作成するプログラミングの原則
インターフェース分離の原則
SOLID の I - クライアントが使わないメソッドへの依存を強制しない原則
Intersection Observer
要素がビューポートに入ったことを非同期で検知する Web API
Iterator パターン
コレクションの内部構造を公開せずに、要素を順番にアクセスする手段を提供するデザインパターン
JIT コンパイル
プログラムの実行時にコードをネイティブコードにコンパイルし、パフォーマンスを向上させる技術
KISS 原則
Keep It Simple, Stupid - 設計をできるだけシンプルに保つことを求める原則
遅延読み込み
リソースを必要になるまで読み込まず、初期表示速度とパフォーマンスを向上させる手法
連結リスト
各要素が次の要素へのポインタを持つ線形データ構造
リスコフの置換原則
SOLID の L - サブタイプはスーパータイプと置換可能でなければならない原則
localStorage
ブラウザにキーバリュー形式でデータを永続的に保存する Web Storage API
メモリレイアウト
プログラムのメモリ空間の構造で、スタック、ヒープ、コード領域、データ領域から構成される
マイクロフロントエンド
フロントエンドをチームごとに独立した小さなアプリケーションに分割し、個別にデプロイ可能にするアーキテクチャ
モナド
値をコンテキスト (失敗、非同期、リスト) で包み、連鎖的に処理する関数型プログラミングの抽象
ミューテックス
複数のスレッドが共有リソースに同時アクセスすることを防ぐ排他制御の同期プリミティブ
オブザーバーパターン
オブジェクトの状態変化を複数の依存オブジェクトに自動通知するデザインパターン
オニオンアーキテクチャ
ドメインロジックを中心に据え、外側の層が内側に依存する同心円状のアーキテクチャ
Option / Result 型
null や例外の代わりに、値の有無やエラーを型で表現する関数型プログラミングのパターン
所有権と借用
Rust のメモリ管理モデルで、GC なしでメモリ安全性を保証する仕組み
パターンマッチ
値の構造に基づいて分岐処理を行う制御構文で、switch 文の強化版
ファントム型
型パラメータが値レベルでは使われず、コンパイル時の状態追跡にのみ使用される型テクニック
ポリモーフィズム
同じインターフェースで異なる型のオブジェクトを扱い、実行時に適切な処理を選択する仕組み
プロセスとスレッド
OS のプロセスとスレッドの違い、およびプログラムの並行実行モデル
Proxy パターン
オブジェクトへのアクセスを代理オブジェクトが仲介し、アクセス制御やキャッシュなどの付加機能を提供するパターン
純粋関数
同じ入力に対して常に同じ出力を返し、副作用を持たない関数
リアクティブプログラミング
データの変化を自動的に伝播させ、非同期データストリームを宣言的に処理するパラダイム
再帰
関数が自分自身を呼び出して問題を解く手法で、木構造やフラクタル的な問題に適する
リファクタリング
外部の振る舞いを変えずにコードの内部構造を改善し、保守性と可読性を向上させる手法
正規表現
文字列のパターンマッチングと置換を行うためのミニ言語
レスポンシブデザイン
画面サイズに応じてレイアウトを自動調整し、あらゆるデバイスで最適な表示を実現する手法
スコープ
変数や関数が参照可能な範囲を定義するプログラミングの基本概念
セマンティック HTML
HTML 要素の意味 (セマンティクス) に基づいてマークアップし、アクセシビリティと SEO を向上させる手法
Server Components
React 19 のサーバーで実行されるコンポーネントで、JS バンドルサイズを削減しパフォーマンスを向上させる
Service Worker
ブラウザとネットワークの間でプロキシとして動作し、オフライン対応やキャッシュ制御を実現する Web API
副作用
関数が戻り値以外に外部の状態を変更する操作で、テストやデバッグを困難にする要因
単一責任の原則
SOLID の S - クラスやモジュールが変更される理由は 1 つだけであるべきという設計原則
SOLID 原則
オブジェクト指向設計の 5 つの基本原則で、保守性と拡張性の高いコードを実現する
ソートアルゴリズム
データを特定の順序に並べ替えるアルゴリズムの総称
状態管理
フロントエンドアプリケーションのデータの流れと状態の変更を一元的に管理する手法
システムコール
ユーザー空間のプログラムが OS カーネルの機能を呼び出すインターフェース
Template Method パターン
アルゴリズムの骨格を親クラスで定義し、具体的なステップをサブクラスに委ねるデザインパターン
Trait
Rust の型に共通の振る舞いを定義するインターフェース機構
木構造
親子関係を持つノードで構成される階層的なデータ構造
型安全性
型システムによってコンパイル時に不正な操作を検出し、実行時エラーを未然に防ぐ性質
TypeScript
JavaScript に静的型付けを追加した言語で、大規模開発の安全性と生産性を向上させる
仮想 DOM
実際の DOM の軽量なコピーをメモリ上に保持し、差分だけを効率的に更新する仕組み
WebAssembly
ブラウザでネイティブに近い速度でコードを実行するバイナリ命令形式
Web Worker
ブラウザのメインスレッドとは別のスレッドで JavaScript を実行し、UI のブロッキングを防ぐ仕組み
YAGNI
You Aren't Gonna Need It - 今必要でない機能を先回りして実装しない原則
抽象クラス
直接インスタンス化できず、サブクラスに共通のインターフェースと部分的な実装を提供するクラス
Builder パターン
複雑なオブジェクトの生成をメソッドチェーンで段階的に構築するデザインパターン
Command パターン
操作をオブジェクトとしてカプセル化し、実行の遅延、キューイング、取り消しを可能にするデザインパターン
依存性逆転の原則
SOLID の D - 上位モジュールは下位モジュールに依存せず、両者とも抽象に依存すべきという設計原則
Flyweight パターン
多数のオブジェクト間で共有可能な状態を分離し、メモリ使用量を削減するデザインパターン
メモ化
関数の計算結果をキャッシュし、同じ引数での再計算を避ける最適化手法
開放閉鎖の原則
SOLID の O - ソフトウェアの構成要素は拡張に対して開かれ、修正に対して閉じているべきという設計原則
型アサーション
TypeScript でコンパイラに型情報を明示的に伝える構文で、誤用するとランタイムエラーの原因になる
ガード節
関数の先頭で異常条件を早期にチェックし、ネストを浅く保つプログラミングパターン
制御の反転
フレームワークがアプリケーションコードを呼び出す設計原則で、依存性注入の基盤となる概念
Null Object パターン
null チェックの代わりに、何もしないオブジェクトを使って条件分岐を排除するデザインパターン
オブジェクトプールパターン
生成コストの高いオブジェクトを事前に確保してプールし、再利用することでパフォーマンスを向上させるパターン
不透明型
型の内部構造を隠蔽し、モジュール外部からの直接操作を防ぐカプセル化テクニック
State パターン
オブジェクトの内部状態に応じて振る舞いを切り替え、状態遷移を明示的にモデル化するデザインパターン
レースコンディション
複数のプロセスやスレッドが共有リソースに同時アクセスし、実行順序によって結果が変わる不具合
コールバック地獄
非同期処理のコールバックが深くネストし、コードの可読性と保守性が著しく低下する状態
Unicode
世界中の文字を統一的に表現するための文字コード規格
依存性注入 (DI)
オブジェクトが必要とする依存関係を外部から注入することで、モジュール間の結合度を下げテスタビリティを向上させる設計パターン
Go
Google が開発したシンプルで高速なコンパイル言語で、goroutine による軽量な並行処理が特徴
Promise/async-await
非同期処理の結果を表現するオブジェクトと、それを同期的な記法で扱うための構文
テスト駆動開発
テストを先に書き、テストが通るコードを実装し、リファクタリングするサイクルで開発を進める手法
Fetch API
HTTP リクエストを送信するためのモダンな Web API で、XMLHttpRequest の後継
キュー
先入れ先出し (FIFO) でデータを管理する基本データ構造
Java
エンタープライズ開発で広く使われるオブジェクト指向言語で、JVM 上で動作しプラットフォーム非依存を実現する
Python
読みやすさを重視した汎用プログラミング言語で、データサイエンス、AI、Web 開発で広く使われる
Rust
メモリ安全性とパフォーマンスを両立する、GC なしのシステムプログラミング言語
React
コンポーネントベースの UI ライブラリで、宣言的な記法と仮想 DOM で効率的な UI 構築を実現する
JSX
JavaScript 内に HTML ライクな構文を記述し、UI コンポーネントを宣言的に定義する React の拡張構文
channel
Go 言語で goroutine 間のデータ通信と同期を行う型付きパイプ
スタック
後入れ先出し (LIFO) でデータを管理する基本データ構造
セキュリティ
Passkey
パスワード不要の認証技術で、FIDO2/WebAuthn 標準に基づく
OWASP
Web アプリケーションセキュリティのベストプラクティスを提供するオープンコミュニティ
SAST/DAST
ソースコードの静的解析と実行中のアプリケーションの動的解析によるセキュリティテスト
CSP レポート
Content Security Policy 違反をブラウザがサーバーに自動報告し、XSS やデータ漏洩を検知する仕組み
パスワードポリシー
安全なパスワードの要件と管理ルールを定義し、NIST ガイドラインに基づくセキュリティ方針
証明書ピンニング
特定の証明書や公開鍵のみを信頼し、中間者攻撃を防ぐセキュリティ手法
API キー
API の利用者を識別し、アクセスを制御するための文字列トークン
ケイパビリティベースセキュリティ
リソースへのアクセス権を偽造不可能なトークン (ケイパビリティ) として管理するセキュリティモデル
Amazon Cognito
Web・モバイルアプリに認証・認可機能を追加する AWS マネージドサービス
コンプライアンス
法規制や業界標準への準拠を確保し、セキュリティと信頼性を維持する取り組み
Cookie
Web サーバーがブラウザに保存を指示し、リクエスト間で状態を維持する仕組み
CORS
ブラウザの同一オリジンポリシーを緩和し、異なるオリジン間のリソース共有を許可する仕組み
CSP
Content Security Policy の略で、Web ページで実行可能なリソースの出所を制限するセキュリティ機構
CSRF
ユーザーが認証済みの Web サイトに対して、攻撃者が意図しないリクエストを送信させる攻撃手法
DDoS
大量のリクエストでサービスを利用不能にする分散型サービス拒否攻撃
多層防御
複数のセキュリティ層を重ねて、1 つの層が突破されても他の層で防御する設計原則
DevSecOps
開発・セキュリティ・運用を統合し、セキュリティをパイプラインに組み込むアプローチ
暗号化
データを第三者が読めない形式に変換し、機密性を保護する技術
HTTPS / TLS
HTTP 通信を TLS で暗号化し、盗聴・改ざん・なりすましを防ぐプロトコル
IAM
AWS のアクセス管理サービスで、誰が何のリソースにどのような操作を行えるかを制御する
IAM (概念)
Identity and Access Management の一般概念で、認証と認可を管理する仕組み
入力バリデーション
ユーザー入力を検証し、不正なデータがシステムに入り込むのを防ぐセキュリティの基本
JWT
JSON Web Token の略で、署名付きの JSON でユーザー情報を安全に伝達するトークン形式
KMS
AWS の暗号鍵管理サービスで、データの暗号化・復号に使う鍵を安全に管理する
mTLS
クライアントとサーバーが互いに証明書を検証し、双方向で認証する TLS の拡張
Network Policy
Kubernetes で Pod 間のネットワーク通信を制御し、不要な通信を遮断するセキュリティ機能
OAuth 2.0
ユーザーのパスワードを渡さずに、リソースへの限定的なアクセスを許可する認可フレームワーク
RBAC
ロール (役割) に基づいてアクセス権限を管理する認可モデル
リフレッシュトークン
アクセストークンの有効期限切れ後に、再認証なしで新しいアクセストークンを取得するためのトークン
シークレットローテーション
API キーやデータベースパスワードなどの秘密情報を定期的に自動更新するセキュリティプラクティス
シークレット管理
パスワード、API キー、証明書などの機密情報を安全に保存・配布・ローテーションする手法
Secrets Manager
AWS のシークレット管理サービスで、パスワードや API キーを安全に保存・自動ローテーションする
セキュリティヘッダー
HTTP レスポンスヘッダーでブラウザのセキュリティ機能を制御し、XSS やクリックジャッキングを防ぐ仕組み
Kubernetes サービスアカウント
Pod に割り当てる ID で、RBAC と連携して Pod の API アクセス権限を制御する
シフトレフトセキュリティ
セキュリティ対策を開発ライフサイクルの早い段階 (左側) に組み込むアプローチ
SQL インジェクション
ユーザー入力を通じて不正な SQL 文を注入し、データベースを不正操作する攻撃手法
サプライチェーンセキュリティ
ソフトウェアの依存関係やビルドパイプラインを通じた攻撃を防ぐセキュリティ対策
脅威モデリング
システムに対する潜在的な脅威を体系的に特定・評価し、対策を設計するセキュリティ手法
TLS 証明書
HTTPS 通信を実現するための電子証明書で、サーバーの身元を証明し通信を暗号化する
WAF
Web アプリケーションファイアウォールで、SQL インジェクションや XSS などの攻撃をフィルタリングする
XSS
Web サイトに悪意のあるスクリプトを注入し、ユーザーの情報を盗む攻撃
ゼロトラスト
ネットワークの内外を問わず全てのアクセスを検証し、暗黙の信頼を排除するセキュリティモデル
最小権限の原則
ユーザーやプログラムに、タスクの遂行に必要な最小限の権限のみを付与するセキュリティ原則
JWK
暗号鍵を JSON 形式で表現する標準仕様で、JWT の署名検証に使用される
PKCE
OAuth 2.0 の認可コードフローを、クライアントシークレットなしで安全に実行するための拡張
OpenID Connect
OAuth 2.0 の上に構築された認証レイヤーで、ユーザーの身元情報を ID トークンとして提供する
シングルサインオン
1 回の認証で複数のアプリケーションやサービスにアクセスできる仕組み
多要素認証
パスワードに加えて追加の認証要素を要求し、アカウントの不正アクセスを防ぐセキュリティ手法
ABAC
ユーザー、リソース、環境の属性に基づいてアクセス制御を動的に判断する認可モデル
SBOM
ソフトウェアに含まれるすべてのコンポーネントの一覧を記録した部品表
SAML
企業の ID プロバイダーとサービスプロバイダー間でシングルサインオンを実現する XML ベースの認証プロトコル
設計・アーキテクチャ
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル
イベントストーミング
ドメインエキスパートと開発者が協働でビジネスプロセスを可視化するワークショップ手法
Strangler Fig パターン
レガシーシステムを段階的に新システムへ移行する設計パターン
Saga コレオグラフィ
各サービスがイベントを発行・購読し、中央のオーケストレーターなしで分散トランザクションを実現する方式
アダプターパターン
互換性のないインターフェースを変換し、既存のコードを変更せずに連携させるデザインパターン
腐敗防止層
レガシーシステムと新システムの間に変換層を設け、新システムの設計を汚染から守るパターン
BFF (Backend for Frontend)
フロントエンドごとに専用のバックエンドを用意し、クライアントに最適化された API を提供するパターン
指数バックオフ
リトライ間隔を指数関数的に増加させ、障害時のシステム負荷を軽減するリトライ戦略
バックプレッシャー
下流の処理能力を超えるデータが流入した際に、上流に対して流量を制御する仕組み
バルクヘッドパターン
システムをリソース的に独立した区画に分離し、障害の影響範囲を限定する耐障害性パターン
セルベースアーキテクチャ
システムを独立したセルに分割し、障害の爆発半径を最小化するデプロイメントパターン
凝集度
モジュール内の要素がどれだけ密接に関連しているかを示す設計指標
コンポジション
オブジェクトを組み合わせて機能を構築する設計手法で、継承よりも柔軟性が高い
コンウェイの法則
組織のコミュニケーション構造がシステムの設計に反映されるという経験則
結合度
モジュール間の依存の強さを示す設計指標で、低いほど保守性が高い
デッドレターキュー
処理に失敗したメッセージを退避させ、後から調査・再処理するためのキュー
依存関係
モジュールやサービスが他のモジュールやサービスに依存する関係で、結合度と変更の影響範囲を決定する
分散ロック
分散システムで複数のプロセスが同じリソースに同時アクセスすることを防ぐ排他制御
DRY 原則
Don't Repeat Yourself の略で、知識の重複を排除し、単一の正を維持する設計原則
イベントソーシング
状態の変更をイベントとして記録し、イベントの再生で現在の状態を復元する設計パターン
ファクトリパターン
オブジェクトの生成ロジックをカプセル化し、生成方法の詳細を隠蔽するデザインパターン
ファンアウト
1 つのイベントを複数のコンシューマーに同時配信するメッセージングパターン
グレースフルデグラデーション
システムの一部が障害を起こしても、機能を縮退させて全体のサービスを継続する設計手法
ヘキサゴナルアーキテクチャ
ポートとアダプターでビジネスロジックを外部依存から分離する設計パターン
メッセージキュー
プロデューサーとコンシューマーを非同期に接続し、メッセージを一時的に保持する通信基盤
ミドルウェア
リクエストとレスポンスの間に挟まる処理層で、認証・ログ・エラーハンドリングを横断的に適用する
モジュラーモノリス
モノリスの内部をモジュールに分割し、マイクロサービスの利点を取り入れたアーキテクチャ
モノリスファースト
新規プロジェクトではまずモノリスで構築し、ドメイン理解が深まってからマイクロサービスに分割する戦略
モノリス
全機能を 1 つのデプロイ単位にまとめたアーキテクチャで、シンプルだが大規模化で課題が生じる
マルチテナンシー
1 つのシステムで複数のテナント (顧客) のデータを安全に分離して提供するアーキテクチャ
Outbox パターン
DB の変更とイベント発行を 1 つのトランザクションで保証するメッセージング信頼性パターン
ポートとアダプター
アプリケーションのコアロジックを外部技術から分離し、ポート (インターフェース) とアダプター (実装) で接続するアーキテクチャ
Pub/Sub
発行者と購読者が直接通信せず、メッセージブローカーを介して非同期にメッセージを交換するパターン
キューワーカー
メッセージキューからタスクを取り出して非同期に処理するバックグラウンドプロセス
リポジトリパターン (GoF)
データアクセスロジックをカプセル化し、ビジネスロジックからデータストアの詳細を隠蔽するパターン
リトライパターン
一時的な障害に対して自動的にリクエストを再試行し、指数バックオフで間隔を調整する設計パターン
Saga パターン (オーケストレーション)
分散トランザクションを複数のローカルトランザクションに分割し、中央のオーケストレーターが制御するパターン
サービスディスカバリ
マイクロサービスが他のサービスのネットワーク位置を動的に発見する仕組み
サービスメッシュ
マイクロサービス間の通信を透過的に管理するインフラ層で、トラフィック制御・認証・監視を提供する
サイドカーパターン
メインコンテナと同じ Pod に補助コンテナを配置し、横断的関心事を分離する設計パターン
シングルトンパターン
クラスのインスタンスが 1 つだけ存在することを保証するデザインパターン
ステートマシン
有限個の状態と遷移で振る舞いを定義する計算モデルで、ワークフローや UI の状態管理に使う
ステートレス
プロセスが内部に状態を持たず、リクエストごとに独立して処理する設計原則
ストラテジーパターン
アルゴリズムをオブジェクトとしてカプセル化し、実行時に切り替え可能にするデザインパターン
トランザクショナルアウトボックス
データベースへの書き込みとイベント発行を原子的に行うための分散システムパターン
Well-Architected Framework
AWS のベストプラクティスに基づいてワークロードを評価・改善するための 6 本柱のフレームワーク
サーバーレス
サーバーの管理をクラウドプロバイダーに委ね、コードの実行に対してのみ課金されるコンピューティングモデル
マイクロサービス
1 つの大きなアプリケーションを複数の小さなサービスに分割し、それぞれが独立してデプロイ・スケール可能な状態で協調動作するアーキテクチャパターン
Twelve-Factor App
クラウドネイティブなアプリケーションを構築するための 12 の設計原則
イベント駆動アーキテクチャ
イベントの発行と購読を中心にシステムを構成し、サービス間の疎結合と非同期処理を実現するアーキテクチャスタイル
ドメイン駆動設計 (DDD)
ビジネスドメインの知識を中心に据え、ドメインエキスパートと開発者が共通言語で協働しながらソフトウェアを設計する手法
CQRS
データの読み取り (Query) と書き込み (Command) を別々のモデルで処理し、それぞれを独立して最適化するアーキテクチャパターン
クリーンアーキテクチャ
ビジネスロジックを外部の技術的詳細から分離し、依存関係を内側に向けることで変更に強い設計を実現するアーキテクチャ原則
境界づけられたコンテキスト
ドメインモデルが一貫した意味を持つ範囲を明確に区切り、モデルの曖昧さを排除する DDD の戦略的パターン
集約
ドメイン駆動設計において、一貫性を保つべきオブジェクト群をまとめ、単一のルートエンティティ経由でアクセスする設計パターン
インフラ・運用
EKS
AWS のマネージド Kubernetes サービス
Fargate
コンテナのためのサーバーレスコンピューティングエンジン
Kubernetes Namespace
Kubernetes クラスター内のリソースを論理的に分離し、マルチテナントやチーム間の境界を設ける仕組み
Lambda Layer
Lambda 関数間で共有ライブラリやカスタムランタイムを再利用する仕組み
Lambda Powertools
Lambda 関数の構造化ログ、分散トレーシング、カスタムメトリクスを簡素化する AWS 公式ライブラリ
ログ集約
分散システムの複数サービスから出力されるログを一元的に収集・検索・分析する仕組み
S3 ライフサイクル
S3 オブジェクトのストレージクラスを自動的に移行し、コストを最適化する機能
SNS ファンアウト
SNS トピックから複数の SQS キューや Lambda に同時配信し、1 つのイベントで複数の処理を並行実行するパターン
Terraform State
Terraform がインフラの現在の状態を管理するファイルとリモートバックエンド
TLS 終端
ロードバランサーや CDN で TLS を復号し、バックエンドとの通信負荷を軽減する構成パターン
ACM
AWS Certificate Manager の略で、SSL/TLS 証明書を無料で発行・管理・自動更新するサービス
管理プロセス
Twelve-Factor App の原則で、DB マイグレーションなどの管理タスクをワンオフプロセスとして実行する
API Gateway + Lambda 統合
API Gateway と Lambda を組み合わせたサーバーレス API の構築パターン
API Gateway
API のエントリーポイントとして認証、スロットリング、ルーティングを一元管理する AWS サービス
オートスケーリング
トラフィックや負荷に応じてコンピュートリソースを自動的に増減させる仕組み
Amazon Bedrock
AWS のフルマネージド生成 AI サービスで、基盤モデルを API 経由で利用できる
Blue/Green デプロイ
2 つの同一環境を用意し、トラフィックを切り替えることでゼロダウンタイムデプロイを実現する手法
カナリアリリース
新バージョンを少数のユーザーに先行公開し、問題がないことを確認してから全体に展開するデプロイ手法
CDK
TypeScript や Python などのプログラミング言語で AWS インフラを定義する IaC フレームワーク
CDN
世界中のエッジロケーションにコンテンツをキャッシュし、低レイテンシで配信するネットワーク
カオスエンジニアリング
本番環境で意図的に障害を注入し、システムの耐障害性を検証する実践手法
Chaos Monkey
本番環境でランダムにインスタンスを停止し、システムの耐障害性を検証するツール
CloudFormation
AWS のインフラをテンプレート (YAML/JSON) で宣言的に定義・管理する IaC サービス
CloudFront
AWS の CDN サービスで、世界中のエッジロケーションからコンテンツを低レイテンシで配信する
CloudWatch
AWS のモニタリング・ログ管理サービスで、メトリクス収集、ログ分析、アラートを提供する
CodePipeline
AWS のマネージド CI/CD サービスで、ソースからデプロイまでのパイプラインを自動化する
コールドスタート
Lambda の初回呼び出し時に実行環境の初期化が発生し、レイテンシが増加する現象
コンテナオーケストレーション
コンテナのデプロイ、スケーリング、ネットワーキングを自動管理するプラットフォーム
AWS Copilot
コンテナアプリケーションを ECS / Fargate に簡単にデプロイするための AWS CLI ツール
コスト最適化
AWS のクラウドコストを削減しながら、必要なパフォーマンスと可用性を維持する取り組み
cron
Unix 系 OS のスケジュール実行の仕組みと、cron 式によるスケジュール定義
Deployment
Kubernetes で Pod のレプリカ数、更新戦略、ロールバックを宣言的に管理するリソース
災害復旧
大規模障害や災害からシステムを復旧するための計画と仕組み
DNS
ドメイン名を IP アドレスに変換するインターネットの名前解決システム
Docker Compose
複数のコンテナをまとめて定義・起動するツールで、ローカル開発環境の構築に使われる
Docker
アプリケーションをコンテナとしてパッケージ化し、どの環境でも同じように実行できるプラットフォーム
Dockerfile
Docker イメージのビルド手順を記述するテキストファイルで、アプリケーションの実行環境を再現可能にする
ECR
AWS のマネージドコンテナレジストリで、Docker イメージを安全に保存・管理・配信する
ECS
AWS のマネージドコンテナオーケストレーションサービスで、Docker コンテナを実行・管理する
エッジコンピューティング
ユーザーに近いエッジロケーションでコードを実行し、レイテンシを削減する技術
ElastiCache
AWS のマネージドインメモリキャッシュサービスで、Redis と Memcached をサポートする
エラーバジェット
SLO で許容される障害の量を予算として管理し、信頼性と開発速度のバランスを取る仕組み
EventBridge
AWS のサーバーレスイベントバスで、イベント駆動アーキテクチャの中核を担う
フェイルオーバー
障害発生時にスタンバイシステムへ自動的に切り替え、サービスの継続性を確保する仕組み
FinOps
クラウドコストの可視化・最適化・ガバナンスを組織横断で実践するフレームワーク
ゲームデイ
本番環境で意図的に障害を発生させ、チームの対応力とシステムの耐障害性を検証する訓練
GitOps
Git リポジトリを唯一の正として、インフラとアプリケーションの状態を宣言的に管理する運用手法
Helm
Kubernetes のパッケージマネージャーで、アプリケーションのデプロイをテンプレート化して管理する
Horizontal Pod Autoscaler
Kubernetes で Pod のレプリカ数を CPU 使用率やカスタムメトリクスに基づいて自動調整する仕組み
水平スケーリング
サーバーの台数を増やして処理能力を向上させるスケーリング手法
イミュータブルインフラストラクチャ
サーバーを変更せず、新しいイメージで丸ごと置き換えるインフラ運用手法
インシデント管理
システム障害の検知から復旧、再発防止までを体系的に管理するプロセス
Infrastructure as Code
インフラの構成をコードで定義し、バージョン管理・自動化・再現性を実現する手法
インフラストラクチャドリフト
IaC で定義した状態と実際のインフラの状態が乖離する問題
インフラテスト
IaC テンプレートやデプロイ済みインフラの正当性を自動テストで検証する手法
Kubernetes
コンテナのデプロイ、スケーリング、管理を自動化するオープンソースのオーケストレーションプラットフォーム
Lambda
AWS のサーバーレスコンピューティングサービスで、コードをイベント駆動で実行する
Liveness/Readiness プローブ
Kubernetes がコンテナの生存状態と受信準備状態を判定するためのヘルスチェック機構
ロードバランシング
複数のサーバーにトラフィックを分散し、可用性とスケーラビリティを向上させる仕組み
ロギング
アプリケーションの動作を記録し、デバッグ・監視・監査に活用する仕組み
ログ設計
アプリケーションのログを構造化・分類し、効果的なデバッグと監視を実現する設計手法
Namespace と cgroup
Linux コンテナの基盤技術で、プロセスの隔離とリソース制限を実現するカーネル機能
オブザーバビリティ
システムの内部状態を外部から観測可能にし、問題の原因を迅速に特定するための仕組み
OpenTelemetry
メトリクス、ログ、トレースを統一的に収集するオブザーバビリティのオープン標準
Operator パターン
Kubernetes のカスタムリソースとコントローラーで、アプリケーションの運用を自動化するパターン
Pod
Kubernetes の最小デプロイ単位で、1 つ以上のコンテナをまとめて管理するリソース
ポート
ネットワーク通信でプロセスを識別する番号で、TCP/UDP の接続先を指定する
プロセスタイプ
Twelve-Factor App のプロセスモデルで、アプリケーションの実行形態を分類する概念
Resource Quota
Kubernetes の Namespace ごとにリソース使用量の上限を設定し、リソースの公平な配分を保証する仕組み
リバースプロキシ
クライアントとサーバーの間に位置し、リクエストを中継・制御するサーバー
ロールバック
デプロイやデータ変更を以前の状態に戻し、障害からの復旧を行う操作
Route 53
AWS のマネージド DNS サービスで、ドメイン登録、DNS ルーティング、ヘルスチェックを提供する
RPO / RTO
災害復旧の目標指標で、許容できるデータ損失量 (RPO) と復旧時間 (RTO) を定義する
S3
AWS のオブジェクトストレージサービスで、無制限のデータを高い耐久性で保存する
AWS SAM
AWS のサーバーレスアプリケーションを定義・デプロイするためのフレームワーク
Service
Kubernetes で Pod 群への安定したネットワークアクセスを提供する抽象化リソース
シェアードナッシング
各ノードが独立したリソースを持ち、共有状態を排除するアーキテクチャ
サイドカーインジェクション
Kubernetes で Pod にサイドカーコンテナを自動的に注入し、横断的関心事を透過的に追加する仕組み
SLA / SLO / SLI
サービスの信頼性を定量的に管理するための 3 つの指標体系
SNS と SQS
AWS のメッセージングサービスで、SNS がパブリッシュ/サブスクライブ、SQS がメッセージキューを提供する
SQS FIFO キュー
メッセージの順序保証と厳密な 1 回配信を提供する Amazon SQS のキュータイプ
SRE
Site Reliability Engineering の略で、ソフトウェアエンジニアリングの手法でシステムの信頼性を向上させる実践
SSM
AWS Systems Manager の略で、EC2 やオンプレミスサーバーの管理、パラメータストアを提供する
Step Functions
AWS のサーバーレスワークフローサービスで、Lambda 関数を視覚的に組み合わせてオーケストレーションする
構造化ログ
ログを JSON 形式で出力し、機械的な解析・検索・集計を可能にするロギング手法
TCP 3-way ハンドシェイク
TCP 接続を確立するための 3 段階の手順で、SYN → SYN-ACK → ACK の順で行われる
テレメトリ
システムの状態をメトリクス、ログ、トレースの 3 本柱で収集・送信する仕組み
Terraform
HashiCorp の IaC ツールで、マルチクラウドのインフラをコードで宣言的に管理する
トイル
手作業で繰り返し行われる運用作業で、自動化によって削減すべき対象
VPC エンドポイント
VPC 内から AWS サービスにインターネットを経由せずにプライベートにアクセスする仕組み
VPC
AWS 上に論理的に隔離されたプライベートネットワークを構築するサービス
X-Ray
AWS の分散トレーシングサービスで、リクエストの経路とレイテンシを可視化する
ゼロダウンタイムデプロイ
サービスを停止せずに新バージョンをデプロイする手法の総称
コネクションドレイニング
ロードバランサーがインスタンスを切り離す際に、処理中のリクエストを完了させてから切断する仕組み
ヘルスチェックパターン
サービスの稼働状態を定期的に確認し、異常を検知したらトラフィックを切り離す仕組み
NAT ゲートウェイ
プライベートサブネットのリソースがインターネットにアクセスするためのアドレス変換ゲートウェイ
Pod Disruption Budget
Kubernetes でメンテナンス時に同時に停止できる Pod 数を制限し、サービスの可用性を保証するリソース
Kubernetes ローリングアップデート
Pod を段階的に新バージョンに置き換え、ゼロダウンタイムでアプリケーションを更新するデプロイ戦略
相関 ID
分散システムで 1 つのリクエストに紐づく全ログを追跡するための一意な識別子
グレースフルシャットダウン
処理中のリクエストを完了させてからプロセスを安全に停止する終了手法
Init コンテナ
Kubernetes でメインコンテナの起動前に初期化処理を実行する特殊なコンテナ
Namespace 分離
Kubernetes の Namespace を使ってリソース、ネットワーク、権限を論理的に分離するマルチテナント戦略
ペットと家畜
サーバーを個別に管理する「ペット」から、使い捨て可能な「家畜」へ移行するインフラ運用の考え方
トイルバジェット
SRE が手作業の運用タスク (トイル) に費やす時間の上限を設定し、自動化を推進する管理手法
コンテナ
アプリケーションとその依存関係をパッケージ化し、環境に依存しない一貫した実行環境を提供する仮想化技術
TCP/IP
インターネット通信の基盤となるプロトコル群で、データの分割・送信・再組立を信頼性高く行う
Ingress
Kubernetes クラスタ外部からの HTTP/HTTPS トラフィックをサービスにルーティングするリソース
開発プラクティス
ミューテーションテスト
テストコードの品質を、意図的にコードを変異させて検証する手法
Next.js
React ベースのフルスタックフレームワークで、SSR、SSG、API Routes を統合的に提供する
バンドラー
複数の JavaScript モジュールを 1 つまたは複数のファイルにまとめるビルドツール
PWA
Service Worker やマニフェストを活用し、Web 技術でオフライン対応やプッシュ通知などネイティブアプリに近い体験を提供するアプローチ
SPA ルーティング
SPA でブラウザの URL とコンポーネントの表示を同期させ、ページ遷移なしで画面を切り替える仕組み
テスト戦略
プロジェクトのテスト種類、範囲、自動化レベルを体系的に定義する計画
アジャイル
短いイテレーションで動くソフトウェアを継続的に届け、変化に適応する開発手法の総称
ビルド
ソースコードを実行可能な成果物に変換するプロセス
バス係数
チームの何人が離脱したらプロジェクトが停止するかを示す指標
CI/CD
コードの変更を自動的にビルド・テスト・デプロイするパイプライン
CI
Continuous Integration の略で、コードの変更を頻繁に統合し自動テストで品質を保証する手法
コードカバレッジ
テストがソースコードのどの程度の範囲を実行しているかを測定する指標
コードレビュー
他の開発者がコードを検査し、品質向上と知識共有を行うプラクティス
コードベース
プロジェクトのソースコード全体とその構成・管理方法
認知負荷
開発者がコードを理解・変更するために必要な精神的な労力の量
コントラクトテスト
サービス間の API 仕様 (契約) が守られていることを自動検証するテスト手法
Conventional Commits
コミットメッセージに構造化されたフォーマットを適用し、変更履歴の自動生成やバージョニングを可能にする規約
依存管理
プロジェクトが使用する外部パッケージのバージョン管理と更新を行う仕組み
開発/本番一致
Twelve-Factor App の原則で、開発・ステージング・本番環境の差異を最小化する
Dev Container
Docker コンテナ内に開発環境を定義し、チーム全員が同一の環境で開発できる仕組み
DORA メトリクス
ソフトウェアデリバリーのパフォーマンスを測定する 4 つの指標
E2E テスト
ユーザーの操作をブラウザ上で再現し、システム全体の動作を検証するテスト手法
フィーチャーフラグ運用
フィーチャーフラグの分類、ライフサイクル管理、削除戦略の実践ガイド
フィーチャーフラグ
コードをデプロイした後に、機能の有効/無効を動的に切り替える仕組み
フォーマッター
ソースコードのスタイル (インデント、改行、スペース) を自動的に統一するツール
Git リベース
コミット履歴を整理し、クリーンな直線的履歴を維持するための Git 操作
Git
分散型バージョン管理システムで、ソースコードの変更履歴を管理する
GitHub Actions
GitHub に統合された CI/CD プラットフォームで、ワークフローを YAML で定義して自動実行する
GitHub Flow
main ブランチとフィーチャーブランチだけで運用するシンプルなブランチ戦略
カンバン
作業の可視化と WIP 制限でフローを最適化するアジャイル手法
リンター
ソースコードを静的解析し、バグの可能性やスタイル違反を検出するツール
負荷テスト
システムに大量のリクエストを送り、性能限界やボトルネックを特定するテスト手法
モック
テスト時に外部依存を模倣するオブジェクトで、テストの独立性と速度を確保する
モノレポ
複数のプロジェクトやパッケージを 1 つのリポジトリで管理する手法
ペアプログラミング
2 人の開発者が 1 台の PC で協力してコードを書く開発手法
プラットフォームエンジニアリング
開発者の生産性を向上させる内部プラットフォームを構築・運用する実践
Prettier
コードのフォーマットを自動的に統一するオピニオネイテッドなコードフォーマッター
プロパティベーステスト
ランダムな入力を大量に生成し、プログラムの不変条件が常に成り立つことを検証するテスト手法
レトロスペクティブ
スプリント終了後にチームで振り返りを行い、プロセスを継続的に改善するアジャイルの儀式
スクラム
スプリントと呼ばれる短い反復サイクルで開発を進めるアジャイルフレームワーク
セマンティックバージョニング
MAJOR.MINOR.PATCH の 3 桁でソフトウェアの互換性を表現するバージョニング規約
シフトレフト
テスト、セキュリティ、品質チェックを開発プロセスの早い段階に移動させるアプローチ
スナップショットテスト
コンポーネントの出力を保存し、変更時に差分を検出するテスト手法
スパイク
技術的な不確実性を解消するために、短期間で調査・検証を行うタイムボックス付きのタスク
静的解析
コードを実行せずにソースコードを解析し、バグ・脆弱性・スタイル違反を検出するツール
Storybook
UI コンポーネントを独立して開発・テスト・ドキュメント化するツール
チームトポロジー
ソフトウェア開発組織のチーム構造を 4 つの基本型と 3 つのインタラクションモードで設計するフレームワーク
技術的負債
短期的な利益のために妥協した設計・実装が、将来の変更コストを増大させる現象
テクニカルライティング
技術的な情報を正確かつ分かりやすく伝えるための文書作成スキル
テストピラミッド
単体テスト、結合テスト、E2E テストの比率を示すテスト戦略のモデル
ツリーシェイキング
バンドル時に未使用のコードを除去し、出力サイズを削減する最適化手法
トランクベース開発
全開発者が 1 つのメインブランチに頻繁にコミットし、長寿命ブランチを避ける開発手法
ユーザーストーリー
ユーザーの視点で機能要件を記述するアジャイルの手法
ADR
アーキテクチャ上の意思決定とその背景・理由を記録する軽量なドキュメント形式
デッドコード
実行されることのないコードで、コードベースの可読性と保守性を低下させる
Playwright
Microsoft が開発したクロスブラウザ E2E テストフレームワーク
スモークテスト
デプロイ後にシステムの基本機能が動作することを確認する簡易テスト
Flexbox
1 次元の柔軟なレイアウトを実現する CSS のレイアウトモデル
ワイヤーフレーム
UI の構造とレイアウトを低忠実度で表現する設計図で、開発前の合意形成に使用する
フィーチャーブランチ
機能ごとに独立したブランチを作成し、完成後にメインブランチにマージする Git ワークフロー
DevOps
開発チームと運用チームの協働を促進し、ソフトウェアのデリバリーと品質を継続的に改善する文化・プラクティスの総称
LCP
ビューポート内の最大コンテンツ要素が表示されるまでの時間を測定する Core Web Vitals の指標
画像最適化
Web ページの画像サイズを削減し、表示速度と Core Web Vitals を向上させる技術群
CSS Modules
CSS ファイルのクラス名を自動的にスコープ化し、名前衝突を防止する CSS のモジュール化手法
Tailwind CSS
ユーティリティファーストの CSS フレームワークで、クラス名の組み合わせでスタイルを構築する
Vitest
Vite ベースの高速なテストフレームワークで、Jest 互換の API を提供する
CLS
ページの読み込み中に発生する予期しないレイアウトのずれを測定する Core Web Vitals の指標
Vite
高速な開発サーバーとビルドツールを提供する次世代フロントエンドツールチェーン
Mermaid
Markdown 内にテキストベースで図表を記述し、自動的にレンダリングするダイアグラム記法
CSS Grid
2 次元のグリッドレイアウトを宣言的に定義する CSS のレイアウトシステム
コード分割
JavaScript バンドルを複数のチャンクに分割し、必要な部分だけを読み込む最適化手法
ESLint
JavaScript/TypeScript のコード品質と一貫性を自動検証する静的解析ツール
npm
Node.js のデフォルトパッケージマネージャーで、200 万以上の JavaScript パッケージの公開・インストール・管理を行う
A/B テスト
2 つのバリエーションをユーザーにランダムに提示し、どちらがより良い成果を出すかをデータで検証する手法
Git Flow
feature、develop、release、hotfix、main の 5 種類のブランチで開発を管理するブランチ戦略
トランスパイラ
ある言語のソースコードを別の言語や同じ言語の異なるバージョンに変換するツール
CSS-in-JS
JavaScript 内で CSS を記述し、コンポーネントスコープのスタイルを実現する手法