2022-06-01から1ヶ月間の記事一覧

PMD Javaルール Documentation

PMD

PMDのJavaルールについてまとめます。バージョン6.35.0時のルールとなっています。 非推奨となっているルールには「△」を先頭に付与しています。 バージョン6.35.0から6.47.0までのルールの差分については別の記事でまとめています。 olafnosuke.hatenablog.…

PMD Javaルール Design

PMD

PMDのJavaルールについてまとめます。バージョン6.35.0時のルールとなっています。 非推奨となっているルールには「△」を先頭に付与しています。 バージョン6.35.0から6.47.0までのルールの差分については別の記事でまとめています。 olafnosuke.hatenablog.…

PMD Javaルール Code Style

PMD

PMDのJavaルールについてまとめます。バージョン6.35.0時のルールとなっています。 非推奨となっているルールには「△」を先頭に付与しています。 バージョン6.35.0から6.47.0までのルールの差分については別の記事でまとめています。 olafnosuke.hatenablog.…

PMD Javaルール Best Practices

PMD

PMDのJavaルールについてまとめます。バージョン6.35.0時のルールとなっています。 非推奨となっているルールには「△」を先頭に付与しています。 バージョン6.35.0から6.47.0までのルールの差分については別の記事でまとめています。 olafnosuke.hatenablog.…

SpringBootーControllerAdvice

ControllerAdviceとは? ControllerAdviceとは、エラー処理などをコントローラーの共通処理としてまとめて定義するためのものである。 @Controllerを付与したクラスには、Handlerメソッド(@RequestMappingを付与したメソッド)とは別に、Controller専用の特殊…

SpringでInterceptorを利用する(SpringBoot)

Interceptorとは? Interceptorは、画面処理の前後とリクエストの一番最後に呼び出される割り込み処理のこと。 Interceptorを使うとControllerの実行前後に処理を追加することができる。 実装する場合には、org.springframework.web.servlet.HandlerIntercep…

SpringFrameworkーAOPとは?

SpringFrameworkの特徴的な機能のひとつであるAOPについて書いていきます。 SpringFrameworkについての記事はこちら olafnosuke.hatenablog.com AOPとは? Aspect Oriented Programmingの略で、「アスペクト指向プログラミング」と呼ばれる。 AOPを使用する…

SpringFrameworkーDIとは?

SpringFrameworkの特徴的な機能のひとつであるDIコンテナについて書いていきます。 SpringFrameworkについての記事はこちら olafnosuke.hatenablog.com DIコンテナとは SpringがJavaのインスタンスを管理している入れ物。 管理方法:key-value方式 例: samp…

Spring Frameworkとは

