技術ブログ・資格学習データベース

Django、Python、AWS、Linux、セキュリティ、CVE、基本情報技術者、応用情報技術者、ITパスポートの用語を、図解と実務手順で解説します。個人開発kurutann.comの検証記録や障害対応事例も公開しています。

📖 資格別の電子書籍で読む 基本情報などの用語記事を、章立てされた1冊の本として通読・保存できます 📚 3D図書館で記事を探す カテゴリごとの区画を歩いて記事を発見できる新しい探索画面

仮想化の解説(基本情報技術者シラバス用語)

仮想化とは 仮想化(Virtualization)とは、物理的なIT資源(CPUやメモリ、ディスクなど)をソフトウェアの力で分割したり統合したりして、異なる構成に見せる技術です。最も一般的な例は、1台の高性能な物理サーバー上で、複数の仮想マシン(VM)を独立して同時に動かす「サーバー仮想化」です。これにより、機器を効率的に使え、導入コストや管理の手間を大幅に削減できます。 具体例 大きな一軒家を壁...

コンテナの解説(基本情報技術者シラバス用語)

コンテナとは コンテナ(Container)とは、OS(基本ソフト)の機能を利用して、アプリケーションを実行するために必要なプログラムや設定、ライブラリなどを1つにまとめ、他のプロセスから隔離された「独立した実行環境」を作り出す技術です。従来の仮想化(VM)は仮想マシンごとに異なるOSを丸ごと動かす必要がありましたが、コンテナはホストOSのカーネル(核となる部分)を共有するため、非常に動作が軽く、...

VDIの解説(基本情報技術者シラバス用語)

VDIとは VDI(Virtual Desktop Infrastructure:仮想デスクトップ基盤)とは、企業のサーバー上に用意されたデスクトップ環境(WindowsやMacなどの画面)を、ネットワーク経由で手元のパソコンや端末に呼び出して操作する仕組みのことです。手元にある端末には画面の情報だけが転送され、実際のOSの動作やデータの保存、プログラムの実行はすべてサーバー側で行われます。手元の...

クライアントサーバシステムの解説(基本情報技術者シラバス用語)

