CLOVER🍀

That was when it all began.

Java

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はまだリリース…

Configuration for MicroProfileを試す

これは、なにをしたくて書いたもの? 長らくJava EEになかったConfig系のAPI(JNDI…)が、MicroProfileに入っているということで1度試しておこうと Apache DeltaSpikeにインスパイアされているようなので、そちらを知っていれば敷居もそれほど高くないかも?…

JavaのDNSキャッシュの有効期限を設定・確認する

これは、なにをしたくて書いたもの? JavaのDNSキャッシュについては、有効期限を無制限にしていてトラブるみたいは話は聞いたことがあった程度 あんまり意識する機会がなかったので、設定方法とその確認方法を見ておきたいなと というわけで、ちょっとサン…

Sonatype Nexus 3/2で、REST API+Groovyスクリプトを使ってリポジトリを作る

これは、なにをしたくて書いたもの? Sonatype Nexusを使ってリポジトリを作るのに、Web Consoleにログインして作るのが面倒だなーと思って他の方法は?と できれば、Sonatype Nexus 3と2、それぞれで知りたい REST APIと、スクリプトが使えるらしい 試して…

NIOのSelectorの実装を切り替える(SelectorProviderを指定する)

NIOを使ってServerプログラムを書く時には、ServerSocketChannelとSelectorが登場することと思います。 try (ServerSocketChannel serverChannel = ServerSocketChannel.open(); Selector selector = Selector.open()) { このSelectorの実装ですが、環境ごと…

jcmdメモ

そろそろいい加減に、jpsから各種のJDK付属のツールからjcmdに慣れていこうかなと思い、個人的にメモとしてまとめることにしました。既存のコマンドと、対比させる形で書いていきます。 参考 参考にしたのは、このあたり。jcmdユーティリティjcmdjcmdを使っ…

JavaからLDAP/LDAPS接続(自己署名証明書の検証スルーコード付き)

最近、ちょっとLDAP…LDAPSでの接続とかをやってみたので、メモとして。LDAPおよびLDAPSでの接続を、Javaから簡単な例で書いてみます。こちらを参考に。JNDI/LDAPサービス・プロバイダ 環境 Java、Maven。 $ java -version openjdk version "1.8.0_171" OpenJ…

META-INF/services generatorを使って、サービス・プロバイダー向けのファイルを自動生成する

META-INF/services generatorというライブラリを使うと、サービス・プロバイダーが使用するMETA-INF/services配下のファイルを 自動生成することができます。META-INF/services generator -Generates META-INF/services files automatically 使い方はサイト…

Maven Wrapper(mvnw)を使って、Maven未インストール環境でもMavenを使えるようにする

使われているのはけっこう見てきているのですが、いい加減に自分でも使ってみようかと思い、Maven Wrapperを試して みることにしました。Maven Wrapperは、Gradle Wrapperにインスパイアされたものらしいです。第62章 GradleラッパーGradle Wrapperなら「gra…

Servlet 3.0からJSPをJARファイルの中に置けるようになっていたという話

全然知らなかったので、メモ的に。Servlet 3.0から、JSPや静的ファイルをJARファイルの中に含めることができるようになっていたみたいです。Tomcat 7も対応したServlet 3.0の6つの主な変更点 (3/3):Tomcat 7の新機能で何ができるようになるのか?(1) - @…

RocksDB JNIで遊ぶ

最近遊んだJavaライブラリがRocksDBのJNIバインディングを使っているのを見て、けっこう簡単に導入できるの?という感じを期待して 試してみることにしました。 RocksDBとは? そもそも、RocksDBについて。RocksDB | A persistent key-value store | RocksDB…

Ubuntu Linux 16.04 LTSに、OpenJDK 9をインストールする

未だにJava 8でずっとやっていたのですが、いい加減にJava 9に移ろうかなと…。対象のOSは、Ubuntu Linux 16.04 LTS。とりあえず、「openjdk-9-jdk」パッケージをインストールしようとしてみます。 $ sudo apt-get install openjdk-9-jdk ところが、このまま…

CentOS/Ubuntu Linuxで、Oracle JDK 9をインストールしたDockerイメージを作る

Oracle JDK 9をインストールしてDockerイメージを作成する手順を、ちょっとメモ。Oracle JDK 8では、2017年にダウンロード先のURLや方法が大きく変わったようです。 [Java] OracleJDKの取得方法が大きく変わりました | Developers.IOOracle JDK 9について言…