以下の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/10/27/173333より取得しました。


「JJUG CCC 2024 Fall」に参加してきました

Java ジェネリクス入門 2024

  • なぎせゆうきさん

ジェネリクス

  • Java5からある(2004)
  • 昔はlistから取得するときにキャスト必須だった
    • ClassCastExceptionが実行時に起きていた
  • 型変数
    • <T>
  • メソッドのINとOUTの型の関係性を示したもの
  • <> の種類
    • 型変数の宣言
      • Tを受け取るよっていう宣言
    • 型変数のバインド
      • Tにこれを入れるよ
    • パラメータ化された型

社内での開発コミュニティ活動 ~バッチ処理方式設計とSpringBootでのバッチ開発~

  • Yuichiro Hayashiさん

開発コミュニティ活動

  • 提供してるもの
  • 一部を除いて社内の利用に今はとどまってる
  • 社内の開発ノウハウを共有して効率化できるように
    • フロントエンド/バックエンド/インフラ
    • ReactとかSpringとかk8sとか
  • バッチ設計ガイドライン
    • バッチの設計強呂ポイントは情報が少ないのでまとめた
    • 単語の定義
      • バッチはプロジェクトによって用語や意味が多様
  • バッチ開発ガイド
    • OSS利用/OSS独自拡張/フルスクラッチ
    • 開発者は業務ロジックだけ書けばいいように独自ライブラリを提供
    • ジョブ起動はApplicationRunnerを拡張
      • 1つのプロジェクトに複数ランナーあると管理ができないのでそこを拡張
    • 並列と多重
      • 並列:異なる処理を同時に
        • ジョブマネージャーで制御
      • 多重:同じジョブを同時に
        • ジョブマネージャーかマルチスレッドジョブで制御
      • 基底クラスを提供してるのでそれをベースに作るだけ

現場で役立つモデリング超入門

  • masuda220さん

モデリング

  • 入力を元に出力を作る
  • 三原則
    • 簡略化/実用性/経済性
    • 目的にあった簡略化がされてること
    • 図を書くことをゴールとしない
    • 少ない労力で
  • モデルの表現
    • 囲って矢印つけて境界を引く
    • 箇条書きで特徴要点分類流れを表現
    • 知識が十分にある時は複数の視点で作って整合性を見るといい
    • 知識や情報がない時はいったん先に進んであとから戻る
  • モデリングの効果
    • 分かったか伝わったか見つかったか
  • 具体的なモデリング
    • 一般的なモデリング手法はそのままでは使えないことが多い
    • ノウハウは詰まっているので用途を理解して活用する
      • 出発点としての利用価値はある

Java 21とSpring Boot 3.2を採用して新規事業を開発した話

新規事業開発

  • 技術スタック
  • どうせ使うなら新しいバージョンでいいということでJava21とSpring3.2
    • 古いの選んでもどこかで上げることになる
  • Qodana
    • JetBrains製のコード解析サービス
  • Java21
    • 特別嬉しかったことがあるわけではない

クレディセゾンにおける内製開発の取り組み

内製開発チーム

  • 2019-2020
    • スモールスタート
    • 外部ベンダーに完全に依存した体制をやめる
    • 内製という選択をとれるように
    • アプリの部分的なところからスタート
    • いろんな負債が見えてアプリ全体を内製化する選択に
    • 内製化することで本当に必要なものだけを作る
      • ビジネスサイドのすぐ横で開発していける
  • Mode1と2を混在させた組織
    • 価値観の違いでぶつからないように
    • CXとEXを向上させるためのDX
  • 2021-
    • 基幹システムも内製に
  • 2023-
    • 全社員のDX
    • ノーコード/ローコード
    • 社内チャットボットの活用
    • 内製開発チーム150人

内製化の実践

  • オンプレをAWS
    • StrutsからSpringへ
    • EC2からEKSへ
    • API化とUIのsvelte化
  • テスト
    • Playwright
    • Karate
      • APIのテスト
    • JUnit/vitest/testing-library
  • CI

最近のSpring Bootの便利機能を復習!

SpringBoot3

  • 3.0は2022年
  • 半年に1回マイナーバージョン上がってる
  • 3.0の注目
    • Observability
    • GraalVM
    • Java Interface Client
  • 3.1
    • Service Connection
    • SSL Bundle
  • 3.2
    • RestClient
    • JdbcClient
    • VirtualThreads
    • CheckpointRestore
  • 3.3
    • Class Data Sharing
    • SBOM Actuator Endpoint
  • 3.4
    • Structured Loggin
      • JSONのログはきやすく
    • @Fallback
      • 何も候補がなかったら使われるとか
    • Paketo Buildpack ARM support

Service Connection

  • データベースなどの接続情報を抽象化する機能
  • これまではプロパティから渡してた
  • これからはConecctionDetailsという一回層増えたところから取得して接続するようになる
    • デフォルトはプロパティから
    • ライブラリの依存を追加すると使えるようになる
  • Testcontainersで起動したコンテナ上のDBに接続できる
    • テストだけでなくローカル開発中も使える
  • docker-composeの設定を置いておくとそれを見て起動してくれる

SSL Bundle

  • TLSの証明書管理
    • 従来は秘密鍵などをkeystoreやtrustedstoreuに置いたり
    • 設定方法が接続方法によってばらばら
  • 一貫性のあるSSL証明書設定

Class Data Sharing

  • クラスのメタデータをキャッシュして起動時間とメモリ使用量を削減する機能
  • アーカイブを作ってからjarを起動するとはやくなる
  • Buildpack使ってると設定でonにするだけで適用される



以上の内容はhttps://ozaki25.hatenadiary.jp/entry/2024/10/27/173333より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14