用語集
会議やレビューで、意味の分からない言葉が出てきた時に引いてください。 その場で聞けるのが一番良いですが、聞きそびれた時のための場所です。
「握る」「温度感」のような日本の開発現場特有の言い回しも入れています。
82 件
開発プロセス
- スプリントsprint / イテレーション
- 1〜2週間の固定期間。この単位で計画し、作り、振り返る。期間は伸ばさないのが原則で、入りきらない場合は中身を減らす。 詳しく読む
- デイリー朝会 / スタンドアップ / daily scrum
- 毎朝15分の短い会。進捗報告の場ではなく、困っていることを早く表に出すための場。 詳しく読む
- レトロretrospective / 振り返り / KPT
- スプリント末に、やり方を改善するために行う振り返り。責めるのは人ではなくプロセス。KPT(Keep / Problem / Try)で整理することが多い。 詳しく読む
- DoDDefinition of Done / 完了の定義
- チームが「終わった」と認める条件。実装・テスト・レビュー・ドキュメント・動作確認まで含むことが多い。「動いた」とは違う。 詳しく読む
- POプロダクトオーナー / Product Owner
- 何を作るかの優先順位を決める人。「どう作るか」は開発チームが決める。 詳しく読む
- ストーリーポイントSP / ポイント / 見積もり
- 作業量を時間ではなく相対的な難しさで表す数値。人によって作業時間が違うことと、時間で言うと約束に聞こえることを避けるため。 詳しく読む
- ベロシティvelocity
- 1スプリントでチームが消化できるストーリーポイントの実績値。計画の目安に使う。個人の評価には使わない。
- バックログbacklog
- やることリスト。全体を並べたプロダクトバックログと、今スプリントでやるスプリントバックログがある。 詳しく読む
- 受け入れ条件AC / Acceptance Criteria
- そのチケットが「できた」と言える具体的な条件。書かれていなければ自分で書いて確認するとよい。 詳しく読む
Git / レビュー
- PRプルリク / Pull Request / MR / Merge Request
- 変更をレビューしてもらい、取り込んでもらうための単位。小さく出すほど早くレビューされる。 詳しく読む
- LGTMLooks Good To Me
- 「自分は良いと思う」= 承認。レビューを通した合図。 詳しく読む
- nitnitpick
- 「細かいけど」という前置き。直さなくてもマージできることが多い、軽い指摘。 詳しく読む
- WIPWork In Progress
- まだ作業中。レビュー前に方向性だけ見てほしい時に付ける。
- rebaseリベース
- コミットの土台を差し替えて履歴を書き換える操作。push 済みで他人が取り込んでいるブランチではやってはいけない。 詳しく読む
- squashスカッシュ
- 複数のコミットを1つにまとめること。マージ時に squash してから取り込むチームも多い。
- コンフリクトconflict / 衝突
- 同じ場所を両方が別内容に変えたため、Git が自動で決められない状態。壊れているわけではなく、人間の判断待ち。 詳しく読む
- reflog
- HEAD が動いた履歴。reset --hard で消したように見えるコミットもここから戻せる。やらかした時の命綱。 詳しく読む
- cherry-pick
- 特定のコミットだけを別のブランチに取り込む操作。緊急修正の反映などに使う。
Web / ネットワーク
- CORSオリジン間リソース共有
- ブラウザが別オリジンへのリクエストを制限する仕組み。サーバー側が許可ヘッダを返す必要がある。実務で最も時間が溶けるエラーの1つ。
- DNS
- ドメイン名を IP アドレスに変換する仕組み。キャッシュ(TTL)があるため、切り替えてもすぐには反映されない。
- TLSSSL / HTTPS
- 通信を暗号化する仕組み。証明書の有効期限切れは典型的な障害原因。
- gRPC
- protobuf でスキーマを定義し、HTTP/2 の上で通信する RPC の仕組み。JSON より小さく速く、型が保証される。
- protobufProtocol Buffers / proto
- スキーマを先に定義するシリアライズ形式。フィールド番号を変えると後方互換性が壊れるので注意。
- REST
- リソースを URL で表し、HTTP メソッドで操作を表す設計スタイル。GET は取得、POST は作成など。
- レイテンシlatency / 応答時間
- リクエストしてから応答が返るまでの時間。平均値ではなく p95 / p99(遅い方から数えた値)で見るのが実務の作法。
- p99パーセンタイル / p95
- 遅い順に並べた時の上位1%の値。平均は速く見えても p99 が悪いと、一部のユーザーが強い不満を持つ。
- CDN
- 世界中に配置したサーバーから静的ファイルを配る仕組み。距離が縮まるので速くなる。
- ペイロードpayload
- リクエストやレスポンスの本体データ。
インフラ / デプロイ
- コンテナDocker / container
- アプリと必要な依存をまとめて、どこでも同じように動かす仕組み。中身は Linux なので macOS との差に注意。 詳しく読む
- Pod
- Kubernetes でコンテナを動かす最小単位。通常は1 Pod に1コンテナ(+補助コンテナ)。
- Deployment
- Pod を何個動かすかを宣言するリソース。更新すると順次入れ替えてくれる。
- Service
- Pod へのアクセス口。ラベルで対象の Pod を選ぶので、セレクタが合っていないと繋がらない(Endpoints が空になる)。
- GKEGoogle Kubernetes Engine
- GCP のマネージド Kubernetes。クラスタの管理を任せられる。
- ステージングstaging / stg
- 本番とほぼ同じ構成の確認環境。ここで確認せずに本番へ出さないのが基本。 詳しく読む
- カナリアリリースcanary
- まず一部のユーザーにだけ新バージョンを出し、問題がなければ広げる方式。炭鉱のカナリアが語源。 詳しく読む
- ロールバックrollback / 切り戻し
- 問題が出た時に前のバージョンへ戻すこと。「出せること」より「戻せること」の方が重要。 詳しく読む
- フィーチャーフラグfeature flag / フラグ
- コードは出すが機能は設定でオフにしておき、後から有効化する仕組み。デプロイと公開を分離できる。
- CI/CD
- コードを push したら自動でテストし(CI)、自動でデプロイする(CD)仕組み。「CI が落ちた」はテストや lint の失敗を指すことが多い。
- IaCInfrastructure as Code / Terraform
- サーバーやネットワークの構成をコードで管理すること。手作業の変更は次の apply で消えるので注意。
運用 / 監視
- SLOSLI / SLA / サービスレベル
- SLI が測る指標(成功率など)、SLO が目標値(99.9%)、SLA が顧客との契約。SLO を下回ると新機能を止めて改善に回す、という運用をすることがある。
- オンコールon-call / 当番
- 障害が起きた時に呼び出される当番。新人はしばらく免除されるか、必ず先輩とペアで入る。
- ポストモーテムpostmortem / 振り返り / 障害報告
- 障害の原因と再発防止をまとめる文書。個人を責めない(blameless)のが原則。仕組みの問題として書く。
- 可観測性Observability / オブザーバビリティ
- ログ・メトリクス・トレースで、システムの中で何が起きているかを外から分かるようにすること。
- 分散トレーストレース / trace / スパン
- 1つのリクエストが複数サービスをどう通ったかを追跡する仕組み。どこで時間がかかっているかが分かる。
- 構造化ログ
- JSON などの機械が読める形式で出すログ。後から絞り込み・集計できる。文字列を繋げただけのログは検索しづらい。
- 相関IDtrace id / request id
- 1つのリクエストに付ける一意の ID。サービスをまたいでログを繋げるために使う。
- アラートalert / ページング
- 異常時に人を呼び出す通知。鳴りすぎると無視されるようになる(アラート疲れ)ので、本当に対応が必要なものだけにする。
データベース
- N+1問題N+1
- 一覧を取得した後、各要素ごとに追加クエリを投げてしまい、100件なら101回クエリが飛ぶ状態。レビューで指摘される定番。
- INDEXインデックス
- 検索を速くする仕組み。付ければ何でも速くなるわけではなく、書き込みは遅くなる。
- トランザクションtransaction
- 複数の操作をまとめて「全部成功」か「全部なかったこと」にする仕組み。
- SpannerCloud Spanner
- GCP の分散データベース。連番の主キーを使うと書き込みが1ノードに集中する(ホットスポット)ため、主キー設計が普通の RDBMS と異なる。
- ホットスポット
- 分散データベースで、特定のノードに負荷が集中する状態。連番 ID やタイムスタンプ順の主キーで起きやすい。
- マイグレーションmigration / スキーマ変更
- DB のスキーマを変更する作業。カラム削除などの破壊的変更は、追加→両対応→削除の2段階に分けるのが安全。
- レプリカreplica / リードレプリカ
- 読み取り専用の複製。書き込みの反映が少し遅れる(レプリケーション遅延)ので、直後に読むと古い値が返ることがある。
設計
- 冪等性べきとうせい / idempotency
- 同じ操作を何回実行しても結果が変わらない性質。リトライする仕組みでは必須。決済で二重課金を防ぐのがこれ。
- リトライretry
- 失敗した通信をやり直すこと。全員が一斉にリトライすると障害を悪化させる(リトライストーム)ので、間隔を空ける(バックオフ)。
- サーキットブレーカーcircuit breaker
- 失敗が続く相手への呼び出しを一時的に止める仕組み。壊れた相手を叩き続けて共倒れになるのを防ぐ。
- マイクロサービス
- システムを小さなサービスに分けて、それぞれ独立してデプロイできるようにする構成。分割の代償としてネットワーク越しの失敗を常に考える必要がある。
- モノリスmonolith / モノリシック
- 1つの大きなアプリとして作る構成。単純で速いが、大きくなると変更が怖くなる。
- BFFBackend for Frontend
- フロントエンド専用のバックエンド層。複数サービスの結果をまとめて画面に必要な形で返す。
- キャッシュ
- 一度取得した結果を保存して再利用する仕組み。速くなるが、古いデータが返る問題(キャッシュの無効化)が常について回る。
品質 / テスト
- 技術的負債負債 / technical debt
- 後で直す前提で残した実装。放置すると利息のように開発速度を下げる。悪ではなく、意識的に借りて返すもの。
- リファクタリング
- 振る舞いを変えずに内部構造を整理すること。機能追加と同じ PR に混ぜるとレビューが困難になる。
- カバレッジcoverage / テストカバレッジ
- テストがコードのどれだけを通ったかの割合。高ければ品質が高いとは限らないが、極端に低いと危険。
- AAAパターンArrange Act Assert
- テストの書き方。準備(Arrange)・実行(Act)・検証(Assert)の3段に分けると読みやすい。
- モックmock / スタブ
- テストで外部依存を偽物に差し替えること。使いすぎると「テストは通るが本番で動かない」状態になる。
- lintリンター / linter
- コードの書き方の問題を機械的に指摘するツール。CI で落ちる原因の定番。
セキュリティ
- XSSクロスサイトスクリプティング
- ユーザー入力をそのまま HTML に出したせいで、任意のスクリプトを実行されてしまう脆弱性。innerHTML ではなく textContent を使う。
- SQLインジェクションSQLi
- SQL を文字列結合で組み立てたせいで、任意のクエリを実行されてしまう脆弱性。必ずパラメータ化クエリを使う。
- CSRF
- ログイン中のユーザーに、意図しないリクエストを別サイトから送らせる攻撃。トークンで防ぐ。
- 認証と認可authn / authz / authentication / authorization
- 認証は「誰であるか」を確かめること、認可は「何をしてよいか」を決めること。別のもの。
- JWTジョット / JSON Web Token
- 署名付きのトークン。中身は誰でも読めるので秘密情報を入れてはいけない。一度発行すると失効させにくい。
- シークレット秘密情報 / credential
- API キーやパスワード。コードに書かず環境変数などで渡す。コミットしてしまったら、まず鍵を無効化して報告する。 詳しく読む
社内でよく出る言い回し
- 握る
- 関係者間で合意を取ること。「PdM と握っておいて」= 事前に合意を取っておいて、の意味。
- 巻き取る
- 他の人の作業を引き受けること。「こっちで巻き取ります」= 自分がやります。
- 温度感
- 緊急度や重要度の肌感覚。「温度感を教えてください」= どれくらい急ぐか知りたい、の意味。
- よしなに
- 「いい感じにやっておいて」。判断を任されているが、基準が不明なら必ず確認すること。
- 一次情報
- 公式ドキュメントやソースコードなど、元の情報。ブログ記事は二次情報。迷ったら一次情報を見る。
- 積む
- タスクをバックログに追加すること。「来週に積んでおきます」。
- ペアプロペアプログラミング / モブプロ
- 2人(複数人)で1つの画面を見ながら実装すること。新人が最短で慣れる方法なので、遠慮せずお願いしてよい。
- ラバーダックrubber duck
- 人に説明しようと状況を言葉にしている途中で、自分で答えに気づく現象。質問を書く効果の1つ。
- 30分ルール
- 30分考えて進まなければ人に聞く、という目安。新人が最も評価を落とすのは技術力不足ではなく報告の遅れ。 詳しく読む