8月7日(月)~9日(水) に開催された JVM Language Summit 2023 (JVMLS) と、10日(木)~11日(金)に開催された OpenJDK Comitters' Workshop (OCW) へ参加してきました。 JVM Language Summit は、OpenJDK の超ディープで難易度の高い技術的な話が聞けるカンフ…
これは自身の備忘録です。 接続先を確認する方法 podman info | yq '.host.remoteSocket.path'
Mavenローカルリポジトリを Windows と共有 /home/<WSLユーザ名>/.m2/settings.xmlを作成 <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> </settings></wslユーザ名>
Quarkus は、開発モードで動かすと、使用しているミドルウェアをコンテナで起動してくれる Dev サービスという機能があります。開発環境に環境を構築しないで良いのはとても楽です。 Dev サービス は、その中で Testcontainers を使用しており、Testcontaine…
普段は podman を使っていましたが、一部 docker にしか対応していないツールが使えず不便なので、Docker 素人ながら Docker Desktop for Windows を使わずに Windows で docker を使う手順のメモ。 ゴール WLSに docker を入れて、Windows から使えるように…
要約 Java の native-image で PostgreSQL の JDBC ドライバに含まれる DataSource を使うには META-INF/native-image/serialization-config.json が必要です。 org.postgresql.ds.common.BaseDataSource を継承している全ての DataSource が対象になる可能…
GitHub でリリースするときに、指定したバージョンをワークフロー内で使いたい時にnektos/act ではどうしたら良いか分からなかったので試したメモ。 Webにある記事や GitHub のマニュアルによると、${{ github.event.release.tag_name }} でタグの名前が取得…
GitHub Action で Maven Central へアップロードするワークフローを作成していたときに困ったのでメモ ワークフローは以下のYAMLで、シークレットには以下の2種類があります。 ユーザ名やパスワード、パスフレーズのように1行の文字列として表現されるもの…
Windows に Podman Desktop を入れると、コマンドプロンプトやGUI上でコンテナを使えるようになります。 それだけだと不便なので、使用しているIDEとWSLからも使えるように設定をした備忘録です。 Podman Desktop を入れると WSL 上に podman-machine-defaul…
自宅にGoogle Domainsでドメイン情報を管理しながらOpenShiftを導入したところ、Chromeからコンソールに繋ごうとすると接続できなくて困ったので、それを修正する備忘録です。 OpenShiftのインストールが終わるとこんな画面になります。 暫定対処としては、P…
自分がGitで困ったときに使ったGitコマンドをここに日々追加していきます。 PR をレビューしてもらっていろいろいじっていたら、よく分からなくなって変なのまでリモートに行ってしまった。 git push -f origin <戻したい位置>:<ブランチ> ローカルで良く分…
個人的に気になっている Project Loom で Virtual Threads がプレビューされたので仕様である JEP を翻訳してみました。 ボリュームが多いため、いくつかのパートに分けて公開していきます。 原文はこちら:JEP 425: Virtual Threads (Preview) 全パートはこ…
個人的に気になっている Project Loom で Virtual Threads がプレビューされたので仕様である JEP を翻訳してみました。 ボリュームが多いため、いくつかのパートに分けて公開していきます。 原文はこちら:JEP 425: Virtual Threads (Preview) 全パートはこ…
個人的に気になっている Project Loom で Virtual Threads がプレビューされたので仕様である JEP を翻訳してみました。 ボリュームが多いため、いくつかのパートに分けて公開していきます。 原文はこちら:JEP 425: Virtual Threads (Preview) 全パートはこ…
個人的に気になっている Project Loom で Virtual Threads がプレビューされたので仕様である JEP を翻訳してみました。 ボリュームが多いため、いくつかのパートに分けて公開していきます。スターやブコメが付くとモチベーションが上がるかもしれません。(…
Infinispan (Red Hat Data Grid) が提供している監視に使える機能についてまとめました。環境に合わせて適宜設定することをお勧めします。 この記事では Infinispan および Red Hat Data Grid のインストール先のディレクトリをINFINISPAN_HOMEとしています…
個人的に気になっている Project Loom で Virtual Threads がプレビューされたので仕様である JEP を翻訳してみました。 ボリュームが多いため、いくつかのパートに分けて公開していきます。スターやブコメが付くとモチベーションが上がるかもしれません。(…
JDK Flight RecorderファイルをJDK Mission Controlで分析して異常を見つけたら、レポートを作成するためにExcelに取り込みたいなぁと思うことがあります。その場合はjfrコマンドとjqコマンドを使って任意のイベントをCSVに変換しましょう。 イベントを探す …
前回(Quarkusはどのようにスレッドを使うのか - #chiroito ’s blog)の記事にある通り、QuarkusでReactiveのアプリケーション開発をしていると、Reactiveに対応したデータストアのAPIを使います。これによってReactiveのメリットを完全に得られます。ですが…
Quarkusを使ったアプリケーション開発では、従来のフレームワークなどで使われている命令型に加え、ここ最近のフレームワークで使われているReactive型の2種類の実装方法が選べます。命令型の実装ではBlockingとして動作し、Reactiveの実装ではNon Blocking…
本番環境では有用な認証ですが、デフォルトで有効になったため開発環境では認証を無効にしたいこともあると思います。 認証を無効にするにはserver/infinispan.xmlを編集します。 <security> <credential-stores> <credential-store name="credentials" path="credentials.pfx"> <clear-text-credential clear-text="secret"/> </credential-store> </credential-stores> <security-realms> </security-realms></security>
私は、OpenJDKのCommitter業や仕事でミドルウェアのSolution Architectとして活動している関係上、最近はコンテナ上でJavaアプリケーションを動かすことが非常に多いです。 KubernetesでJavaアプリを監視する場合には、Elasticsearch+KibanaやPrometheus+Gra…
2020年11月7日(土)に開催された JJUG CCC 2020 Fall にて「パフォーマンスのトラブルシュート入門」というタイトルで話をしてきました。 動画はこちらです。 CCC 2020 Fall A02-パフォーマンスのトラブルシュート入門 スライドはこちらになります。 speake…
Java 8 以降の Java 仮想マシンの仕様のうち、各バージョンの差分を洗い出しました。the が that になったり、item が entry になる変更で、文の意味が変らない変更は除いています。 I listed the differences between each version of the Java Virtual Mac…
1 リクエスト目がもの凄く遅くなると言う話を聞いたので分析してみました。 今回は、SpringBootのアプリケーションを OpenJDK 14 で動かしています。そのアプリケーションへ 5 回のリクエストを投げてみて処理のされ具合にどんな違いがあるのかを確認してみ…
どうも、趣味でOpenJDKのコミッタをやってます。JVMの専門家ではないです。 今回はJITコンパイルによる暖気が十分に行われてから処理を受けられるようにする方法を紹介します。 今回の実装は Oracle の有償機能から OpenJDK へ寄贈され OpenJDK 11 に追加さ…
どうも、趣味でOpenJDKのコミッタをしてます。 とあるブログを読んでいたら気になる点があったので検証してみました。 JITと暖気 Javaプロセスはアプリケーションを動かしながら必要に応じてバックグラウンドでバイトコードをネイティブコードにコンパイルし…
これは何? OpenJDK には、リポジトリを IntelliJ IDEA で開けるように変換するスクリプトがあります。このスクリプトを使うと、IntelliJ IDEA で OpenJDK の Java の部分の開発ができるようになります。 しかし、このスクリプトは Linux と Cygwin (たぶん…
これは何? 今回、パッチを書いたのはJDK-8249720のGenerated bytecodes of EventWriter don't be output to the logです。 [JDK-8249720] Generated bytecodes of EventWriter don't be output to the log - Java Bug System VM起動引数に-Xlog:jfr+system+…
開発者は Java 言語でソースコードを書き、そのソースコードは Javac というコンパイラでバイトコードに変換されクラスファイルとなり、クラスファイルは Jar ファイルとしてまとめられ、 Java コマンドでアプリケーションとして実行します。 アプリケーショ…