Java
はじめに Java SE 環境における JAX-RS アプリケーションブートストラップ マルチパート・フォーム用APIの標準化 ContextResolver その他の変更点 module-info.java blog1.mammb.com はじめに Jakarta EE 10 で Jakarta RESTful Web Services は 3.0 から 3.…
はじめに JobOperator の CDI インジェクションサポート @BatchProperty のメソッドインジェクションサポート @BatchProperty の プリミティブ・ラッパー型への自動変換 job listeners 要素のプロパティ定義がドキュメント化された JPMS 用 module-info.java…
はじめに タグライブラリ URI を URN への変更 JPMS 用のモジュールインフォクラスの追加 その他の変更 blog1.mammb.com はじめに Jakarta EE 10 で 2.0 から 3.0 へバージョンアップする Jakarta Standard Tag Library の変更点のまとめです。 1 記事にする…
はじめに APIとAPI実装でプロジェクトが分離された java.lang.Number から JsonValue を取得するAPI追加 JsonParser から最後のイベントを取得可能となった キー重複時の処理を設定可能となった JsonObjectBuilder メソッドの型境界の訂正 仕様の明確化 Json…
はじめに polymorphic types サポートの追加 @JsonbCreator パラメータのオプショナル化 @JsonbTypeDeserializer, @JsonbTypeAdapter をパラメータに付与可能となった null 値の JsonValue.NULL_VALUE へのデシリアライズ @JsonbProperty.nillable() の非推…
拡張子なしの自動マッピング @ClientWindowScoped アノテーションの追加 JSF から Faces への変更 XML ネームスペースの変更 Java で Facelet を作成するためのAPI追加 その他のAPIの変更 タグとタグ属性の変更 廃止された仕様 blog1.mammb.com 拡張子なしの…
はじめに 関数インターフェースを受け取るメソッドの呼び出しが可能となった インターフェースのデフォルトメソッドにプロパティアクセス可能となった jakarta.el.MethodExpression から MethodReference を取得可能となった Java モジュールシステムのため…
はじめに jakarta.annotation.Nonnull / Nullable の追加 jakarta.annotation.Priority アノテーション適用範囲の拡大 その他の変更の無いアノテーション blog1.mammb.com はじめに Jakarta Annotations (旧 Common Annotations) は、他の仕様で使用可能な共…
はじめに CDI Lite と CDI Full の仕様分割 Build Compatible Extensions bean-discovery-mode 属性のデフォルトが annotated となった Startup イベントと Shutdown イベント Handle からBeanのメタデータを簡単に参照できるようになった ステレオタイプに …
はじめに Security API とは AuthenticationMechanism CustomFormAuthenticationMechanismDefinition IdentityStore API DatabaseIdentityStoreDefinition 認証テーブルの作成 まとめ blog1.mammb.com はじめに Java EE 8 で導入された Security API(JSR-375…
はじめに EntityGraph からの Subgraph 取得 はじめに JPA の EntityGraph を使うことで、クエリーで取得する対象をカスタマイズすることができます。 同じ Entity から様々なデータの見せ方が必要で、パフォーマンスの為に最小限のデータセットのみを取得し…
JEP 413: Code Snippets in Java API Documentation インラインスニペット ハイライト リンク テキストの置き換え 外部スニペット(External snippets) source-path オプションの設定 外部スニペットのスニペットパス指定 ハイブリッドスニペット snippet タ…
MapStruct とは MapStruct の導入 MapStruct の簡単な使い方 @Mapping でプロパティをマップする 様々な @Mapping 定義 @MappingTarget でオブジェクトを更新する @Mapper インスタンスの取得 まとめ MapStruct とは Java Bean 間のプロパティのコピーを簡素…
はじめに MicroStream とは Hello World 設定 オブジェクトの操作 データのロード クエリ ObjectCopier バックエンドにデータベースを使う まとめ はじめに MicroStream 5.0 からOSS化された、オブジェクトグラフストレージエンジンの使い方の紹介です。 Mic…
キャスト null 除外 否定フィルタ Streamから配列へ 配列からStreamへ リストの集約 リストからマップへ変換 コレクションの変更 任意キーでグルーピング 任意キーでソート カンマ区切り プリミティブRangeからリストへ オブジェクト型の合計 BigDecimal の…
はじめに Java8 Stream での任意順序ソート 未知のキーを末尾に持ってくる はじめに 以下のような Item を top -> middle -> bottom の順序でソートしたい。 List<Item> list = Arrays.asList( new Item(1, "bottom"), new Item(2, "top"), new Item(3, "middle"),</item>…
和集合 A ∪ B 差集合 A ー B 積集合 A ∩ B 排他的論理和 A ⊕ B Apache Commons Collections の CollectionUtils。 Collection 同士の集合演算はメソッド名が分かりにくくて、よく忘れるのでメモです。 色付きのものが結果に含まれます。 和集合 A ∪ B Collec…
RefactorFirst とは RefactorFirst を使ってみる RefactorFirst レポート まとめ RefactorFirst とは どのクラスからリファクタリングを開始すべきかを教えてくれる Java 用のツールです。 現在のバージョンは 0.2 となっています。 github.com クラスの大き…
はじめに プロジェクトの作成 開発モードの起動 Entity を作成する JAX-RS リソースを作成する Continuous Testing CRUD メソッドの追加 OpenAPI と Swagger UI まとめ blog1.mammb.com はじめに 今回は、Quarkus CLI を使ったアプリケーション作成の流れに…
RESTEasy Reactive とは RESTEasy Reactive は Quarkus 1.11 で追加された拡張です。RESTEasyReactive では、 JAX-RS API を利用したまま、リクエストをイベントループ(Quarkus ではこれを I/Oスレッドと呼びます)で処理することでスループットを大幅に向上…
EntityGraph とは @MappedSuperclass のフィールドは指定できない EntityGraph の API バグと回避法 EntityGraph とは JPA 2.1 で標準化された、Entity のフェッチ戦略として EAGER / LAZY を個別に設定できる EntityGraph。 EntityGraph<Employee> graph = em.createE</employee>…
はじめに Deeplearning4j のプロジェクトを準備する MNIST データベース データセットの定義 ネットワークモデル モデルの保存と復元 サーバの実装 アプリケーションの起動 まとめ はじめに 本稿では Deeplearning4j を使った、ディープラーニングについて説…
リリースノート Quarkus リリースノート一覧 導入編 Quarkus による初めてのアプリケーション作成(Quarkus 0.23) Quarkus を Gradleではじめる(Quarkus 1.0) Quarkus CLI の使い方(Quarkus 2.2) 活用編 Quarkus によるJPAアプリケーション作成(Quarkus 0.23)…
はじめに 損失関数 損失関数の勾配と誤差伝搬法 勾配消失 重みの初期値 過学習と正規化 手書き数字の画像認識の実装 はじめに 本稿では Deeplearning4j を使った、ディープラーニングについて説明します。厳密な定義や数式には立ち入らず、意味合いと利用方…
はじめに Deeplearning4j とは Deeplearning4j によるニューラル・ネットワーク構築の流れ ディープラーニングとニューラル・ネットワーク 活性関数(Activation function) ニューラル・ネットワークのパラメータ MNIST画像データ 訓練用データセット ニュー…
はじめに JDK 16 で導入された stream.toList() Collectors.toList() の API と実装 stream.toList() の API と実装 stream.toList() には安易に切り替えられない はじめに JDK 16 で追加された stream.toList()。 タイプ量が減るのは良いのですが、API 設計…
JEP 394: Pattern Matching for instanceof パターン変数のスコープ パターン変数によるシャドーイング まとめ blog1.mammb.com JEP 394: Pattern Matching for instanceof インスタンスの型を判断して処理を行う instanceof-and-cast イディオム以下のよう…
JEP 395: Records レコードクラス宣言 レコードクラスのルール レコードクラスで出来ないこと レコードクラスでできること カノニカル・コンストラクタにパラメータ検証を追加する 引数の異なるコンストラクタを定義する ローカルレコードクラス アノテーシ…
はじめに 対象ディレクトリ配下を .tar.gz .tar.gz を解凍 はじめに 成熟した Commons Compress を使うのがベスト。 dependencies { implementation 'org.apache.commons:commons-compress:1.20' } <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-compress</artifactId> <version>1.20</version> </dependency> 対象ディレク…
はじめに テトロミノ ゲーム盤面上のブロック ゲームの実装 WebSocket エンドポイント WebSocket クライアント ゲームの実行 まとめ はじめに 前回からの続きです。 blog1.mammb.com 前回は Java API for WebSocket について見てきました。 今回は、前回の内…