2024-01-01から1年間の記事一覧
ZGC の変遷 ZGC オプション ZGC の変遷 JDK JEP 備考 JDK 11 JEP 333: ZGC: A Scalable Low-Latency Garbage Collector (Experimental) Linux/x64 向け JDK 13 JEP 351: ZGC: Uncommit Unused Memory (Experimental) 未使用ヒープをOSに返却 JDK 14 JEP 364:…
pg_hint_plan の有効化 ヒント句の指定 ヒントテーブル pg_hint_plan は SQL 文にヒント句を指定するエクステンション。 SQL 文に /*+ HashJoin(a b) */ のようなヒントを指定する方法と、hint_plan.hints テーブルに予めヒント定義する方法の2つがあり、実…
shared_buffers Aurora PostgreSQL の shared_buffers DBInstanceClassMemory shared_buffers shared_buffers は 共有メモリバッファ のメモリ量を設定するPostgreSQL のパラメータ。 PostgreSQL 15 からのデフォルト値は 16,384(それ以前は1,024)。 BLCKSZ …
JEP 493 Linking Run-Time Images without JMODs まとめ Summary Goals Motivation Description Not enabled by default Restrictions Alternatives blog1.mammb.com JEP 493 Linking Run-Time Images without JMODs まとめ JDKベンダがJDKをビルドする際に…
random_page_cost パラメータ random_page_cost の意味合い random_page_cost の設定値 random_page_cost パラメータ random_page_cost はディスクからのランダムページアクセスのコストを制御するパラメータでクエリプランナのにコスト計算に影響する。 現…
一生終わらない Windows Update このところ Windows Server 2016 の Windows Update がほとんど機能しない。 「更新プログラムを確認しています...」が一生終わらなかったり、メモリ不足エラーで突然死したり。 スタンドアロンインストーラで凌いでいたけど…
はじめに glassfish-embedded の設定 glassfish.properties ファイル glassfish-embedded のオプション詳細 コマンド例 はじめに 2024年10月2日リリースの Eclipse GlassFish 7.0.18 では、glassfish-embedded が実行可能JARになり、直接Webアプリケーション…
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD オプション BrowserType.LaunchOptions() まとめ PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD オプション Playwright で利用するブラウザは、自動的にダウンロードされる。 ブラウザのダウンロードを抑止する場合は、PLAYWRIGHT_SKI…
はじめに クラスファイルの読み込み クラスファイルの書き込み クラスファイルの変換 まとめ openjdk.org はじめに Class-File API は以下のプレビューを経て JDK24 で正式公開される予定です。 JDK22 JEP 457: Class-File API (Preview) JDK23 JEP 466: Cla…
以下のエラーとなる $ unzip XXX.zip Archive: XXX.zip warning [XXX.zip]: 1234567890 extra bytes at beginning or within zipfile (attempting to process anyway) error [XXX.zip]: start of central directory not found; zipfile corrupt. (please che…
はじめに oracle-instantclient のインストール perl CPAN と必要モジュールのインストール Ora2Pg インストール Ora2Pg の設定 Ora2Pg によるエクスポート はじめに 環境構築がひどく面倒な Ora2Pg を Amazon Linux 2023 で利用するための手順です。 Window…
古いWindows 環境で DBeaver を使った場合に、ドライバのダウンロードが失敗する場合がある。 以下のような IOException が発生するケース Network unavailable java.io.IOException:Exception during a connection to https://repo1.maven.org Error resolv…
はじめに Windows で jpackage によるアプリケーションのインストーラ作成の手順をまとめておきます。 jpackage については以下を参照してください。 blog1.mammb.com Gradle プロジェクト org.beryx.jlink プラグインを使うのが簡単。 build.gradle.kts は…
psql コマンドだけちょこっと使いたい。 ただそれだけなのだが、クライアントのみのバイナリは配布されていない。 そんな時は、zip archive 版から不要ファイルを削除すれば良い。 PostgreSQL ダウンロードサイトから zip archive のリンクを辿れば postgres…
少しはまったのでメモ。 Gradle org.beryx.jlink プラグインで、ランタイムがバンドルされたアプリケーションを作成する場合、以下のような build.gradle.kts を作成する。 plugins { application id("org.beryx.jlink") version "3.0.1" } repositories { m…
はじめに ショート・バージョン Perl 環境の作成 Oracle instantclient Ora2Pg DBD::Oracle 起動用のバッチファイル作成 Ora2Pg の実行 はじめに Ora2Pg は Oracle から PostgreSQL へのデータベース移行を行うオープンなツールです。 Ora2Pg を使うには Per…
blog1.mammb.com Default トレイト std::default::Default トレイトの実装により、型に応じた自明なデフォルト値を提供できる。 std::default::Default トレイトは以下のような定義となっている。 pub trait Default: Sized { fn default() -> Self; } 例え…
blog1.mammb.com Drop トレイト 値がスコープから外れたなどで、値が不要になった場合、Rustはその値に対してデストラクタを実行する。 デストラクタにより、メモリ/ファイルディスクリプタ/ネットワークソケットなどのリソースが解放される(その値の持つ全…
blog1.mammb.com Rust では、型に対する代入操作は移動となり、資源の所有権が移動する。 Copy 型は、代入操作時にコピーが行われる型を表すマーカートレイト std::marker::Copy を実装する。 pub trait Copy: Clone { // Empty. } Copy トレイトは Clone ト…
std::clone::Cloneトレイト clone() メソッド clone_from() メソッド blog1.mammb.com std::clone::Cloneトレイト std::clone::Clone トレイトを実装した値は、自身のクローンをメモリ上に新たに作ることができる。 以下のような定義となっている。 pub trai…
はじめに ユーザートークンの発行 ユーザートークンの設定 publish 実行 はじめに 2024年6月に Sonatype における認証システムが変更され、ユーザートークンでの認証が必要になったようです。 従来のユーザ名とパスワードで Publish しようとした場合、以下…
名前 説明 Sized コンパイル時にサイズが定まる型に対するマーカトレイト(詳細) Copy 値の置かれたメモリをバイト単位でコピーすることでクローン可能であることを示す マーカトレイト(詳細) Drop 値がドロップされる直前に自動的に実行されるコードを定義(…
LazyCell LazyLock LazyCell と LazyLock は遅延初期化を提供する構造体で、Rust 1.80.0 で安定版となった。 LazyLock はスレッドセーフであり、static 変数を遅延初期化できる。 LazyCell LazyCell は初回アクセス時に指定された関数 F で値を初期化し、そ…
はじめに 集約ルートの指定と型制約 リポジトリに対する制約 外部の集約ルート参照に対する制約 はじめに この記事は、以下の記事の補足説明です。 blog1.mammb.com 集約ルートの指定と型制約 エンティティが、別の集約ルートに属するエンティティとコンポジ…
はじめに この記事は、以下の記事の補足説明です。 blog1.mammb.com 識別子による外部の集約の参照 集約ルートである以下のような Order がある。 @Entity public class Order { @Id private Long id; @OneToMany private List<LineItem> lineItems; @ManyToOne privat</lineitem>…
DDD コンセプト表現 アーキテクチャ コンセプト表現 CQRS・アーキテクチャ ヘキサゴナル・アーキテクチャ レイヤード・アーキテクチャ オニオン・アーキテクチャ オニオン・アーキテクチャ(ドメインモデルとサービスを分離しない) インターフェース型に基づ…
sized 型 std::marker::Sized トレイト sized 型 Rust のほとんどの型は、値のメモリ上におけるサイズが既知であり、このような型を sized型 と呼ぶ。 u64は 8 バイトであり、(f32, f32, f32)型のタプルは 12 バイトであり、sized型 である。 さらに、列挙型…
OsStr と OsString &OsStr の生成 OsString の生成 &OsStr と OsString の相互変換 OsStr と str の相互変換 OsString と String の相互変換 std::env::Args の例 std::fs::DirEntry の例 OsStr と OsString Rust の文字列は常に有効な Unicode であることが…
はじめに ベンチマーク環境 JMH Gradle プラグイン ByteBuffer.allocateDirect のスループット アロケートサイズによるベンチマーク はじめに Java NIO では、java.nio.ByteBuffer を介してチャネルとのデータの受け渡しを行います。 java.nio.ByteBuffer は…
依存関係ツリーの表示 依存ライブラリを最新化する 依存関係の解析 依存関係ツリーの表示 プロジェクトの依存関係階層を表示するには dependency:tree を使う。 mvn dependency:tree 依存関係の階層は、ビルドプロセスが実際に使用する依存関係の解決された…