前編の続きです。
本編(午後)15:15 〜
GraalVM Native Image 解析方法の紹介(W 坂本さん)
たまたま苗字が同じお 2 人による発表でした。
半年前の別の発表でも同じようなテーマの話を聞きましたが、やはりネイティブイメージ特有の難しさがあるようです。
(午前中のセッションでも書きましたが、コンパイル時間の長さも考えるとやはり CRaC に期待か…?)
ネイティブイメージはおそらくまだ使うのはずっと先になりそうだけどトラブルシューティングの話を聞く。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
ごめんなさい、使わないかもしれません。
GCログが独自形式になるのか。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
加えて。スレッドダンプをkill
で取るのは JVM と同じ、ただあらかじめ許可指定(現状は実験的機能)しておかないと機能しない(指定はおそらく違うけれど、この点も JVM と同様?)、とのこと。
スレッドダンプとは別にヒープダンプも取れる(取得時 Full GC が走る)。
ほかの話題は MAT(Eclipse Memory Analyzer)・JFR での利用・SEGV 無効化などなど。
(このペースの発表だと復習必須だなあ←頭がついて行ってない)#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
スライドを見て復習しないとダメなようです(公開されないのかな?)。
根強い侍。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
スレッドダンプといえばやっぱり侍。
バイナリビューアを使ってクラスファイルを読んでみよう!(YujiSoftware さん)
こちらは軽い気持ちで(?)聞きました。
「QAの時間取れない」宣言。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
時間いっぱいで発表内容を作ってしまったとのこと。
これGoogle Lensとかでダンプの読み取りできるようになったりしないかな?#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
自己紹介が 16 進ダンプでした。
(前週末に参加した AWS カーニバルにも「自己紹介が画面にびっしりの文章」の方もいらっしゃったけれど、ここのところ自己紹介のクセが強い方の発表によく当たります)
#jjug_ccc #jjug_ccc_a2
— close_yutori (@kimukou2628) 2023年11月11日
Cの構造体クラスを対応するバイトとの
対比しながら見てる
JamesGoslingさんが
0xCAFEBASE という固定値をマジックナンバー
として決めたというお話(洒落てますね・・
何だったか、0xBEEF
みたいな「肉食いたい」圧の強いやつとかありましたね(Java は0xCAFEBABE
、おしゃれ)。
Java、途中からバージョン番号のインフレが始まったので、さらにインフレが加速する可能性も否定できない。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
32,000 年後にバージョン情報が桁あふれする、と聞いて。ルールは未来永劫同じとは限りません(そういう話じゃない)。
さすがにミドルエンディアンは出てこなかった。
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
(むかしモトローラとインテル・ザイログでエンディアンが違って頭の切り替えに困った思い出)#jjug_ccc_a2 #jjug_ccc
インテルの CPU でのバイトオーダーと違って、Java は(大もとが Sun なので)ビッグエンディアンで表現されている、という話でした。
個人的にはモトローラに触れたのが先だったので、ビッグエンディアンで違和感はないのですが。
モトローラ◯んじゃったからなあ(むかしはリトルエンディアン中心とも言い切れなかった)。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
#jjug_ccc #jjug_ccc_a2
— close_yutori (@kimukou2628) 2023年11月11日
Q) javapを何故使わないのですか?
A) 特にメリットはないです
ただバイナリを読めるとわかることもあるので
読めると良いですw
www
(こういう話のつもりで聞いていました)
Spring Eventsでのトランザクション処理の地獄とそれを解決できる方法(Geerts さん)
Spring Authorization Serverの話も面白そうだったけど(あれ、まともに使える状態になったのかな?)部屋を出遅れたので当初予定どおりA2の部屋にとどまる。#jjug_ccc_a2 #jjug_ccc pic.twitter.com/XHQkkgmcmf
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
「トランザクション処理」と聞いて興味を持ったのですが、「Spring Events が何者か?」を知らずに話を聞くのはちょっと無謀でした。
非SpringからSpringにやってきたときに悩むところかな?
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
(トランザクションを雰囲気で実装して失敗するやつ)#jjug_ccc_a2 #jjug_ccc
などと言っている本人は雰囲気で聞いていただけでした(ごめんなさい)。
Asyncにすることで別のトランザクション始めさせて、TransactionalEventListenerで前のトランザクションがコミットされたあとに購読させるってことかな。これやりたかったやつだ…!
— uuuu.kg (@yushi_koga) 2023年11月11日
後で試してみよ #jjug_ccc_a2
むかしの話ですが gg ったら GMO RESEARCH Tech Blog の記事が発掘されました。
チョコをいただいたので帰りに食べようw#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
おいしくいただきました(ごちそうさまでした)。
Database Rider を用いたデータベーステスト(柄池さん)
DB テストやらないとなー、でも「DB テストもやろうぜ」というと手作業でテストをするための環境の DB をカジュアルに使ったテスト書いちゃうからなー(実話。テストの冪等性、並列実行への配慮はどこへ…?)、ということで選択。
手でテストする勢、「いま存在するテスト環境のデータをそのまま使ってデータを追加更新して動作確認(確認後にデータを元に戻したりはしない)」なので(秘伝のタレ的に本人用のテストデータが蓄積されていく)。
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
とはいえ、
テストもDBが絡むと「そのテストに関係するテストデータをテストが冪等に実行できるように一とおり用意する」のが面倒。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
本当は「テストに使う環境でテストに関連するデータが明確に定義されてないとテストが正しく実施されたことが証明できない」はずなので、面倒でもテストコードで一とおりデータも定義する方向に持っていきたい…。
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
なので、「できる限りテストに必要なデータを手間なく実装する」のに使えそうだな、というイメージで話を聞いていました。
(Spock で Groovy を使ったテストコードを試作していた頃が懐かしい←無事にお蔵入りしました)
社会人になって(またはインターンで入って)最初にどういう環境で仕事を始めるかによって「当たり前」のレベルが変わる話だ!#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
これが現実。
実行時間の短さを取るか、環境の再現度(できるだけプロダクションと同じ)の高さを取るか。#jjug_ccc_a2 #jjug_ccc
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
DB 用のテストコンテナ遅い問題。
個人的には H2 は極力使いたくないですが。
離脱
前編の冒頭に書いたとおり、当初は懇親会まで参加するつもりでしたが、
人大杉でキツくなってきたので離脱。
— hmatsu47(まつ) (@hmatsu47) 2023年11月11日
(加齢による体力の低下?)
ありがとうございました!#jjug_ccc pic.twitter.com/eAIjLEmInH
ということで途中離脱しました(思いのほか疲れた)。
前日夜に
スタッフ含め600人くらいまで登録来てるけど、あの狭い会場で大丈夫なんだろうか🤔(全部屋満席で400+α)
— hmatsu47(まつ) (@hmatsu47) 2023年11月10日
立ち見は仕方ないとして「部屋に入れない」もあるかも。
(今年のオフラインイベント、歩留まり率高めだし)
JJUG CCC 2023 Fall(現地開催のみ) https://t.co/DUVEUhEbR9 #jjug_ccc @JJUGから
こんなことを思っていたのですが、半分予想どおりで半分外れた感じですね。
(会場運営そのものは大きなトラブルもなく無事進んだ(ように見えた)ので、そこは良い意味で外れました)
会場の通常レイアウトで 400 席ちょっとのところを、机を極力外し、大きめの部屋ではできるだけ通路を広く確保しながらたくさんの人数が座れるよう配慮されていたように見えたので、
「たくさん制約がある中で、参加したい人にできる限り参加してもらえるように」
という運営メンバーの意志のようなものを感じました。
(会場も、かなり前から押さえておかないといけないですし、万が一の中止・縮小リスクもありますし)
また、現地を見て「これはハイブリッドでの配信やアーカイブ録画は無理だな」とも思いました(配信部屋作れないし、スタッフを追加で確保するのも厳しいし)。
というわけで、(個人としては)最後ちょっと残念でしたが、最低限聞きたかったセッションは聞くことができたので、問題なし!です。
開催・運営に関わられたみなさま、ありがとうございました!