CLOVER🍀

That was when it all began.

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

LocalStackの初期化フックを使って、起動時に初期化処理を行う

これは、なにをしたくて書いたもの? LocalStackをよく使っているのですが、起動時にLocalStack上のリソースを作る方法がないのかなと思って調べてみました。 初期化フック(Initialization Hooks)というものを使うと、LocalStackのライフサイクルに合わせ…

Node.jsで環境変数をファイルから読み込むdotenvを試す

これは、なにをしたくて書いたもの? Node.jsで環境変数をファイルから読み込むことができるdotenvというものがあるらしいので、試してみることにしました。 dotenv dotenvのGitHubリポジトリーは、こちら。 GitHub - joho/godotenv: A Go port of Ruby's do…

Serverless Frameworkの設定にAWS Systems Manager Parameter Storeを使ってみる(LocalStack利用)

これは、なにをしたくて書いたもの? Severless Frameworkのserverless.ymlでAWS Systems Manager Parameter Storeの値を参照できるみたいなので、試してみることに しました。 合わせて、AWS Lambda関数内からAWS Systems Manager Parameter Storeを参照す…

TypeScriptを使ってNode.jsの環境変数を型定義する仕組みを見て、名前空間と宣言のマージを確認する

これは、なにをしたくて書いたもの? TypeScriptを使ってNode.jsで環境変数を型定義する方法を調べると、だいたい以下のような記述が見つかるように思います。 declare namespace NodeJS { interface ProcessEnv { readonly MY_ENV: string; } } ここでMY_EN…

Javaのクラスファイルを検索できる、Jandexを試す

これは、なにをしたくて書いたもの? Javaのクラスファイルを検索できる、Jandexというライブラリーがあります。このブログ内でも間接的に何度か扱ってきているのですが、 いつの間にかorganizationが移っていたりドキュメントができたりしていたので、この…

Ubuntu Linux 22.04 LTSに、Node.jsをNodeSourceのPPAからインストールする

これは、なにをしたくて書いたもの? 今までNode.jsのインストールにはnvmを使っていたのですが、手元では基本的には最新版しか使わないですし、バージョン自体を 切り替えることもそれほどないのでOSのパッケージマネージャーでのインストールに切り替えた…

Ubuntu Linuxの各LTS(14.04〜22.04)で、公式リポジトリーからインストールできるOpenJDKを調べる

これは、なにをしたくて書いたもの? ふだん使っているLinuxはUbuntu Linux LTSなのですが、各LTSでどのバージョンのOpenJDKをインストールできるのかなと思って 少しまとめてみました。 特になにも設定せず、apt installでインストール可能なUbuntu Linuxの…

Spring FrameworkのTransactionSynchronizationを試す

これは、なにをしたくて書いたもの? Spring Frameworkで、トランザクションの完了時に処理を行うことができるTransactionSynchronizationというものがあります。 存在は知っていたものの、ちゃんと使ったことがなかったので今回試してみることにしました。 …

Javaソースコードのアーキテクチャーをチェックするテストが書ける、ArchUnitを試す

これは、なにをしたくて書いたもの? ArchUnitというものを試してみたいな、ということで。 ArchUnit ArchUnitは、Javaソースコードのアーキテクチャーをチェックするためのユニットテストフレームワークです。 ArchUnit is a free, simple and extensible l…

REST APIのガイドラインの参考サイト

REST APIについて考える時に見ているのですが、いざ見ようとした時に「どれだったっけ?」となるのでメモ。 Zalando RESTful API and Event Guidelines Zalando RESTful API and Event Guidelines 和訳) Zalando RESTful API と イベントスキーマのガイドラ…

Moto(Server Mode)を使って、AWSのサービスをローカルで試してみる

これは、なにをしたくて書いたもの? AWSのサービスをローカル環境で試す時に使うものといえば、LocalStackが著名なのではないかなと思います。 LocalStack - A fully functional local cloud stack 今回はMotoというものを試してみたいと思います。 Moto Mo…

Sonatype Nexus 3をTerraformで操作する

これは、なにをしたくて書いたもの? TerraformのProviderを見ていると、Sonatype Nexus用のProviderがあったのでちょっと試してみたいなと。 Nexus Provider Nexus Provider Sonatype NexusのTerraform Providerです。 Nexus Provider リポジトリーの定義な…

Ubuntu Linux 22.04 LTSにデスクトップ環境をインストールして、RDP(リモートデスクトップ)接続する

これは、なにをしたくて書いたもの? Ubuntu Linux 22.04 LTSにデスクトップ環境をインストールして、RDP接続できる状態まで設定したいな、ということで。 やること 非デスクトップ環境のUbuntu Linuxにデスクトップ環境をインストールするには、ubuntu-desk…

Ubuntu Linux 22.04 LTSでインストールされているglibc(libc)のバージョンを確認する

これは、なにをしたくて書いたもの? インストールされているglibcのバージョンを確認したい時はどうしたらいいのかな?ということで。 環境 今回の環境は、こちら。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: U…

Logback(+Logstash Logback Encoder)でログ内の文字列を置換する

これは、なにをしたくて書いたもの? Logbackを使ってログ出力をする時に、ログメッセージを置換する方法はないかな?ということで調べてみました。 以下の方法がありそうです。 replace変換指定子を使う 自分でConverterを作成する MaskingJsonGeneratorDec…

Database RiderとSpring Frameworkを合わせて使う時に、DirtiesContextを使う場合はcacheConnectionを無効にした方がよいという話

