管理人

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

2024/12/8

エラーと例外処理 | 初心者でもわかるPHP入門

はじめに 前回の記事では、PHPのコールバック関数について紹介しました。 本記事では、PHPのエラーと例外について紹介します。 PHPのエラー エラーが発生したときの挙動 PHPでは実行中にエラーが発生しても、基本的には処理を続けようとします。ただし、続行できないFatal error(致命的なエラー)が発生した場合は処理を停止します。 例えば、次の例では「Warning(警告)」と「Fatal error(致命的なエラー)」を発生させています。 [エラーの例] <?php // 警告のエラーを発生 ...

2021/7/26

オーバーライド(override)とは

オーバーライド(override) オーバーライド(英:override)とは、オブジェクト指向プログラミングにおいて親クラス(スーパークラス)で定義したメソッドを継承した子クラス(サブクラス)で書き換えることです。 継承とは 継承とは、クラスが持っている機能(変数やメソッド)を他のクラスに引き継がせることです。このとき継承元のクラスを親クラス(またはスーパークラス)、継承先のクラスを子クラス(またはサブクラス)といいます。 親クラスの機能を子クラスに引き継がせるので、子クラスは親クラスの機能が使えるよう ...

2024/12/8

コールバック関数 | 初心者でもわかるPHP入門

はじめに 前回の記事ではPHPのstaticプロパティとstaticメソッドについて紹介しました。 本記事では、PHPのコールバック関数について紹介します。 コールバック関数 コールバック関数(英:callback function)とは、関数を呼び出す際に引数として引き渡される別の関数のことです。 以下はコールバック関数のイメージ例です。 PHPでコールバック関数を使う方法は大きく分けて2つあります。1つは文字列で関数を指定する方法、もう1つは「call_user_func」関数や「call_user_ ...

2021/7/20

プリミティブ型とは

プリミティブ型 プリミティブ型(英:primitive data type)とは、プログラミング言語が提供する基本的なデータ型のことです。 言語により用意されている型の種類は異なるが、整数を格納する整数型や小数を含む数値を格納する浮動小数点型、真(true)、偽(false)を格納する論理型などが提供されています。 Javaのプリミティブ型 Javaのプリミティブ型には次のようなものがあります。 データ型 読み方 格納できる値 byte バイト -128 ~ 127の整数 short ショート -3276 ...

2024/12/8

【Java】プリミティブ型と参照型の違い

