Checkstyle チェック項目ーMiscellaneous

Checkstyleチェック項目:Miscellaneous CheckStyle公式ドキュメント ver 10.3.1 ArrayTypeStyle 配列の型定義のスタイルをチェックする。 JavaスタイルとCスタイルから選択可能。 Javaスタイル(デフォルト):public static void main(String args) Cスタ…

Checkstyle チェック項目ーMetrics

Checkstyleチェック項目:Metrics CheckStyle公式ドキュメント ver 10.3.1 BooleanExpressionComplexity 式中のboolean演算子(&&、 ||、 &、 |、 ^)の数を制限する。 プロパティ プロパティ 型 デフォルト値 説明 max int 3 1つの式で許可されるboolean演…

Checkstyle チェック項目ーJavadoc Comments

Checkstyleチェック項目:Javadoc Comments CheckStyle公式ドキュメント ver 10.3.1 AtclauseOrder JavadocブロックタグまたはJavadocタグの順序をチェックする。 プロパティ プロパティ 型 デフォルト値 説明 violateExecution OnNonTightHtml boolean fals…

Checkstyle チェック項目ーImports

Checkstyleチェック項目:Imports CheckStyle公式ドキュメント ver 10.3.1 AvoidStarImport *を使用するimport文がないことをチェックする。 プロパティ プロパティ 型 デフォルト値 説明 excludes String[] {} *を使用するインポートが許可されるパッケージ…

Checkstyle チェック項目ーHeaders

Checkstyleチェック項目:Headers CheckStyle公式ドキュメント ver 10.3.1 RegexpHeader ソースファイルのヘッダを、ソースヘッダの各行に対応するパターンを含むヘッダと照合してチェックする。 プロパティ プロパティ 型 デフォルト値 説明 headerFile URI…

Checkstyle チェック項目ーCoding

Checkstyleチェック項目:Coding CheckStyle公式ドキュメント ver 10.3.1 ArrayTrailingComma 配列の初期化時に、末尾にコンマが含まれているかどうかをチェックする。 デフォルトでは、配列の最後の要素と同じ行に左中括弧も右中括弧もない場合、最後にコン…

Checkstyle チェック項目ーClass Design

