プレゼンタイプ / Presentation Type [BeginnerSpeaker]:
レベル / Level [Beginner]:
カテゴリー / Categories [Java SE]:
後日セッション動画の公開を希望する / Agree to publish your session video [Yes]:
Abstract: エキサイトブログ刷新するにあたってspringで開発しているので、それについて語ろうと思います。
アジェンダ
プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: BeginnerSpeaker
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Others
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
Abstract:
私が担当しているプロダクトでは、他のサービスと API 連携を行なっています。
既存のサービスの API を利用することで、開発コスト、期間を圧縮でき、大きなメリットが得られます。
しかし、当然メリットばかりを得られるわけではありません。次のようなデメリットもあります。
・API公開側にも止むを得ない事情があり、 API に破壊的な変更が加えられることがあると、追従するための開発が突発的に発生する
・別の組織が運用しているため、結合テストが難しく、保守コストが高い
・プロダクトで使用しているドメイン用語が、 API では別の意味で使われている場合があり、混乱を招く
このトークでは、このようなデメリットを軽減するための以下のようなアーキテクチャ、工夫、また苦悩についてお話します。
・DDD を取り入れた開発
・Interface を用いた設計
プレゼンタイプ / Presentation Type : BeginnerSpeaker
レベル / Level : Beginner
カテゴリー / Categories : Java SE , DevOps , Community
後日セッション動画の公開を希望する / Agree to publish your session video : Yes
Abstract:
金融系システムで用いる社内フレームワーク(Spring Boot 2系ベース)および利用システムについて、定期でUpgrade対応を行っています。
リモートワークで、期日を守りつつ、品質は損なうこと無く
Upgrade作業する為には、どのように計画およびタスク進めれば良いか?実務から得た学びを共有させて頂きます。
プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: StepUp
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Tools
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
Abstract:
JSR305 (2006) から既に15年、Javaには未だに欠陥検出用アノテーションが標準化されていません。JSR305, FindBugs/SpotBugs, Jetbrains, Spring, Checkerframeworkなどの設計が異なる非標準アノテーションが多数存在し、ひとつのプロジェクトに複数のアノテーションが共存することも少なくありません。このトークでは先日バージョン0.2.0が公開された標準アノテーション策定プロジェクトJSpecifyについて、当プロジェクトに参画もしているSpotBugsの中の人からざっくり概要を共有します。
プレゼンタイプ: Standard
レベル: Beginner
カテゴリー :DevOps
後日セッション動画の公開を希望する: Yes
Abstract: Kubernetesへの入門。ましてやGitOpsなんてハードルが高いという方もいらっしゃると思います。本セッションでは、Kubernetesの基本的な用語からCIOps/GitOpsの違いまで、具体的なツール(Argo CD/Flux2など)を用いて丁寧に説明します。
※本セッションは、拙著「Kubernetes入門」をベースに解説いたします。
https://news.mynavi.jp/itsearch/series/devsoft/kubernetes.html
プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Java SE, Serverside
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
Abstract:
LogbackからLog4j 2への移行検証についてお話します。
私達のシステムでは多くのリクエストを捌く必要がありますが、ログ出力時にアプリケーションのスループットが低下することがありました。
そこで、この課題を解決するためにLog4j 2の検証を行いました。
Log4j 2の非同期ロギングではロックフリーのデータ構造が採用されており、マルチスレッド下においても高いパフォーマンスを出せるように設計されています。
また、Log4j 2のサイトによると、LogbackとLog4j 2のパフォーマンス比較があり、Log4j 2のほうが高いパフォーマンスが出るということが示されています。
実際に私達のシステムでLog4j 2の検証を行ったところ、アプリケーションのスループットが改善しました。
このセッションでは次の内容についてご紹介し、検証内容について共有したいと考えています。
プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Otheres
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
Abstract:
次の暗算脳トレアプリを題材として、モデリングの話をします。
SAMMY7th/MentalArithmeticGame: Java(SpringBoot)製の暗算脳トレゲーム
https://github.com/SAMMY7th/MentalArithmeticGame
具体的には
・どのような考え方でモデリングし、コーディングを進めていったか。
・JIGでのコードからの設計の可視化について。
・仕様の追加、変更を行う様子。
について話す予定です。
プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Beginner
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Community
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: Yes
Abstract:
「海外のカンファレンスは平気な方?どんどん行ってもらうから」という感じのやり取りも面接でありました。東京に引っ越し1年半が経ちましたが転職以来まだ海を渡っていません。代わってオンラインの海外カンファレンスに参加するようなりました。セッションをライブで観たり録画で観たり。それで気づいたんです。海外カンファレンス未経験の人にはオンラインで慣れておくのがよいかもって。とはいえ国内の勉強会と同じくオンラインでは海外カンファレンスの楽しさは半分くらいしかないのも事実です。だから渡航できない今のうちにオンラインで慣れてもらい、渡航再開後に現地に行くというシナリオが一番よいように思います。このセッションでは、数々のオンライン海外カンファレンスを観まくり、さらにはオンラインの英語登壇(録画ではなくライブで30分!)までやってみた私じゅくちょーが、海外カンファレンスや英語セッションの楽しみ方や攻略法、英語登壇の笑い話をお話します。気軽に聞いていただける15分です。
プレゼンタイプ / Presentation Type [Choose either from Standard / BeginnerSpeaker / StepUp]: Standard
レベル / Level [Choose either from Beginner / Intermediate / Advanced]: Intermediate
カテゴリー / Categories [Choose at least one from Java SE / Jakarta EE / Cloud / JVM / DevOps / Tools / Community / Others]: Java SE
後日セッション動画の公開を希望する / Agree to publish your session video [Yes or No]: No
Abstract:
はじめはコンパクトであったビジネスロジックも、長く運用が続けられると様々な要求が突き付けられ、次第に複雑な処理を行わざるを得なくなるときが訪れます。
そんなとき、一切の考慮もせず、単純にコードを伸ばしていくと、トランザクションの範囲が無秩序に広がってしまうことがあります。
巨大なトランザクションは容易に競合を発生させ、ロックを引き起こし、ソフトウェアの性能を低下させます。
トランザクションは可能な限り小さいサイズに抑えるべきなのです。
そこで、本トークでは巨大なトランザクションを最小限に分解して、ロックの可能性を少しでも減らす方法として、イベントを用いたイベント駆動によるトランザクションの分解についてコードベースで解説します。
なお、サンプルコード全体の構成はドメイン駆動設計のパターンを意識した形で、アーキテクチャは ADOP ないしヘキサゴナルアーキテクチャをベースとします。
Spring Framework が用意しているドメイン駆動設計のパターンを意識したモジュールを利用しますので、ドメイン駆動設計を採用したいと考えている開発者にもお勧めの内容です。
「リポジトリ」や「集約」といったトピックに対する予備知識があるとより楽しめるでしょう。