CATEGORY / 開発

「開発」の用語一覧

Git、CI/CD、デプロイなど、開発の進め方や道具にまつわる言葉を集めています。開発チームへの依頼や進捗の会話が読み解きやすくなります。

開発/ 01

API

APIは、アプリ同士が決まった窓口を通じて情報を受け渡しするためのルールです。

たとえると →

APIは、レストランで注文を厨房へ正確に伝える店員さんのような窓口です。

開発/ 02

APIキー

APIキーは、APIを使ってよい相手かどうかを窓口側が見分けるための利用者証や受付番号のような情報です。

たとえると →

APIキーは、窓口を使う前に受付へ見せる利用者証のようなものです。

開発/ 03

CI/CD

CI/CDは、コードの変更を自動でテストし、問題がなければ本番環境へ届けるまでの流れを自動化する仕組みです。

たとえると →

CI/CDは、工場の検品ラインのようなものです。製品が流れてくるたびに自動で検査し、合格したものだけを出荷します。

開発/ 04

CORS

CORSは、異なるドメイン間でのデータのやりとりをブラウザが許可するかどうかを制御する仕組みです。

たとえると →

CORSは、マンションの管理人室の取り決めのようなものです。よその建物から届いた返事を住人に渡してよいか、差出人の許可を見て決めます。

開発/ 05

Git

Gitは、ファイルの変更履歴を記録し、複数人で同じコードを安全に編集できるようにするバージョン管理ツールです。

たとえると →

Gitは、文書の変更履歴を細かく残す「編集履歴つきのフォルダ」に似ています。誰がいつ何を変えたか追えて、古い状態にも戻せます。

開発/ 06

JSON

JSONは、名前と値の組をならべてデータを表す、プログラム同士のやり取りに広く使われるテキスト形式です。

たとえると →

JSONは、荷物に添える明細書のように、中身を「品名と数量」の組にして誰が見てもわかる形で書き並べる方式です。

開発/ 07

Webhook

Webhookは、相手側で出来事が起きたとき、あらかじめ登録したURLへ自動で知らせてくれる仕組みです。

たとえると →

Webhookは、お店で「準備できたらこの連絡先へ知らせてください」と折り返し先を預けておくような仕組みです。

開発/ 08

WebSocket

WebSocketは、ブラウザとサーバーが一度つながったら、どちらからでも好きなタイミングでデータを送り合える通信の仕組みです。

たとえると →

WebSocketは、電話のようなものです。一度つながったら、どちらからでも話しかけられて、切るまで会話が続きます。

開発/ 09

アジャイル

アジャイルは、短い期間で小さく作って試し、フィードバックをもとに繰り返し改善していくソフトウェア開発の進め方です。

たとえると →

アジャイルは、料理を小分けに試食しながら味を調整していく進め方です。完成品を出す前に何度もフィードバックをもらいながら仕上げていきます。

開発/ 10

アルゴリズム

アルゴリズムは、問題を解くための手順を順序立てて定めた「解き方のレシピ」です。

たとえると →

アルゴリズムは、料理のレシピです。同じ食材でも手順が違えば出来上がりが変わるように、同じ問題でも解き方の手順で結果や速さが変わります。

開発/ 11

ウォーターフォール

ウォーターフォールは、要件定義・設計・開発・テスト・リリースを順番に完了させていくソフトウェア開発の進め方です。

たとえると →

ウォーターフォールは、滝のように上から下へ水が流れるように、工程を一段ずつ順番に完了させていく進め方です。前の段階に戻ることは想定していません。

開発/ 12

エンコーディング

エンコーディングは、文字や画像などの情報をコンピューターが扱えるデータ形式に変換するルールです。

たとえると →

エンコーディングは、異なる国の言葉を互いに読めるように決めた共通の変換表のようなものです。同じ表を使わないと、文字化けが起きます。

開発/ 13

キュー

キューは、処理の依頼を一列に並べて、順番に受け渡す仕組みです。

たとえると →

キューは、チケット売り場の行列に似ています。来た順に並び、窓口が空いたら先頭から処理が始まります。

開発/ 14

コンテナ

コンテナは、アプリと必要な設定をひとまとめにして、どこでも同じ動かし方を再現しやすくする実行単位です。

たとえると →

コンテナは、料理の材料と手順書を弁当箱にまとめて、どの店舗でも同じ流れで温めて出せるようにするイメージです。

