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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
LINEヤフーTech (LY Corporation Tech)
PRO
December 09, 2025
Technology
1
100
爆速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)
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
73
LINE Messengerの次世代ストレージ選定
lycorptech_jp
PRO
4
3.4k
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
4
1.7k
Agentic Codingの実践とチームで導入するための工夫
lycorptech_jp
PRO
0
200
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
7.1k
AIに視覚を与えモバイルアプリケーション開発をより円滑に行う
lycorptech_jp
PRO
1
580
LINEアプリ開発のための Claude Code活用基盤の構築
lycorptech_jp
PRO
1
1.1k
LINEヤフーにおけるAI駆動開発組織のプロデュース施策
lycorptech_jp
PRO
0
190
1 年間の育休から時短勤務で復帰した私が、 AI を駆使して立ち上がりを早めた話
lycorptech_jp
PRO
0
190
Other Decks in Technology
See All in Technology
Claude Codeはレガシー移行でどこまで使えるのか?
ak2ie
1
1.1k
opsmethod第1回_アラート調査の自動化にむけて
yamatook
0
330
What's new in Go 1.26?
ciarana
2
260
AI活用を"目的"にしたら、データの本質が見えてきた - Snowflake Intelligence実験記 / chasing-ai-finding-data
pei0804
0
830
Lookerの最新バージョンv26.2がやばい話
waiwai2111
1
140
Introduction to Bill One Development Engineer
sansan33
PRO
0
380
APMの世界から見るOpenTelemetryのTraceの世界 / OpenTelemetry in the Java
soudai
PRO
0
200
トラブルの大半は「言ってない」x「言ってない」じゃねーか!!
ichimichi
0
220
技術キャッチアップ効率化を実現する記事推薦システムの構築
yudai00
2
160
「データとの対話」の現在地と未来
kobakou
0
980
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
Databricks (と気合い)で頑張るAI Agent 運用
kameitomohiro
0
340
Featured
See All Featured
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
63
53k
Building an army of robots
kneath
306
46k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
140
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
130
Making the Leap to Tech Lead
cromwellryan
135
9.7k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
130
The Cult of Friendly URLs
andyhume
79
6.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
190
Facilitating Awesome Meetings
lara
57
6.8k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
620
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 ご清聴ありがとうございました!