2023-01-01から1年間の記事一覧

PMD Java Rules (ver 7.0.0-rc4)- Best Practices ①

PMDバージョン: 7.0.0-rc4 AbstractClassWithoutAbstractMethod 公式ドキュメント: AbstractClassWithoutAbstractMethod Since: PMD 3.0 Priority: Medium (3) Description: 抽象メソッドを含まない抽象クラスを検出する。 抽象クラスは不完全な実装を…

PMD JavaScript Rules (ver 7.0.0-rc4)- Error Prone

PMDバージョン: 7.0.0-rc4 AvoidTrailingComma 公式ドキュメント: AvoidTrailingComma Since: PMD 5.1 Priority: High (1) Description: ブラウザによってオブジェクトや配列リテラルの末尾のコンマの扱いが異なるため、末尾にコンマを書かないように留…

PMD JavaScript Rules (ver 7.0.0-rc4)- Code Style

PMDバージョン: 7.0.0-rc4 AssignmentInOperand 公式ドキュメント: AssignmentInOperand Since: PMD 5.0 Priority: Medium High (2) Description: 条件式内での値の代入は避ける。コードが複雑になり、読みにくくなる。 等号演算子「==」の代わりに代入…

PMD JavaScript Rules (ver 7.0.0-rc4)- Best Practices

