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.3k
OpenJDKアンカンファレンス 2022-09
orekyuu
0
170
至極の難問言語仕様クイズ 〜最強のマルチリンガル決定戦〜
orekyuu
2
2.1k
burikaigi2021 Rails製ECサイトの決済速度を上げろ!〜決済処理チューニングの記録〜
orekyuu
3
1.7k
実際困る!クロスドメイン間のセッション管理を考えよう
orekyuu
1
890
日本初のキャッシュレス即売会を支えた決済アプリ pixiv PAYの技術
orekyuu
1
1.6k
Other Decks in Programming
See All in Programming
KessokuでDIでもgoroutineを活用する / Go Connect #6
mazrean
0
130
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
250
ソフトウェアテスト徹底指南書の紹介
goyoki
1
130
Claude Codeで挑むOSSコントリビュート
eycjur
0
190
コンテキストエンジニアリング Cursor編
kinopeee
1
740
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
1
320
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
430
兎に角、コードレビュー
mitohato14
0
170
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
180
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
1
670
TanStack DB ~状態管理の新しい考え方~
bmthd
2
400
Trem on Rails - Prompt Engineering com Ruby
elainenaomi
1
100
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
800
Making the Leap to Tech Lead
cromwellryan
134
9.5k
The Invisible Side of Design
smashingmag
301
51k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Rails Girls Zürich Keynote
gr2m
95
14k
The Pragmatic Product Professional
lauravandoore
36
6.8k
RailsConf 2023
tenderlove
30
1.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Documentation Writing (for coders)
carmenintech
73
5k
Navigating Team Friction
lara
189
15k
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ͱ͔ใ͕ແ͚ͩͲੜ·Ε͕ͪ • ໊લΛݟͨͱ͖ʹ͔ͬͨؾʹͳΕͯ͠·͏ • ݁Ռྔ࢈͞Εͯ͠·͏ • ݟͨ͜ͱͷͳ͍ͷܯռ৺͕ಇ͘
• ʮͳʹ͜Εා͍ɻ৮Βͳ͍Ͱ͓͜͏ʯ • ʮͳΜͰ͔͢͜Εʯ
͋͑ͯϨʔϧ͔ΒͣΕΔ • ֎ΕΔͱ͖શྗͰ • ܯռ৺Λ࣋ͨͤΔɻϨʔϧ͔Β֎Εͨͷʹܯռͤ͞Δ • ͔ͬͨؾʹͤ͞ͳ͍ɻ͝·͔͞ͳ͍ɻ