daisuzz.log

Java

Spring Boot 3.1でサポートされたDocker Composeとの統合機能を試してみる

Spring Boot 3.1でDocker Composeとの統合機能がリリースされたので試してみる。 何ができるようになったのか 試してみる 便利な設定 参考 何ができるようになったのか Spring Boot 3.1からDocker Composeとの統合機能がリリースされ、Spring Boot アプリケ…

Spring Boot 3.2でサポートされたVirtual Threadsを試してみる

JDK21でリリースされたVirtual ThreadsがSpring Boot 3.2からサポートされたので試してみる。 Virtual Threadsとは JDK21でリリースされたJavaの軽量スレッド。 Javaが従来提供しているThreadは、OSのスレッドと1:1で紐づくもの(これをPlatform Threadと呼ぶ…

JDK22でリリース予定のJEPを調べてみた

JDK 22 が3月にリリースされるので、どういった機能がリリース予定なのか調べてみた。 JDK 22 はリリース前(記事を書いている2024年1月5日時点でRampdown Phase One)のため、このエントリの内容から今後変わる可能性があります。 普段馴染みがないAPIについ…

Spring SecurityのSecurity Filterについて

Spring SecurityのSecurity Filterについて、どんなFilterがあるのか、どういった順番で登録されているのか、毎回わからなくなるので備忘録としてまとめます。 Spring Security 6.0.0 時点の情報を元に記載しています。 Security Filterとは Spring Security…

Spring BootでElasticsearch Java API Clientを使ってみる

Elasticsearch Java API Client について Spring BootでElasticsearch Java API Clientを使う pom.xmlにライブラリを追加 ElasticsearchClientの設定 ElasticsearchClientを使ってみる Elasticsearchの勉強の一環で公式ドキュメントを読んでいたところ、 dep…

JEP 408 Simple Web Server を試す

JDK18で提案されている、JEP 408: Simple Web Serverが気になり触ってみたので書いていきます。 JEP 408: Simple Web Serverでは、静的ファイルを提供する最小構成のWebサーバを起動するためのCLIツールをJavaの標準機能として提供することが提案されていま…

Clockを利用してテストがしやすいコードを書く

Java 8から標準ライブラリとして提供されているClockというクラスを利用して、現在時刻を取得することができます。 Clock (Java Platform SE 8) 現在時刻を取得するためにSystem.currentTimeMills()やLocalDateTime.now()などのstatic methodを呼び出して利…

docker-composeでSchemaSpyを使ったERドキュメント生成を行う方法

今回は、SchemaSpyを使ってERドキュメントを自動生成する方法をまとめていきます。 SchemaSpyは、ER 図やテーブルの情報をHTMLで出力することができるJava製ツールです。公式サイトやSchemaSpy を使って自動で ER 図生成してみた | メルカリエンジニアリング…

LinkedHashMapを使った簡単なLRU Cacheを実現する

LinkedHashMapを使うと簡単なLRU Cacheを作れるということを最近知ったので、使い方とどう実現されているかを書いていきます。 LRUとは 小容量で高速な記憶装置(例えば、キャッシュメモリ)がいっぱいになったとき、その中にあるデータのうち、未使用の時間…

JDK9以降のJavaの構文にふれてみる

Project Amberで検討されているJavaの言語仕様にふれてみます。 OpenJDK: Project Amber 今回触れるのは以下の言語仕様です。 JEP 286: Local-Variable Type Inference JEP 323 Local-Variable Syntax for Lambda Parameters JEP 325 Switch Expressions JEP…