Spring Frameworkとは アプリケーション開発を容易にすることを目的としたオープンソースのJavaアプリケーションフレームワークのこと。 多数のサブプロジェクトで、Webアプリケーション開発に必要な機能(リクエストマッピング、セッション管理、入力チェッ…

bootstrap-multiselect を Bootstrap 5.X 系で使用したい

bootstrap-multiselect の Bootstrap 5.X 系での使用方法 bootstrap5.X系でbootstrap-multiselectを使用しようとしても動作しなかった。 うまく動作しなかった原因の調査と解決方法について書き残しておく。 davidstutz.github.io 0. 実装 bootstrap-multise…

APIをモック化する(Wiremock)

WireMock 公式HP 依存関係を追加する build.gradleに以下の記述を追加する。 dependencies { testImplementation 'com.github.tomakehurst:wiremock-jre8:2.31.0' } Junit5で使用する Junit5でWireMockを使用する方法として、declarativeとprogrammaticの2つ…

Git基礎

Git基礎 1. バージョン管理の目的 だれがいつ何のファイルを追加・変更・削除したのかを管理したい 修正内容も差分で確認したい Git以前のバージョン管理 ・ファイル名やフォルダ目に日付を入れる ・修正内容を別ファイルに記録 ⇒ 修正するたびにファイルが…

テストカバレッジ

テストカバレッジ テストカバレッジについて説明する。 サンプルコードはJavaで記載している。 テストカバレッジとは、所定の網羅条件がテストによってどれだけ実行されたかを割合で表したもので、網羅条件には以下の種類がある。 名前 略称 命令網羅(State…

ログ出力内容確認テスト(Junit5)

ログ出力内容確認テスト(Junit5) logunitを使用して検証する方法を説明する。 logunit(Github) 依存関係の追加 gradleを使用している場合は、build.gradleに以下の記述を追加する。 dependencies { testImplementation "io.github.netmikey.logunit:loguni…

Junitでのモック定義(Mockito)

Mock 1. Mockとは テストしたいクラスが依存しているブジェクトに代わって使用されるテスト用のオブジェクト。 テストに必要な部品の値を擬似的に設定するもの。 例えば、クラスAのテストをしようとしたときに以下のような時があったら使用する 現在日時を返…

Junit5の使い方

Junit5の使い方 Junit5の書き方 org.junit.jupiterパッケージのアノテーションとクラスを使用する。 テストメソッド @Testを付与したメソッドは、テスト実施の対象となる。 import org.junit.jupiter.api.Test; class SampleTest { @Test public void sample…

Javaで正規表現チェック

正規表現 正規表現とは 様々な文字列を一つの文字列で表現する表記法 なぜ便利なのか 正規表現を利用すると様々な文字列を一つの文字列で表現できるため、文字列の検索や置換が便利になる。 例えば、以下の文字列は全て同じ正規表現で表すことができる。 app…

Java基礎ーSQL

SQL Java標準の機能を使用したDBの処理 についてまとめる。 JDBCドライバのダウンロード DBの公式サイトからJDBCドライバをダウンロードして、クラスパスに配置する。 DBに接続する public void doSql(){ // ドライバーのダウンロード Class.forName("org.po…

Java基礎ーOptional

java.util.Optionalクラス Optionalは値をラップし、その値がnullかもしれないことを表現するクラス。 Optionalオブジェクトの生成 メソッド 説明 Optional empty() null値を持つOptionalオブジェクトを返す Optional of() 非null値を持つOptionalオブジェク…

Java基礎ーStream

StreamAPI 配列やCollectionなどの集合体を扱う為のもので、値の集計やデータを使った処理などが出来るAPI 使い方の大まかな流れ 1. Streamを取得 主なStreamの種類 インターフェイス 説明 Stream<t> 要素がTのインスタンスのStream IntStream 要素がintの値のS</t>…

Java基礎ーラムダ式

ラムダ式 関数型インターフェースを実装するための記述を簡潔に書ける →抽象メソッドを1つ持つインターフェース 基本形:インターフェース名 オブジェクト名 = (引数1, 引数2, ・・・) -> {処理 ; return 戻り値;}; ラムダ式記入例 // 関数インターフェース…

Java基礎ープロパティファイル

プロパティファイル プロパティファイルとは キーと値が対になったデータを保存しているファイル。 コンパイルなしでプログラムの動作を変更できるので後で変わる可能性のある値とか設定すると良い。 # コメント sample.id=abcde プロパティファイルの読み込…

Java基礎ーファイル入出力

ファイル入出力 1. ファイル入力 ファイル読み込みには以下の4種類のいずれかを使用する。 種類 説明 FileReader ファイルを1文字ずつ読み込む。Java11以降はエンコーディングを指定することができる。 BufferedReader FileReaderをラップするクラス。ファイ…

Java基礎ー標準出力とロガー

標準出力 標準出力はコンソールに引数に渡された値を出力する。 public class Main { public static void main(String[] args) { String name = "山田"; int age = 30; // 標準出力はコンソールに引数に渡された値を出力する System.out.println("私の名前は…

Java基礎ー文字列操作

文字列操作 Java標準のクラスで文字列操作を行うことができる。 以下は代表歴なものの使用例。 public class Main { public static void main(String[] args) { List<String> list = List.of("abc", "def", "ghi"); // 文字列の連結 // 1. +を使用する String str = </string>…

Java基礎ーPOJO,Bean,DTO,Entity,VOの違い

POJO,Bean,DTO,Entity,VO VO (Value Object) オブジェクトとしての塊というより、プロパティを基準にしたクラス。 値の設定はコンストラクタのみでゲッターは持っているがセッターを持たない(値は不変)。 DDD(domain driven design:ドメイン駆動設計)の…

Java基礎ークラスの継承

クラスの継承 継承(Inheritance):あるクラスの機能を引き継ぎながら新しいクラスを定義すること →あるクラスで定義したプロパティとメソッドをそのまま受け継ぎつつ、独自のプロパティやメソッドを差分として定義することできる 継承元となるクラスのこと…

Java基礎ー日付関連クラス

日付関連クラス 1. DateとCalendar Java8まで使用されてきた日付クラス。 Dateクラスは日付操作するメソッドを持たない(あっても非推奨)なので、日付の操作はCalendarクラスで行う。 Dateクラスでは、Date⇔文字列の相互変換を行う。 Date date = new Date(…

Java基礎ーコメントとJavadoc

コメントとJavaDoc コメント:ソースコード内に、コードをぱっと見ただけでは伝わらなさそうなことをメモ書きとして残しておく // これは1行のコメントを書ける /* 複数行の場合はこっちを使う これはただのコメントです */ JavaDoc:クラスやメンバ変数、メ…

Java基礎ー例外処理

Javaの例外処理の基本 例外とは プログラムを実行する最中に発生するエラー(Exception)のこと。 Javaにおけるプログラムの実行中に発生するエラーには、大きく分けて2つの種類が存在する。 実行環境のトラブルなどプログラムからは対処しようのない事態を…