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
pixiv PAYで運用している フレンズパターン
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
orekyuu
March 05, 2019
Programming
1
3.6k
pixiv PAYで運用している フレンズパターン
pixiv Tech Salon LT
orekyuu
March 05, 2019
Tweet
Share
More Decks by orekyuu
See All by orekyuu
[JJUG CCC 2022 fall] Fargate上のJVMからCPUを認識するまで 〜正しく認識されないCPUの謎を追え〜
orekyuu
1
2.4k
OpenJDKアンカンファレンス 2022-09
orekyuu
0
190
至極の難問言語仕様クイズ 〜最強のマルチリンガル決定戦〜
orekyuu
2
2.2k
burikaigi2021 Rails製ECサイトの決済速度を上げろ!〜決済処理チューニングの記録〜
orekyuu
3
1.7k
実際困る!クロスドメイン間のセッション管理を考えよう
orekyuu
1
930
日本初のキャッシュレス即売会を支えた決済アプリ pixiv PAYの技術
orekyuu
1
1.7k
Other Decks in Programming
See All in Programming
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
500
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
270
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
580
ロボットのための工場に灯りは要らない
watany
10
2.9k
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
930
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
440
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
170
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
550
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
150
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
140
エンジニアの「手元の自動化」を加速するn8n 2026.02.27
symy2co
0
160
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
450
Exploring anti-patterns in Rails
aemeredith
2
290
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
86
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
280
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
150
30 Presentation Tips
portentint
PRO
1
250
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
Why Our Code Smells
bkeepers
PRO
340
58k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
Leo the Paperboy
mayatellez
4
1.5k
Transcript
pixiv PAYͰӡ༻͍ͯ͠Δ ϑϨϯζύλʔϯ pixiv.inc @orekyuu
RailsͷϨʔϧ͔Β֎ΕΔͰ͢
@orekyuu pixiv PAYͷRailsϚϯ ࠷ۙSpring Boot/Java JVMͱ͓ֆඳ͖͕͖
ϏδωεϩδοΫͷஔ͖ʹࠔΔ • RailsͰجຊతʹARͷModelʹΨγΨγϩδοΫΛॻ͍ͯ͘ • ෳͷModelʹ·͕ͨͬͨΓɺͲͷModelʹஔ͍ͯҧײͷ͋Δ ϩδοΫͬͯͳ͍Ͱ͔͢ʁ • ஔ͖ɺ΄͍͠Ͱ͢ΑͶʁ
Αͬ͠Ό4FSWJDFͩʂʂʂ
Service? • ͦͷServiceͬͯͲͷServiceͷ͜ͱݴͬͯΔʁ • Domain Service? • Application Service?
• ΞϓϦํ໘ͳΒ֎෦APIݺͼग़͢ΫϥεΛServiceͬͯݴͬͨΓ͢ΔΑͶ
Serviceܯ͕ݱΕͯ໘
ϑϨϯζύλʔϯΛಋೖ
ϑϨϯζύλʔϯ • app/friendsσΟϨΫτϦʹೖΕΔϏδωεϩδοΫ͚ͩΛ࣋ͭΫϥε • Ϋϥεͷ໋໊erܥͰऴΘΔ˓˓͢ΔਓͬΆ໊͍લʹ͢Δ • Ϋϥεͷઌ಄ʹʮ˓˓͢Δͷ͕ಘҙͳϑϨϯζʯͱ͍͏ίϝϯτΛೖΕΔ ྫ͑PushNotificator, SlackPostmanͳͲ
ʁʁʁʮͦΕͬͯ4FSWJDFͰ͆ʯ
ϑϨϯζύλʔϯͷޮՌ • ͕ٞΘΒ͔͘ͳͬͨ • ʮͦΕͦͷΫϥεͷͰͳ͍ͷͰʁʯˠ • ʮ͜ΕͩͱΩϟϥཱͬͯͳ͍ΑͶʁʯʮͷ͚ͷͰʁ͆ʯ • ServiceϝιουΛҰͭʹ͢Δ͖Έ͍ͨͳ͕ٞͳ͘ͳͬͨ
• ਖ਼͠͞ͷٞͰͳ͘ϑϨϯζΛϏδωεʹ߹Θ͍ͤͯ͘ • ػೳͱϑϨϯζ͕ରԠ͢ΔͷͰमਖ਼Օॴ͕Θ͔Γ͘͢ͳͬͨ
ʮServiceϝιουҰ͔ͭ࣋ͨ͠ͳ͍ʯ
ʮ͏Δͤ͐ʂδϟ˓ϦύʔΫ Ͱڐ͞ΕΔΜͩΑʂʯ
มͳ໊લΛ͚ͭΔ • ৽͘͠ೖͬͨϓϩδΣΫτʹapp/friendsͬͯ͋Δͱܯռ͠·ͤΜʁ • ܯռ͢Δͱ৮Γͨ͘ͳ͘ͳΔ • ʮkessai_suruyatsu_saisin.rbʯͱ͔ාͯ͘৮Γͨ͘ͳ͍Ͱ͠ΐ͆
มͳ໊લΛ͚ͭΔ • ͳΜͱ͔Serviceͱ͔ͳΜͱ͔Managerͱ͔ใ͕ແ͚ͩͲੜ·Ε͕ͪ • ໊લΛݟͨͱ͖ʹ͔ͬͨؾʹͳΕͯ͠·͏ • ݁Ռྔ࢈͞Εͯ͠·͏ • ݟͨ͜ͱͷͳ͍ͷܯռ৺͕ಇ͘
• ʮͳʹ͜Εා͍ɻ৮Βͳ͍Ͱ͓͜͏ʯ • ʮͳΜͰ͔͢͜Εʯ
͋͑ͯϨʔϧ͔ΒͣΕΔ • ֎ΕΔͱ͖શྗͰ • ܯռ৺Λ࣋ͨͤΔɻϨʔϧ͔Β֎Εͨͷʹܯռͤ͞Δ • ͔ͬͨؾʹͤ͞ͳ͍ɻ͝·͔͞ͳ͍ɻ