名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

JJUG CCC 2025 Fall に参加した

最後に参加したのが2018だか、2019だった気がする。

イベントページ

JJUG CCC 2025 Fall(現地開催のみ) https://jjug.doorkeeper.jp/events/190868 #jjug @JJUGより

タグは #jjug_ccc や、さらに部屋番をつけた #jjug_ccc_i などが流れていた。

メモ

午前は調子が悪かったため自宅で休んでました、午後のセッションから聞きました。

ブースは各社いろいろな話を聞きつつ、Java 25で結構これまで当たり前だと思ってたことが変わっていったり( IO.println とか)、調べるときも最新のコードやそのバージョンに合ったコードを意識が必要だと感じました。

https://qiita.com/nowokay/items/7e05b4c42ded043a298a

軽く探してみて、上記がまとまっていて参考になるなと思いました。

  • 内製化組織の歩みとこれからの課題。-技術アーキテクチャと組織アーキテクチャ-
  • レガシーで硬直したテーブル設計から変更容易で柔軟なテーブル設計にする
    • テーブル設計についてはアプリケーションほどプラクティスが充実していない説
      • アンチパターンなどは提唱されるが、自分事として考えたときに抽象度が高すぎる
      • 予備カラムに始まり、キャンペーンカラムとか、ショットガンインデックスとか
      • 開発フロー上の都合もある。テーブル追加はかなり慎重で手続きが必要なケースなど
    • 未来に対する対策を常に考える
      • 特に発表内ではデータ量への意識、が繰り返し話されていたように思う
      • 時間軸への意識が必要、大きくなった時にどうパーティションするか
    • ALTERしない戦略
      • ALTERすること自体がカラムの意味を変えてしまう、つまりドメインとして扱うものが変わる可能性が高い
      • 新しく CREATE TABLE + INNRE JOIN(OUTER JOIN) などで既存データに手を加えず、ダウンタイムなしで対応するというやり方
        • 先にテーブルやデータ追加 → ダブルライトなどでうまく同期 → カラムの切り替え、でうまくやる
      • UPDATEせずに、DELETE & INSERT でやる方法
        • メモが漏れているが、これもテーブルを作ってから、だったような記憶
        • UPDATE は updated_at の更新が漏れがち問題がある
      • 2つのテーブルを1つのテーブルにするために、いったん別のテーブルへダブルライトしておいて、そのあと ALTER などでリネームし、不要テーブルを消すやり方
        • 不要テーブルの名前に対して prefix をつける (_ など)をつけて管理する
          • これは割とわかりやすいと思った
    • MySQL, PostgreSQL 両方ついて1スキーマに対して億レベルのテーブルが作れる、それを考えるとカラム追加よりもテーブル追加で何とかしたほうが良いケースも多そう
    • どういうサービスか? によって世の中のやり方も参考にしつつも、戦略を自分自身で考える必要がある
  • Javaコミュニティの歩き方 ~参加から貢献まで、すべて教えます~
    • https://speakerdeck.com/tabatad/javakomiyuniteinobu-kifang-can-jia-karagong-xian-made-subetejiao-emasu
      • 前後半でこれはそのうちの後半の話
    • 前半はコミュニティの話など
      • Don't be shy の精神
      • JUGは世界各国で申請により公認される
        • 日本でも複数の団体がある
      • CCC協会の発足
      • JOnsen というイベント
      • フィードバックが欲しい
        • イベントをよくするためにはアンケートの回答や、ブログ・SNSでの発信が欲しい
    • 後半はコミュニティに参加しての話
      • 海外のカンファレンスに参加すると国内外に知り合いができる
      • 海外カンファレンスに行きたがるアピールが人に応援されるコツなのかも?
        • 普段から海外カンファレンスの動画を見てまとめたり、などなど
      • 英語ができないというより話しかける勇気
        • 話したい人が一人になった瞬間を狙ってつたない英語でも話しかけに行く
        • ヨーロッパ圏でも英語ができない人はいるので、そういった人々とのコミュニケーションも慣れている
        • 話したいことはメモしておく
      • いきなりOSSに貢献するのは難しいが、ステップを追っていくとそのうちできるかも?
        • まずブログとかで使ってみたところとか、気になるところをまとめるところから始まる
        • GitHub の issue とか挙げてみる(ライブラリの場合)
        • Java本体の場合だと、日本語のドキュメントの修正などもある、最初はメンバーではないので提案からみたい
        • 実際にパッチを送って直してもらう
          • ただし OpenJDK のソースコードは 1200万行あり、どこで何の影響が出るのかを把握するのがとても難しい構造になっている
          • そのためレビューがとても厳しく、丁寧

感想

Java 25 の変更はかなり機能的な追加も多く、後方互換性も維持しつつも便利だ!と思えるものが増えていて、昔Javaを使っていたユーザーとしては気になりました。 仕事で Java ないし JVM 系の言語を使うことは今ないのですが、特にがっつりと型をつけつつやりたいというときは Scala とかは頭に浮かぶので、時間があるときにちょっと触ってまずは遊んでみたいなと思いました。

あとは Spring Boot でしょうか? 今回はトークを聞かなかったのですが、かなり強いポジションを占めてそうです。 AIとか使いながらなんか学習できるといいのかな…。

今はメインでJavaを使っているユーザーではないので、ほかの Java 以外に後半的に使える知識のセッションについてはまた別途資料を読んでみて、学んでいこうと思いました。 数年ぶりに参加してみて、かなり Java 以外の開発に関するセッションなども増えてきているので、今後も気になるものがあれば参加しに行きたいです。 また Java を使っているサービスは全体的にサービスサイズが大きく、EKS や k8s の活用の話も結構聞こえてきました。 そういったインフラに挑戦してみたい場合は JVM で動いているサービスで大規模インフラみたいなサービスに挑戦してみるのも面白いのかなともいました。