2024-10-27に開催されたJJUG CCC 2024 Fallでの登壇資料です https://ccc2024fall.java-users.jp/
Java 19が正式リリース。より軽量な仮想スレッド、RISC-Vへの移植など新機能。1年後のJava 21が次のLTS版に Javaの新バージョン「Java 19」正式版がリリースされました。 Java 19 is now available! #Java19 #JDK19 #openjdk Download now: https://t.co/dKovWtNGrs Release notes: https://t.co/EOyaGTLHrl API Javadoc: https://t.co/ViIj9H4JrI Features: https://t.co/XuEExSR7gs Inside Java on JDK 19: https://t.co/q5WGZwxMzb pic.twitter.com/XYYA06ll0m — Java (@java) September 20, 2
基盤本部(開発部門)の木下です。前回、Java 17 の新機能を使ってドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介しました。 style.biglobe.co.jp 代数的データ型(Algebraic Data Types)を導入するのがポイントなのですが、馴染みのないメンバーも多かったので、実例を使って詳しく解説してみました。関数型プログラミング由来のとても便利な道具です。ぜひ活用してみてください。 代数的データ型とは 直積型 直和型 直和型の Java での実装 ベタに class で表現してみる 2つのクラスと interface で実現 安全に利用できるメソッドを提供する おわりに 代数的データ型とは 代数的データ型とは、基本となる型を組み合わせて作られる型のことです。 代数的データ型は直和型と直積型の2つからなります
基盤本部(開発部門)の木下です。Java 17 の新機能を使って、ドメイン駆動設計(Domain Driven Design: DDD)のモデリングの表現力を高める例をご紹介します。 皆さんは「事前条件が OK ならデータベースを更新する」というロジックを、クリーンアーキテクチャのどのレイヤーに実装していますか? 事前条件はドメイン知識なのでドメインサービスに実装したいところですが、リポジトリーを操作するアプリケーションサービスの中に書かれることも多いのではないでしょうか。 クリーンアーキテクチャー。https://style.biglobe.co.jp/entry/2020/02/13/150709 より引用 この記事では、ドメインサービスとアプリケーションサービスをきれいに分離するために、Java 17 で正式導入された interface の sealed と permits を活用
2022年3月31日、Spring Frameworkに致命的な脆弱性が確認され、修正版が公開されました。ここでは関連する情報をまとめます。 1.何が起きたの? JDK9以上で実行されるSpringMVC、SpringWebFluxでリモートコード実行が可能な脆弱性(CVE-2022-22965)が確認された。脆弱性の通称にSpring4shellまたはSpringShellが用いられている。 Spring FrameworkはJavaで採用される主流なフレームワークの1つのため、Javaで実行されるWebアプリケーションで利用している可能性がある。 2022年3月31日時点で脆弱性のExploitコードが出回っており、関連するインターネット上の活動が既に報告されている。 2.脆弱性を悪用されると何が起きるの? 脆弱性を悪用された場合、リモートから任意コード実行が行われることで、機密情報の
Updates [04-13] "Data Binding Rules Vulnerability CVE-2022-22968" follow-up blog post published, related to the "disallowedFields" from the Suggested Workarounds [04-08] Snyk announces an additional attack vector for Glassfish and Payara. See also related Payara, upcoming release announcement [04-04] Updated Am I Impacted with improved description for deployment requirements [04-01] Updated Am I I
Log4j(2)の脆弱性の原因になった変更がどういう経緯で行われ今に至ったのか、こちらのツイートのリプライツリーで参照されている記事2つと、既に頂いていた指摘で参照されていたイシュートラッカーの情報を見ながら、把握しようとしてみて… https://t.co/eImvzjJMRX
はじめに 筆者は10年以上ウェブアプリケーション開発を主な業務とするJavaプログラマであったにも関わらず、Strutsについてはこれまでずっと食わず嫌いでした。初期のStrutsは「XMLだらけで効率が悪そう」というイメージが強かったためです。最近はRuby on Rails等の影響を受けCoC(convention over configuration)を採り入れ、XML地獄もだいぶ解消したようです。 StrutsはJavaアプリケーションらしくない種類(任意のコード実行等)の脆弱性を連発することでも知られており、最近は我々の提供するSaaS型WAFサービス、Scutum(スキュータム)のお客様からも頻繁にStrutsについての問い合わせを受けるようになりました。また、去年見つかった任意のコード実行の脆弱性では、脆弱性の公表後すぐにPoCが出回り実際に攻撃が発生するなど、悪い意味で注目
From time to time I have come across comments asking the very question posed above. Why another logging framework when SLF4J and Logback already exist? For those who are curious, here is the answer. I started working for Candle Corporation in 1984 where I spent a lot of time developing in C writing code that would make Candle's performance monitoring applications portable to a wide variety of oper
log4jの問題の教訓は、過剰に柔軟な奇妙な機能を付け加えるとわけがわからないことになるよということかな。
log4jとはJava用のloggingライブラリだ。loggingライブラリというのはログとして記録すべき文字列を受け取り、それをどこかに出力するものだ。文字列の中身を通常のloggingライブラリは気にしない。 log4jが通常のloggingライブラリと違うのは、文字列の中身を見て、一部の文字列を変数とみなして置換することだ。これはlog4jのドキュメントではlookupと呼ばれている。 Log4j – Log4j 2 Lookups 例えばプログラムを実行中のJava runtimeのバージョンをログに含めたい場合は、"Java Runtime: ${java:runtime}"などとすると、"Java Runtgime: Java(TM) SE Runtime Environment (build 1.7.0_67-b01) from Oracle Corporation"などの
[速報]10年にわたる著作権訴訟でGoogleがオラクルに勝訴、米連邦最高裁判所で判決。Java SEのコードのコピーはフェアユースの範囲 オラクルがGoogleに対して、Android OSがJavaの著作権を侵害しているとして訴えていた裁判で、米連邦最高裁判所はGoogleが著作権侵害をしていないとの判断を示し、Googleが勝訴しました。 以下は米連邦最高裁判所の動向を伝えているSCOTUSblogのツイートです。 BREAKING: In major copyright battle between tech giants, SCOTUS sides w/ Google over Oracle, finding that Google didnt commit copyright infringement when it reused lines of code in its An
メインステージのイベントを見逃してしまった方に朗報です。ラリー・エリソン、サフラ・キャッツ、クレイ・マグワイク、ホアン・ロアイザ、スティーブ・ミランダ、マイク・シシリア、T.K. アナンドによる基調講演を、リプレイでお楽しみいただけます。
はじめに JavaEEコンテナの世代と移り変わり Quarkus まとめ 参考 はじめに Quarkusをご存知ですか? Redhat社が出した爆速のJavaEEコンテナです。 Publickeyの記事でも紹介されていますがGraalVMのnative-imageでコンパイルされるため、JAX-RSやCDI、JPAや100ms以下の起動速度と省メモリを誇るスーパーソニックなが最大の特徴です。 「WildflyやThorntailがあるのになんでまた作り始めたの?」となりますが、サーバレスへの対応は既存のマイクロサービスへの対応だけでは不十分だからです。 ここで言うサーバレスはAWS LambdaのようなFaaSに限ったことではなく、実際のコンピュートではなく使用リソースなどを指定してオンデマンドでプロセスを立ち上げたり課金がされるような仕組みのことをさします。 JavaEEコンテナの世代と
2017年9月21日にいよいよ Java 9 がリリースされます。 Java 9 を利用することのメリットは一体何でしょうか?こんにちは。ヌーラボのアカウント基盤を Java で支える Nulab Apps チームの加藤です。 Nulab Apps チームが開発するアカウントの基盤はサード パーティ製の Java ライブラリだけでも 154 個の依存関係を有します。154 個の Java ライブラリは数々の破壊的変更を乗り越え、おおよそ最新の安定バージョンに更新し続けてきました。 もちろん言語のメジャーバージョンアップにも対応し、現在では Java 8 の関数型をプロダクト コードで使用可能な環境を維持しています(これが楽しい)。本ブログは、ヌーラボのアカウント基盤を先行して (ローカル開発環境のみで) Java 9 にマイグレーションして発生した問題と一時的な対処法を記録した奮戦録です。
オラクルはJava EEの策定をEclipse Foundationへ移行することを発表しました。(参考日本語訳) Eclipse Foundationも歓迎の意を表明しています。 Welcome the Java EE community to the Eclipse Foundation. https://t.co/g19n2orVg8 — Eclipse Foundation (@EclipseFdn) 2017年9月12日 オラクルは先月、もうすぐ策定が終了するJava EE 8の登場を機に、今後のJava EEの策定をオープンソースコミュニティへ移管することを模索していることを明らかにしていました。 この時点ではどのコミュニティに移管するのかは検討中とのことでしたが、その後Java EEの主要なコントリビュータであるRed HatやIBMにも相談したうえで、移管先をEclipse
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く