Checkstyleチェック項目:Class Design CheckStyle公式ドキュメント ver 10.3.1 DesignForExtension クラスが拡張(サブクラス作成)用に設計されているかどうかをチェックする。 このチェックでは、オーバーライド可能なメソッド (非static、非final、非abs…

Checkstyle チェック項目ーBlock Checks

Checkstyleチェック項目:Block Checks CheckStyle公式ドキュメント ver 10.3.1 AvoidNestedBlocks ネストされたブロック(コード内で自由に使用されているブロック)がないかどうかをチェックする。 プロパティ プロパティ 型 デフォルト値 説明 allowInSwi…

Checkstyle チェック項目ーAnnotation

Checkstyleチェック項目:Annotation CheckStyle公式ドキュメント ver 10.3.1 AnnotationLocation アノテーションの位置をチェックする。デフォルトでは以下の項目をチェックする。 アノテーションがコメントと対象要素の間に記述されていること アノテーシ…

Azure Cosmos DB EmulatorをJavaで操作する(実装編)

前回の記事でAzure Cosmos DB EmulatorにJavaから接続するための設定が完了したので、今回は実際にAzure Cosmos DB Emulatorを操作する処理を実装していく。 Azure Cosmos DB EmulatorにJavaから接続するための設定は以下の記事を参照 olafnosuke.hatenablog…

Azure Cosmos DB EmulatorをJavaで操作する(準備編)

2記事に分けて、Java(Spring Boot)からAzure Cosmos DB Emulatorを操作する手順をまとめます 。 今回はJava側からEmulatorに接続するための準備段階の手順についてまとめていきます。 Azure Cosmos DB Emulatorのダウンロード 以下のサイトからダウンロー…

SwaggerファイルをAPI Blueprintファイルへ変換する

API Blueprintファイルへの変換 Swaggerファイルへの変換ツールとして API Elements CLIを使用する。 API Elements CLI(Github) サンプルとして、以下のSwaggerファイルをAPI Blueprintファイルに変換する。 openapi: '3.0.0' info: title: サンプルAPI desc…

Swaggerファイルでモックサーバ起動

Swaggerファイルを使用してモックサーバを起動する方法をまとめる。 モックサーバーには prism を使用する。 prism(Github) 仕様書作成準備 作成したAPI仕様書を管理するためのディレクトリを作成し、npm initコマンドを実行する。 以下は作成されたpackage.…

ソースコードのフォーマットチェック(Gradle Plugin)

spotless plugin ソースコードなどのフォーマットチェックおよびフォーマッットを行うタスクを提供するプラグイン Github 以下の言語のフォーマットに対応している Java (google-java-format, eclipse jdt, clang-format, prettier, palantir-java-format) G…

jsファイルとcssファイルをminifyする(Gradle Plugin)

gradle minify plugin https://github.com/gradle-webtools/gradle-minify-plugin 依存関係の追加 build.gradleにプラグインを追加する。 plugins { id("org.gradlewebtools.minify") version "1.3.1" } プラグインの設定 オプションはかなり多く存在してい…

Doma2で楽観排他

Doma2で楽観排他を実現する方法と更新失敗時の例外処理についてまとめる。 Domaの設定方法 エンティティクラスの楽観ロック用のバージョンカラムにあたるメンバ変数に@Versionを付与する。 @Entity @Table(name = "sample") @ToString @EqualsAndHashCode pu…

Doma2で任意のクラスにマッピングさせる

DomaのエンティティはデフォルトでInteger型やString型など基本型にマッピングされるが、ドメインクラスを定義することで、別のクラスにラッピングさせることができる。 doma-codegen-pluginで現状エンティティの自動生成でドメインクラスにマッピングするよ…

Spring Bootで非同期処理

Spring Bootで非同期処理を実装する方法を説明する。 非同期で実行したいメソッドを作成する Service実装クラスで、非同期で実行したいメソッドを実装する。 メソッドに@Asyncのアノテーションを付与する 属性値に非同期処理の設定のbean名を指定する メソッ…

Azure Functionsプロジェクトの作成方法

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

プロパティの有無/値によってBean登録するクラスを切り替える(Spring Boot)

@ConditionalOnProperty SpringBootが提供しているアノテーションで、ある特定のプロパティが指定の値かどうかチェックを行う。 チェック結果がtrueの場合、アノテーションを付与しているメソッドが実行され、bean登録される。 アノテーションの属性には以下…

Swaggerファイルの分割・統合

APIがいっぱいあって、1つのSwaggerファイルに全部を書きたくないときのためのメモ。 複数ファイルへの分割 サンプルとして、以下のファイルを複数ファイルに分割する。 openapi: '3.0.0' info: title: サンプルAPI description: API仕様サンプル用 termsOfS…

DBマイグレーションツール FlyWay の使い方(Gradle Plugin)

参考サイト:FlyWay公式 Gradle Pluginの定義追加 FlyWayを使用したいプロジェクトの build.gradle に以下の設定を記述する。 buildscript { repositories { mavenCentral() } dependencies { // 使用するDBのJDBCドライバをクラスパスに設定する classpath …

SwaggerファイルをHTML出力する

API仕様書記述方法の中でもメジャーであるSwaggerについて、静的HTML出力する方法のメモ。 HTMLの出力ツールとして redoc-cli を使用する。 redoc-cli(Github) 仕様書作成準備 作成したAPI仕様書を管理するためのディレクトリを作成し、npm initコマンドを実…

Prisma + Typescript の実装サンプル

Prisma + Typescript の実装サンプル 〇サンプルに使用するテーブル CREATE TABLE shopping_items ( id bigint IDENTITY(1,1) NOT NULL, name varchar(40) COLLATE Japanese_CI_AS NOT NULL, price int NOT NULL, suryo int NULL, description varchar(100) …

TypeORM + Typescript の実装サンプル

TypeORM + Typescript の実装サンプル 〇サンプルに使用するテーブル CREATE TABLE shopping_items ( id bigint IDENTITY(1,1) NOT NULL, name varchar(40) COLLATE Japanese_CI_AS NOT NULL, price int NOT NULL, suryo int NULL, description varchar(100)…

Sequelize + Typescript の実装サンプル

Sequelize + Typescript の実装サンプル 〇サンプルに使用するテーブル CREATE TABLE shopping_items ( id bigint IDENTITY(1,1) NOT NULL, name varchar(40) COLLATE Japanese_CI_AS NOT NULL, price int NOT NULL, suryo int NULL, description varchar(10…

JavaでMongoDBを操作する(SpringBoot)

MongoDBの導入手順は以下の記事に記述しています。 olafnosuke.hatenablog.com JavaでMongoDBを操作する(SpringBoot) 依存関係の追加 build.gradleにspring-boot-starter-data-mongodbの依存関係を追加する。 dependencies { implementation 'org.springfr…

mssql + Typescript の実装サンプル

mssqlを使用したDB接続実装サンプル 〇サンプルに使用するテーブル CREATE TABLE shopping_items ( id bigint IDENTITY(1,1) NOT NULL, name varchar(40) COLLATE Japanese_CI_AS NOT NULL, price int NOT NULL, suryo int NULL, description varchar(100) C…

tedious + Typescript の実装サンプル

tediousを使用したDB接続実装サンプル 〇サンプルに使用するテーブル CREATE TABLE shopping_items ( id bigint IDENTITY(1,1) NOT NULL, name varchar(40) COLLATE Japanese_CI_AS NOT NULL, price int NOT NULL, suryo int NULL, description varchar(100)…

Gitリポジトリの分割手順

Gitリポジトリの分割 履歴を保持したまま特定のフォルダを新しいリポジトリに分割する方法のメモ。 1. 分割したいプロジェクトをclone git clone リポジトリURL 2. コマンドプロンプトを起動して、クローンしたプロジェクトのルートに移動する 3. 別リポジト…