クライアントサーバシステムとは クライアントサーバシステムとは、ネットワークを利用したシステムの形態の一つで、サービスを要求する側(クライアント)と、サービスを提供する側(サーバ)で、役割(処理)を明確に分担して運用する仕組みのことです。クライアント(パソコンやスマートフォンなど)は、画面を表示してユーザの入力を受け付け、サーバに対して処理を「リクエスト(要求)」します。サーバ(専用の高性能コンピ...

個人開発のDjangoサイト群を「マルチテナントCMSプラットフォーム」に作り替えた話

一つの Django プロジェクトに、技術ブログ、ゲームコミュニティ CMS、学習アプリ、3D コンテンツなどの機能を追加し続けて数年。ついに、管理画面からサブドメインを指定して新しいサイトを作成し、そのまま公開できる「マルチテナント CMS プラットフォーム」への再編を完了しました。 この記事では、既存サイトを壊さずにマルチサイト化するために行った設計判断、実際に踏んだ罠、セキュリティ対策、移行...

Webシステムの解説(基本情報技術者シラバス用語)

Webシステムとは Webシステムとは、インターネットやブラウザ(Google ChromeやSafariなど)を利用して、利用者がインストール不要で使えるシステムのことです。一般的に、画面の表示を担当する「Webブラウザ(クライアント)」、利用者の要求に応じて業務処理を行う「Webサーバ(およびアプリケーションサーバ)」、データの保存や管理を担当する「データベース(DB)サーバ」の3つの階層に役...

稼働率の解説(基本情報技術者シラバス用語)

稼働率とは 稼働率(かどうりつ)とは、システムが定められた運用時間のうち、実際に「正常に動作していた時間」の割合を示す指標のことです。システムの信頼性を評価するために非常に重要な数値で、通常は0から1の間(または0%から100%)で表されます。稼働率の計算には、システムが正常に動作していた平均時間である「MTBF(平均故障間隔)」と、故障してから復旧するまでにかかった平均時間である「MTTR(平均...

MTBFの解説(基本情報技術者シラバス用語)

MTBFとは MTBF(Mean Time Between Failures:平均故障間隔)とは、システムが「稼働し始めてから、次に故障するまでの平均時間」のことです。つまり、システムが正常に動き続けている時間の平均値であり、この値が大きければ大きいほど「めったに壊れない信頼性の高いシステム」であることを示します。主にハードディスクなどの部品や、サーバ機器の寿命、ハードウェア製品の品質を表す指標と...

MTTRの解説(基本情報技術者シラバス用語)

MTTRとは MTTR(Mean Time To Repair:平均修復時間)とは、システムが「故障してから、修理が完了して再び正常に動き出すまでに要した平均時間」のことです。つまり、復旧作業にかかる平均時間であり、この値が小さければ小さいほど「故障したときの復旧が素早く、メンテナンス性が優れているシステム」であることを示します。バックアップからのリストア(復旧)手順が自動化されているかや、サポー...

フェールセーフの解説(基本情報技術者シラバス用語)

フェールセーフとはフェールセーフとは、システムや機器が故障した際や、利用者が誤った操作をした際に、常に「安全(セーフ)」な状態に移行するように制御する設計思想です。どんなシステムもいつかは必ず故障するという前提に立ち、故障したとしても大事故や深刻なトラブルに発展させないことを最優先に考えます。壊れることを防ぐのではなく、壊れた後の安全を確保することが特徴です。具体例鉄道の踏切:停電などでシステムへ...

フェールソフトの解説(基本情報技術者シラバス用語)

フェールソフトとはフェールソフトとは、システムの一部に障害が発生した際に、システム全体を完全に停止させるのではなく、機能や性能を一部縮小(制限)してでも、重要な機能を維持しながら運転を継続する設計思想です。これによる一時的な機能制限や処理能力の低下を伴う運転継続のことを「フォールバック(縮退運転)」と呼びます。サービスを完全にゼロにしないためのアプローチです。具体例マルチプロセッサのサーバー:複数...

フールプルーフの解説(基本情報技術者シラバス用語)

フールプルーフとはフールプルーフとは、利用者が操作方法を誤ったり、想定外の使い方をしたりした場合でも、システムや機器が誤作動を起こさないように、あるいは危険な状態にならないようにあらかじめ対策を施しておく設計思想です。「人間は必ず間違いを犯すもの(ミスをするもの)」という前提に基づき、誰が使っても安全かつ正しく動作するようにインターフェースや構造を工夫します。具体例電子レンジのドア:加熱用のマイク...

フォールトトレラントの解説(基本情報技術者シラバス用語)

フォールトトレラントとはフォールトトレラントとは、システムを構成する部品の一部が故障したり、予期せぬエラー(フォールト)が発生したりしても、システム全体としては停止することなく、正常に稼働を維持し続けることができる設計思想やその性質を指します。「耐障害性」とも呼ばれます。これを実現するために、CPU、メモリ、ハードディスク、電源、ネットワーク回線などの重要部品をあらかじめ二重化(複数用意)しておく...

スループットの解説(基本情報技術者シラバス用語)

スループットとはスループットとは、システムやネットワークが一定時間内に処理できる「実質的な仕事量」や「データ転送量」を表す指標です。値が大きいほど、処理能力が高く効率が良いシステムであると判断されます。ネットワークの分野では、通信回線の最大速度(帯域幅)ではなく、オーバーヘッド(制御データ)や混雑によるロスを除いた、実際に転送できたデータのやり取りの速さを指します。具体例ネットワーク通信:光回線の...

レスポンスタイムの解説(基本情報技術者シラバス用語)

レスポンスタイムとはレスポンスタイム(応答時間)とは、ユーザーがシステムに対して何らかの操作(ボタンのクリックやコマンドの入力など)を行ってから、システムがその要求を受け付けて最初の反応(応答)を返し始めるまでに要する時間のことです。ユーザーが「待たされている」と感じる時間に直結するため、システムの快適性を測る上で非常に重要な指標となります。なお、全体の処理結果がすべて画面に出力し終わるまでの時間...

ベンチマークの解説(基本情報技術者シラバス用語)

ベンチマークとはベンチマークとは、システムやハードウェア(CPUやグラフィックボードなど)、ソフトウェアの処理性能を測定するための「基準」や「比較対象」、あるいは性能測定を行うためのテストそのものを指します。特定の計算や処理を実行させ、その実行速度や負荷を数値化(スコア化)することで、異なるメーカーやモデルの製品同士の性能差を客観的に比較することができます。具体例3Dグラフィックスの測定:ゲーム用...

スケールアウトの解説(基本情報技術者シラバス用語)

スケールアウトとはスケールアウトとは、アクセス数や処理データ量の増加に伴い、システムの処理能力を増強するための手法の一つです。具体的には、サーバーの「台数」を増やす(並列に並べる)ことによって、システム全体の処理能力を高めます。これに対して、サーバー単体の性能(CPUやメモリ)をアップグレードして強化する手法を「スケールアップ」と呼びます。スケールアウトは、負荷を分散させやすく、システムの柔軟性を...

OSの解説(基本情報技術者シラバス用語)

OSとはOS(Operating System、オペレーティングシステム)とは、コンピュータを動かすための最も基本的なソフトウェア(基本ソフト)です。キーボードやマウス、ディスプレイ、ハードディスクなどのハードウェア部品を制御し、WordやExcel、ブラウザなどのアプリケーションソフトウェアが動作するための共通の土台を提供します。OSがなければ、人間が直接コンピュータに複雑な命令を送ることは非常...

プロセスの解説(基本情報技術者シラバス用語)

プロセスとはプロセスとは、OS(オペレーティングシステム)から見て、現在実行されている「プログラムの実行単位(実行中のプログラム)」のことです。プログラムそのものはハードディスクなどの記憶装置に保存されている静的なデータですが、これをダブルクリックなどして起動し、メモリ上に展開されてCPUによって処理されている状態のものをプロセスと呼びます。各プロセスには個別のメモリ領域(作業スペース)が割り当て...

スレッドの解説(基本情報技術者シラバス用語)

スレッドとはスレッドとは、プロセス(実行中のプログラム)の内部で、CPUが処理を実行する「最小の処理単位」のことです。一つのプロセスは、少なくとも一つのスレッドを持っています。プロセスが独自のメモリ領域を丸ごと確保するのに対し、スレッドは同じプロセス内のメモリ領域(変数やデータなど)を共有しながら、並行して処理を行います。これにより、プロセスを新しく作るよりも少ない負荷で、複数の作業を素早く同時に...

マルチタスクの解説(基本情報技術者シラバス用語)

マルチタスクとはマルチタスクとは、コンピュータにおいて複数のアプリケーションや処理(タスク)を、同時に並行して実行しているように見せる機能や状態のことです。現代のコンピュータは、非常に短い時間(数ミリ秒単位)で実行するタスクを次々と切り替える(タイムシェアリング)ことで、人間にはまるで複数のプログラムが完全に同時に動いているかのように感じさせています。これにより、ユーザーは複数の作業を効率的に行え...

スケジューリングの解説(基本情報技術者シラバス用語)

スケジューリングとはスケジューリングとは、OS(オペレーティングシステム)が、限られたCPUの処理時間をどのプロセスやスレッドに割り当てるかを決定し、実行順序を管理・調整する仕組みのことです。CPUの数は有限ですが、動かしたいプログラムは多数存在するため、効率的かつ公平にCPUを使わせる必要があります。代表的なアルゴリズムには、一定時間ごとに順番に処理を切り替える「ラウンドロビン」や、緊急性の高い...

排他制御の解説(基本情報技術者シラバス用語)

排他制御とは排他制御とは、複数のプロセスやスレッドが、ファイルやデータベースなどの共通の資源(共有データ)に対して同時にアクセスした際に、データの不整合(矛盾)が発生しないようにする仕組みです。あるプロセスが共有データを書き換えている間、他のプロセスが যত্নデータを書き換えたり読み込んだりできないように「ロック(鍵)」をかけ、処理が終わったらロックを解除します。これに関連する概念として「セマフ...

デッドロックの解説(基本情報技術者シラバス用語)

デッドロックとはデッドロックとは、複数の処理(プロセスやスレッド)が、互いに相手が占占有している資源の解放を待ち合ってしまい、どちらの処理も先に進めなくなって停止(フリーズ)してしまう現象です。マルチタスクや排他制御を行うシステムにおいて、設計上の配慮が不足していると発生することがあります。デッドロックが起きると、外部から強制終了するなどの対策をとらない限り、システムが永久に待ち状態になってしまい...