CLOVER🍀

That was when it all began.

Java

SecureRandomのアルゴリズムなどに関する情報をちゃんと見る

これは、なにをしたくて書いたもの? Javaの暗号用の乱数ジェネレーター(RNG / Random Number Generator)として、とてもよく使われるSecureRandomですが。 SecureRandom (Java SE 11 & JDK 11 ) ここで指定されるアルゴリズムなどの情報を、あんまりちゃん…

Vert.x Core、Vert.x Webで遊ぶ

これは、なにをしたくて書いたもの? そろそろ、Vert.xも少し知っておいた方がいいのかなーと思いまして。 試してみようかなと。 Vert.xとは Vert.xは、イベント駆動、ノンブロッキング、複数の言語による開発が可能なフレームワークです。 Eclipse Vert.x …

Cloud Native Buildpacksで遊んでみる(Java)

これは、なにをしたくて書いたもの? 前に、Spring BootのCloud Native Buildpacksサポートで遊んでみました。 Spring BootのCloud Native Buildpacksサポートを試す - CLOVER 今回は、Cloud Native Buildpacksそのものに焦点を当てて見てみようかな、と。 C…

環境変数JAVA_TOOL_OPTIONSで、Java VM引数を指定する(-XX:VMOptionsFileも加えて)

これは、なにをしたくて書いたもの? 以前、OpenJDKのイメージで遊んでいた時に、JAVA_TOOL_OPTIONSという環境変数が使われているのを見て。 $ docker container run -it --rm adoptopenjdk/openjdk11:latest java -version Picked up JAVA_TOOL_OPTIONS: -X…

Java 11のガベージ・コレクション・チューニングガイドを読む

Java 8以降になってAPIドキュメント以外をあまり見ていなかったのですが、いろんなドキュメントが見やすくなって いるんだなぁと。 JDK 11ドキュメント - ホーム で、こちらのドキュメントがちょっと気になりまして。 ガベージ・コレクションのチューニング…

Javaソースコードでライブラリ依存関係を解決しつつスクリプトとして実行する、JBangを試す

これは、なにをしたくて書いたもの? JBangという、Javaプログラムをスクリプト的に実行できるツールがあると知りまして。 ちょっと気になる分野なので、試してみることにしました。 JBang JBangは、Javaプログラムをスクリプトのように実行できるツールです…

jcmd(jstack)を使わずに、スレッドダンプを取得する

これは、なにをしたくて書いたもの? jcmdやjstackなどを使わずに、Javaアプリケーションのスレッドダンプを取得する方法を、自分でも試しておこうかなと。 ThreadMXBean#dumpAllThreads​とThread#getAllStackTraces やり方としては、ThreadMXBeanやThreadク…

Jib Maven Pluginで、Dockerコンテナイメージを作る

これは、なにをしたくて書いたもの? 以前、Jib Coreを使ってDockerイメージを作ってみました。 Jib Coreで、Dockerコンテナイメージを作ってみる - CLOVER これでJibの基本的なところはわかった…ことにして、今度はJib Maven Pluginを使ってDockerイメージ…

Jib Coreで、Dockerコンテナイメージを作ってみる

これは、なにをしたくて書いたもの? そういえば、Jibというものがあったけど、全然使ったことがないなと思い、1度試しておこうかなと。 Javaアプリケーションを自動的にコンテナイメージにビルドするツール「Jib」がバージョン1.0に到達 - Publickey Jib、…

Javaのコマンドラインアプリケーション向けのフレームワーク、picocliで遊ぶ

これは、なにをしたくて書いたもの? ちょっと前から、picocliというJavaでのコマンドラインアプリケーション向けのフレームワークがあるのが気になっていまして。 picocli - a mighty tiny command line interface これまでJavaのコマンドラインアプリケー…

Distroless Dockerイメージ(OpenJDK)を試す

これは、なにをしたくて書いたもの? 前々から、DistrolessというDockerイメージが気になっていて、ちょっと試して見ることにしました。 GitHub - GoogleContainerTools/distroless: Language focused docker images, minus the operating system. Base Ima…

TF-IDFを実装してみる(Java)

これは、なにをしたくて書いたもの? ちょっとTF-IDFをちゃんと見てみたくなりまして。 せっかくなので、1度自分で実装してみようかな、と。 TF-IDF TF-IDFは、文書中に含まれる単語の重要度を評価する手法のひとつです。 tf-idf - Wikipedia tf-idfについて…

Sentry JavaのLogbackインテグレーションを試す

これは、なにをしたくて書いたもの? Sentryには、各種言語向けのライブラリがあります。 Platforms - Docs Java用のライブラリもあり、 Integrations - Docs この中にLogback用のライブラリが提供されているので、こちらを使って遊んでみることにしました。…

OWASP Dependency-Check Maven Pluginで、依存ライブラリの脆弱性情報を確認する

これは、なにをしたくて書いたもの? OWASP Dependency-Check Maven Pluginという、依存ライブラリの脆弱性情報を確認できるプラグインがあるということを知りまして。 dependency-check-maven – Usage ちょっと、こちらを試してみようかなと。 OWASP Depend…

GraalVMでネイティブイメージを作る時に、リソースファイルを含めるようにする

これは、なにをしたくて書いたもの? GraalVMを使ってネイティブイメージを作る時に、リソースの取得(Class.getResourceやClass.getResourceAsStream)に 制限があるという話なのですが。 このあたりに書かれている内容を実践すると、それが可能になるよう…

