daisuzz.log

daisuzz.log

ソフトウェアエンジニアをしています。ソフトウェア開発に関することや読んだ本について書いているブログです。

Java

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…