2024.10.27 JJUG CCC 2024 Fall 「で、ValhallaのValue Classってどうなったの?」発表資料
2024.10.27 JJUG CCC 2024 Fall 「で、ValhallaのValue Classってどうなったの?」発表資料
JJUG CCC 2023 Fall で発表された内容です。 Java21ではパターンマッチがswitch式で正式に使えるようになります。 https://openjdk.org/jeps/441 これらの変更により型の検査がより強化されて、より実行時例外がすくなくコンパイル時に多くの実装ミスが検出できるようになります。 本セッションではJava21のパターンマッチに関する新機能にふれつつ、先んじて導入しているKotlinとの比較や、実際のプロジェクトでどのように活用するべきかについて話します。 型を使って実際に実装ミスをコンパイルフェーズで発見していくという内容は過去にKotlin Fest 2022で筆者が発表しており、今回はよりJava21の新機能とパターンマッチに着目して解説していく予定です。 https://jjug.doorkeeper.jp/events/164154
オラクルはJavaをサーバレス環境で実行するのに最適化した技術「GraalOS」を発表しました。 同時に、Oracle Cloudのサーバレス実行基盤である「Oracle Cloud Functions」でGraalOSの機能を提供することも発表されました。 Javaをコンパイルし、ネイティブバイナリを実行 GraalOSは名称にOSと付いているものの、LinuxやWindowsのようなOSではなく、Javaをデプロイする新たな技術とその基盤を指します。 具体的には、同社が提供しているJava実行環境である「GraalVM」のコンパイラを用いてJavaをコンパイルしてネイティブバイナリを生成し、それをサーバレス基盤にデプロイし実行することで、サーバレスアプリケーションの瞬時の起動と高速な実行などを実現するというものです。 参考:Javaのネイティブバイナリ生成可能なGraalVMの全機能が
こんにちは。@phonypianistです。 本投稿はアクロクエスト アドベントカレンダー 12月21日 の記事です。 最近、Quarkusアプリを本番適用しました。 QuarkusはJavaアプリを作るための軽量なフレームワークで起動が速いって聞くけど、実際どれくらい速いんだろう?と気になったので、Spring Bootや、類似OSSのMicronautと比べてみました。 背景 JavaのフレームワークといえばSpringBootが主流ですが、起動が遅かったり、必要なメモリが多かったりしています。 これは、アプリ起動時にリフレクションを用いてDI(Dependency Injection)を行っているのが要因の1つです。 マイクロサービス、コンテナネイティブなアプリケーションは、負荷の状況に応じて、シームレスにスケールアウトできる必要があります。 アプリケーションの起動速度が遅かったり、
アクロクエスト アドベントカレンダー 12月9日 の記事です。 普段は Java, Python でバックエンドの開発をしている大塚優斗です😃 最近は Spring フレームワークのメジャーアップデートなどで盛り上がっていますね! 10月にこんな記事を見かけて、Spring Modulith がとても気になっていたので、手元で試したことを書いていきます✍️ Spring Modulith とは Spring Modulith でできること 0. Spring Modulith でのパッケージの扱いについて 1. モジュール構造の検証 循環参照の検知 別モジュールへのアクセス違反の検知 2. モジュールに閉じた結合テスト 単一のアプリケーションモジュールで結合テストができること Bootstrap モードによって、結合テスト時に他モジュールの Bean 生成ができること 3. イベントによ
3歳の息子がきらきら星を歌っていたので、きらきら星変奏曲(モーツァルト)を弾いたら、「それは違う」と否定されてしまった@phonypianistです。 AWS re:Invent 2022でLambdaのSnapStartが発表されました。サーバーレス界隈に衝撃が走っていますw ということで、本ブログのアドベントカレンダー12/8の記事として、SnapStartを紹介します。 Lambda SnapStartとは 検証の概要 準備 プロジェクトの生成 pom.xmlの修正 Javaコードの実装 serverless.yml デプロイ 検証方法 検証結果 まとめ Lambda SnapStartとは LambdaのInitフェーズに時間がかかる問題、いわゆるコールドスタート問題を解決するための機能です。 aws.amazon.com Lambdaのライフサイクルは大まかには、「初期化 (In
◆ NamingConvention https://namingconvention.org/ 紹介 「NamingConvention」は、プログラミング命名規則のガイドラインを作成・収集・維持するオープンソースプロジェクトです。 「C#・Git・Java・PHP・VueJS・Python」が、現在作成進行中です。 Gitの章には、ブランチ名やコミットメッセージ、プルリクのネーミング規定が記載されています。 例えば、ブランチネームだと必須や許可と一緒に例文も記載されています。 プログラミング言語(Java)だと、このようになっています。 推奨のネーミングというより、キャメルケースなど、最低限準拠すべき形式が書かれています。 プログラミング版wikipediaになるような、熱量高いコミュニティが続いて欲しいです。 ◆ NamingConvention https://namingconv
nrs @nrslib 「先行開発!Javaでクリーンアーキテクチャ -- ゼロから始める新規開発」のスライドおよび記事です。 セッション聞いたあとに復習用の記事あったら嬉しいよね? ということで昨晩夜なべして作りました。 ご査収ください。 nrslib.com/clean-architec… #jjug_ccc #ccc_e3 リンク nrslib 実践クリーンアーキテクチャ with Java 目次 1. この記事について2. スライド3. はじめに4. サンプルコード5. 同心円の図5.1. レイヤーの解説5.1.1. Enterprise Business Rules5.1.2. Application Business Ru 154 users 2
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 内容 以下記載のURLを参考にロードマップをJavaバージョンにしてみた。 初心者から立派なJava エンジニアになる方への学習の道しるべになれば。 また自分自身すべてできるわけではないので、できるようにするためのメモ書きとして。 (ただ以下をなんとなく理解するだけで2,3年以上かかった。。。) 参考 ※ 会社の同期から基本文法についてレベル別記載のアドバイスをいただいたので修正(2018/4/9) ロードマップ 学習方法 1.Hello World どのプログラミング言語でもそうですが、まずは動かし方を学びましょう。 ゲシュタルト崩壊
※注 当初「2018年にJavaを利用している人は全員理解すべきことを説明してみる」として公開した記事ですが、2019年になっても有用性が変わりませんのでタイトルを改変して公開します。 最新ニュース(2019/4/16) www.orangeitems.com 新元号対応のJava SE Development Kit 8u211から、ライセンスが変わり、無償利用は「開発・個人のみ」に変わっています! >> Javaのこの記事が衝撃的 新野淳一さんのとても分かりやすいJavaの将来についての記事を読みました。 www.publickey1.jp これは、大変なことになります。断定します。 劇的に変更されるJavaのサポートポリシー 世の中にはサーバーサイドがOracle Java SE 8で動いているたくさんのWEBアプリケーションが存在しています。Oracle Java 7が2015年4
NTTは、Webシステムを開発するためのアプリケーションフレームワーク「Macchinetta(マキネッタ)フレームワーク」をGitHub上で公開した。 Macchinettaフレームワークは、Java言語向けのオープンソースソフトウェアのアプリケーションフレームワーク「Spring」を中心に、Webシステムの開発において必要となる共通機能の提供と、アプリケーションの基本的な実装手法等をドキュメントとして整備したもの。NTTグループにおいて広く標準的に活用されており、豊富なベストプラクティスに基づいて作成されているという。 OSSの組み合わせによる共通機能の提供においては、様々なユースケースを想定した動作検証を行い、OSSのアプリケーションフレームワークであるSpringを中心にOSSスタック推奨モデルとして定義しているという。 MacchinettaフレームワークのOSSスタック推奨モデ
来月にはJava 10が登場し、9月にはJava 11が登場予定。新しいリリースモデルを採用した今後のJava、入手方法やサポート期間はこう変わる(OpenJDKに関する追記あり) 2017年9月に「Java 9」が登場したばかりですが、いまから1カ月後の2018年3月には早くもJavaの新バージョン「Java 10」がリリースされます。そしてその6カ月後の9月にはさらに次の「Java 11」がリリース予定です。 Java 9以後のJavaは、毎年3月と9月の年2回メジャーバージョンアップを行う、タイムベースのリリースモデルを採用することになりました。今年はその最初の年となります。 オラクルによるJDKの提供方法やサポートポリシーも、これから大きく変更されることが明らかになっています。一般公開され無償でダウンロードできたOracle JDKの公開はJava 10が最後となり、サポートは3年
2017年11月24日のSpring Fest 2017での発表に使用した資料です. WebFlux対応の内容は堅田さんに作成頂いたものですが,許可を得て公開しております.Read less
自己紹介 opengl-8080 主に Qiita で技術メモを書いたり 関西の SIer 勤務 今日お話しすること Spring Security が保護してくれること、してくれないこと Spring Security を導入すれば、この攻撃は守ってくれる この攻撃は Spring Security の守備範囲外なので別途対処が必要 仕様や機能の話をメインにして、実装の細かい話は無し デモ用アプリ 起動方法 GitHub からプロジェクトをダウンロードし、プロジェクトのルートで gradlew start を実行 ※初回は Payara (60MB)などのダウンロードが行われるので注意 動作確認 AP サーバーが起動したら、以下の URL にアクセスする。 https://localhost:8443/secure Spring Security を使用したアプリケーション https:
前回は、Java SE 9での言語仕様の変更について紹介しました。今回から、標準ライブラリのうち最も基本的な「java.base」モジュールにおける新機能を紹介していきます。比較的小さな規模の変更に留まっていますが、軽視していいわけではありません。開発の現場では役に立つものも多いはずです。 java.baseモジュールの主なパッケージを以下に示します。 java.lang java.io java.math java.net java.nio java.text java.time java.util この中から、使用頻度の高い「java.util」パッケージに関連する新機能について紹介していきます。 コレクションのファクトリーメソッド Javaのコレクションで使いにくいところに、初期化があります。例えば、"a"、"b"、"c"を要素に持つリストを作成するとしたら、リスト1のようになります
こんにちは、今シーズンのNBAもGSWの試合は全試合観てる米林です🏀 今年は毎試合満員御礼のOracleアリーナに行って観戦したいなぁと思いつつカリフォルニア州オークランドの人たちはOracleがデータベースの会社って知ってるのかどうか毎回気になっています🏀 うちの会社ではJavaの開発において、Error Prone を積極的に取り入れている。 その理由はCTOのmopemopeが入れろって怖いから、ただそれだけである。 実際のところ導入して損は無いので皆さんも是非導入を検討して頂きたい。 Error Prone とは github.com Error Prone とはGoogleが公開していて、githubに記載されている説明のとおり “Catch common Java mistakes as compile-time errors” そのままである。 コンパイル時にエラーが起き
今日、Javaエバンジェリストの寺田さんに会社にお越しいただき、現在のシステム開発を取り巻く環境が向かっている方向性について、ご教示頂きました。 キーワードは"Microservices"。 恥ずかしながら、今日までこのキーワードすら聞いたことがなかったので、早速自宅に帰ってからググってみました。 自分の理解の確認を兼ねて、Wikipedia(英語版)からの意訳をここに記します。 Microservicesとは? マイクロサービスとは、SOAの延長線上にあるソフトウェアアーキテクチャの考え方です。 SOAと同じように、マイクロサービスアーキテクチャ(MSA)の中にあるサービス達は、要件を満たすためにネットワークを通じて互いにコミュニケーションを取るプロセスです。 また、SOAと同様に、これらのサービスはテクノロジーに依存しないプロトコルを利用します。このマイクロサービスの構築スタイルは、D
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く