管理人

SEとして働く「分かる君」がつ運営するサイトです。 ITの難しい用語や、仕事で感じた事などを中心に"わかりやすさ"を意識して記事にしています。少しでも共感や参考にしていただける人がいたら嬉しいです。

2024/5/23

プログラムカウンタとは

プログラムカウンタ プログラムカウンタ(英:program counter)とは、レジスタの一種で次に実行すべき命令が入っているアドレス(メモリ上の番地)を記憶しておくものです。 レジスタとは レジスタ(英:register)とは、CPU内部にある記憶装置のことです。 CPUは次のような手順で命令を順番に処理しています。命令を取り出して解読、解読結果から対象データを読み出して実行という流れです。 このとき「取り出した命令の情報」や「次はどの命令を取り出せばよいかの情報」を覚えておく必要があります。この役割 ...

2024/5/23

レジスタとは

レジスタ レジスタ(英:register)とは、CPU内部にある記憶装置のことです。容量は小さいが高速に読み書きできるのがレジスタの特徴です。 レジスタの役割 CPUは次のような手順で命令を順番に処理しています。命令を取り出して解読、解読した結果から対象データを読み出して実行という流れです。 このとき「取り出した命令の情報」や「次はどの命令を取り出せばよいかの情報」を覚えておく必要があります。この役割を果たすのがCPU内部にあるレジスタです。 レジスタの種類 レジスタには次の種類があります。 名称 説明 ...

2024/12/8

パイプライン処理とは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題されるパイプライン処理の問題。パイプライン処理の動きを理解していないと難しく感じる問題ですが、パイプライン処理の動きを理解していればそこまで難しい問題ではありません。 本記事では、パイプライン処理について図解で分かりやすく解説していきます。 パイプライン処理 パイプライン処理は、CPU(プロセッサ)の性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。 コンピュータは次のようなサイクル(段階)で命令を処理します。 段階 処理内容 ...

2024/5/23

VLIW(Very Long Instruction Word)とは

VLIW(Very Long Instruction Word) VLIW (Very Long Instruction Word)とは、マイクロプロセッサ(CPU)の性能を向上させるための技術のひとつで、複数の命令をひとつの命令にすることで、複数の命令を同時に実行させる手法です。 パイプライン処理とは パイプライン処理は、マイクロプロセッサ(CPU)の性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。 命令をひとつずつ順番に処理していく方式(逐次制御方式)だと、ひとつ ...

2024/5/23

スーパースカラとは