開発/ 15

サーバーレス

サーバーレスは、利用者がサーバー台数や常時起動を強く意識せずにアプリを動かせる提供形態です。

たとえると →

サーバーレスは、自前で厨房を持たず、注文が入った時だけ使えるシェアキッチンを借りるような運用です。

開発/ 16

ステージング

ステージングは、本番環境と同じ構成で動作確認するための「本番一歩手前」の環境です。

たとえると →

ステージングは、店舗オープン前に関係者だけで行うリハーサルです。本番と同じ舞台でやり直しの利く確認ができます。

開発/ 17

タイムアウト

タイムアウトは、応答がない相手への待ち時間に上限を設けて、それを超えたら処理を打ち切る仕組みです。

たとえると →

タイムアウトは、電話をかけて一定時間つながらなければ自動で切る設定に似ています。

開発/ 18

データベース

データベースは、情報を整理して安全に保管し、必要なときにすぐ取り出せるようにする仕組み。

たとえると →

データベースは、ラベル付きの引き出しが並ぶ「共有キャビネット」。

開発/ 19

デプロイ

デプロイは、開発中のプログラムをサーバーに配置して、実際にユーザーが使える状態にする作業です。

たとえると →

デプロイは、倉庫で作った商品を店頭に並べる作業に近いです。完成しても棚に並べるまで、お客さんは手に取れません。

開発/ 20

トランザクション

トランザクションは、一連の処理をひとつのまとまりとして扱い、全部成功するか全部なかったことにするかを保証する仕組みです。

たとえると →

トランザクションは、銀行の振込操作に似ています。「引き落とし」と「入金」がセットで成立するか、どちらも行われないかのどちらかです。片方だけ起きることは許されません。

開発/ 21

マイグレーション

マイグレーションは、データベースの構造変更をコードとして記録し、順番に適用・取り消しできるようにする仕組みです。

たとえると →

マイグレーションは、建物の改修工事を手順書に起こしておくようなものです。誰でも同じ順番で同じ状態に直せます。

開発/ 22

ミドルウェア

ミドルウェアは、OSとアプリの間、またはリクエストとレスポンスの間に入って、共通の処理を担う仕組みです。

たとえると →

ミドルウェアは、受付から担当者へ案内を通す前に、共通の手続き(受付票の記入・本人確認など)をこなす窓口スタッフのようなものです。

開発/ 23

ライブラリ

ライブラリは、よく使う機能を再利用できるようにまとめた「部品セット」。

たとえると →

ライブラリは「道具箱」、framework は「作業ルール付きの工房」。

開発/ 24

リリース

リリースは、開発した機能やサービスを正式にユーザーへ公開する、ビジネス上の判断と行為です。

たとえると →

リリースは、映画の公開日に劇場で上映を始めることです。制作が終わっても、公開日を迎えるまでお客さんは観られません。

開発/ 25

レートリミット

レートリミットは、短い時間に受け付ける依頼の数へ上限を付けて、混雑や使いすぎを防ぐ仕組みです。

たとえると →

レートリミットは、窓口で「1分に受け付ける件数はここまで」と上限を決めて混雑を防ぐ整理ルールのようなものです。

開発/ 26

ロールバック

ロールバックは、デプロイや変更を行ったあとに問題が発生したとき、直前の正常な状態に戻す作業です。

たとえると →

ロールバックは、Ctrl+Zの本番環境版です。変更を加えて問題が起きたら、ひとつ前の状態に素早く巻き戻します。

開発/ 27

環境変数

環境変数は、アプリが動く環境ごとに変わる設定値を、コードの外側に置いておく仕組みです。

たとえると →

環境変数は、社員証のように「この環境ではこの権限で動く」とアプリに伝える札のようなものです。

開発/ 28

機能フラグ

機能フラグは、コードを変えずにスイッチのオン・オフで機能の公開範囲や有効状態を切り替える仕組みです。

たとえると →

機能フラグは、照明のスイッチです。配線(コード)は済んでいても、スイッチを入れるまで電気はつきません。準備ができたタイミングでスイッチを入れるだけで公開できます。

開発/ 29

技術的負債

技術的負債は、開発を急いだり手を抜いたりした結果として積み上がる、将来の修正・改善コストのことです。

たとえると →

技術的負債は、家のリフォームを後回しにし続けるようなものです。今は住めていても、放置するほど修繕コストが膨らんでいきます。