Open14

個人的IT用語辞典

KusegeKusege

CI/CD

「Continuous Integration(継続的インテグレーション)/ Continuous Delivery(継続的デリバリー)」の略称。
一言でいうと、一定の品質を保証しながら、素早くアプリケーションをデプロイする自動化の手法
今まで手動で行っていた変更のマージやビルド、テスト、デプロイとリリースを自動化することで、ソフトウェア開発が効率化され、品質が上がり、リリース速度の向上を期待できる。
つまり、コードを書いてから本番環境に反映するまでの一連の流れを自動化する開発手法のこと。

参考

KusegeKusege

アジャイル

「素早い」「機敏な」という意味の英語。
ITにおけるアジャイル開発とは、小さな機能を短期間で作って、すぐにユーザーに使ってもらい、フィードバックを受けて改善する開発手法
従来は全ての機能を最初に決めて、順番に作っていたが、アジャイルでは「とりあえず動くものを作る→使ってもらう→意見を聞く→改良する」を繰り返す。
例えば、完璧な家を一度に建てるのではなく、「まず住める部屋を作る→住んでみる→不便な点を直す→部屋を増やす」を繰り返すイメージ。変化に素早く対応でき、本当に必要な機能だけを効率的に開発できる。

参考

KusegeKusege

ウォーターフォール

システム開発で最初にすべての計画を決めてから、要件定義→設計→実装→テスト→リリースの工程を順番に進める開発手法
「滝(ウォーターフォール)のように上から下に流れる」ことから名付けられた。
アジャイルとは対照的に、一度決めた計画は基本的に変更せず、前の工程には戻らないのが原則。
例えとして、家を建てる時に「設計図を完璧に作る→基礎工事→骨組み→内装→完成」を順番通りに進めるイメージ。途中で「やっぱり部屋を増やしたい」となっても簡単には変更できないが、計画通りに高品質なものを確実に作れる。
大規模開発や品質重視のシステムに適している。

参考

KusegeKusege

UTC と JST

UTC (協定世界時)

  • 世界の標準時刻。原子時計をもとに作られた正確な時間で全世界共通の基準時刻

JST (日本標準時)

  • 日本で使われている時間。UTCに9時間を足した時刻 (UTC+9)

→ UTCは「世界共通の時計」で、JSTは「日本の時計」。
UTCが午前0時の時、JSTは午前9時になる。

プログラミングでは世界中の人が使うシステムを作る時はUTCで時間を管理し、
日本のユーザーに表示する時だけJSTに変換することが多い。
これで時差のトラブルを避けられる。

参考

KusegeKusege

アーキテクチャ

ITにおけるシステムやソフトウェアの設計図のこと。
建物を建てる前に設計図を描くのと同じように、システムを作る前に「どんな構成にするか」「各部品がどう連携するか」を決める基本的な枠組みを指す。
例えば、Webサイトなら「フロントエンド、バックエンド、データベースをどう配置して連携させるか」といった全体的な構造のこと。個別の細かい機能ではなく、システム全体の骨組みや設計方針を表す。

参考

KusegeKusege

モダン

ITの現場における「モダン」とは、 「古い技術やレガシーな手法に対して、現代的で効率的な技術や開発手法」 を表す。
単に「新しい=モダン」ではなく、変化するビジネス環境に迅速に対応でき、柔軟性・拡張性・効率性を持つ技術や手法のこと。
例えば「モダン開発」なら、CI/CD・マイクロサービス・クラウドネイティブなどを使った開発手法を指し、「モダンブラウザ」なら最新の Web 標準に対応したブラウザのこと。
要するに、今の時代の要求に適応できる実用的で優れた技術という意味で使われる。

参考

KusegeKusege

レガシー

「古い技術で構築され、時代遅れになったシステムや技術」 を指す用語。
英語で「遺産・遺物」を意味するが、IT業界では「よぼよぼのおじいちゃん状態」というニュアンスで使われる。
具体的には、1980年代に導入されたメインフレームやオフコンなど、最新技術に対応できず保守コストが高い古いシステムのことをいう。
機能追加や変更に時間がかかり、他システムとの連携も困難で、現場の開発効率を大幅に下げる厄介な存在として扱われることが多い。

メインフレーム? オフコン?

メインフレーム:企業の基幹業務を処理する大型コンピュータ。高い信頼性と処理能力を持つが、専用技術で構築され維持費が高額。

オフコン:メインフレームを小型化したオフィス向けコンピュータ。中小企業の事務処理用として普及したが、現在は古い技術。

参考

KusegeKusege

コンテキスト

