管理人

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

2024/5/27

【基本情報技術者試験】コンピュータの誤差

コンピュータで発生する誤差には「丸め誤差」「打切り誤差」「桁落ち」「情報落ち」などがあります。 本記事では「丸め誤差」「打切り誤差」「桁落ち」「情報落ち」について図解で分かりやすく解説していきます。 コンピュータの誤差 コンピュータで小数を扱う方法の1つに「浮動小数点数」があります。浮動小数点数では、小数で表現できる数の範囲が決まっています。 例えば、32ビット形式の浮動小数点数では、仮数部は24ビットです。 このように、浮動小数点数で小数を表現する場合、表現できる数の範囲が決まっており、限られたビット数 ...

2024/5/23

【基本情報技術者試験】浮動小数点数

コンピュータにおける数値表現の1つであり、主に小数点を含む数値を表現するときに利用するのが「浮動小数点数」です。 本記事では「浮動小数点数」について図解で分かりやすく解説していきます。 浮動小数点数 浮動小数点数とは、コンピュータにおける数値を表現する方法の一つで、主に小数点を含む数値を表現するときに利用するものです。 浮動小数点数の形式 浮動小数点数は次のように「符号」「指数部」「仮数部」の形式で表現します。※32ビットの例 浮動小数点数の「仮数部」と「指数部」に入る値のイメージ例は次のとおりです。(仮 ...

2024/5/23

【基本情報技術者試験】2の補数

コンピュータで負の数をあらわすのに使用する「2の補数」、「2の補数」は理解してしまえば、そこまで難しい言葉ではありません。しかし、基本情報技術者試験では単純に「2の補数」を求めるだけの問題が出題されることもありますが、上記の過去問のようにそうではないことも多いです。 本記事では「2の補数」について図解で分かりやすく解説していきます。 2の補数 補数とは「補う数」という意味で「足すと桁が1つ上がる数のうち最も小さい数」のことを「基数の補数」といいます。 例えば、10進数の「4」という数に「6」を足すと、桁が ...

2024/5/23

【基本情報技術者試験】シフト演算

基本情報技術者試験の過去問だけを見ると難しく感じるシフト演算の問題。ただ、シフト演算の動きを理解してしまえば簡単に解くことができます。 本記事では「シフト演算」について図解で分かりやすく解説していきます。 シフト演算とは シフト演算とは、2進数をあらわすビット列を左または右にずらす操作のことです。 例えば、10進数で考えると「770」という数字を10倍すると「7700」、1/10倍すると「77」となり、10倍は1桁増やす操作(左にシフトする)であり、1/10倍は1桁減らす操作(右にシフトする)です。 この ...

2024/5/23

【基本情報技術者試験】基数と基数変換

基本情報技術者試験の参考書を読むと大抵はじめに出てくる内容である「基数」と「基数変換」、2進数?16進数?と普段の生活では使わない言葉がでてくるため、ここで挫折してしまう人も多いのではないでしょうか。 本記事では「基数」と「基数変換」について図解で分かりやすく解説していきます。 基数 基数とは、数値を表現する際に位取りの基準となる数のことであり、2進数や10進数などの「n進数」のnの部分を基数といいます。 2進数 2進数とは「0」と「1」という2個の数字であらわしたものです。 コンピュータが扱う最小単位の ...

2021/8/10

WordPressで評価ボタン(good、bad)を設置する方法

はじめに WordPressで記事を書いていると、書いている記事が良い記事なのか、良くない記事なのか気になる所です。評価が悪い記事がわかれば、その記事を見直すことができるので「Good」(いいね)と「Bad」(よくないね)ボタンを設置したいと思い「Helpful」というプラグインを実装してみました。 「Helpful」プラグインで実装した評価ボタンのイメージは以下です。   これまでは、AFFINGERが提供している有料プラグイン「Good / Bad プラグイン」を使っていましたが、Goodの ...

2024/6/10

継承とは(プログラミング)

継承(プログラミング) 継承とは 継承(英:inheritance)とは、オブジェクト指向を構成する概念の一つです。(※オブジェクト指向の3大要素は"継承"、"ポリモーフィズム(多態性)"、"カプセル化") クラスが持っている機能(変数やメソッド)を他のクラスに引き継がせることを継承といい、継承元のクラスを親クラス(スーパークラス)、継承先のクラスを子クラス(サブクラス)と呼びます。 以下は継承のイメージ例です。 継承は親クラスの機能を子クラスに引き継がせるので、子クラスは親クラスの機能が使えるようになり ...

2024/5/14

PHPでCSVファイルを出力する方法

はじめに PHPには配列のデータをCSV形式のフォーマットで書き込みをおこなう「fputcsv」という関数があります。fputcsv関数を使うことで簡単にCSVファイルを出力できます。 本記事では、fputcsv関数を使ったCSVファイルを出力する方法を紹介します。 fputcsv関数でCSVファイルを出力する fputcsv関数でCSVファイルを出力するには、fopen関数でファイルをオープンし、fputcsv関数で1行ずつ配列のデータをCSVファイルに書き込み、最後にfclose関数でオープンしたファ ...

2024/5/14

PHPでCSVファイルを読み込む方法

はじめに PHPでは、CSVファイルの内容を読み込んで配列に格納してくれる「fgetcsv」という関数があります。fgetcsv関数を使うことで簡単にCSVファイルを読み込めます。 本記事では、fgetcsv関数を使ったCSVファイルを読み込む方法について紹介しています。 読み込むCSVファイルの内容は次のとおり。 [sample.csv] No,名前,年齢,住所 1,山田一郎,30,東京都渋谷区 2,佐藤二郎,25,大阪府大阪市 3,鈴木三郎,22,神奈川県横浜市 4,高橋四郎,18,北海道札幌市 5, ...

2024/5/14

【PHP】ファイル書き込み(上書き・追記)

PHPでファイルの書き込みを行う方法 PHPでファイルの書き込みを行うには「fputs()」関数と使用する方法と「file_put_contents()」関数を使用する方法があります。 fputs関数でファイルの書き込みを行う 「fputs()」関数でファイルの書き込みを行う場合は、まず「fopen()」関数で対象のファイルを指定します。このときオプションが「w」であれば書き出しモードとなり、ファイルが存在しなければ新規にファイルを作成します。(ファイルがあれば上書きする) そして「fputs()」関数で ...

2024/5/14

【PHP】ファイル読み込み

fgets関数で1行ずつ読み込む fgets関数でファイルを扱う場合は、次の3つの関数を使いファイル操作を行います。 fopen関数:ファイルを開く fgets関数:データを読み込む fclose関数:ファイルを閉じる fopen関数の第2引数には、ファイルを開くときにモードを指定します。主なモードは次のとおりです。 ファイルを開くときのモード説明r読み込み専用w書き出し専用a追加書き出し [fgets関数の使用例] <?php $filename = 'C:\tmp\sample.txt& ...

2024/5/13

オーバーライドとオーバーロードの違い

はじめに オブジェクト指向プログラミングで登場する言葉である「オーバーライド」と「オーバーロード」、どちらも「オーバー」がついているので、間違いやすいワードです。 似たような言葉ですが「オーバーライド」と「オーバーロード」は全然違う意味の言葉です。本記事では「オーバーライド」と「オーバーロード」の違いについて解説しています。 オーバーライド(override) オーバーライドとは オーバーライド(英:override)とは、オブジェクト指向プログラミングにおいて親クラス(スーパークラス)で定義したメソッド ...

2021/7/26

オーバーロード(overload)とは

オーバーロード(overload) オーバーロード(英:overload)とは多重定義と略される言葉で、同じクラス内に引数の数や型が異なる同じ名前のメソッドを2つ以上定義することです。また、言語によっては演算子のオーバーロードが可能です。 オーバーロードを使用しない場合 例えば、同じような機能のメソッドで引数にint型とdouble型があるとします。 オーバーロードを使わない場合は、それぞれ違うメソッド名で定義する必要があり、メソッドを使う側は引数の型によって利用するメソッドを選択します。 (※以下はJa ...

2024/5/14

【PHP入門】エラーと例外処理

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

2021/7/26

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

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

2024/6/10

【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/5/23

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 ...