Ktorを2系から3系にバージョンアップしたところ、ファイルアップロード機能で50MBを超えるファイルがアップロードできない問題に発生しました…原因を調べたうえで、対応方法をまとめました。 起きたこと 50MBを超えるサイズのファイルをアップロードすると、…
AI Assistantを有効にしてPRを開くと、タイムラインの上部に変更の概要が表示されるようになりました。ちょっと設定をいじれば、もっとレビューしやすくなるんじゃないかと思ったので、カスタマイズしてみました! 以下は、そのカスタマイズ方法と使い方です…
IntelliJ IDEAの2024.2 EAP(242.14146.16)にあげてみると、全てが日本語化されてしまいました。 設定画面などは、下の画像のように全て日本語で表示されるようになっています。 今まではプラグインでの日本語化だったと思うのですが、プラグインがなくても日…
IntelliJ IDEA 2024.1 の EAPで消えた「Search Everywhere」のデータベース検索タブを復活する方法 IntelliJ IDEA 2024.1 の EAP版にアップデートしてから、「Search Everywhere」のデータベース検索タブが消えてしまって困っている方はいませんか?(下の画…
IntelliJ IDEA2024.1 EAPですっかり変わってしまったTerminal機能を従来の普通のTerminalに戻す方法になります。 戻す方法 設定画面のTools->Terminalにある、Shell integrationのチェックを外すことで、今まで通りの普通のTerminalに戻ってくれます おわり。
LogbackでログメッセージをJsonで出力(logstash-logback-encoderを使用)する際に、メッセージの内容を一部マスクしてみました。 マスクの方法は、logback.xmlの指定だけで特定フィールドの内容をまるっと置き換えたり、正規表現を使用して柔軟に置き換えた…
Ktorの2.3.0からルーティング設定で正規表現が使えるようになったらしいので試してみたよ。 Ktor2.3.0のリリースノート Ktorの公式ドキュメント ルーティング設定で正規表現を使ってみる お試しコード ルーティング設定での正規表現の指定方法は、文字列では…
JUnit5なテスト実行時に環境変数を設定(クリア)できる、拡張のGitHub - junit-pioneer/junit-pioneer: JUnit 5 Extension Packを試してみました。 テスト実行時に環境変数を設定する 環境変数の設定は@SetEnvironmentVariableアノテーションで行います。 …
Vue.jsのバージョン3では、v-modelの仕様が結構変わっているのでそれのメモ。 サンプルコード シンプルなパターン modelValueプロパティを使った値の受け渡しになっていて、値の変更は、update:modelValueイベントを発火することで親コンポーネントに通知で…
KotestのSpring拡張を使う方法になります。 KotestのSpring拡張をdependenciesに追加 io.kotest:kotest-runner-junit5-jvmだけではなく、Spring拡張のio.kotest.extensions:kotest-extensions-springを追加します。 Mockkを使うのに便利なcom.ninja-squad:sp…
KotestでTestcontainersを簡単に使う方法になります。 KotestのTestcontainers拡張を追加 KotestにはTestcontainers用の拡張ライブラリが用意されているので、それを依存に追加します。 build.gradleの場合 testImplementation 'io.kotest.extensions:kotest…
IntelliJ IDEAのCloud CodeプラグインのSkaffold機能を試してみたいと思います。 準備 Cloud Code - IntelliJ IDEs Plugin | Marketplaceをお使いのIntelliJ IDEAにインストールします。 Supported Productsに、Communityの記載があるのでUltimate以外でも使…
Skaffoldで起動したSpring BootをIntelliJ IDEAでデバッグする方法を調べてみました。1 デバッグモードでアプリケーションをデプロイする skaffold debugコマンドを使用して、アプリケーションをデプロイします。 debugコマンドを使ってデプロイすることで、…
WireMock clientのKotlin DSLを作ってみたお話です。 導入 Maven <dependency> <groupId>io.github.siosio</groupId> <artifactId>wiremockk</artifactId> <version>1.0.0</version> </dependency> Gradle implementation 'io.github.siosio:wiremockk:1.0.0' 使い方 Stubの登録 WireMockに追加された拡張関数のregisterを使ってStubを登録できるように…
お仕事でDenoを使う機会があったので、WebStormで環境構築や実行&デバッグできるか試してみました。 使用したバージョン Deno $ deno --version deno 1.14.1 (release, x86_64-unknown-linux-gnu) v8 9.4.146.15 typescript 4.4.2 WebStorm WebStorm 2021.3 …
やりたいこと 単一のWebFluxのアプリケーションで、Spring Data R2DBCを使って複数のデータベースに接続してSQLを実行したい。 環境準備 データベース 準備が簡単なので、Docker Composeを使ってデータベースを2つ起動しています。 version: '3.7' services:…
Spring Boot + MVCでkotlinx.serializationを使ってリクエスト・レスポンスのシリアライズとデシリアライズを試してみました。 使用バージョンなど ↓のバージョンを使って試してみました。 Spring Bootは、2.5.4 kotlinx.serialization build.gradle.ktsはこ…
Dartの拡張関数とは Kotlinと同じような感じで、既存のクラスに対して関数追加できちゃう感じですね。 ドキュメントはこちら→(Extension methods | Dart) 構文 extension onを使って拡張したい型に対して、拡張関数を定義してあげます。 extensionとonの間に…
Elasticsearchで条件にマッチしたワードをハイライト表示したいなんてことありますよね。 これを実現するために、条件にマッチした部分を検索結果から取得する方法になります。 準備 インデックス内容 フィールドをひとつだけ持つインデックスを作成して確認…
kotlinx.serialization を使って、JSONのシリアライズとデシリアライズを試してみたよ。 デシリアライズ&シリアライズ JSONに対応するdata classを作成する JSONに対応するdata classには、@Serializableを設定してあげます。ネストオブジェクトに対応するク…
現時点ではBeta版のIntelliJ IDEAの2021.1からGitのコミットメッセージテンプレートに対応してくれたのが便利ですね。 これを使うことでサードパーティ製のプラグインなど入れなくても、テンプレートを元にメッセージのプレフィックス的なもの入れたりするの…
Testcontainersを使ったテストは、コンテナの起動が毎回行われるのでどうしてもslow testになってしまいます。 そこで、一度あげたコンテナを使い回すことで2回目以降のテスト実行を高速化してみようと思います。 コンテナを使い回す設定を追加 コンテナを使…
TestcontainersのElasticsearchコンテナ起動時にテストで必要となるプラグインをインストールする方法を調べてみました。 サンプルコード ElasticsearchContainerの親クラスのGenericContainerが、docker-java APIのCreateContainerCmdに対してなにか処理を…
Spring Cloud Contractを試してみた - しおしおの続きで、Producer側で生成したstubsをサーバとして起動してエンドポイントを叩いて結果が取得できるか試してみました。 Spring Cloud Contractを適用したプロジェクトの作成 新規でプロジェクトを作るのは大…
single-spa | single-spaなるマイクロフロントエンドさくっと作れそうなフレームワークを試してみました。 準備 single-spa はプロジェクト作成用などのcliを用意してくれているようなので、まずはそれをインストールします。 npm install --global create-s…
Testcontainersのコンテナを複数テストクラスで共有して使い回す方法になります。 コンテナを使い回すことで、テストクラスごとにコンテナが起動されテストの実行がめちゃ遅くなってしまう問題を解消することが期待できます。 コンテナをマニュアル起動する…
IntelliJ IDEAのDatabase Tools and SQLプラグインの検索結果テーブルからGitHub - Ninja-Squad/DbSetup: An API for populating a database in unit testsのKotlin DSL用のデータセットアップコードを生成してみました。 既存のデータベースからデータセッ…
Spring Boot Config Data Migration Guide · spring-projects/spring-boot Wiki · GitHubにまとまっていますが、2.4.0からConfigファイル周りの設定値や読み込み順などが変わっているようです。 2.4.0より前のバージョン こんな感じにspring.profilesでプロ…
IntelliJ IDEAのバージョン 2020.3 EAPの以下のビルドバージョン(これより前のビルドからこの問題が発生しています) 再現コード pom.xml <dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency> </dependencies> コード public class Main { public static vo…
Spring Cloud Contractとは Spring Cloud Contractは、Consumer-Driven Contract testing1を実現するためのフレームワークです。 お試し構成 Producerをserver-serviceとして、Consumerをclient-serviceとして構築しています。 Producer(server-service) bui…