ITにおけるコンテキストとは、 「その時の状況や背景に応じて、システムが適切に判断・動作するための情報」 のこと。
同じ操作でも、その時の状況によって結果が変わる仕組みを指す。
例えば、スマホで「電話をかけて」と言った時、過去の通話履歴や現在地、時間帯などの「コンテキスト」から「誰に電話するか」を推測する。パソコンの右クリックメニューも、クリックした場所や対象によって表示される項目が変わる。これは「コンテキストメニュー」の代表例。プログラムやOSでも、実行時の状況に応じて動作を変える重要な仕組みとして使われている。

参考

KusegeKusege

BaaS

「Backend as a Service(バックエンド・アズ・ア・サービス)」の略称。
アプリの「裏側の処理」をクラウド業者が代わりにやってくれるサービスのこと。

開発者は画面作りに集中でき、データベース管理やユーザー認証などの複雑な機能は、BaaS業者が提供する既製サービスをAPIで呼び出すだけで使える。
例えるなら、映画監督が撮影だけに集中できるよう、照明やカメラなどの舞台裏をすべて専門業者に任せるイメージ。開発期間の短縮と費用削減を実現できる。
代表的なサービスにGoogle Firebase、AWS Amplify、Microsoft Azureなどがある。

参考

KusegeKusege

SaaS

「Software as a Service(ソフトウェア・アズ・ア・サービス)」の略称。
読み方は「サース」または「サーズ」。

ソフトウェアをクラウド上で提供し、インターネット経由で利用できるサービスのこと。
従来のようにCD-ROMでソフトを購入して自分のPCにインストールするのではなく、ブラウザでアクセスするだけで使える。
例えるなら、本を買って家に置くのではなく、図書館で必要な時だけ借りて読むイメージ。
月額料金を払って、常に最新版が使えて、複数人で同時編集も可能。
代表的なサービスにSlack、Zoom、Microsoft 365、Salesforceなどがある。

参考

KusegeKusege

IaaS

「Infrastructure as a Service(インフラストラクチャ・アズ・ア・サービス)」の略称。
読み方は「イアース」または「アイアース」。

ITインフラ(サーバー、ストレージ、ネットワーク)をクラウド上で提供し、インターネット経由で利用できるサービスのこと。

従来は自社でサーバーを購入・設置・管理していたが、IaaSでは必要な時に必要な分だけクラウド上のインフラを借りて使える。
例えるなら、マイカーを買って駐車場も用意するのではなく、必要な時だけレンタカーを借りるイメージ。利用者は仮想マシンやストレージを自由に設定でき、その上で自分のアプリケーションを動かせる。
代表的なサービスにAWS EC2、Microsoft Azure、Google Compute Engineなどがある。

参考

KusegeKusege

PaaS

「Platform as a Service(プラットフォーム・アズ・ア・サービス)」の略称。
読み方は「パース」。

アプリケーション開発・実行に必要なプラットフォーム(開発環境、OS、ミドルウェア)をクラウド上で提供するサービスのこと。

開発者は自分でサーバーやOSの設定をせずに、コードを書くだけでWebアプリケーションを作成・公開できる。
例えるなら、料理をするために土地を買って家を建ててキッチンを作るのではなく、設備の整ったレンタルキッチンを借りて料理だけに集中するイメージ。開発環境の準備やサーバー管理は事業者が行い、開発者はアプリケーションの開発に専念できる。
代表的なサービスにAWS Elastic Beanstalk、Azure App Service、Google App Engineなどがある。

参考

KusegeKusege

FaaS

「Function as a Service(ファンクション・アズ・ア・サービス)」の略称。
読み方は「ファース」。

特定のイベントが発生した時だけ実行される小さな関数(プログラム)をクラウド上で動かすサービスのこと。

従来はサーバーを常時稼働させてアプリを動かしていたが、FaaSでは必要な時にだけ関数が実行され、処理が終わると自動的に停止する。

例えるなら、常に電気をつけっぱなしにするのではなく、必要な時だけスイッチを押して電気をつけるイメージ。ファイルアップロードやボタンクリックなどのイベントをきっかけに関数が動き、使った分だけ料金を支払う。
サーバーレスコンピューティングの代表例で、AWS Lambda、Azure Functions、Google Cloud Functionsなどがある。

参考

KusegeKusege

Authorizer(オーソライザー)

システムやAPIに対するアクセス権限を判定し、認可(権限付与)を行う仕組みや機能のこと。
「認証(誰かを確認する)」とは異なり、「認可(何をする権限があるかを決める)」を担当する。

例えるなら、会社の受付で身分証を確認するのが「認証」で、その人がどの階のどの部屋に入れるかを決めるのが「認可(オーソライザー)」。
APIリクエストが来た時に、そのユーザーがそのAPIを呼び出す権限があるかをチェックし、権限があれば処理を通し、なければ拒否する役割を果たす。
AWSのLambdaオーソライザーやCognitoオーソライザーなどがある。

参考