$30 off During Our Annual Pro Sale. View Details »
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
0
5
爆速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)
1年でこうなる!?LINEヤフーのAI活用、激変してて笑った
lycorptech_jp
PRO
0
8
1兆メッセージ規模のKafkaプラットフォームを支えるオブザーバビリティ
lycorptech_jp
PRO
0
6
対決!Android vs iOS 生成AIオンデバイス・ラップバトル
lycorptech_jp
PRO
0
6
LINE公式アカウントのチャットを支える仕組み
lycorptech_jp
PRO
0
8
ガイドラインを軸にしたウェブアクセシビリティ改善
lycorptech_jp
PRO
1
85
ML PM Talk #1 - ML PMの分類に関する考察
lycorptech_jp
PRO
1
640
Yahoo! JAPANトップページ〜アクセシビリティのせかいをつなぐ〜
lycorptech_jp
PRO
0
45
AI活用によるPRレビュー改善の歩み ― 社内全体に広がる学びと実践
lycorptech_jp
PRO
1
140
JSConf JP 2025 LINEヤフーのセッション紹介&アンケート 結果発表
lycorptech_jp
PRO
0
260
Other Decks in Technology
See All in Technology
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
410
【CEDEC+KYUSHU2025】学生・若手必見!テクニカルアーティスト 大全 ~仕事・スキル・キャリアパス、TAの「わからない」を徹底解剖~
cygames
PRO
0
120
AI/MLのマルチテナント基盤を支えるコンテナ技術
pfn
PRO
5
780
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
11
5.4k
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
290
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
700
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
130
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
550
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
370
Playwright x GitHub Actionsで実現する「レビューしやすい」E2Eテストレポート
kinosuke01
0
150
「え?!それ今ではHTMLだけでできるの!?」驚きの進化を遂げたモダンHTML
riyaamemiya
10
4.6k
Oracle Cloud Infrastructure:2025年11月度サービス・アップデート
oracle4engineer
PRO
1
160
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Into the Great Unknown - MozCon
thekraken
40
2.2k
The Language of Interfaces
destraynor
162
25k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.1k
Code Review Best Practice
trishagee
73
19k
How to train your dragon (web standard)
notwaldorf
97
6.4k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
87
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building Applications with DynamoDB
mza
96
6.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Visualization
eitanlees
150
16k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
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 ご清聴ありがとうございました!