CLOVER🍀

That was when it all began.

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

2022年の振り返り

2022年も終わりということで、恒例の振り返りをしてみましょう。 2021年の振り返りで言っていたこと 2021年の振り返りでは、アプリケーション寄りのことをやっていこう、と書いていました。 2021年の振り返り - CLOVER 加えて、LocalStackやデータストアまわ…

JAX-RS 3.1.0のSeBootstrapを使って、RESTEasy(+Undertow、CDI)をJava SE環境で動かす

これは、なにをしたくて書いたもの? RESTEasy 6.1.0に関するブログを見ていて、JAX-RS(Jakarta RESTful Web Services) 3.1ではJava SE環境でJAX-RSを動かすことが できるようになっていたことに気づいたので、少し試してみようかなと。 RESTEasy Releases…

JAX-RS(Jakarta RESTful Web Services) 3.1.0で、Contextアノテーションの代わりにCDIが推奨されるようになっていたという話

これは、なにをしたくて書いたもの? RESTEasy 6.1.0に関するブログを見ていて、JAX-RS(Jakarta RESTful Web Services)のインジェクションの仕組みはCDIの利用が 推奨されるようになっていたので、こちらを軽く確認しておきました。 RESTEasy Releases RES…

OpenAPI Generatorを使って、Spring Web MVCのエンドポイントを生成する

これは、なにをしたくて書いたもの? OpenAPI Generatorを使って、OpenAPIの定義ファイルからSpring Web MVCのエンドポイントを生成してみようかな、ということで。 OpenAPI Generator OpenAPI Generatorは、OpenAPIの定義ファイルからクライアントやサーバ…

Ubuntu Linux 20.04 LTSにShellCheckをインストールする

これは、なにをしたくて書いたもの? タイトル通り。 シェルスクリプトの静的解析ツールである、ShellCheckをUbuntu Linux 20.04 LTSにインストールしてみます。 ShellCheck ShellCheckとは、シェルスクリプトの静的解析ツールです。 ShellCheck – shell scr…

hadolintでDockerfileの静的解析を行う

これは、なにをしたくて書いたもの? hadolintというDockerfileのlintがあるので、試してみることにしました。 hadolint hadolintは、Dockerイメージをベストプラクティスに従って構築するためのDockerfileのlinterです。 Dockerfile Linter GitHub - hadoli…

Quarkus × SmallRye OpenAPIで、ビルド時にOpenAPIの定義ファイルを作成する

これは、なにをしたくて書いたもの? OpenAPIでのAPI定義を書こうとした時に、どうするのがいいのかなと思ったりしていたのですが。 Quarkusの場合、ビルド時にOpenAPIの定義ファイルを作成できそうなのでこちらを試してみようかなということで。 Quarkus × …

Serverless FrameworkでAWS Lambda関数をローカル環境でエミュレーションで動かす

これは、なにをしたくて書いたもの? これまでServerless Frameworkを使って作成したサービスをLocalStackにデプロイして動かしていましたが、デプロイせずとも動作確認する パターンも試しておきたいなと思いまして。 invoke localとgenerate-event 使うの…

Serverless Framework+LocalStackで、Amazon SNSのトピックをサブスクライブするAWS Lambda関数を作る

これは、なにをしたくて書いたもの? 今まで試してきたServerless Frameworkを使った例では、ずっとAmazon API Gatewayを使ったものだったのですが、別のものでも試して みようかなと思いまして。 今回は、Amazon SNSを使ってみたいと思います。 Amazon SNS …

Infinispan Server 14.0の設定まわりのファイルをメモしておく

これは、なにをしたくて書いたもの? Infinispan Serverの設定まわりを見ていて、いくつかポイントとなるファイルを目にしていたのでメモしておこうかなと。 対象はInfinispan 14.0.3.Finalとし、GitHub上のソースコードの位置で示していきます。 起動スクリ…

Infinispan 14.0の新しいインデックス用のアノテーションをHot Rodで試す

これは、なにをしたくて書いたもの? Infinispanで全文検索インデックスを使用する場合、Cacheに保存するエントリーの各プロパティに対してHibernate Searchの アノテーションを使用して設定を行っていました。 これがInfinispan 14.0で、Infinispan自身がイ…

Infinispan Server 14.0でメトリクスの収集方法がMicrometerに移行されたので、試してみた

これは、なにをしたくて書いたもの? Infinispan 14.0.0.Finalで、メトリクスの生成にMicrometerを使うようになったみたいです。 Integration with Micrometer to produce Prometheus and OpenMetrics metrics Infinispan 14.0.0.Final こちらを簡単に確認し…

Serverless Esbuildを使って、TypeScriptのServerless Frameworkサービスを作る

これは、なにをしたくて書いたもの? 前に、Serverless FrameworkをTypeScript(とLocalStack)で使ってみました。 Serverless FrameworkをLocalStack+TypeScriptで使ってみる(Amazon API Gateway+AWS Lambda) - CLOVER この時、テンプレートにaws-nodej…

JavaScriptのArray.prototype.forEachにasyncな関数を渡しても、awaitで終了を待てないという話

これは、なにをしたくて書いたもの? Array.prototype.forEachをなにも考えずに使っていて、ちょっとハマったので。 Array.prototype.forEachはawaitと組み合わせて使えないようです。 Array.prototype.forEachとasync/await MDNリファレンスでのArray.prot…

npmでプロジェクトの依存関係の確認や、依存パッケージのバージョン確認などを行ってみる

これは、なにをしたくて書いたもの? 以前、npm install(npm i)で使うバージョンについて調べてみました。 npm installなどで使うバージョンがよくわからなかったので、調べてみました - CLOVER なのですが。npmプロジェクトが依存しているパッケージを表…

