Upgrade to Pro — share decks privately, control downloads, hide ads and more …

pixiv PAYで運用している
フレンズパターン

orekyuu
March 05, 2019

pixiv PAYで運用している
フレンズパターン

pixiv Tech Salon LT

orekyuu

March 05, 2019
Tweet

More Decks by orekyuu

Other Decks in Programming

Transcript

  1. pixiv PAYͰӡ༻͍ͯ͠Δ

    ϑϨϯζύλʔϯ

    pixiv.inc
    @orekyuu

    View Slide


  2. RailsͷϨʔϧ͔Β֎ΕΔ࿩Ͱ͢

    View Slide

  3. @orekyuu

    pixiv PAYͷRailsϚϯ
    ࠷ۙ͸Spring Boot/Java
    JVMͱ͓ֆඳ͖͕޷͖

    View Slide


  4. ϏδωεϩδοΫͷஔ͖৔ʹࠔΔ໰୊
    • RailsͰ͸جຊతʹARͷModelʹΨγΨγϩδοΫΛॻ͍ͯ͘
    • ෳ਺ͷModelʹ·͕ͨͬͨΓɺͲͷModelʹஔ͍ͯ΋ҧ࿨ײͷ͋Δ

    ϩδοΫͬͯͳ͍Ͱ͔͢ʁ
    • ஔ͖৔ɺ΄͍͠Ͱ͢ΑͶʁ

    View Slide


  5. Αͬ͠Ό4FSWJDFͩʂʂʂ

    View Slide


  6. Service?
    • ͦͷServiceͬͯͲͷServiceͷ͜ͱݴͬͯΔʁ
    • Domain Service?
    • Application Service?
    • ΞϓϦํ໘ͳΒ֎෦APIݺͼग़͢ΫϥεΛServiceͬͯݴͬͨΓ͢ΔΑͶ

    View Slide


  7. Serviceܯ࡯͕ݱΕͯ໘౗

    View Slide



  8. ϑϨϯζύλʔϯΛಋೖ

    View Slide


  9. ϑϨϯζύλʔϯ
    • app/friendsσΟϨΫτϦʹೖΕΔϏδωεϩδοΫ͚ͩΛ࣋ͭΫϥε
    • Ϋϥεͷ໋໊͸erܥͰऴΘΔ˓˓͢ΔਓͬΆ໊͍લʹ͢Δ
    • Ϋϥεͷઌ಄ʹʮ˓˓͢Δͷ͕ಘҙͳϑϨϯζʯͱ͍͏ίϝϯτΛೖΕΔ
    ྫ͑͹PushNotificator, SlackPostmanͳͲ

    View Slide



  10. ʁʁʁʮͦΕͬͯ4FSWJDFͰ͸͆ʯ

    View Slide


  11. ϑϨϯζύλʔϯͷޮՌ
    • ٞ࿦͕΍ΘΒ͔͘ͳͬͨ
    • ʮͦΕ͸ͦͷΫϥεͷ੹຿Ͱ͸ͳ͍ͷͰ͸ʁʯˠ
    • ʮ͜ΕͩͱΩϟϥཱͬͯͳ͍ΑͶʁʯʮͷ͚΋ͷͰ͸ʁ͆ʯ
    • Service͸ϝιουΛҰͭʹ͢Δ΂͖Έ͍ͨͳٞ࿦͕ͳ͘ͳͬͨ
    • ਖ਼͠͞ͷٞ࿦Ͱ͸ͳ͘ϑϨϯζΛϏδωεʹ߹Θ͍ͤͯ͘
    • ػೳͱϑϨϯζ͕ରԠ͢ΔͷͰमਖ਼Օॴ͕Θ͔Γ΍͘͢ͳͬͨ

    View Slide


  12. ʮService͸ϝιουҰ͔ͭ࣋ͨ͠ͳ͍ʯ

    View Slide


  13. ʮ͏Δͤ͐ʂδϟ˓ϦύʔΫ

    Ͱ͸ڐ͞ΕΔΜͩΑʂʯ

    View Slide


  14. มͳ໊લΛ͚ͭΔ
    • ৽͘͠ೖͬͨϓϩδΣΫτʹapp/friendsͬͯ͋Δͱܯռ͠·ͤΜʁ
    • ܯռ͢Δͱ৮Γͨ͘ͳ͘ͳΔ
    • ʮkessai_suruyatsu_saisin.rbʯͱ͔ාͯ͘৮Γͨ͘ͳ͍Ͱ͠ΐ͆

    View Slide


  15. มͳ໊લΛ͚ͭΔ
    • ͳΜͱ͔Serviceͱ͔ͳΜͱ͔Managerͱ͔৘ใ͕ແ͚ͩͲੜ·Ε͕ͪ
    • ໊લΛݟͨͱ͖ʹ෼͔ͬͨؾʹͳΕͯ͠·͏
    • ݁Ռྔ࢈͞Εͯ͠·͏
    • ݟͨ͜ͱͷͳ͍΋ͷ͸ܯռ৺͕ಇ͘
    • ʮͳʹ͜Εා͍ɻ৮Βͳ͍Ͱ͓͜͏ʯ
    • ʮͳΜͰ͔͢͜Εʯ

    View Slide


  16. ͋͑ͯϨʔϧ͔Β͸ͣΕΔ
    • ֎ΕΔͱ͖͸શྗͰ
    • ܯռ৺Λ࣋ͨͤΔɻϨʔϧ͔Β֎Εͨ΋ͷʹ͸ܯռͤ͞Δ
    • ෼͔ͬͨؾʹͤ͞ͳ͍ɻ͝·͔͞ͳ͍ɻ

    View Slide