GraalVMでネイティブイメージを作った時の、コマンドライン引数の扱いを確認する

これは、なにをしたくて書いたもの? こちらの資料を見ていて、「あれ?ネイティブイメージでのヒープサイズってどうやって指定するんだろう?」と思いまして。 Quarkus入門 - 見習いプログラミング日記 SubstrateVMのヒープ設定 / Quarkus入門 GraalVM(Sub…

RESTEasy+Undertowで作ったアプリケーションを、GraalVMでネイティブイメージにしてみる

これは、なにをしたくて書いたもの? 以前に、簡単なJavaアプリケーションをGraalVM(Substrate VM)を使ってネイティブイメージにしてみたのですが、 もう少しライブラリなどを使った複雑な(?)ものをネイティブイメージにしてみようと思いまして。 で、…

Ubuntu Linux 18.04 LTSに、OpenJDK 11をインストールする

Ubuntu Linux 18.04 LTSで、やっと本当に(※)OpenJDK 11が使えるようになったみたいなので、インストールしたいと思います。 ※後述 openjdk-lts package : Ubuntu 環境。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Descripti…

Native Image Maven Pluginを使って、GraalVMでネイティブイメージを作る

これは、なにをしたくて書いたもの? こちらのエントリを見て、GraalVMでネイティブイメージを作るMavenプラグインがあるというので、試してみようかと。 Simplifying native-image generation with Maven plugin and embeddable configuration – Logico Ins…

GraalVMで作ったネイティブイメージを、デバッグしてみたい?

これは、なにをしたくて書いたもの? 先日、GraalVMを使ってJavaアプリケーションをネイティブイメージにして遊んでみました。 GraalVMをインストールして、Javaアプリケーションからネイティブイメージを作って遊ぶ - CLOVER ところで、こうやってネイティ…

GraalVMをインストールして、Javaアプリケーションからネイティブイメージを作って遊ぶ

そろそろ、1度GraalVMを試してみようかなと思いまして。 GraalVM Graal or GraalVM? ちゃんと情報を追っていなかったのですが、GraalとGraalVMは違うもののようです。 Javaの新JITコンパイラ、Graalを解説 詳説GraalVM(1) イントロダクション - Fight the F…

LogstashのLogback JSON encoderで、Logbackで出力するログをJSONエンコードする

これは、なにをしたくて書いたもの? ログ出力する時に、JSONフォーマットにするようなライブラリがないかな?ということで、少し調べてみました。 Fluentdなどを使ってログを収集する場合、ログのフォーマットはなかなか悩ましいなぁ、と…。 ロギングライブ…

AWS Lambdaをaws-sam-cliを使ってローカルで動かす

これは、なにをしたくて書いたもの? AWS Lambdaを、aws-sam-cliを使ってローカルで動かせるらしいので ちょっと試してみようかと AWS SAM Local(ベータ版) – サーバーレスアプリケーションをローカルに構築してテストする | Amazon Web Services ブログ a…

OpenJDKのDockerイメージって、なにがあるんでしたっけ?

これは、なにをしたくて書いたもの? なにげなく、OpenJDKのDockerイメージを使ったりしていたのですが、1度、どんなイメージがあるのか調べてみようと $ docker search openjdk とか実行すると、わらわらと現れますしね。 ベースのイメージがどうなっている…

PrometheusのJVM Clientを試してみる

これは、なにをしたくて書いたもの? PrometheusでHello World的なことはやったはいいものの、もうちょっと掘り下げようと 自分で、アプリケーションからメトリクスをエクスポートするものを書いてみたら理解が進むのではないか ということで、PrometheusのJ…

Apache MavenでリポジトリのMirrorを設定する

前に、ちょっとしたことからApache MavenでリポジトリのMirrorを設定できることを知ったので、メモ。 Mirror? 詳細は、こちらを。 Maven – Guide to Mirror Settings $HOME/.m2/settings.xmlに書くもので、リポジトリのMirrorを定義できるようです。 どうい…

Java JWTでJWT

これは、なにをしたくて書いたもの? 最近、ちょっとJWTについて知らないといけないなぁと思うできごとがありまして 裏の仕組みとしてJWTを使っているのもいいのですが、もう少しJWT自体に向き合ってみようと なにかしらJWTを扱えるライブラリを使って試しつ…

gRPC-Javaのスレッドが気になるという話

これは、なにをしたくて書いたもの? 前にJavaでgRPCを使うエントリを書いた時に、ネットワークまわりにNettyを使っているのを見て あれ?これ、ブロックするような処理を書いたらどうなるんだろう?とちょっと気になり gRPC-Java内で、スレッドがどういう扱…

はじめてのgRPC(Java)

これは、なにをしたくて書いたもの? gRPC-Webも出てきたということで、そろそろ1度gRPCに触れておこうと とりあえず、JavaでgRPCを使ってみよう gRPC-Webが正式リリース。WebブラウザからgRPCを直接呼び出し可能に - Publickey gRPC-WEB がもたらす我々の…

Apache Veloticy Tools 3.0がリリースされたよという話

去年、こんなエントリを書きました。 Apache Velocity 2.0がリリースされたよという話 - CLOVER 去年の8月にApache Velocity(正確にはApache Velocity Engine)の2.0がリリースされた、という話でした。 ただ、その時はApache Veloticy Toolsはまだリリース…