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

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. 別リポジト…

MongoDB導入手順メモ

MongoDB導入 ダウンロードとインストール 以下のページを参考にMongoDBをインストールする。 MongoDBのダウンロード・インストール(Windows10) 起動 > mongo >mongo MongoDB shell version v5.0.9 connecting to: mongodb://127.0.0.1:27017/?compressors=…

SpringBootでモデルをセッションに格納する

SpringBootでモデルをセッションに格納する SpringBootでモデルやエンティティをセッションに格納する方法を説明する。 実装には@SessionAttributesアノテーションを用いる。 @SessionAttributesアノテーションを使用してセッションに格納したオブジェクトは…

Spring Bootで例外処理

Spring Bootで例外処理 エラーページの表示 spring bootでは、Thymeleafを使用している場合、デフォルトで例外発生時にはsrc/main/resources/template/error.htmlに遷移する。 上記のパスにファイルが存在しない場合は、springが準備したWhitelabel Error Pa…

PMD Javaルール ver 6.35.0 ⇒ 6.47.0 差分

PMD

PMD Javaルール ver 6.35.0⇒6.47.0 これまでまとめてきたPMDルールは6.35.0のものだったので 6.35.0から今の最新の6.47.0までのJavaルールの差分についてまとめます。 ver 6.36.0(2021-06-26) ルール名の変更 カテゴリ 変更前ルール名 変更後ルール名 Erro…

PMD Javaルール Securityカテゴリ

PMD

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

PMD Javaルール Performanceカテゴリ

PMD

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

PMD Javaルール Multithreadingカテゴリ

PMD

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

PMD Javaルール Error Prone

PMD

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

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アプリケーション開発に必要な機能(リクエストマッピング、セッション管理、入力チェッ…