はじめに Javaのデータ型には、プリミティブ型と参照型があります。 次の例は、プリミティブ型と参照型の違いをあらわしています。 [プリミティブ型と参照型の例] public class Sample { public static void main(String[] args) { // プリミティブ型 int a = 0; int b = a; b = 1; System.out.println("プリミティブ型 変数 a =" + a); System.out.println( ...

2021/9/25

値渡しと参照渡しの違い

はじめに 関数への引数の渡し方には「値渡し」と「参照渡し」があります。 例えば、次のような「関数A」があるとします。「関数A」には「引数」があり、「関数A」を呼び出すときは引数を指定します。 この関数への引数の渡し方には「値渡し」と「参照渡し」があります。 本記事では「値渡し」と「参照渡し」の違い、そして「参照の値渡し」について解説しています。 値渡しとは 値渡し(英:call by value)とは、変数の値(実体)をコピーして渡す方法です。変数の実体はメモリ上で管理されています。 このメモリ上で管理さ ...

2024/5/27

Spring Boot + JPAで複合主キーのテーブルを扱う方法

はじめに Javaのフレームワーク「Spring Boot」とデータベース操作を簡単に利用できる「Spring Data JPA」を使い、複合主キー(テーブルに複数の主キーがある)のテーブルからデータを抽出する方法を紹介します。 本記事で作成する「一覧画面」のイメージとテーブル定義は以下の通り。 [テーブル定義] 物理名論理名データ型NOT NULL説明school_year学年INT〇主キーgroup組INT〇主キーnumber出席番号INT〇主キーname名前VARCHAR(100)〇生徒の名前 [C ...

2021/7/13

コールバック関数とは

コールバック関数 コールバック関数(英:callback function)とは、関数を呼び出す際に引数として引き渡される別の関数のことです。 関数はいくつかの処理をひとまとまりにしたものであり、通常、利用する側は用意されている関数を使うだけです。(利用する側は関数内部の処理を改変することはできない) しかし、コールバック(callback)の仕組みを取り入れた関数では、一部の処理を外部の別関数を呼び出す形で実装し(引数として受け取った関数を内部で呼び出す)、どの関数を呼び出すかを引数の形で外部から指定で ...

2021/7/16

参照渡しとは

参照渡し 関数への引数の渡し方には「値渡し」と「参照渡し」があります。参照渡し(英:call by reference)とは、変数のメモリ番地(メモリ上の位置)を渡す方法です。 変数のメモリ番地を渡しているため、関数内で引数の値を変更すると、呼び出し元の変数も変更されてしまいます。 参照渡しの流れ 例えば、次のような「関数A」があるとします。「関数A」には「引数」があり、「関数A」を呼び出すときは引数を指定します。 変数の実体はメモリ上で管理されている 呼び出し元「変数A」の実体はメモリ上で管理されていま ...

2021/7/16

値渡しとは

値渡し 値渡しとは 関数への引数の渡し方には「値渡し」と「参照渡し」があります。値渡し(英:call by value)とは、変数の値(実体)をコピーして渡す方法です。 変数の値をコピーして渡すため、関数内で引数の値を変更しても、呼び出し元の変数に影響を及ぼすことはありません。 値渡しの流れ 例えば、次のような「関数A」があるとします。「関数A」には「引数」があり、「関数A」を呼び出すときは引数を指定します。 変数の実体はメモリ上で管理されている 呼び出し元「変数A」の実体はメモリ上で管理されています。 ...

2024/5/23

インスタンスとオブジェクトの違い

「インスタンス」と「オブジェクト」 オブジェクト指向言語のクラスを使うとき「インスタンス」や「オブジェクト」という言葉がよく登場します。 「インスタンスの生成」「オブジェクトの生成」「クラスのインスタンス」「クラスのオブジェクト」など、書籍やインターネット上のサイトでも表現が異なります。 また「インスタンス」と「オブジェクト」は同じ意味のように使用されています。ではなぜ同じ意味のように使われているのに、言葉が違うのでしょうか。 本記事では、インスタンスとオブジェクトの違いについて解説しています。 オブジェ ...

2021/7/9

オブジェクトとは

オブジェクト(object) オブジェクト(英:object)とは、物、物体などの意味を持つ英単語で、ソフトウェアの分野では、コンピュータ上で操作や処理の対象となる何らかの実体のことをいいます。 オブジェクト指向 オブジェクト指向では、クラスのインスタンスのことをオブジェクトといいます。 オブジェクト指向言語では、クラスと呼ばれるものを使用します。クラスとはデータや処理をひとまとめにしたものです。 関連するデータや処理をまとめた「クラス」という部品を作っておき、その部品を自由に組み合わせ、必要であれば再利 ...

2021/7/9

インスタンスとは

インスタンス(instance) インスタンス(instance)は、「実例」の意味を持つ英単語で、ソフトウェアの分野では「実体」のことをいいます。 インスタンスとは インスタンスとは、クラスを元に作成したオブジェクトの実体のことです。 オブジェクト指向におけるインスタンス オブジェクト指向言語では、クラスと呼ばれるものを使用します。クラスとはデータや処理をひとまとめにしたものです。 関連するデータや処理をまとめた「クラス」という部品を作っておき、その部品を自由に組み合わせ、必要であれば再利用することで効 ...

2024/8/28

AFFINGER5からAFFINGER6(ACTION)へのアップデート手順

ACTION(AFFINGER6)がついに販売開始 2021年7月1日より ACTION(AFFINGER6)の販売が開始しました。WING(AFFINGER5)購入者は、ACTION(AFFINGER6)へ無料でアップデートできます。※2021年7月時点 ACTION(AFFINGER6)へのアップデート方法は以下の2通りです。 ACTION(AFFINGER6)を利用する ACTION(AFFINGER6)WING互換性バージョンを利用する ACTION(AFFINGER6)を利用する場合 ACTIO ...

2024/12/8

staticプロパティとstaticメソッド | 初心者でもわかるPHP入門

はじめに 前回の記事では、PHPの継承とオーバーライドについて紹介しました。 本記事では、PHPのstaticプロパティとstaticメソッドのついて紹介します。 staticキーワード クラスのプロパティ(変数)やメソッド(関数)にstaticをつけると、クラスのオブジェクト(インスタンス)を生成せずにアクセスできます。 staticプロパティは「クラス名::プロパティ名」、staticメソッドは「クラス名::メソッド名」のようにスコープ定義演算子(::)を使ってアクセスできます。 staticプロパテ ...

2024/12/8

変数のスコープ(ローカル変数、グローバル変数)| 初心者でもわかるPHP入門

はじめに 前回の記事では、PHPの可変長引数について紹介しました。 本記事では、変数のスコープ(ローカル変数、グローバル変数)について紹介します。 変数のスコープとは 変数のスコープとは、定義した変数が使える範囲のことをいいます。 ローカル変数とは ローカル変数とは、関数内で定義した変数のことです。 ローカル変数のスコープは変数を宣言した関数内です。そのため、ローカル変数を定義した関数内でしか使用できません。(ローカル変数を関数の外で使用するとエラーが発生する) [ローカル変数の使用例] <?php ...

2024/12/8

継承とオーバーライド | 初心者でもわかるPHP入門

はじめに 前回の記事では、PHPのクラスについて紹介しました。 本記事では、PHPの継承とオーバーライドについて紹介します。 継承(extends) 継承とは、クラスが持っているメソッド(関数)やプロパティ(変数)を別のクラスに引き継がせることです。 継承元のクラスを親クラス、継承先のクラスを子クラスといいます。 子クラスを作成するには「extends」(読み:エクステンズ)を使用します。次のように「extends」の前に子クラス名、後に親クラス名を指定します。 継承の使用例 それでは、実際にPHPのプロ ...

2024/12/8

クラスの使い方 | 初心者でもわかるPHP入門

はじめに 前回の記事では、変数のスコープ(ローカル変数、グローバル変数、静的変数)について紹介しました。 本記事では、PHPのクラスについて紹介します。 クラスとは クラスとは、メソッド(関数)やプロパティ(変数)をまとめたもの(関数と変数を持ったプログラムの固まり)です。 次の例では、Cat(猫)の情報を管理するクラスを作成しています。クラスには、メソッドとプロパティを記述できます。 オブジェクトの生成(インスタンスの生成) クラスを使用するには「new」キーワードを使用します。「new クラス名」でク ...

2024/12/8

可変長引数 | 初心者でもわかるPHP入門

はじめに 前回の記事では、PHPの「値渡し」と「参照渡し」について紹介しました。 本記事では、PHPの可変長引数について紹介します。 可変長引数 可変長引数とは、引数の数が決まっていない引数のことです。ピリオドを3つ「...」書くことで、可変長引数を表します。 可変長引数の書き方は次のとおりです。 可変長引数の使用例 それでは、実際にPHPのプログラムで可変長引数の使い方を紹介します。 次の例では、関数「total」の引数に可変長引数「...$score」を使用しています。そして、関数「total」を呼び ...

2024/12/8

値渡しと参照渡し | 初心者でもわかるPHP入門

はじめに 前回の記事では、PHPの関数(function)について紹介しました。 本記事では、引数の渡し方(「値渡し」と「参照渡し」)について紹介します。 値渡しとは 参照渡しとは、変数の値をコピーして渡す方法です。変数の値をコピーして渡すため、関数内で引数の値を変更しても、呼び出し元の変数に影響を及ぼすことはありません。 値渡しの書き方は次のとおりです。 以下は値渡しのイメージ図です。 変数の値の実体はメモリ上で管理されています。値渡しは変数の値をコピーして渡すので、メモリ上の実体もコピーされます。 そ ...