PMDバージョン: 7.0.0-rc4 Best Practices AvoidWithStatement 公式ドキュメント: AvoidWithStatement Since: PMD 5.0.1 Priority: High (1) Description: withの使用を避けるべきである。 Configuration: <rule ref="category/ecmascript/bestpractices.xml/AvoidWithStatement" /> Example: with (object) { property = 3; //</rule>…

PMD HTML Rules (ver 7.0.0-rc4)

PMDバージョン: 7.0.0-rc4 Best Practices AvoidInlineStyles 公式ドキュメント: AvoidInlineStyles Since: PMD 6.45.0 Priority: Medium (3) Description: コンテンツとスタイルを混在させない。スタイルと導入クラスには別々のCSSファイル使用する。 …

Spring BootでAzure Blob Storageを操作する

Spring BootでAzure Blob Storageを操作する Spring BootにおけるAzure Blob Storageの操作にはspring-cloud-azure-starter-storage-blobを使用する。 spring-cloud-azure-starter-storage-blobを使用するには、併せてazure-spring-boot-bomを追加する必要が…

GradleのVersionCatalogを使用する

Version Catalogとは Gralde 7.0~導入された、依存関係やプラグインを集約管理するための設定方法。 公式:Sharing dependency versions between projects 単一プロジェクトの場合、build.gradleも1ファイルで完結することが多いので、あまり良さが感じられ…

Gradleで外部コマンドを実行する(Checkstyleを実行する)

Gradleでは、タスクの中で外部コマンドを実行することができる。 Gradle CheckStyle Pluginは、JavaコードだけしかCheckしないため、他のファイルに対してチェックを行うために、外部コマンドでチェックを実行する時の実装を紹介する。 以下のコードでは、ソ…

SpringBootでDBUnitを使用したJunitを作成する

依存関係の追加 テストの作成:DBUnitを使用するための設定 エクセルファイルのローダークラス作成 DB接続設定 テストクラスの作成 @SpringBootTest @TestExecutionListeners @DbUnitConfiguration @Transactional テスト用Configurationクラスの作成 エクセ…

Gradle Checkstyle Pluginで日本語エラーメッセージが文字化けする問題の解決方法

事象 Gradle Checkstyle PluginでCheckstyleのタスクを実行した際に、 チェックエラーがあった場合、コマンドプロンプト上にエラーメッセージが表示される。 特に何も設定していない場合、下記の画像のように、エラーメッセージが文字化けしてしまうという事…

QueueStorageTriggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのQueueStorageTriggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン ファンクションを新規追加する Configクラス作成 Function…

日本語メソッド名を含むテストのPMD適用

GradleのPMD Pluginでは、日本語メソッド名を含むソースコードに対するPMDの実行でエラーが発生する(Windows)。 原因として、PMDがソースを読み込むときのエンコーディングがシステムプロパティ依存であることが挙げられる。 以下のリンクのソースの16行目…

Eclipseに出てくるプロジェクトのエンコーディングの警告を抑制するには?(Gradle)

Spring Initializrで作成したJavaプロジェクトを最新のEclipse(2023-03)にインポートすると、 「プロジェクト 'java-project' はエンコーディングが明示的に設定されていません」という内容の警告が出てくる。 Eclipseが作成する設定ファイルに、エンコー…

SpotBugs Plugin使用方法(Eclipse・Gradle Plugin)

Eclipse Pluginの使い方 設定 分析力 報告する最小ランク レポートする最低の信頼度 報告(可視)バグ・カテゴリー フィルターファイル ディテクター構成 実行 手動で実行する 自動で実行する Gradle Pluginの使い方 依存関係の追加 設定 タスク Eclipse Plu…

PostgreSQLのシーケンス

DB

シーケンス作成 サンプル CREATE SEQUENCE sample INCREMENT BY 1 MAXVALUE 99999999 START WITH 1 NO CYCLE; CREATE SEQUENCEとパラメータの説明 CREATE SEQUENCE:新しいシーケンス番号ジェネレータを作成する。sampleの部分には作成したいシーケンスの名…

Super CSV AnnotationでCSVファイルを読み書きする

公式ドキュメント Beanクラスの作成 @CsvBeanの属性について header validateHeader headerMapper validators listeners @CsvColumnの属性について number label builder CSVファイルの書き込み 1行ずつ書き込む 複数行まとめて書き込む CSVファイルの読み込…

Dao・Entity・Sqlファイルの自動生成(Doma Codegen Plugin)

Dao・Entity・Sqlファイルの自動生成 doma-codegen-pluginは、データベースに接続しテーブルのメタデータからDao/Entity/Sqlファイルを自動作成するツールである。 自動生成時に、カラムを任意の方にマッピングさせたい場合は、以下の記事も合わせて参照する…

Open CSVでCSV形式のファイルを読み込み・書き込み

CSVファイル書き込み 最小限のコードで実装 CSVの1レコードのデータを保持するクラスの作成 CSVファイルに書き込む処理の実装 StatefulBeanToCsvBuilderの設定 区切り文字の設定 改行コードの設定 ヘッダやレコードの囲み文字の設定 ヘッダやレコードを全て…

JSONPathについて

JSONPath XML の利点としてよく強調されるのは、XML 文書を分析し、変換し、選択的にデータを抽出するための豊富なツールが利用可能であることであり、XPathはこのような強力なツールの一つ。 XPath4JSON 特別なスクリプトを作成することなく、クライアント…

TimerTriggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのTimerTriggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン ファンクションを新規追加する Configクラスの作成 Functionクラ…

EventGrid Triggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのEventGrid Triggerを実装して、ローカルで動作確認する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン ファンクションを新規追加する Configクラスの作成 EventGri…

HTTP Triggerの作成(Spring Boot)

Spring Boot でAzure FunctionsのHTTP Triggerを実装する手順を示す。 プロジェクトの作成方法については、以下の記事参照。 olafnosuke.hatenablog.com バージョン ファンクションの新規追加する Configクラスの作成 Functionクラスの作成 Handlerクラスの…

Spring Bootで動作するAzure Functionsプロジェクト作成(Gradleプロジェクト)

プロジェクト作成 1. 必要なツールのインストール 〇Node.js(Windows 64bit版 LTS v14.17.6) 以下のサイトからインストール。 https://nodejs.org/ja/download/ 〇Azure Functions Core Tools コマンドプロンプトで以下のコマンドを実行する。参考 npm i -…

mockMvcを使用したControllerのテスト方法(Spring Boot)

mockMvcを使用したControllerのテスト方法(Spring Boot) Controllerのテストやフィルターやインターセプターが実際に動作しているのか検証する際にMockMvcを使用する。 テストの作成方法をメモしておく。 シンプルなControllerのテスト作成 以下がテスト対象…