Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
爆速BE開発!Kotlin × Spring Boot × GraphQLで世界が変わった
Search
LINEヤフーTech (LY Corporation Tech)
PRO
December 09, 2025
Technology
1
50
爆速BE開発!Kotlin × Spring Boot × GraphQLで世界が変わった
2025年12月1日に開催された「LINEヤフー Developer Meetup #1 in Tokyo 紀尾井町LT忘年会2025」での発表資料です。
LINEヤフーTech (LY Corporation Tech)
PRO
December 09, 2025
Tweet
Share
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
Java Virtual Threads, Kotlin Coroutines, Go Goroutinesの比較
lycorptech_jp
PRO
1
63
マイクロサービスアーキテクチャのトレードオフとコンポーネント増加について〜Yahoo!ニュース〜
lycorptech_jp
PRO
0
26
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
2
250
MLflowダイエット大作戦
lycorptech_jp
PRO
1
220
4%ルールとN1思考──不確実性に対抗するディスカバリー検証
lycorptech_jp
PRO
1
160
初めてのOSS貢献の雑ガイド
lycorptech_jp
PRO
1
48
LINEスタンプ開発の日常
lycorptech_jp
PRO
1
680
LINEスタンプサーバーサイド
lycorptech_jp
PRO
0
680
Yahoo!ファイナンスにおける生成AIを活用した新機能紹介
lycorptech_jp
PRO
0
740
Other Decks in Technology
See All in Technology
Kiro Power - Amazon Bedrock AgentCore を学ぶ、もう一つの方法
r3_yamauchi
PRO
0
110
AI時代のPMに求められるのは 「Ops」と「Enablement」
shimotaroo
0
120
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
570
The Engineer with a Three-Year Cycle
e99h2121
0
160
Security Hub と出会ってから 1年半が過ぎました
rch850
0
160
これまでのネットワーク運用を変えるかもしれないアプデをおさらい
hatahata021
4
240
みんなでAI上手ピーポーになろう! / Let’s All Get AI-Savvy!
kaminashi
0
170
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
320
Proxmoxで作る自宅クラウド入門
koinunopochi
0
170
歴史から学ぶ、Goのメモリ管理基礎
logica0419
14
2.9k
GitHub Copilot CLI 現状確認会議
torumakabe
10
3.3k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
340
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
260
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
How STYLIGHT went responsive
nonsquared
100
6k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
620
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
The Spectacular Lies of Maps
axbom
PRO
1
440
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.5k
Designing for humans not robots
tammielis
254
26k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
0
510
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
150
Transcript
© LY Corporation 爆速BE開発! Kotlin × Spring Boot × GraphQL
で世界が変わった 新UGC開発ユニット 開発1ディビジョン 笹平 啓介
© LY Corporation 笹平 啓介 Sasahira Keisuke 新UGC開発ユニット 開発1ディビジョン 2
2022/04 ヤフー株式会社新卒入社 2022/06 Yahoo!知恵袋配属 現在 Yahoo!知恵袋 BEエンジニア マイブーム ドライブ 技術 Java, Kotlin, Spring Boot, GraphQL 興味 DDD, アーキテクチャ, 設計
© LY Corporation 知恵袋でクローズドβテストやってました 3
© LY Corporation 匿名 × 時限式 × AI記事生成のチャットサービス カンファレンスでのポスター発表の様子 4
知恵トーク(iOS限定)
© LY Corporation BEエンジニア 2~3名 iOSエンジニア2~3名 メンバーの入れ替わり等もあったが、アプリケーション開発のほとんどの期間はそれぞれ2人体制 あとは企画、デザイナー、AI系のメンバーで、約10名のチーム 6 開発体制
2025年4~6月の間で作り初期リリース、7~9月でアップデートを重ねながらCBT実施 iOSのみの対応
© LY Corporation CBT開始まで3ヶ月しかない 4, 5, 6月で作りきれるか…!? 7
© LY Corporation どうやって開発速度を高めたのか 速度は高めたいが、品質は落としたくない… 8
© LY Corporation Kotlin × Spring Boot × GraphQL DDD
+ オニオンアーキテクチャ 10
© LY Corporation Kotlinを採用した理由 普段の業務ではJavaを使用しているが、サーバーサイドKotlinもなかなかよさそうだった Java Kotlin
© LY Corporation Kotlinを採用した理由 コード量が圧倒的に少ない null安全が言語レベルで保証 名前付き引数がある 関数型スタイルが書きやすい Javaとの相互運用性100%(ライブラリ等) もうJavaじゃなくてKotlinでいいんじゃ…
© LY Corporation Spring Bootを採用した理由 普段使用しているため慣れている(これが一番大きい) 様々なライブラリを公式でサポート(今回使ったQuartzとかRedisとか)
© LY Corporation GraphQLを採用した理由 仕様(特にUI)がどんどん変わるため、フロントエンド駆動で 必要なデータを自由に取得してもらった方が良さそう スキーマファイルがAPI仕様書として成り立つため運用が楽 GraphQLのSubscriptionがWebSocket通信をラップしており、 そのままメッセージ取得部分に使える (限られた人数なら十分なパフォーマンス)
© LY Corporation Spring for GraphQLを使った実装 取得系は QueryMapping、更新系はMutationMappingなどのアノテーションをつけるだけで、 自動でスキーマファイルに定義してあるクエリと紐づけてくれる
© LY Corporation Subscriptionの実装サンプル Flux型で返せば簡単にSubscriptionの実装ができる
© LY Corporation その他採用した技術 Quartz スケジューラ (時限式の部分) RedisのPub/Sub機能 (チャット部分) Exposed
(ORM) Kotest (ユニットテスト)
© LY Corporation 開発する中で意識したこと DDD + オニオンアーキテクチャで、一回一回の変更のコストを下げる 特にClaude Codeなどの生成AIを使った開発でもとても役立つ。 設計がいい感じに決まっているとAIにコードを書かせても大きな破綻なく、
開発者にとっても理解しやすいコードが生成される。
© LY Corporation まとめ 慣れたものを使った方がいいか、新しいものを取り入れるか。 唯一の正解はなく、バランスが大事。全てトレードオフ。 いかに変更容易性を維持するかを常に考えておく。 開発者は設計・モデリングに注力して、細かい実装は生成AIに任せることで推進力を生み出す。
© LY Corporation ご清聴ありがとうございました!