これは、なにをしたくて書いたもの? Database RiderとSpring Boot(Spring Framework)を合わせて使っていて、@DirtiesContextアノテーションを使うと途端にテストが 失敗するようになってハマったのでメモ。 どういうことか? Mockitoを使った時など、Spri…

MySQL 8.0で追加されたSELECT ... FOR UPDATE SKIP LOCKEDを試す

これは、なにをしたくて書いたもの? MySQL 8.0.1から、SELECT ... FOR UPDATEにSKIP LOCKEDというオプションがつけられるようになったみたいです。 このオプションを使うと、クエリーを実行した時にすでにロックされているレコードが結果セットから削除され…

OpenSSLでCSRを非インタラクティブに作成する

これは、なにをしたくて書いたもの? OpenSSLでCSRを作る時に、Subjectの指定を求められます。 Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Inte…

Quarkus × Micrometerでメトリクスを取得する

これは、なにをしたくて書いたもの? Quarkusでメトリクスを取得する方法は?と思ってドキュメントを見てみたのですが、Micrometerを使うようです。 ちょっと試してみます。 Quarkus Micrometer Extension Quarkusのメトリクスに関するドキュメントを見ると…

RabbitMQのJavaScriptチュートリアルの「Publish/Subscribe」をTypeScriptで試す

これは、なにをしたくて書いたもの? RabbitMQのチュートリアルをJavaScriptクライアント+TypeScriptでやっていこう、ということで。 今回は「Publish/Subscribe」を扱います。こちらですね。 RabbitMQ tutorial - Publish/Subscribe — RabbitMQ Publish/…

Infinispan Server+Hot Rod ClientのNear Cacheを試す

これは、なにをしたくて書いたもの? Infinispan ServerにHot Rod Clientでアクセスする際に使える、Near Cacheを使ったことがないなと思ったのでちょっと試してみようと いうことで。 Hot Rod ClientのNear Cache Near Cacheは、簡単に言うと「キャッシュの…

Amazon SQSのデッドレターキューをElasticMQで試す

これは、なにをしたくて書いたもの? 前に、ElasticMQを使ってAmazon SQSの可視性タイムアウトを試してみました。 Amazon SQSの可視性タイムアウトをElasticMQで確認する - CLOVER 今度は、デッドレターキューを試してみたいと思います。 Amazon SQSデッドレ…

MySQL Connector/JのrewriteBatchedStatementsプロパティとPreparedStatementの関係を確認する

これは、なにをしたくて書いたもの? HikariCPのMySQL Connector/J(MySQLのJDBCドライバー)に関するWikiを見ていて、ふと疑問に思ったことがありまして。 MySQL Configuration · brettwooldridge/HikariCP Wiki · GitHub それは、rewriteBatchedStatements…

MySQL Connector/Jで設定した方が良さそうなプロパティについて

MySQLのJDBCドライバーであるConnector/Jですが、どのようなプロパティを設定した方がいいのかよく忘れるので。 いい情報はないかな?と思ったら、HikariCPのWikiによくまとまっていました。 MySQL Configuration · brettwooldridge/HikariCP Wiki · GitHub …

Database RiderをSpring Framework(Spring Boot)と合わせて使う時に、Rider JUnit 5とRider Springのどちらを使うか?

これは、なにをしたくて書いたもの? 以前、こんなエントリーを書きました。 Database RiderをSpring Framework(Spring Boot)と合わせて使う - CLOVER Spring Framework 5以降であれば、rider-junit5を使うのがよいのだろうと思ったのですが、ちょっと気に…

Spring TestのTestExecutionListenerを試す

これは、なにをしたくて書いたもの? タイトルどおり、Spring TestのTestExecutionListenerというものを試してみようかなと思いまして。 Spring TestのTestExecutionListener TestExecutionListenerはSpring TestContext Frameworkの一部で、テスト実行時の…

Amazon SQSの可視性タイムアウトをElasticMQで確認する

AWS

これは、なにをしたくて書いたもの? Amazon SQSの可視性タイムアウトというものを、1度見ておこうかなと思いまして。 こちらですね。 Amazon SQS可視性タイムアウト - Amazon Simple Queue Service Amazon SQSの可視性タイムアウト Amazon SQSの可視性タイ…

JavaScriptのMapやSetをJSONやObjectあたりと相互変換したいという話

これは、なにをしたくて書いたもの? JavaScriptのMapやSetをJSON#stringifyでJSON文字列にすると、思わぬ結果になったのでこのあたりをちょっとメモしておこうかなと。 こんな感じですね。 // Map test('apply JSON.stringify to Map', () => { const map =…

Node.jsでマルチプロセス(cluster、child_process)、マルチスレッド(worker_threads)を使ってみる

これは、なにをしたくて書いたもの? Node.jsでマルチプロセス、それからNode.js 10.5.0以降であればマルチスレッドが使えるようなので、興味がてら試してみることに しました。 Node.jsでマルチプロセス、マルチスレッド Node.jsでマルチプロセスを扱うには…

RabbitMQのJavaScriptチュートリアルの「Work Queues」をTypeScriptで試す

これは、なにをしたくて書いたもの? RabbitMQのチュートリアルをJavaScriptクライアント+TypeScriptでやっていこう、ということで。 今回は「Work Queues」を扱います。こちらですね。 RabbitMQ tutorial - Work Queues — RabbitMQ Work Queues 最初のチュ…