2026-01-01から1年間の記事一覧
find . -type f -name "Cargo.toml" -execdir cargo clean \;
blog1.mammb.com Gradle プロジェクトは ./gradlew clean でクリーンできるが、依存の解決が必要であったり、java のバージョン違いでエラーになったり、build.gradle.kts のエラーで実行できなかったりする。 ディスク容量削減のために clean したいだけな…
Months.monthsBetween() ChronoUnit.MONTHS.between() Joda-Time 互換の between Months.monthsBetween() Joda-Time では、結果が終了日を超えるまで開始日に月を足していくことで計算を行う。 そのため、「長い」月の終わりから「短い」月の終わりまでの期…
blog1.mammb.com はじめに Gradle のバージョンカタログでは、ライブラリのバージョンなどが一元管理できるが、コンベンションプラグイン(Convention Plugin) 側では、定義したカタログが利用できない。 以下のバージョンカタログ定義を行っても [versions] …
Vello CPU とは Vello CPU の使い方 簡単なサンプル Vello CPU とは Vello CPU は、GPU を利用しない2Dグラフィックスレンダリングエンジン。 sparse strips という、ベクトルパスを細く局所的な矩形セグメントに分割するアルゴリズムによる効率的なレンダリ…
JFR の機密情報漏洩リスク JFR In-Process Data Redaction フィルタリストのカスタム指定 機密情報削除の確認 フィルタ指定 複数コマンドライン引数 外部ファイルによるフィルタリスト指定 デフォルトフィルタへの追加 無効化 blog1.mammb.com JFR の機密情…
JMS ポートがバッティングして起動できない payara-embedded-all に含まれる domain.xml を書き換える JMS ポートがバッティングして起動できない payara-embedded-allで以下のようにアプリケーションサーバを起動できる。 final var gf = GlassFishRuntime …
conversion words で %cyan(...) のように指定すると、括弧内のサブパターンに色付けすることができる。 色付けの変換ワードは以下が指定可能。 conversion words 説明 %highlight ERRORレベルのイベントではサブパターンを太字の赤色で、WARNレベルでは赤色…
Summary Goals Non-Goals Motivation Description Testing Risks and Assumptions blog1.mammb.com Summary ガベージファースト(G1)ガベージコレクタを、サーバー環境だけでなく、すべての環境でデフォルトのコレクターにする。 Goals コマンドラインでガベ…
Could not find backup for factory jakarta.faces.context.FacesContextFactory 発生 Gradle Convention Plugins 側(java-conventions.gradle.kts)で slf4j-api を implementation で定義して、各モジュールで Convention Plugins を各マルチモジュールで利…
blog1.mammb.com 以下のように指定したシステムプロパティは、Java アプリケーション側で受け取ることができない。 ./gradlew run -Dapp.env=xxx -Dapp.prop=yyy 以下のように明示的に設定する必要がある。 アプリケーションプラグインの場合 plugins { appl…
WatchService では、指定ディレクトリの監視が可能 サブディレクトリを含めて監視するには、再帰的に監視ディレクトリを WatchService に登録する必要がある Windows では、WatchService に登録したディレクトリはロックされ、ディレクトリ名のリネームなど…
blog1.mammb.com The archives configuration has been deprecated for consumption モジュール artifact の指定 The archives configuration has been deprecated for consumption ear プラグインなどで、別モジュールの war を参照する際は、以下のように …
blog1.mammb.com libs.versions.toml では classifier を指定することはできない。 例えば primefaces は、JavaEE ネームスペースと、JakartaEE ネームスペースのモジュールを classifier 別で提供しているが、以下のような指定はできない。 [libraries] pri…
Nannou とは Nannou は Rust のクリエイティブ・コーディング用ツールキット クリエイティブ・コーディングとは、プログラミングによりビジュアルアートやアニメーションなどのインタラクティブ創作を行う活動 名前は Aphex Twin のオルゴールをサンプリング…
Windows のバッチファイル内に PowerShell コードを埋め込み Windows のバッチファイル内の PowerShell コードの結果をバッチ側で処理する Windows のバッチファイル内に PowerShell コードを埋め込み foo.cmd として保存し、バッチファイルから PowerShell …
blog1.mammb.com EJB JAR の扱い build.gradle.kts 設定 ejb war ear ear.ear EJB JAR の扱い Gradle の EAR プラグインでは、以下のコンフィグレーションが追加される。 deploy : EAR ルート直下に配置される(非推移的) earlib : ライブラリディレクトリ(li…
OpenOffice odt MS Word docx
Mockito 5 における可変長引数マッチ Mockito 4 の場合 Mockito 4 → 5 へのマイグレーション Mockito 5 における可変長引数マッチ 可変長引数を受け取る count() メソッドがあった場合、 public class Foo { public int count(String... arguments) { return…
Eclipse Temurin JDK は OpenJDK の GA(一般利用可能) となってもなかなか公開されず、概ね2~3週間後の公開となる。 進捗は、https://github.com/adoptium/temurin/issues で Issue として起票されるので、そこで確認できる。 例えば JDK26 の進捗は March …
Issue Enhance UIInput events with HTML5 like oninput PR Automatically pass through all on* event attributes 従来はコンポーネント毎に利用可能な on* イベントが既定されていたが、HTML仕様の追加に追従できていなかった。 Jakarta Faces 5.0 (Jakart…
Unicode 17.0のサポート JavaDoc にダークモード追加 Comparator.min/max の追加 java.lang.Process が AutoCloseable を実装した java.nio.ByteOrder の enum 化 HttpClient の GET リクエストで Content-Length ヘッダ送信の変更 BodyPublishers.ofFileCha…
java.util.UUID のマッピング追加 Java Record のサポート追加 Jakarta EE 12 では Jakarta JSON Binding 3.0 → 3.1 のマイナーバージョンアップが予定されている。 2026年03月時点では大きな変更は無く、java.util.UUID と Java Record サポートの追加程度…
blog1.mammb.com Java 18 からJEP 400: UTF-8 by Defaultにより、デフォルトのエンコーディングが UTF-8 に統一されたため、Windows 環境での文字化けが頻出する。 以下のような gradlew.ps1 を用意して、UTF-8 に統一しておくと良い。 $ENV:JAVA_TOOL_OPTIO…
ステートレス・エンティティ・マネージャー EntityAgent EntityAgent の利用 ステートレス・エンティティ・マネージャー Jakarta Persistence 4.0 では、いわゆる StatelessSession を提供する API が追加された。 StatelessSession は、永続コンテキストを…
GCToolKit とは GCToolKit の導入 Aggregator と Aggregation JVMEvent GCToolKit の利用 Aggregator Aggregation main Vert.x を使わない まとめ GCToolKit とは 2021年8月にオープンソース化された MS製の Javaガベージコレクション(GC)ログファイルのパー…
Native Memory Tracking とは NMT(Native Memory Tracking) は Hotspot VM の機能。 JVM内部で実行されるネイティブメモリ割り当てを追跡できる(ただし JNIコードなどのJVM外部で割り当てられたネイティブメモリは追跡できない)。 NMT を利用するには JVM オ…
Jakarta Persistence 4.0 では、Index アノテーションに(3.2 で追加された options に加え)、kind と type が追加された。 プルリクエストは以下 Add a way to customize SQL DDL for Index Issue は以下 Add a way to define custom SQL DDL for Index Add …
Jakarta EE 12 の Jakarta Persistence 4.0 では @OneToOne @ManyToOne リレーションのデフォルトフェッチタイプの指定が変更された。 Issue と pull request は以下。 https://github.com/jakartaee/persistence/issues/409 https://github.com/jakartaee/p…
The Eternal Enemy: Complexity Saying No Saying ok Factoring Your Code Testing Agile Refactoring Chesterton's Fence Microservices Tools Type Systems Expression Complexity DRY Separation of Concerns (SoC) Closures Logging Concurrency Optimiz…