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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
LINEヤフーTech (LY Corporation Tech)
PRO
December 09, 2025
Technology
150
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
爆速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
More Decks by LINEヤフーTech (LY Corporation Tech)
See All by LINEヤフーTech (LY Corporation Tech)
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.5k
検索技術知識0のエンジニアが広告検索システムを内製化して運用するまで
lycorptech_jp
PRO
1
340
No More Log Digging 〜AIを一次調査係にする アラートレビュー改善〜
lycorptech_jp
PRO
0
150
実践!既存 Project への AI-Driven Development 適用〜一ヶ月で Project 唯一のフロントエンドエンジニアを作り出せ〜
lycorptech_jp
PRO
1
470
AIが実装を自走する時代の認知負債との戦い
lycorptech_jp
PRO
3
1.2k
AIと1000本ノックしてたどり着いた、最速のプロダクト開発 ~toC向けAIエージェントUXを、動く選択肢とAIキャパシティで設計する~
lycorptech_jp
PRO
1
210
プライバシー保護の理論と実践
lycorptech_jp
PRO
1
340
Yahoo!ショッピングでのAI-DLCの取り組みについて
lycorptech_jp
PRO
2
840
Business ID Integration at LY Corporation : Phased Migration for a B2B authentication platform with Tens of Millions of Users
lycorptech_jp
PRO
0
85
Other Decks in Technology
See All in Technology
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
500
カーネルまで探検して理解するふたつの自動計装
sumiyae
0
330
形式手法特論:Hyperproperty とモデル検査 #kernelvm / Kernel VM Study Tokyo 19th
ytaka23
0
870
アクセスキーが漏れた日にやるべきこと- 無効化の先にある本当の対応
kazzpapa3
0
350
ブラウザで変わるID連携(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
330
Digital Credentials API × OpenID4VP ブラウザ完結型本人確認の実装知見(OAuth/OIDC Numa (Immersion) Workshop 2026)
oidfj
PRO
0
310
現場の暗黙知を継承するAIエージェント — 対話から生まれる長期記憶と Skills
atsukish
0
110
1.5時間を無駄にして学んだwsl2におけるaptとsnapの選択と仕組み
yosaka0123
0
460
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
460
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
210
紙 to デジタル
ichien178
0
330
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
220
Joys of Absence: A Defence of Solitary Play
codingconduct
1
450
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
ラッコキーワード サービス紹介資料
rakko
1
4.6M
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
220
Measuring & Analyzing Core Web Vitals
bluesmoon
9
970
How STYLIGHT went responsive
nonsquared
100
6.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
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 ご清聴ありがとうございました!