$30 off During Our Annual Pro Sale. View Details »

そして物語は更に何度目かのアプリ内通知再実装を迎える / Reimplement in app notification again

moznion
August 19, 2017

そして物語は更に何度目かのアプリ内通知再実装を迎える / Reimplement in app notification again

Kyoto.なんか #3の資料です

moznion

August 19, 2017
Tweet

More Decks by moznion

Other Decks in Technology

Transcript

  1. ͦͯ͠෺ޠ͸ߋʹԿ౓໨͔ͷ
    ΞϓϦ಺௨஌࠶࣮૷Λܴ͑Δ
    @moznion

    View Slide

  2. @moznion
    Server Sideଠ࿠

    View Slide

  3. લճͷ͋Β͢͡

    View Slide

  4. લճͷ͋Β͢͡

    View Slide

  5. લճͷ͋Β͢͡
    ೥ͿΓ౓໨ͷग़৔Ͱ͢

    View Slide

  6. ΞϓϦ಺௨஌ͱ͸

    View Slide

  7. ΞϓϦ಺௨஌ͱ͸

    View Slide

  8. View Slide

  9. ΞϓϦ಺௨஌ͷ๊͑Δ໰୊

    View Slide

  10. ༗ޮͳσʔλߏ଄Λߟ͑Δͷ͕೉͍͠
    w 8SJUF)BSEͳΞʔΩςΫνϟʹ͢Δ͔
    w 3FBE)BSEͳΞʔΩςΫνϟʹ͢Δ͔
    w ϋΠϒϦου

    View Slide

  11. 8SJUF)BSEͳΞʔΩςΫνϟ
    Storage
    Mailbox






    Write
    Read

    View Slide

  12. 8SJUF)BSEͳΞʔΩςΫνϟ
    Storage
    Mailbox






    4VCTDSJCFSͱ.BJMCPY͕ରԠ
    Write
    Read

    View Slide

  13. 8SJUF)BSEͳΞʔΩςΫνϟ
    w 1SPT
    w 3FBE͕؆୯ 4VCTDSJCFSʹඥͮ͘
    .BJMCPYΛ୯ʹಡΊ͹औͬͯ͜ΕΔ

    w $POT
    w 8SJUFσʔλྔ͕૿͑Δ εύΠΫ͢Δ

    w 4UPSBHF಺ͷσʔλ༰ྔ͕૿͑Δ ޙड़

    View Slide

  14. 3FBE)BSEͳΞʔΩςΫνϟ



    Write Read

    View Slide

  15. 3FBE)BSEͳΞʔΩςΫνϟ



    Write Read
    ͭͷσʔλιʔε͔Β
    4VCTDSJCFSຖʹҟͳΔ௨஌Λ
    औಘͯ͘͠Δ

    View Slide

  16. 3FBE)BSEͳΞʔΩςΫνϟ
    w 1SPT
    w 8SJUF͢Δσʔλྔ͕গͳͯ͘ࡁΉ

    NBTUFSͱͳΔσʔλ͚ͩͰྑ͍

    w $POT
    w ͭͷσʔλιʔεΛ΋ͱʹͯ͠ɼ

    ֤4VCTDSJCFSʹԠͨ͡௨஌Λ૊ΈཱͯΔ
    ඞཁ͕͋ΔͷͰSFBE͕ෳࡶʹͳΓ͕ͪ

    ॏ͍ΫΤϦ

    View Slide

  17. લճͷ͋Β͢͡

    View Slide

  18. 8SJUF)BSEͳ
    ΞʔΩςΫνϟΛ࠾༻

    View Slide

  19. 8SJUF)BSEͳ
    ΞʔΩςΫνϟΛ࠾༻

    View Slide

  20. 8SJUF)BSEͳ
    ΞʔΩςΫνϟΛ࠾༻

    View Slide

  21. ৄࡉ͸લճͷεϥΠυ
    IUUQTTQFBLFSEFDLDPNNP[OJPO
    SFJNQMFNFOUJOBQQOPUJpDBUJPO

    View Slide

  22. ͦͷޙฏ࿨ͳ೔ʑΛ
    ա͍͕ͯͨ͝͠ʜʜ

    View Slide

  23. Redis౗յ
    ౗յͱݴ͏ఔͰ͸ͳ͍

    View Slide

  24. w σʔλྔ͕େ͖͘ͳΓ͗ͨ͢
    w ਺ඦ(#ͷΦʔμʔ
    w ͦΓΌͦ͏ͩ VTFS਺ͿΜNBJMCPY͕͋Δ

    w 3FEJTΛ؅ཧ͍ͯ͠ΔΤϯδχΞ͔Β

    ʮͦΖͦΖצหͯ͘͠ΕʯͱݴΘΕΔ
    3FEJTͷݶք

    View Slide

  25. 3FEJTͷݶք
    w ௨஌σʔλ͸ॖୀ͠ʹ͍͘
    w ٳ຾ϢʔβͰ͋ͬͯ΋ɼͦͷϢʔβͷ

    ௨஌σʔλ͸ফͤͳ͍ ॖখ͸͋Γ͔΋

    w ͭ·Γσʔλ͸૿͑ΔҰํ

    View Slide

  26. 3FEJTͷݶք
    w 3FEJT͕ѱ͍Θ͚Ͱ͸ͳ͍ʂʂʂʂ
    w Ϣʔεέʔε͕߹Θͳ͔ͬͨ
    w େྔͷӬଓσʔλ࣋ͨͤΔͷ͸Ή͍ͣ

    View Slide

  27. ݱࡏ

    View Slide

  28. w ͩ·ͩ͠·͠3FEJTΛ࢖͍ͬͯΔʜʜ ͸ͣ

    View Slide

  29. Ͳ͏͢Ε͹ྑ͍ͷ͔

    View Slide

  30. Ͳ͏͢Ε͹ྑ͍ͷ͔

    View Slide

  31. ͭΒ͍ʂʂ

    View Slide

  32. ͜͜ͰৼΓฦͬͯΈ·͠ΐ͏

    View Slide

  33. ৼΓฦΓ
    w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ
    w ݱ࣮తͳ଎౓ͰσʔλΛฦ͢4UPSBHF͕

    ແਚଂʹ͋Ε͹ղܾ͢Δ
    w ಡΉํ΋ॻ͘ํ΋ɼʮ௨஌ʯΛද͢

    ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ

    View Slide

  34. ৼΓฦΓ
    w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ
    w ݱ࣮తͳ଎౓ͰσʔλΛฦ͢4UPSBHF͕

    ແਚଂʹ͋Ε͹ղܾ͢Δ
    w ಡΉํ΋ॻ͘ํ΋ɼʮ௨஌ʯΛද͢

    ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ

    View Slide

  35. ແਚଂͳετϨʔδʜʜ

    View Slide

  36. Amazon S3

    View Slide

  37. "NB[PO4
    w આ໌ෆཁ
    w "84ͷ0CKFDU4UPSBHF
    w ແਚଂ ແਚଂͰ͸ͳ͍

    View Slide

  38. ৼΓฦΓ
    w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ
    w ݱ࣮తͳ଎౓ͰσʔλΛฦ͢4UPSBHF͕

    ແਚଂʹ͋Ε͹ղܾ͢Δ
    w ಡΉํ΋ॻ͘ํ΋ɼʮ௨஌ʯΛද͢

    ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ

    View Slide

  39. ৼΓฦΓ
    w ͳͥ4UPSBHF͕ؤுΔඞཁ͕͋Δͷ͔ʁ
    w ݱ࣮తͳ଎౓ͰσʔλΛฦ͢4UPSBHF͕

    ແਚଂʹ͋Ε͹ղܾ͢Δ
    w ಡΉํ΋ॻ͘ํ΋ɼʮ௨஌ʯΛද͢

    ϑΟʔυతͳੜσʔλΛѻ͏ํָ͕Ͱ͋Δ

    View Slide

  40. ϑΟʔυʜʜ

    View Slide

  41. RSS

    View Slide

  42. 344
    w આ໌ෆཁ
    w 9.-Ͱهड़Մೳ
    w αʔόଆɾΫϥΠΞϯτଆ໰Θͣॆ࣮ͨ͠

    αϙʔτ
    w ࠷ۙ͸344ͬͯΑΓ"UPNͰ͔͢Ͷ

    View Slide




  43. Write
    Feed 1
    Feed 2
    Feed 3
    S3
    Read
    ུ֓

    View Slide

  44. ུ֓
    w αʔό͸344 "UPN
    'FFEͷϑΝΠϧΛ

    4ʹ165 PS1"5$)

    w ΫϥΠΞϯτ͸4͔Β'FFEΛ(&5͖ͯ͠
    ͯɼ344Ϧʔμʔ࣮૷ͳΓͳΜͳΓͰ௨஌
    ΛಡΈऔΔ
    w γϯϓϧʂʂʂʂʂ

    View Slide

  45. 1SPT
    w 8SJUF)BSEʹͳͬͯ΋૬ख͸4͔ͩΒ

    ·͋େৎ෉Ͱ͠ΐ͏ͱ͍͏҆৺ײ
    w 3FBE݅਺͕ଟ͘ͳͬͯ΋૬ख͸4͔ͩΒ

    ·͋େৎ෉Ͱ͠ΐ͏ͱ͍͏҆৺ײ

    ୯ͳΔ'FFEpMFͷTFSWFͩ͠ʜʜ

    w 344ͱ͍͏ރΕٕͨज़ͷస༻ʹΑΔ҆৺ײ

    View Slide

  46. $POT
    w 0CKFDU4UPSBHF΁ͷ165ͱ͍͏ॲཧͷ

    ಛੑ্ɼߴ౓ͳଈ࣌ੑΛ࣋ͨͤΔͷ͕

    ೉͍͠
    w ೝূɾೝՄ໰୊
    w طಡ؅ཧ

    View Slide

  47. ଈ࣌ੑʹ͍ͭͯͷ໰୊
    w ྫ͑͹ɼʮ164)௨஌͕ૹΒΕ͖ͯͨͷʹ
    ௨஌ը໘ʹ͸৽͍͠௨஌͕ແ͍ʯͱ͍͏

    έʔε
    w ϑΟʔυͷߋ৽͕஗Ԇ͍ͯ͠Δ౳ͷݪҼ

    View Slide

  48. ଈ࣌ੑʹ͍ͭͯͷ໰୊
    w ʮϑΟʔυͷߋ৽͕ऴΘͬͨΒ164)௨஌ΛൃՐ
    ͢ΔʯΈ͍ͨͳΠϕϯτۦಈʹ͢Δख΋͋Δ υ
    ϝΠϯΠϕϯτతͳ

    w ͔͠͠৔߹ʹΑͬͯ͸ॲཧͷߴ଎ԽͷͨΊʹ164)
    ௨஌ૹ৴ͱϑΟʔυߋ৽͸ผͷϫʔΧϓϩηε͕
    ඇಉظతʹ΍ͬͯΔɼΈ͍ͨͳͷ΋͋Γ·͢ΑͶ
    w ೉͍͠ɼ৔߹ʹΑΔͱ͔͠ݴ͑ͳ͍ʜʜ

    View Slide

  49. ೝূɾೝՄ໰୊
    w ུ֓ਤͷΑ͏ͳૉ๿ͳߏ੒ͩͱɼ

    4ͷύʔϚϦϯΫ͑͞Θ͔Ε͹୭Ͱ΋

    ௨஌ͷ಺༰͕ಡΈऔΕͯ͠·͏
    w ଟ͘ͷ৔߹ͦΕ͸Ϛζ͍Ͱ͠ΐ͏

    Ϛζ͘ͳ͍৔߹΋͋Δ͔΋͠Εͳ͍

    View Slide




  50. Write S3 Read
    ೝূɾೝՄ໰୊

    View Slide




  51. º
    6TFS͔Βͷ௚SFBE͸

    ڐՄ͠ͳ͍
    Write S3 Read
    ೝূɾೝՄ໰୊

    View Slide




  52. Write S3 Read
    ೝূɾೝՄ໰୊
    αʔό4ؒͷ
    SFBEͷΈڐՄ͢Δ

    View Slide




  53. αʔόͰϓϩΩγ͢Δͱ
    /FUXPSLӽ͠ͷ*0଴͕ͪ
    ੜ͡ΔͷͰϘτϧωοΫ
    ʹͳΓ͏Δʜʜ
    Write S3 Read
    ೝূɾೝՄ໰୊

    View Slide

  54. ೝূɾೝՄ໰୊
    w 4Λ୯ͳΔόοΫΤϯυ4UPSBHFͱͯ͠

    Έͳͯ͠ɼαʔόܦ༝ͰίϯςϯπΛฦ͢
    Α͏ʹ͢Δ
    w γϯϓϧ͕ͩϓϩΩγ͍ͯ͠Δαʔό͕

    ϘτϧωοΫʹͳΔՄೳੑ͕͋Δ

    View Slide

  55. ೝূɾೝՄ
    Write
    S3 (?)
    Read
    Onetime Token
    Onetime Token
    Serve Onetime token
    Onetime Token

    View Slide

  56. ೝূɾೝՄ໰୊
    w αʔό͸POFUJNFUPLFOΛΫϥΠΞϯτʹฦ
    ٫͠ɼΫϥΠΞϯτ͸ͦͷPOFUJNFUPLFOͱ
    ڞʹTUPSBHFʹΞΫηεͯ͠(&5
    w TUPSBHFଆ͕POFUJNFUPLFOͰೝূͯ͠ίϯ
    ςϯπΛฦ͔͢Ͳ͏͔Λ൑அ
    w ͜Ε4ͩͱग़དྷͳ͍ؾ͕͢Δʜʜ

    ग़དྷΔ0CKFDU4UPSBHF͸͋Δͷ͔ʁ

    View Slide

  57. طಡ؅ཧ
    w ୯७ʹϑΟʔυͷϑΝΠϧΛ഑৴͍ͯ͠Δ

    ͚ͩͳͷͰαʔόαΠυͰͷطಡ؅ཧ͕

    ೉͍͠
    w ΫϥΠΞϯτଆʹؤுͬͯ΋Β͏͔͠ʜʜ

    View Slide

  58. ·ͱΊ

    View Slide

  59. ·ͱΊ
    w ΞϓϦ಺௨஌࣮૷ʹ͸༷ʑͳ໰୊͕͋Δ
    w 8SJUFʹدͤΔ͔3FBEʹدͤΔ͔
    w 8SJUFʹدͤͭͭɼ4UPSBHFΛ4ʹ͢Δͱ͍͏
    ΞʔΩςΫνϟͷఏҊ ڊਓͷݞʹ৐Δͧ

    w ͔͠͠·ͩݕ౼͢΂͖໰୊͸͋Δ

    View Slide

  60. ·ͱΊ
    w ΞϓϦ಺௨஌࣮૷ͻͱͭऔͬͯ΋ํ๏͕

    ͨ͘͞Μ͋ͬͯԞ͕ਂ͍
    w ༻్ʹ߹Θͤͯద੾ͳํ๏Λબ୒͢Δ

    ඞཁ͕͋Δ
    w ଞʹ΋ͬͱྑ͍ػߏ͕͋ͬͨΒٞ࿦͠·͠ΐ
    ͏ ͍ͬͦ54%#ʹಥͬࠐΜ͡Ό͏ͱ͔

    View Slide

  61. Q?

    View Slide