JJUG ccc 2023 fallレポート

概要

Javaを触ったのは研修の時だけなエンジニアがJJUG ccc 2023 fallに行ってきたよ。

ccc2023fall.java-users.jp

Session一覧 https://sessionize.com/api/v2/2gdy2o95/view/Sessions

謝辞

2人目の子供が生まれたばかりなのにワンオペさせてしまった妻には感謝です。 ケーキと大福と夕飯を買って帰りました。

各セッションの感想

ブランチ運用とデプロイフローを見直してリリースを楽にする

speakerdeck.com

フィーチャーフラグの話があったので気になったのですが、ちょっとお寝坊してしまい聞けずでした。

ブランチ戦略は現場でもほぼ同じような構成になってますね。

フィーチャーフラグも同様にDBの値で見ています。

はやくmain(master)ブランチにマージしたいって動機はとても理解できるのですが、外すときにも再度テストしなくてはいけないし場合によっては外すのが怖い場合もあるし管理しないと忘れさられるのでフィーチャーフラグをつけるかどうかっていうのは毎度確認したいですね。

できればif文で入れたくないなーって思ってますが、リプレース案件だと致し方ないかもしれない。

レガシーなWebサービスから世界標準への挑戦

決済手段がクレジットカード、コード決済、コンビニ決済等いろいろな決済サービスが乱立する現代で各事業者がそれぞれのサービスと契約・導入するとどうしたって手間とコストがかかるからそれを一括して担うプロダクトってめっちゃ需要はあるよなーと思いました。 ただ、やっぱし各事業者ごとの実装が入ってしまうっていうのはあるあるで、OpenAPIにしたところできっとそういうのはなくならないんだろうなと思ったり。 APIドキュメントとしてSwaggerは知っていましたがRedoclyは初耳でした。ほぼ同じようなもののようですがカスタマイズしやすさや見やすさはあるみたいです。 redocly.com

APIのエラー設計はRFCで標準化されているようです。

RFC7807では開発においてHTTP APIのために新しくエラーレスポンスを定義するのを避けるために、プログラムが読み取れるような問題詳細(Problem Details)をapplication/problem+jsonまたはapplication/problem+xmlで定義しています。 qiita.com

GitHub Copilot / Copilot Chat で Java コーディングを最大限効率化する

AIなしでは仕事ができない時代がもうすぐやってきそう。 まだ遅くないと思うのでGithub CopilotやChatGPTを業務に生かせるよう積極的に使っていこうと思った次第です。

この辺りでも盛り上がっていたのでますます温度感高くなりました。

[速報]GitHub、開発サイクルの全場面でCopilotを提供する戦略。モバイルアプリ化、GitHub.comサイト上での提供など発表、GitHub Universe 2023 - Publickey

[速報]GitHub、組織のコードやドキュメントを学習しカスタマイズやファインチューニングが可能な「Copilot Enterprise」発表。GitHub Universe 2023 - Publickey

[速報]GitHub Copilotが外部ツールと統合可能に。DBのクエリ性能の状況もフィーチャーフラグの状態もCopilotが答えてくれる。GitHub Universe 2023 - Publickey

GitHub、Copilotの将来像となる「Copilot Workspace」発表。人間がコードを書くことなく、Copilotが仕様作成からコード作成、デバッグまで実行。GitHub Universe 2023 - Publickey

持続可能なデータアーキテクチャを実現したリアーキテクティング

以前使っていたWealthNaviの技術的なお話でした。

資産のチャートを出すのにすべてRDSから計算で出していたようですがレコードが増えるにつれて計算量が多くなるのは必然ですね。

以下は自前のチャートです。

RDSで最新のものだけ表示し、過去の値はDynamoDB(NoSQL)に保存。

とにかくサイズを小さくしないとコストがバカにならない模様です。

長い期間のデータをとるとき、ある程度データって間引いているのかな?

データ指向プログラミングの真実をお話しします

slides.com

X(旧Twitter)上で見かけたけど何が良くないのか本も読んでなくてわからなかったので聞きたかったセッション。 データ・情報・知識の違いを明確にするのなるほどと思いました。

結局、型安全に倒したほうがいいよねって人類来ているはずなのに、また逆行するのが書籍の「データ指向プログラミング」が推奨しているのがイケてないというお話でした。

複雑って何っていうところのお話も深堀りされていてなるほどなーと思ったのでした。

コード読んでて「複雑!わからん!」ってなっているのは基本は偶有的複雑さなので改善可能な部分も多いと思いました。