祝・クラスメソッド 20 周年!ということで今年は 1 ヶ月にわたる「 Classmethod Odyssey」の中で開催されている DevelopersIO 2024 の Day4 に参加してきました。
午前中の参加セッション
- Golang を使ったバックエンドの実装入門
- Classmethod 流の Platform Engineering
の 2 本に参加しました。
Golang を使ったバックエンドの実装入門
45分間あるので盛りだくさん。#devio2024 pic.twitter.com/2EwgwjtQLc
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
説明は盛りだくさんでしたが、個人的なポイントは
フロントエンドからの実装、以前は難しかった(BFF経由で使うとかが中心?)のがconnect-queryでやりやすくなった。#devio2024 pic.twitter.com/9MveN4aI4G
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
ここでした。
いくら gRPC や Protocol Buffer(s) が優れていてもフロントエンドの実装が複雑になるようでは採用は難しいですからね。
あと、「Go(lang) を採用するメリットを活かす使い方」(裏を返せば「Go(lang) が向かない使い方をしない」ということでもあるけれど)ということでマイクロサービスは出てきますね。
マイクロサービスの話に入った。#devio2024 pic.twitter.com/940lmNqggJ
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
その続きの CQRS とイベントソーシングについては、X の TL を見ていると「使いどころがない」という意見もありましたが、更新用のデータストアとして DynamoDB のようないわゆる NoSQL を(明確な意図を持って)使う設計をする場合、割と普通に出てくる印象です。
Classmethod 流の Platform Engineering
CDK支部でおなじみの佐藤さん。#devio2024 pic.twitter.com/RG70jaBfoS
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
お世話になってます!
ブログの会社といえど受託案件だとブログ書けない話もあるだろうなあ。#devio2024 pic.twitter.com/XUmtSy9wTE
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
受託開発(AWS リソースの構築を含む)の場合は避けられない課題ですね。
紆余曲折あってここに落ち着く。
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
あとはこれを社内の人に「見つけてもらう」ための仕組み、仕掛けがほしい?#devio2024 pic.twitter.com/xTMFy2Nq2G
「見つけてもらうための仕組みや仕掛け」については明確な言及はなかったような気がしますが、「作ったものを使ってもらう働きかけ」は大事ですよね。
2パターン公開・提供中。#devio2024 pic.twitter.com/QS8SD6jGFG
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
当然ですがクラスメソッド社内だけではなく社外の人にとっても有用だと思います。
(ちょっと斜めですが QR コードはちゃんと読めました)
昼休み
お弁当をいただきながら LT を聞きました。
お昼ごはんもいただきました!
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
(外が暑いので助かる!)#devio2024 pic.twitter.com/Pr5TDvUQig
ごちそうさまでした!
この場のLTで「全銀協」というワードを見るとは。#devio2024 pic.twitter.com/4WQok0Bp36
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
特定業界 or 職種向け SaaS を作っている人だけが反応するワード(?)。
午後の参加セッション
午後は 40 分枠でしたが、「質問時間を含む 40 分」という扱いのようで、実質は「30 〜 35 分枠」でした。
- シームレスなセキュアアクセスを実現!~Okta WIC 入門編~
- 進化をつづけるエッジプラットフォーム DB/AI への展開
- 生成 AI 時代に必要な検索とレコメンドをざっくり抑える
- サーバーレス API(APIGateway+Lambda) と Next.js で個人ブログを作ろう!
- エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方
に参加しました。
(最後の枠はパスして早めに帰宅)
シームレスなセキュアアクセスを実現!~Okta WIC 入門編~
「入門編」というタイトルに偽りなし、の話でした。
Azure AD、リブランド後の名前なんだっけ?…となりがち(Entra IDだったか…)#devio2024
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
この呟きをしたばかりに、発表者さんがセッション後に先輩に何かを指摘されていたような…?(なんかゴメンナサイ)
IDそのものというかID周辺のワークフローを組めるのは便利。#devio2024
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
SaaS を使わなくても周辺部分を AWS の Step Functions などでうまく作り込むことはできると思いますが、サービスに標準で組み込まれていると作り込まなくて良い(or 作り込む部分が少なくなる)ので便利ですね。
そして、Okta といえば
カスタマーサポート絡みのセキュリティインシデントの話がこの場で突っ込まれるとはw#devio2024
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
セッションの話とは直接関係がない(まあ「Okta のサービスを採用するかどうか」でいえば「関係ない」と言い切ることはできないので必ずしも不適切な質問ではないのですが)この件について質問されていて、発表者さんがちょっと気の毒でした。
進化をつづけるエッジプラットフォーム DB/AI への展開
タイトルだけ見て申し込んだ時点では気づかなかったのですが、Cloudflare 亀田さんのセッションでした。
AWSだとガードレールじゃなくなったやつ。
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
(GCPといいさっきのAzure ADといいリブランドとか呼び方変わったとかついてくの大変…)#devio2024 pic.twitter.com/0HqDzAuKjA
セッション後に亀田さんからリプが!
あ、そなの!!!!?
— kame (@kameoncloud) 2024年7月20日
そうか、亀田さんが転職されたタイミングでは、まだギリギリ「コントロール」じゃなかったのか…。
謝罪もシフトレフトw#devio2024
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
家庭内インシデント(?)の謝罪の話でしたw
サプライチェーン攻撃とソフトウェアサプライチェーン攻撃は区別してほしいやつ。#devio2024 pic.twitter.com/5teRwKmiut
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
…ホント、(リブランドとかもそうだけど)用語の扱いって悩ましいですよね。
このへんの話がw#devio2024 https://t.co/zTNREKe6LG
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
ワールドワイドでの MySQL の退潮を思い知らされる…。
まあ結局HTTP(s)ベースでのDB接続になりがちですよね(トランザクションの実装がExperimentalになっちゃうけど)#devio2024
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
X のポストには書きませんでしたが、AI をエッジから直接扱う取り組みについては(特に日本語モデルは)「まだまだこれから」ですね。
生成 AI 時代に必要な検索とレコメンドをざっくり抑える
ベクトル検索あるいはその他のセマンティック検索技術に至るまでの、(教科書的なものを含む)検索技術とその理論のポイントを押さえて説明されていました。
本当によく聞くやつ。#devio2024 pic.twitter.com/M1o5kJA8AV
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
「親の顔より見た◯◯」に仲間入りしてそう。
たしかに「推薦システム」って言われても普通は「?」ってなりそうだから「レコメンド」か。#devio2024 pic.twitter.com/IDV7ktjSh3
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
いつも忘れそうになりますが、レコメンド(推薦システム)もベクトル検索をはじめとしたセマンティック検索の代表的な使い道の一つですよね。
k-gram、個人的にはn-gramで覚えた派
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
形態素解析は形態素解析で「東京都」とかの区切りを間違えることもあるから、実際に全文検索をするときにはbi-gramと併用したな。#devio2024
「単語を分割した(→形態素解析)状態で検索ができるのなら k-gram は要らないのでは?」という質問があったので。
サーバーレス API(APIGateway+Lambda) と Next.js で個人ブログを作ろう!
「実質 30 分+α」の枠にしては盛りだくさんの内容でした。
登壇駆動開発ならぬ登壇駆動ブースト#devio2024 pic.twitter.com/CqsdV3xMoL
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
登壇は「何かを始める」「何かを始めてから惰性で続けている感じになっていたのをテコ入れする」きっかけになりますよね。
Hono🔥#devio2024 pic.twitter.com/Q41JqjvFkj
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
わたしもそろそろ本腰を入れて試さなきゃ。
技術スタックの変化の流れ。#devio2024 pic.twitter.com/ZYPT1z5xv2
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
右に行くほど(現在に近づくほど)高度になってますね。
エンジニアの生存戦略 〜クラウド潮流の経験から紐解く技術トレンドのメカニズムと乗りこなし方
元祖 AWS 芸人としてお馴染み(?)AWS 清水さんの「生存者バイアスにならないように気をつけた」生存戦略のお話でした。
N88-BASIC(86)#devio2024 pic.twitter.com/CaK1ZFMBGS
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
AWS(J) 入り前の話ははじめて聞きました。
当時の身のまわりは割と新しいもの好きだった記憶(今となっては…)#devio2024 pic.twitter.com/I2qSMuGwvV
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
実際には「まだ十分成長しきっていない技術」については「現在の延長」のほうにも「重要なもの」が含まれていたり、
もちろん「数年後まで持たずに死んでる」可能性はあるけど#devio2024 pic.twitter.com/nY9reMNmRh
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
(まだ荒削りだとか欠点はあるにせよ)「将来楽しみな技術だ」と思っていたものが(政治など技術そのもの以外の要因で)死んでしまうケースは多々あるので、現実はなかなか難しいです。
とはいえ、
- 「いまの感覚(常識)」で理解しづらいものを軽視しない
- 「現状の使いやすさ(使いにくさ)」で判断しない
点は重要ですね。
早すぎて「飽きる」もある(それはそれで良い)
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
あと「自分が世の中より進んでる」と思っているうちに周回遅れになってることも割とありがち#devio2024 pic.twitter.com/B7S9YZSHKM
この「早期から学習を始めるほうが圧倒的に有利」という言葉を間違って受け止めないのも大事です。
後から取り組んだ人に追い抜かれることなどいくらでもあるし、「いまさら始めても遅い」はたいてい間違いです。
帰宅
朝 1 のセッションの開始時、最後の時間枠の後に懇親会があるのを聞きましたが、予定どおり最後の時間枠の前に帰宅しました。
一足先に撤収。
— hmatsu47(まつ) (@hmatsu47) 2024年7月20日
ありがとうございました!#devio2024 pic.twitter.com/Fom04CMy1Q
(ビルの外で偶然亀田さんにお会いしました)
なお、早めに帰ったおかげで、雷とゲリラ豪雨を避けることができました。
次の東京遠征予定は 8/3 の SRE NEXT 2024(DAY 1)です。
その後 大吉祥寺.pm のスタッフ打ち上げに参加したら、東京へ行く機会はしばらく減りそうです。 sre-next.dev