CATEGORY

実装技術

ASP.NET Core: IHttpClientFactoryの検証用サンプル

本番環境ではあまり使うことはない、検証環境を想定したサンプルを紹介します。 本来のIHttpClientFactoryの使い方や基本的なサンプルは下記を参考にしていただければと思います。 ASP.NET Core: IHttpClientFactoryの使用方法 ASP.NET Core: IHttpClientFactoryのサンプル 前提 マイクロソフトが推奨するIHttpClientFact […]

ASP.NET Core: IHttpClientFactoryのサンプル

前回の記事でIHttpClientFactoryの使用方法を説明しました。 ここでは、サンプルを使用した具体的な使用方法を説明します。 前提 マイクロソフトが推奨するIHttpClientFactoryを使用して、HttpClientクライアントを取得する前提です。 HttpClientの使い方は何種類かありますが、ここでは既定のクライアント、名前付きクライアントを前提とします。 実際の業務では、 […]

ASP.NET Core: IHttpClientFactoryの使用方法

とりあえず、どんなサンプルになるか知りたい人は下記のサンプルをご覧ください。 ASP.NET Core: IHttpClientFactoryの単純サンプル ASP.NET Core: IHttpClientFactoryのサンプル ASP.NET Core: IHttpClientFactoryの検証用サンプル ASP.NET Coreや.NET CoreでWebAPIの実行等のHTTP通信を行 […]

ASP.NET Core: ファイルアップロードのバリデーション

ASP.Net Core(3.1)を使ったファイルアップロードに関する考察です。 元ネタはマイクロソフトのサイトですが、記載内容が私には難しかったり、業務で使用するために悩む部分があったので独自に纏めてみました。 バッファリング vs. ストリーミング ASP.Net Coreではサーバ側の実装方式として、バッファリングとストリーミングがある。 動画、高精細画像、大量ファイルのような数GB単位のア […]

ASP.NET Core: 変更ページを実行環境に反映

ASP.Net Core(3.0)の開発で、ページ(cshtml)を編集しながらページデザインを確認したい。 既定ではページを変更しても実行環境に反映れずサーバの再起動が必要となり開発効率が悪い。 サーバを再起動しなくてもブラウザで変更ページを確認できる方法を説明します。 設定方法 NuGetで”Microsoft.AspNetCore.Mvc.Razor.RuntimeCompila […]

slf4jで独自ログ項目を追加(MDC)

はじめに 業務要件、障害発生時の処理追跡や証跡等、ログ出力に特定項目を含めたい場合があります。 共通のログ出力ユーティリティやライブラリを作って、その中でログ出力内容を変更しても良いのですが、MDC(Mapped Diagnostic Context)という仕組みで簡単に実装できます。 なお、ここで前提としているslf4jについて知りたい方は、こちらをご覧ください。 ログ全般の設計・実装ポリシーに […]

mybatis-generatorプラグインの実装方法

mybatis-generatorを使うことで、各テーブルを操作するためのクラス群を容易に準備することができます。しかしながら、mybatis-generatorが提供する機能では、システム開発で求められる要件を満たせない場合があります。 このような状況に対応できるよう、ここではmybatis-generatorプラグインの実装方法について説明します。 概要 mybatis-generatorが生 […]

システム開発でのmybatis-generatorの利用

システム開発における製造工程の前段では、開発メンバの負荷軽減や共通化のために、各テーブルに対するSELECT/INSERT/UPDATE/DELETEを容易に行うための共通クラスを準備することが望まれます。 ここでは、mybatis-generator(MBG)を使って、このような共通クラスを作成するための方法について説明します。(私個人的には、システム開発におけるDB操作フレームワークとしてmy […]

mavenマルチモジュールプロジェクトの構成例

システム開発でよく使用するmavenマルチモジュールプロジェクトの構成サンプルを説明します。 構成方針 複数のサブシステムをもつシステム開発を想定しています。システム名はzzz、サブシステムはf10, f20等のサブシステムIDが割り当てられているものとして、各種のネーミングを決定しています。 このシステムでは、DB操作にはmybatisを使用する想定です。各テーブルに対する基本操作を行うためのm […]

Java正規表現によるパラメータ置換

mybatis-generatorが生成するクエリカスタマイズのために、生成されたクエリ上のパラメータを置換する方法を調べたので記載しておきます。 サンプルプログラム Java言語の場合、標準ライブラリのPatternクラスで正規表現パターンを作成し、Matcherで検索や置換が行えます。該当箇所を纏めて置換する場合はMatcher#replaceAll()が手っ取り早いが、個々に条件判断して置換 […]