エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

JJUG CCC 2022 Fall 参加報告

例年通り、イベントに参加してきたので、自分向けのメモ
ポケモンの新作が発売されてなかったら、もっと真面目に聞いてたと思う。。。
裏で孵化作業してた。。

公式

JJUG CCC 2022 Fall

参加セッション

ポケモンの孵化作業しながら聞いてたので、聞き間違いあったらすまぬ

バーチャルスレッド詳細

これは、VOICEVOXを使っているのかな?
四国めたんの声かな?

VirtualThreadとThreadとの違いは、OSが管理しているスレッドかどうかってことか。
非同期とは相性良さそう。
非同期な処理が難しいところは、今までのThreadを使った方がいい。
VirtualThreadは、使い切りタイプで、生成が早い分、信頼性が薄いってわけか。
なんでもVirtualThread使えばいいって訳では無いってことね。
アプリの見極めが重要

antが青春かどうかは、協議の必要がある。
自分が長いこと使ってたのは、maveanだけど、古代だとバッチでなんかやってた記憶がある。

PINの発生がライブラリの中で発生すると、手出しができない
※PIN=スレッド間での競合

  • VirtualThread
    • 仮想スレッドなのでOSからはスレッドとして認識されていない
    • 監視するなら、javaのツールを使う必要がある

ブースターのケツみると、とも湯を思い出す。。。

感想

まだプレビュー版だけど、重要そうな機能に見える。
とくに大量のデータを捌く分析系とかには必須そう。

スレッド系でPINは、初めて聞いた。そういう言い回しがあるのか。

前調べたときはスルーしてしまっていたので、今年中に試してみたいとは思う。

カード決済基幹システム レガシーの克服と無停止更改の挑戦

ボトルネックだった箇所 - DBアクセス - select for update使うSQLが大量発生

HAZELCAST - pure javaのインメモリデータベース

感想

リアルタイム処理が要求されるものほど、DBアクセスがネックになりやすいと感じた。
改修内容を聞いていると、ロジックの見直しも含めたDBアクセスの変更のように感じた。
必ずしもDBが悪いというわけではなく、性能をあげるにはシステム単位での見直しが必要だと思った。

入門:テスト技法とJUnit

  • カバレッジ≠品質が高い
  • JUnit4とJunit5は、パッケージ変わってるので注意
  • @DisplayNameで画面表示の文言を制御できる
  • メソッド名は、入力と出力が分かるようにする
  • @Nestedでテストのグルーピングが可能

テストしやすいコード

  • 戻り値voidを辞める
    • 検証がしにくいため
  • 副作用のあるメソッドは少なく
    • ファイ入出力やDBアクセス
  • 外部システムへのアクセスは局所化する

感想

Java開発ツールのあれこれ ~便利そうなツールを色々集めてみた~

  • Tabninr -> 有料補完ツール
  • Error Prone
  • Parasoft Jtest
  • CodeQL
  • Understand
  • Ranorex
  • Apach SkyWaking
  • Pinpoint
  • Google Lighthouse
    • webページの品質測定

感想

eclipseは、拡張機能入れ過ぎると遅くなるイメージ。
無料のやつは、だいたい聞いたことある。
優勝はほとんど知らない。
個人的には、SkyWakingが気になった。

5年ぶりのメジャーアップデート! Spring Framework 6 & Spring Boot 3

  • Observility
    • metricsだけでなくtraceもできる
    • Exemplarでmetrics/traceをドリルダウンするように見れる
  • Problem Detqails RFC
    • エラーレスポンスのフォーマットの標準仕様
  • AOT & Native Support
    • メモリ使用量がMB単位に
    • 起動時間がミリ秒単位に
    • AOTの事前処理でnative-imageに最適なソースコードバイトコードを生成
    • AOT
      • メタ情報の付与
      • 必要クラスの生成
    • Native Image
      • 追加ライブラリ不要
      • testサポートあり(動作確認できる)

感想

一番気になったのは、Nativeイメージつくるやーつ
今は、そんなことまでしてくれるのかって思った。
今触っているのは、Spring5だから、どこかでキャッチアップしておきたいとは思う。

全体を通して

ちょっと前に流行ったマイクロサービスって言葉、全然聞かなくなったな。
流行りの言葉だけ追うのは、危険だと感じた。
ちゃんとそれが出てきた背景まで考えられる力が必要だと感じた。