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
55
爆速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
75
マイクロサービスアーキテクチャのトレードオフとコンポーネント増加について〜Yahoo!ニュース〜
lycorptech_jp
PRO
0
28
AIプラットフォームにおけるMLflowの利用について
lycorptech_jp
PRO
2
250
MLflowダイエット大作戦
lycorptech_jp
PRO
1
220
4%ルールとN1思考──不確実性に対抗するディスカバリー検証
lycorptech_jp
PRO
1
170
初めての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
AI開発の落とし穴 〜馬には乗ってみよAIには添うてみよ〜
sansantech
PRO
4
1k
kintone開発のプラットフォームエンジニアの紹介
cybozuinsideout
PRO
0
570
Kusakabe_面白いダッシュボードの表現方法
ykka
0
380
GitHub Copilot CLI 現状確認会議
torumakabe
12
4.1k
20260120 Amazon VPC のパブリックサブネットを無くしたい!
masaruogura
2
160
re:Inventで出たインフラエンジニアが嬉しかったアップデート
nagisa53
4
190
一番人に近いコードレビューア CodeRabbit
kinopeee
0
110
2026/01/16_実体験から学ぶ 2025年の失敗と対策_Progate Bar
teba_eleven
1
220
SOC2は、取った瞬間よりその後が面白い
3flower
0
170
フロントエンド開発者のための「厄払い」
optim
0
150
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.8k
新規事業 toitta におけるAI 機能評価の話 / AI Feature Evaluation in toitta
pokutuna
0
230
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
0
340
Automating Front-end Workflow
addyosmani
1371
200k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
72
Tell your own story through comics
letsgokoyo
1
790
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
42
Color Theory Basics | Prateek | Gurzu
gurzu
0
180
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
220
Deep Space Network (abreviated)
tonyrice
0
35
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
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 ご清聴ありがとうございました!