Spring BootでQuartzを使ってみる

これは、なにをしたくて書いたもの? Spring Boot(とSpring Framework)に、Quartzとの連携機能があるので、試してみようということで。 Spring Boot、Spring FrameworkとQuartz Spring BootおよびSpring Frameworkの、Quartzとの連携については以下に記載…

Database Riderを試してみる

これは、なにをしたくて書いたもの? 以前、DbUnitを使ってエントリーを書いてみました。 DbUnitを試してみる - CLOVER この時にも少し触れていたのですが、今回はDatabase Riderというものを試してみたいと思います。 Database Rider Database Riderは、DbU…

Quartzで、指定した時間に1回だけ起動するJobを作成する

これは、なにをしたくて書いたもの? Quartzを使っていて、指定した時間に1度だけ起動するJobを定義したいなと思いまして。 指定した間隔で起動し続けるJobばかり扱っていたので、どうしたらいいんだろうと思ったのですが、割と単純でした。 1回だけ起動する…

Infinispan Server 14.0.1.Finalで、Server Taskが呼び出しごとにインスタンス化できたり、ADMIN権限が不要になったりしていた話

これは、なにをしたくて書いたもの? InfinispanのServer Taskのソースコードを見ていたら、前に踏んでいた問題がいろいろ直っているのに気づきまして。 せっかくなので、確認しておこうかなと。 前に踏んでいた問題 このエントリーを書いた時の話なのですが…

WildFly Bootable JAR作成時に使う、WildFly JAR Maven Pluginのjboss-maven-distオプションの有効/無効を切り替える

これは、なにをしたくて書いたもの? WildFly Bootable JARを作成するWildFly JAR Maven Pluginの設定に、jboss-maven-distという設定があります。 <plugin-options> <jboss-maven-dist/> </plugin-options> こちらについて、ちょっと気になったことがあったので調べてみました。 jboss-maven-dist plugin-opsion …

Quartzのクラスタリングを試してみる

これは、なにをしたくて書いたもの? Quartzでクラスタリングを扱ってみたいと思います。 Quartzのクラスタリング Quartzのクラスタリングについては、あまりドキュメントがありません。 まずはこちらに少し。 Overview それから、チュートリアルに少し書か…

WildFly Bootable JARで作成したアプリケーションの起動時に、システムプロパティや起動引数を指定する

これは、なにをしたくて書いたもの? これまで何回かWildFly Bootable JARを使ってきましたが、そういえばWildFlyで使っていたようなシステムプロパティや起動引数の指定は 有効なのかな?とふと疑問に思ったので試してみました。 結論を言うと、同じように…

JavaでULIDを使いたい(Sulky ULIDを使う)

これは、なにをしたくて書いたもの? JavaでULIDを1度使っておきたいな、と思いまして。 ULID ULIDは、Universally Unique Lexicographically Sortable Identifierの略です。辞書的にソート可能でユニークなID、ですね。 ULIDについては、こちらのGitHub Org…

QuartzのJobやTriggerなどの定義の保存先をデータベースにしてみる+Misfire(発火しなかったイベント)について少し

これは、なにをしたくて書いたもの? QuartzのJobの設定をデータベースに保存してみようかなということで。 あと、Misfire(本来起動すべき時間に実行できなかったJobの扱い)について少し調べて書いてみました。 JobやTriggerのなど定義をデータベースに保…

Quartzで、Jobにデータを渡す(オマケ:JobDetailとTriggerの数の関係について)

これは、なにをしたくて書いたもの? 先日、Quartzを扱ってみました。 JavaのジョブスケジューラーQuartzを試す - CLOVER CookbookではJobの定義と一緒にJobにデータを渡す方法も扱っているのですが、前回はこちらはスルーしていました。 How-To: Defining a…

Amazon EventBridgeでスケジューリング起動するAWS Lambda関数を、AWS SAM+LocalStackで試す

これは、なにをしたくて書いたもの? Amazon EventBridgeを使って、AWS Lambda関数をスケジュール実行させてみたいなということで。 LocalStackでAmazon EventBridgeを使えそうだったので、試してみることにしました。 Amazon EventBridge Amazon EventBridg…

JavaのジョブスケジューラーQuartzを試す

これは、なにをしたくて書いたもの? JavaのジョブスケジューラーといえばQuartzが有名だと思いますが、そういえばちゃんと触ったことがなかったので少し試してみることに しました。 Quartz Quartzのオフィシャルサイトは、こちら。 Quartz Enterprise Job …

Amazon SQSにメッセージを送受信するアプリケーションをSpring Bootで書いてみる(AWS SDK for Java v2、LocalStack利用)

これは、なにをしたくて書いたもの? 前に、Amazon SQS(といってもLocalStack上のものですが)を使ってFIFOキューを試してみました。 LocalStackでAmazon SQSのFIFOキューを試してみる(AWS SDK for Javaを使用) - CLOVER 今回は、常駐アプリケーションと…

Infinispan 14.0のRESPエンドポイントをRedis CLIで試す

これは、なにをしたくて書いたもの? Infinispan 14.0で「RESP endpoint」というものが実装され、Redis互換のエンドポイントをサポートするようになったというのでちょっと 試してみました。 Infinispan 14.0.0.Final なお、このブログには書かれていません…

ElasticMQのキュー定義をTerraformで行ってみる

これは、なにをしたくて書いたもの? ElasticMQを使っていきたいと思うのですが、リソース定義をTerraformで行えないかなと思いまして。 結果を見ると、できるにはできるのですがちょっと難ありです。 ElasticMQ ElasticMQは、Amazon SQS互換のインターフェ…