はじめに 500:Prepare to Make Final Mean Final クラスパス上のすべてのコードに許可 特定のモジュールに許可 動作モードの指定 はじめに 従来のJavaプラットフォームでは、java.lang.reflect.Field クラスの setAccessible(true)と set(...) メソッドによ…
はじめに winget でアップグレードしたら podman machine start 以下のようなエラーとなった。 Error: unable to load machine config file: "json: cannot unmarshal string into Go struct field MachineConfig.ImagePath of type define.VMFile" Podman 5…
操作ログの記録開始 操作ログの記録終了 Start-Transcript 操作ログの記録開始 Start-Transcript -Path "c:\logs\transcript_$(Get-Date -Format "yyyyMMdd-HHmmss").log" -Append 操作ログの記録終了 Stop-Transcript Start-Transcript Start-Transcript は…
Xilem 何? Rust で書かれた実験的なマルチプラットフォーム GUI ライブラリ Druid の後継と位置づけられ、Druid が直面したいくつかの課題を克服することを目標 wgpuベースの描画処理 React や SwiftUI などから影響を受けたリアクティブなアプローチ 現時…
はじめに 最近のディスクトップアプリケーションは、ウインドウのタイトルバーにコントロールを配置するものが増えてきました。Electron 系だと一般的ですね。 例えば VS Code のタイトルバーは以下のようになっています。 JavaFX でこのようなタイトルバー…
タスク間依存関係のグラフィカル表示 コンソール表示オプション値 colored の追加 タスク間依存関係のグラフィカル表示 Gradleでは、タスクの実行順序を決定するために有向非巡回グラフ(DAG)が利用されます。 Gradle 9.1 で追加された --task-graph オプショ…
はじめに 移行パス はじめに Apple による x86_64(Intel) アーキテクチャのサポート終了に伴い、Github Action の以下のランナーイメージは 2025/12/04 までに廃止されます。 macos-13 macos-13-large macos-13-xlarge 今後の廃止に向けた周知のため、macOS …
コンストラクタの課題 Telescoping Constructor Static Factory Method Builder Wither JEP 468: Derived Record Creation (Preview) 名前付き引数 コンストラクタの課題 多数のフィールドを持つクラスを考えます。 例えば以下のような Circle クラスを考え…
主な新機能 java.io.Reader から残りの文字をすべて読み取るサポート(JDK-8354724) 標準システムプロパティ stdin.encoding の追加(JDK-8350703) CharSequence と CharBuffer の新しい getChars(int, int, char[], int) メソッド(JDK-8343110) 接続を識別す…
はじめに Central Portal へのログイン ネームスペースの登録 鍵生成と公開鍵の登録 トークン作成 プラグインの設定 公開 はじめに OSSRH(Sonatype OpenSourceSoftware Repository Hosting)は2025年6月30日でサービス終了となり、Central Publisher Portal …
HTTP Client API HTTP/3 サポート blog1.mammb.com HTTP Client API JDK 11 で導入された HTTP クライアント API(JEP 321: HTTP Client API) は HTTP/1.1 と HTTP/2 をサポートしています(デフォルトでは HTTP/2 を優先し、対象サーバーが HTTP/2 をサポート…
はじめに 秘密鍵の生成 暗号化 複合化 まとめ はじめに パスワードで暗号化/複合化のサンプルをメモ。 package org.example; import javax.crypto.Cipher; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.IvParameterSpec; import javax.c…
PostgreSQL の外部キー制約には ON DELETE CASCADE を指定することができる。 ... FOREIGN KEY (parent_id) REFERENCES parent_table (parent_id) ON DELETE CASCADE これにより、親テーブルのレコードが削除されたときに、その親レコードを参照する子テーブ…
Zola なに? インストール プロジェクト生成 基本的な構成 テンプレート テーマ Zola 利用の流れ Shortcodes 補足 Zola なに? Rust 製の静的サイトジェネレータ テンプレートエンジンには、こちらも Rust 製の Tera を使用(Jinja2 とだいたい同じ文法) シン…
はじめに MCVE MCVE jpackage こいつか、犯人は はじめに jdk-21.0.2+13 で行われた変更により、シャットダウン・フックが動かなくなった原因の継続調査。 以下の続きになります。 blog1.mammb.com MCVE MCVE にして調査を進めよう。 App.java public class …
tl;dr ことの経緯 そもそも シャットダウン・フック 何? tl;dr Windows 環境で Java のシャットダウン・フックが動作しない事象があったのでその経緯をログとして残します。 結論としては jdk-21.0.2 前後でシャットダウン・フックの挙動が異なるようだ。 J…
JFR とは JFR と JMC(JDK Mission Control) JFR の有効化 JFR のオプション指定 StartFlightRecording オプション設定一覧 FlightRecorderOptions オプション設定一覧 jcmd からの操作 JFR とは Java Flight Recorder(JFR)とは、実行中のJavaアプリケーシ…
除外パス(フォルダ/ファイル)の一覧 除外パス(フォルダ/ファイル)の追加 除外パス(フォルダ/ファイル)の削除 除外パス(フォルダ/ファイル)の一覧 (Get-MpPreference).ExclusionPath プロセスの場合は ExclusionProcess、拡張子の場合は ExclusionExtension …
WinSW とは ダウンロード 使い方 設定ファイル 基本設定 実行ファイル サービス設定 ログ・障害復旧 その他 WinSW とは 任意のプロセスを Windows サービスとして管理するための実行バイナリ。 Jenkins を Windows サービスから管理するために使われている。…
Tera とは デリミタ リテラル 変数 演算 四則演算 比較演算 論理演算 文字列連結 in checking フィルタ if for include macro extends row ブロック ビルトイン関数 Tera とは Tera は、Rust のテンプレートエンジン。 Rust 製の Static Site Generator であ…
GitHub の Markdown 拡張 - Alerts GitHub のアラートは、ブロッククォート構文に基づいた Markdown 拡張で、以下のように書くことができる。 > [!NOTE] > Highlights information that users should take into account, even when skimming. > [!TIP] > Opt…
blog1.mammb.com Into トレイト std::convert::Intoトレイトはある型の値を消費して別の型を返す変換を表す。 以下の定義となっている。 pub trait Into<T>: Sized { fn into(self) -> T; } std::convert::Intoトレイトは、std::convert::Fromトレイトと対を成</t>…
blog1.mammb.com From トレイト std::convert::Fromトレイトは、ある型から別の型のインスタンスを生成するための汎用のコンストラクタとして機能する。 pub trait From<T>: Sized { fn from(value: T) -> Self; } 引数の所有権を受け取り、自身の型に変換を行</t>…
はじめに Unified JVM Logging 旧来オプションとの相対 Xlog ヘルプ全文 はじめに 今更な話ですが、JDK 9 JEP 158: Unified JVM Logging にて Java の内部のロギングの仕組みが統一され、統合ログフレームワークが導入されました。 GC ログについても JEP 27…
はじめに プロジェクトの作成 Jlama の利用 LangChain4j インテグレーション はじめに Jlama は、Java で LLM を実行するためのライブラリです。 Jlama は JDK の Vector API により SIMD命令を使うことで高速な推論が可能となっています(Vector API はJDK25…
はじめに JDK16におけるエンコーディング関連システムプロパティ JDK17におけるエンコーディング関連システムプロパティ JDK18 UTF-8 by Default JDK19 におけるコンソールI/Oの文字コード まとめ はじめに JDK 18 の、JEP 400: UTF-8 by Default 前後で、エ…
TL;DR JAVA_TOOL_OPTIONS JDK_JAVA_OPTIONS TL;DR Java のツールが自動的に読み込む環境変数に JAVA_TOOL_OPTIONS と JDK_JAVA_OPTIONS があります。 これらの主な違いは、その提供範囲で、以下のようになります。 JAVA_TOOL_OPTIONS : java, javac, jar, ja…
Podman はインストール済みで起動している前提。 VS Code のインストール winget install -e --id Microsoft.VisualStudioCode 作業フォルダ作成して Dockerfile 作成して VS Code 起動(PowerShellターミナル上) mkdir swift cd swift echo "FROM swift:late…
Conventional Commits とは 追加の type Semantic Versioning との対応 Conventional Commits とは Conventional Commits は、コミットメッセージのための軽量の規約です。 規約に従うことで、各種ツールによる自動処理が可能になります(例えば JReleaser が…
Makepad とは サンプルの実行 簡単なアプリケーションの作成 イベント処理 まとめ Makepad とは Makepad は、Rust で書かれたクロスプラットフォーム(ネイティブおよびWeb)な UIフレームワークです。 2019年から開発が始まり、2025年5月15日に 1.0.0 版がリ…