スーパースカラ スーパースカラ(英:superscalar)とは、パイプライン処理を行う回路を複数持つことで複数の命令を同時に実行する仕組みです。 パイプライン処理とは パイプライン処理は、CPUなどのプロセッサの性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。 次の図のように命令を1つずつ順番に処理(逐次制御方式)していく方式だと、1つの命令が終わるまで次の命令を処理できず効率がよくありません。 そこで、次の図のように1つの命令を複数の段階に分割(次の例では F:命 ...

2024/5/29

スーパーパイプラインとは

スーパーパイプライン スーパーパイプライン(英:super-pipeline)とは、パイプラインを更に細分化することによって高速化を図る手法のことです。 パイプライン処理とは パイプライン処理は、CPUなどのプロセッサの性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。 命令を1つずつ順番に処理(逐次制御方式)していくと、1つの命令が終わるまで次の命令を処理できません。 そこで、1つの命令を複数の段階に分割(次の例では F:命令の取り出し、D:命令の解読、O:対象データ ...

2024/5/23

パイプライン処理とは

パイプライン処理 パイプライン処理は、CPUなどのプロセッサの性能を向上させるための技術のひとつであり、複数の命令を並行して実行するための方式です。 命令の実行段階 コンピュータは次のようなサイクル(段階)を繰り返して命令を処理していきます。 段階 処理内容 1 命令の取り出し(命令フェッチ) 2 命令の解読(デコード) 3 対象データの読み出し(オペランドの読み出し) 4 命令の実行 5 結果の書き込み 逐次制御方式の動き 逐次制御方式(ちくじせいぎょほうしき)とは、命令を1つずつ順番に完了させる方式の ...

2024/12/8

アドレス指定方式とは?図解でわかる【基本情報技術者試験対策】

聞きなれない言葉であるアドレス指定方式。基本情報技術者試験や応用情報技術者試験では、アドレス指定方式の動きについて問われる問題が出題されています。 本記事では、アドレス指定方式について図解で分かりやすく解説していきます。 アドレス指定方式 アドレス指定方式とは、CPUが命令を実行する際、対象となるデータの在りかを指定する方法のことです。CPUが実行する命令は次のように「命令部」と「オペランド部(アドレス部)」に分かれています。 アドレス指定方式の種類 アドレス指摘方式には次のような種類があります。 アドレ ...

2024/12/8

整列アルゴリズムとは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題される整列アルゴリズムの問題。各整列アルゴリズムの動きを理解していれば、そこまで難しい問題ではありませんが、理解してないと問題を解くのは困難です。 整列アルゴリズムには基本的な整列アルゴリズム(基本交換法、基本選択法、基本挿入法)と高速な整列アルゴリズム(シェルソート、クイックソート、マージソート、ヒープソート)があります。 本記事では、整列アルゴリズムについて図解で分かりやすく解説しています。 基本的な整列アルゴリズム 基本的な整列アルゴリズムには次の手法があ ...

2024/12/8

2分探索木とは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題される2分探索木の問題、聞きなれない言葉なので難しく感じます。ただし、2分探索木を理解していれば簡単に解くことができます。 本記事では、2分探索木について図解で分かりやすく解説していきます。 木構造 木構造(きこうぞう)とは、データ構造(※配列のように複数のデータを格納できる入れ物)の1つで木のような階層構造でデータを管理するものです。 木構造は、ハードディスクのファイルシステム(フォルダの下にフォルダやファイルがぶら下がっている)やインターネットのドメイン名な ...

2024/5/23

二分探索木とは

二分探索木(にぶんたんさくぎ) 木構造とは 木構造(きこうぞう)とは、データ構造の1つで木のような階層構造でデータを管理するものです。 木構造の要素部分を節(ノード)といい、親のない最上位のノードを根(ルート)、子のないノードを葉(リーフ)、そして ノードとノードを繋ぐ線のことを枝(ブランチ)といいます。 木構造は、ハードディスクのファイルシステムやインターネットのドメイン名などの管理で使用されています。 二分探索木とは 二分探索木(英:binary search tree)とは、木構造の左部分と右部分の ...

2021/9/22

ゼロパディングとは

ゼロパディング ゼロパディング(英:zero padding)とは、文字で数値を表す際に書式で指定された桁数に満たない場合、桁数をそろえるため「0」を付加することです。「ゼロ埋め」や「ゼロサプライ」とも呼ばれています。 ゼロパディングの例は次のとおりです。 例えば、日付の書式を「2021/3/1」から「2021/03/01」に変換(月と日を2桁表記にする)したいときなどにゼロパディングを利用します。(月の3を03、日の1を01に変換する) また、ゼロパディングとは逆で「001」→「1」のように先頭あるいは ...

2021/9/21

二分木とは

二分木 木構造とは 木構造とは、データ構造の1つで木のような階層構造でデータを管理するものです。 木構造の要素部分を節(ノード)といい、親のない最上位の節を根(ルート)、子のない節を葉(リーフ)、そして 節と節を繋ぐ線のことを枝(ブランチ)といいます。 ハードディスクのファイルシステム(フォルダの下にフォルダやファイルがぶら下がっている)やインターネットのドメイン名などは、いずれも木構造を用いて管理されています。 二分木とは 二分木(英: binary tree)とは、どの親ノードも2つ以下の子ノードで構 ...

2021/9/22

ゼロサプレスとは

ゼロサプレス ゼロサプレス(英:zero suppress)とは、数値の文字列から先頭あるいは末尾の余計な「0」を取り除く作業のことです。 ゼロサプレスの例は次のとおりです。 コンピュータのプログラムでは、月や日の前にある0を削除して「01月03日」ではなく「1月3日」のように表記(01月→1月、03日→3日)する際にゼロサプレスを利用することがあります。 また、ゼロサプレスの逆で「1」を「001」のように必要な桁数に達するまで先頭あるいは末尾に0を付け加える処理のことをゼロパディング(英:zero pa ...

2024/12/8

探索アルゴリズムとは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題される探索アルゴリズムの問題、探索アルゴリズムには「線形探索」「2分探索」「ハッシュ法」などがあり、過去問では「線形探索」「2分探索」「ハッシュ法」がどのような動きをするか問われる問題が出題されています。 本記事では、探索アルゴリズムについて図解で分かりやすく解説しています。 探索アルゴリズム 探索アルゴリズムとは、配列のような複数のデータが格納されている箱の中から目的のデータを探しだすアルゴリズムのことです。 基本情報技術者試験で主に出題される探索アルゴリズム ...

2024/5/23

ハッシュ法とは

ハッシュ法 ハッシュ法とは、探索アルゴリズムの1つです。 配列やリストのように複数のデータが格納されている入れ物の中から目的のデータを探し出すのが探索であり、このデータを探索する代表的なアルゴリズムの1つが「ハッシュ法」です。 ハッシュ法の探索例 ハッシュ法とは、ハッシュ関数と呼ばれる「一定の計算式」を用いて、データの格納位置(格納アドレス)を特定する方法です。 例えば、mod(x, 10) というハッシュ関数を用いて「12」というデータを配列に格納すると、次のように位置2の場所に値が格納されます。 mo ...

2024/12/8

スタックとキューがわかる【基本情報技術者試験対策】

データ構造の1つであるスタックとキュー、その仕組みはシンプルで簡単です。ただし 基本情報技術者試験では、スタックとキューを応用した問題で出題されることが多く難しく感じます。 本記事では、スタックとキューについて図解で分かりやすく解説していきます。 スタック(Stack) スタック(英:stack)とは、データ構造(※配列のように複数のデータを格納できる入れ物)の1つで、入ってきたデータを順番に格納し、取り出す時は最後に格納したデータから取り出す後入れ先出し(LIFO:Last-In First-Out)方 ...

2024/12/8

ハフマン符号化とは?図解でわかる【基本情報技術者試験対策】

基本情報技術者試験や応用情報技術者試験で出題される問題である ハフマン符号化、過去問だけをみると難しく感じる問題です。 ただ、ハフマン符号化の動きを理解してしまえば、そこまで難しい問題ではありません。 本記事では、ハフマン符号化について図解で分かりやすく解説しています。 符号化とは 符号化とは、データを"0"と"1"の2進数に置き換えることです。 コンピュータは"0"と"1"の集まりしか理解できません。そのため、コンピュータに処理をさせるにはデータを2進数に変換する必要があります。この作業が符号化です。 ...

2024/5/13

【Spring Boot】Thymeleafでプルダウンを作成する方法

はじめに Javaのフレームワーク「Spring Boot」とテンプレートエンジン「Thymeleaf」を使用してプルダウンを簡単に作成する方法を紹介します。 本記事で作成するプルダウンのサンプルは次のとおりです。 テーブル定義 本画面で使用するテーブルのテーブル定義は次のとおりです。 物理名論理名データ型NOT NULL説明code都道府県コードCHAR(2)〇主キーname都道府県名VARCHAR(45)〇都道府県の名称 [CREATE文] CREATE TABLE `sampledb`.`prefe ...

2024/5/23

ハフマン符号化とは

ハフマン符号化 ハフマン符号化とは、1952年にデビッド・ハフマン(David Albert Huffman)氏によって開発された符号で、データの可逆圧縮などに使用されるものです。 符号化とは 符号化とは、データを「0」と「1」の2進数に置き換えることです。 コンピュータが扱う最小単位のことをビット(bit)といい、1ビットで表現できる数字は「0」と「1」の2つだけです。この「0」と「1」という2個の数字で数をあらわすのが2進数です。 そのため、コンピュータに処理をさせるにはデータを2進数に変換する必要が ...