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
orekyuu
March 05, 2019
Programming
1
3.5k
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.2k
OpenJDKアンカンファレンス 2022-09
orekyuu
0
160
至極の難問言語仕様クイズ 〜最強のマルチリンガル決定戦〜
orekyuu
2
2.1k
burikaigi2021 Rails製ECサイトの決済速度を上げろ!〜決済処理チューニングの記録〜
orekyuu
3
1.6k
実際困る!クロスドメイン間のセッション管理を考えよう
orekyuu
1
870
日本初のキャッシュレス即売会を支えた決済アプリ pixiv PAYの技術
orekyuu
1
1.6k
Other Decks in Programming
See All in Programming
事業戦略を理解してソフトウェアを設計する
masuda220
PRO
22
6.2k
機械学習って何? 5分で解説頑張ってみる
kuroneko2828
0
220
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
800
ReadMoreTextView
fornewid
1
450
Is Xcode slowly dying out in 2025?
uetyo
1
140
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
240
C++20 射影変換
faithandbrave
0
500
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
130
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
310
Effect の双対、Coeffect
yukikurage
5
1.4k
Using AI Tools Around Software Development
inouehi
0
1.2k
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
670
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
How to Ace a Technical Interview
jacobian
277
23k
We Have a Design System, Now What?
morganepeng
52
7.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
Music & Morning Musume
bryan
46
6.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
330
24k
BBQ
matthewcrist
89
9.7k
Adopting Sorbet at Scale
ufuk
77
9.4k
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ͱ͔ใ͕ແ͚ͩͲੜ·Ε͕ͪ • ໊લΛݟͨͱ͖ʹ͔ͬͨؾʹͳΕͯ͠·͏ • ݁Ռྔ࢈͞Εͯ͠·͏ • ݟͨ͜ͱͷͳ͍ͷܯռ৺͕ಇ͘
• ʮͳʹ͜Εා͍ɻ৮Βͳ͍Ͱ͓͜͏ʯ • ʮͳΜͰ͔͢͜Εʯ
͋͑ͯϨʔϧ͔ΒͣΕΔ • ֎ΕΔͱ͖શྗͰ • ܯռ৺Λ࣋ͨͤΔɻϨʔϧ͔Β֎Εͨͷʹܯռͤ͞Δ • ͔ͬͨؾʹͤ͞ͳ͍ɻ͝·͔͞ͳ͍ɻ