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

利用しているBaaSが終了するときにすべきこと または Parse.com の終了と私たちの取り組み

side_tana
March 04, 2017
310k

利用しているBaaSが終了するときにすべきこと または Parse.com の終了と私たちの取り組み

side_tana

March 04, 2017
Tweet

Transcript

  1. YAPC::Kansai
    ར༻͍ͯ͠Δ#BB4͕ऴྃ

    ͢Δͱ͖ʹ͢΂͖͜ͱ

    ·ͨ͸

    1BSTFDPNͷऴྃͱࢲͨͪ

    ͷऔΓ૊Έ
    2017-03-04

    YAPC::Kansai
    1

    View Slide

  2. YAPC::Kansai
    ֓ཁ
    2

    View Slide

  3. YAPC::Kansai
    #BB4ͷϩοΫΠϯͱ͸
    ͳΜͩͬͨͷ͔
    3

    View Slide

  4. YAPC::Kansai
    ࣗݾ঺հ
    4

    View Slide

  5. YAPC::Kansai
    TJEF@UBOB
    FOHJOFFS
    NJYJ JOD
    5

    View Slide

  6. YAPC::Kansai
    OPIBOB
    ຖ݄࡭
    ແྉϑΥτϒοΫ
    6

    View Slide

  7. YAPC::Kansai
    ར༻͍ͯ͠Δ#BB4͕ऴྃ

    ͢Δͱ͖ʹ͢΂͖͜ͱ

    ·ͨ͸

    1BSTFDPNͷऴྃͱࢲͨͪ

    ͷऔΓ૊Έ
    2017-03-04

    YAPC::Kansai
    7

    View Slide

  8. YAPC::Kansai
    ΞδΣϯμ
    w എܠ
    w #BB4ͷϩοΫΠϯʹ͍ͭͯ੔ཧ
    w ࣮ࡍͷϩοΫΠϯͱͷઓ͍
    w ͓ΘΓʹ
    8

    View Slide

  9. YAPC::Kansai
    എܠ
    9

    View Slide

  10. YAPC::Kansai
    1BSTFDPNͱ͸
    10

    View Slide

  11. YAPC::Kansai
    1BSTFDPNͱ͸
    w #BB4 #BDLFOEBTB4FSWJDF
    ͷͻͱͭ
    w J04 "OESPJE ͦͷଞͭͷϓϥοτϑΥʔϜͰ

    ར༻Ͱ͖Δެࣜ4%,
    w ೝূɺݖݶ؅ཧɺ1VTI഑৴ɺ%#ɺϑΝΠϧ
    αʔϏεͳͲ
    w 3&45"1*
    w "QQMJDBUJPO)PTUJOH )FSPLVΈ͍ͨͳ΋Μ΍

    11

    View Slide

  12. YAPC::Kansai
    ϊϋφͱ͸
    12

    View Slide

  13. YAPC::Kansai
    ϊϋφ
    w ϛΫγΟͷࣾ಺ެื੍౓Ͱ࢝·ͬͨ৽نࣄۀ
    w ೥ͷ͜ͱͰ͋ͬͨ
    w ຖ݄Ұ࡭ແྉͰϑΥτϒοΫ͕࡞੒Ͱ͖Δ
    w ͦͷޙࢠձࣾԽ
    w ೥լঢ়αʔϏε౳
    13

    View Slide

  14. YAPC::Kansai
    1BSTFDPNͷ࠾༻
    w ্ཱͪ͛࣌ʹεϐʔυ͕ཁٻ͞Εͨ
    w ΤϯδχΞ໊
    w ࣄۀܧଓՄ൱ͷج४͸ʮϲ݄ͰαʔϏεΠϯʯ
    w αʔόʔͷߏங΍ӡ༻ΑΓΞϓϦʹ஫ྗ
    w ͍ͭͷ·ʹ͔೔ຊʢੈքͰ΋ ʣτοϓΫϥεͷ
    1BSTFDPNϢʔβʹ
    14

    View Slide

  15. YAPC::Kansai
    1BSTFDPNͷ࠾༻
    w ্ཱͪ͛࣌ʹεϐʔυ͕ཁٻ͞Εͨ
    w ΤϯδχΞ໊
    w ࣄۀܧଓՄ൱ͷج४͸ʮϲ݄ͰαʔϏεΠϯʯ
    w αʔόʔͷߏங΍ӡ༻ΑΓΞϓϦʹ஫ྗ
    w ͍ͭͷ·ʹ͔೔ຊʢੈքͰ΋ ʣτοϓΫϥεͷ
    1BSTFDPNϢʔβʹ
    15
    nohana

    Parse.com

    View Slide

  16. YAPC::Kansai
    1BSTFDPNͷ࠾༻
    w ্ཱͪ͛࣌ʹεϐʔυ͕ཁٻ͞Εͨ
    w ΤϯδχΞ໊
    w ࣄۀܧଓՄ൱ͷج४͸ʮϲ݄ͰαʔϏεΠϯʯ
    w αʔόʔͷߏங΍ӡ༻ΑΓΞϓϦʹ஫ྗ
    w ͍ͭͷ·ʹ͔೔ຊʢੈքͰ΋ ʣτοϓΫϥεͷ
    1BSTFDPNϢʔβʹ
    16
    nohana

    Parse.com
    ͦ͏Ͱ΋

    ͳ͍

    View Slide

  17. YAPC::Kansai
    ୤ग़͢Δܭը͸͋ͬͨ
    w αʔϏεͷಛੑ্ɺ݄຤ʹෛՙ͕ूத
    w ݄தͱൺ΂Δͱʙഒ
    w ݄຤ʹͳΔͱ1BSTFDPN͕མͪΔ

    w ਺෼ʙ਺े෼ϦΫΤετ͕௨Βͳ͘ͳΔ
    w ͱ͸͍͑1BSTFDPNଆ΋ؤுͬͯ͘Ε͍ͯͨ
    w "1*αʔό͕೥த०ࠒʹ͔ͳΓվળ
    17

    View Slide

  18. YAPC::Kansai
    ͱ͸͍͑ਏ͍
    w 1BSTFDPNͷ%#ʹཷ·͍ͬͯΔϨίʔυͨͪ
    w (#͙Β͍
    w ࣸਅσʔλ
    w ԯຕ͙Β͍
    w 1BSTFDPNͷαʔϏεʹґଘ͍ͯ͠ΔՕॴ
    w Πϯετʔϧ؅ཧɺϢʔβొ࿥ɺ1VTIɺ
    "QQMJDBUJPO)PTUJOHɺ'JMF)PTUJOHɺFUD
    18

    View Slide

  19. YAPC::Kansai
    զʑ͸ͣͬͱ

    ͜ͷϩοΫΠϯ͔Β

    ୤ग़͢Δํ๏Λ

    ߟ͑ͯདྷ·ͨ͠
    19

    View Slide

  20. YAPC::Kansai
    ͜͜ͰϩοΫΠϯʹ

    ͍ͭͯ੔ཧ͠·͢
    20

    View Slide

  21. YAPC::Kansai
    ػೳʹΑΔϩοΫΠϯ
    21

    View Slide

  22. YAPC::Kansai
    ػೳʹΑΔϩοΫΠϯ
    w 1BSTFDPNͷ"1*
    w 1VTIαʔϏε
    w "QQMJDBUJPO)PTUJOH 7ϕʔε͚ͩͲOPEF

    ͱ͸ҧ͏

    w "OBMZUJDT
    22

    View Slide

  23. YAPC::Kansai
    ͍ͭ͜Β͸࣮૷͢Ε͹
    ͳΜͱ͔ͳΓ·͢
    23

    View Slide

  24. YAPC::Kansai
    ͍ͭ͜Β͸࣮૷͢Ε͹
    ͳΜͱ͔ͳΓ·͢
    24
    ؾ߹ΛೖΕΖ

    ࣃΛ৯͍͠͹Ε

    View Slide

  25. YAPC::Kansai
    σʔλʹΑΔ

    ϩοΫΠϯ
    25

    View Slide

  26. YAPC::Kansai
    σʔλʹΑΔϩοΫΠϯ
    w %#ʹೖ͍ͬͯΔσʔλ
    w ࣸਅͳͲͷϑΝΠϧ
    w ͦͷଞαʔϏεΛӡӦ͍ͯ͠Δؒʹཷ·͍ͬͯ͘

    ༷ʑͳσʔλ
    26

    View Slide

  27. YAPC::Kansai
    ͍ͭ͜Β͸

    ϓϥοτϑΥʔϜͷ

    ڠྗ͕ඞཁ
    27

    View Slide

  28. YAPC::Kansai
    ຊ౰ʹ
    w 3&45"1*Λୟ͖·͘Ε͹σʔλൈ͚Δ͡ΌΜ
    w 6QEBUFE"Uͱ͔ΛΩʔʹͯ͠Ҿ͚͹༨༟༨༟
    28

    View Slide

  29. YAPC::Kansai
    μϝͳྫ
    29

    View Slide

  30. YAPC::Kansai 30
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࣌ࠁ

    View Slide

  31. YAPC::Kansai 31
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࣌ࠁ
    ࡞੒
    σʔλA

    View Slide

  32. YAPC::Kansai 32
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    σʔλA'
    ࣌ࠁ

    View Slide

  33. YAPC::Kansai 33
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    σʔλA'
    ࣌ࠁ
    ߋ৽
    σʔλB

    View Slide

  34. YAPC::Kansai 34
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    ࣌ࠁ
    ߋ৽
    σʔλB औಘ
    σʔλA'
    σʔλB'

    View Slide

  35. YAPC::Kansai 35
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    ࣌ࠁ
    ߋ৽
    σʔλB औಘ
    σʔλA'
    σʔλB'
    ࣌ࠩ͸͋Δ͕

    ΪϦ͍͚Δ

    ʢ͍͚Δͱ͸?ʣ

    View Slide

  36. YAPC::Kansai 36
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    ࣌ࠁ
    ߋ৽
    σʔλB औಘ
    σʔλA'
    σʔλB'
    ࡟আ

    View Slide

  37. YAPC::Kansai 37
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    ࣌ࠁ
    ߋ৽
    σʔλB औಘ
    σʔλA'
    ࡟আ
    औಘ
    σʔλB'

    View Slide

  38. YAPC::Kansai 38
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    ࣌ࠁ
    ߋ৽
    σʔλB औಘ
    σʔλA'
    ࡟আ
    औಘ
    औಘ
    σʔλB'

    View Slide

  39. YAPC::Kansai 39
    Parse.com Ҡߦઌ
    Ϣʔβ
    ࡞੒
    σʔλA औಘ
    ࣌ࠁ
    ߋ৽
    σʔλB औಘ
    σʔλA'
    ࡟আ
    औಘ
    औಘ
    σʔλB'
    ࡟আͨ͠
    σʔλ͕
    ࢒Γଓ͚Δ

    View Slide

  40. YAPC::Kansai
    ͜͏ͯ͠ੈքʹ

    σʔλෆ੔߹͕๚Ε·͢
    40

    View Slide

  41. YAPC::Kansai
    ͜͏ͯ͠ੈքʹ

    σʔλෆ੔߹͕๚Ε·͢
    41
    զʑ͸ઈ๬͢Δ
    ͔͠ͳ͍ͷ͔—

    View Slide

  42. YAPC::Kansai
    Ϣʔβͷೖྗ͔Β

    ෳ੡Ͱ͖Ε͹͍͚Δ
    42

    View Slide

  43. YAPC::Kansai 43
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server
    DB
    Ҡߦઌ

    View Slide

  44. YAPC::Kansai 44
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server
    DB
    Ҡߦઌ
    ͜ΕΛ໨ࢦ͢

    View Slide

  45. YAPC::Kansai 45
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server DB
    Ҡߦઌ
    ͋Δ࣌ࠁҎલ

    ͷσʔλΛ

    ؾ߹Ͱίϐʔ
    ۃΊͯ

    ৴པੑ͕ߴ͍

    Queue
    ͋Δ࣌ࠁҎ߱ͷ

    ϦΫΤετ

    View Slide

  46. YAPC::Kansai 46
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server DB
    Ҡߦઌ
    ίϐʔ׬ྃ!
    ۃΊͯ

    ৴པੑ͕ߴ͍

    Queue
    ͋Δ࣌ࠁҎ߱ͷ

    ϦΫΤετ

    View Slide

  47. YAPC::Kansai 47
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server DB
    Ҡߦઌ
    ۃΊͯ

    ৴པੑ͕ߴ͍

    Queue

    View Slide

  48. YAPC::Kansai 48
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server DB
    Ҡߦઌ
    ۃΊͯ

    ৴པੑ͕ߴ͍

    Queue
    Ωϡʔ͕ۭʹ

    ͳΓ·ͨ͠

    View Slide

  49. YAPC::Kansai 49
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server DB
    Ҡߦઌ
    ۃΊͯ

    ৴པੑ͕ߴ͍

    Queue

    View Slide

  50. YAPC::Kansai 50
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server DB
    Ҡߦઌ

    View Slide

  51. YAPC::Kansai 51
    App Server
    Ϣʔβ
    DB
    Parse.com
    ࢓૊Έ
    App Server DB
    Ҡߦઌ

    View Slide

  52. YAPC::Kansai
    μϝͰ͢
    w ݁ہ%#ͷεφοϓγϣοτ࡞੒͕ඞཁ
    w 3&45ܦ༝Ͱͷεφοϓγϣοτ࡞੒͸͕࣌ؒ

    ͔͔Γ͗͢Δ
    w Ұ൪େ͖͍ςʔϒϧͰ਺೔͸͔͔ΔݟࠐΈ
    w ׬શͳTOBQTIPUΛ࡞ΔͨΊʹ͸ॻ͖ࠐΈΛࢭ
    ΊΔඞཁ͕͋Δ
    w ਺೔ؒαʔϏεΛࢭΊΔ
    52

    View Slide

  53. YAPC::Kansai
    μϝͰ͢
    w ݁ہ%#ͷεφοϓγϣοτ࡞੒͕ඞཁ
    w 3&45ܦ༝Ͱͷεφοϓγϣοτ࡞੒͸͕࣌ؒ

    ͔͔Γ͗͢Δ
    w Ұ൪େ͖͍ςʔϒϧͰ਺೔͸͔͔ΔݟࠐΈ
    w ׬શͳTOBQTIPUΛ࡞ΔͨΊʹ͸ॻ͖ࠐΈΛࢭ
    ΊΔඞཁ͕͋Δ
    w ਺೔ؒαʔϏεΛࢭΊΔ
    53

    View Slide

  54. YAPC::Kansai
    ϓϥοτϑΥʔϜͷ

    ڠྗͳ͠Ͱ%#Ҡߦ

    ͢Δͷ͸׬શʹमཏ
    54

    View Slide

  55. YAPC::Kansai
    1BSTFDPN͔Β
    ൈ͚ग़ͤͳ͍··

    ա͢͝೔ʑŠ
    55

    View Slide

  56. YAPC::Kansai
    ऴΘΓ͸౜ಥʹ

    ΍ͬͯདྷ·͢
    56

    View Slide

  57. YAPC::Kansai
    2016-01-28
    57

    View Slide

  58. YAPC::Kansai 58

    View Slide

  59. YAPC::Kansai 59

    View Slide

  60. YAPC::Kansai
    ೥݄೔ ೥ޙ

    1BSTFDPN׬શऴྃ
    60

    View Slide

  61. YAPC::Kansai
    ͦͯ͠Կ౓໨͔ͷ

    1BSTFDPN୤ग़͕
    ࢝·Δ
    61

    View Slide

  62. YAPC::Kansai
    ਓͷνʔϜͰ΍ͬͯ
    ͍͖·͢
    62

    View Slide

  63. YAPC::Kansai
    ୤٫Τϐιʔυͷ

    ͝঺հ
    63

    View Slide

  64. YAPC::Kansai
    ͜͜Ͱ΋σʔλͱػೳͱ
    ͍͏ࢹ఺Ͱݟ͍͖ͯ·͢
    64

    View Slide

  65. YAPC::Kansai
    ػೳ໘ͷ୤ग़
    65

    View Slide

  66. YAPC::Kansai
    ػೳ໘ͷ୤ग़
    w "1*
    w 1VTI
    w ϞχλϦϯά
    w ωοτϫʔΫͱ͔εέʔϦϯάͱ͔
    66

    View Slide

  67. YAPC::Kansai
    "1*
    w OPEFKTͰ࡞ΒΕͨޓ׵"1*αʔό͕ར༻Մೳ
    w QBSTFTFSWFS໊ͬͯલͰ͢
    w "QQMJDBUJPO)PTUJOHपΓ͸͕ͬͭΓ࣮૷
    w 4%,ʹBQJQBSTFDPN͕ຒΊࠐ·ΕͯΔ
    w 1BSTFDPN5JQϔομͷ"QQ*EΛݟΔ
    w ωΠςΟϒΞϓϦͷ੾Γସ͑ʹ͸ϦϦʔε͕ඞཁ
    67

    View Slide

  68. YAPC::Kansai
    "1*
    w OPEFKTͰ࡞ΒΕͨޓ׵"1*αʔό͕ར༻Մೳ
    w QBSTFTFSWFS໊ͬͯલͰ͢
    w "QQMJDBUJPO)PTUJOHपΓ͸͕ͬͭΓ࣮૷
    w 4%,ʹBQJQBSTFDPN͕ຒΊࠐ·ΕͯΔ
    w 1BSTFDPN5JQϔομͷ"QQ*EΛݟΔ
    w ωΠςΟϒΞϓϦͷ੾Γସ͑ʹ͸ϦϦʔε͕ඞཁ
    68

    View Slide

  69. YAPC::Kansai
    "1*
    w OPEFKTͰ࡞ΒΕͨޓ׵"1*αʔό͕ར༻Մೳ
    w QBSTFTFSWFS໊ͬͯલͰ͢
    w "QQMJDBUJPO)PTUJOHपΓ͸͕ͬͭΓ࣮૷
    w 4%,ʹBQJQBSTFDPN͕ຒΊࠐ·ΕͯΔ
    w 1BSTFDPN5JQϔομͷ"QQ*EΛݟΔ
    w ωΠςΟϒΞϓϦͷ੾Γସ͑ʹ͸ϦϦʔε͕ඞཁ
    69
    ͑ͬ͑ͬ

    ා͍

    View Slide

  70. YAPC::Kansai
    ා͘ͳ͍
    w ΋ͪΖΜॆ෼֬ೝ͸͢Δ
    w ͱ͸͍͑͜ͷੈʹ׬શ͸ͳ͍
    w Ͳ͔͕ͬͿͬյΕͨΒͲ͏͢Δ͔
    w ΞϓϦΛ௚͢PS1BSTFDPNʹ޲͖ઌΛ໭͢
    w J04͸ϦϦʔεલʹ৹͕ࠪ͋Γ͕͔͔࣌ؒΔ
    70

    View Slide

  71. YAPC::Kansai
    ઓུ͸Έͬͭ
    w %/4εΠον࡞ઓ
    w 1SPYZ࡞ઓ
    w ϦϞʔτίϯϑΟά࡞ઓ
    71

    View Slide

  72. YAPC::Kansai
    %/4εΠον࡞ઓ
    4FMGIPTUJOHͷ؀ڥΛߏங͢Δ
    %/4ͷ55-Λ୹Ίʹ͢Δ
    %/4ϨίʔυΛॻ͖׵͑ͯ1BSTFDPNͷ؀ڥ͔
    Βࣗ෼ͨͪͷ؀ڥ΁τϥϑΟοΫΛ޲͚Δ

    72

    View Slide

  73. YAPC::Kansai
    %/4εΠον࡞ઓ
    ΍Γ·ͤΜͰͨ͠ʢ΍Εͳ͔ͬͨʣ
    w BQJQBSTFDPN͕؅ཧԼͳΒ࢖͑ͨ
    w ΋͘͠͸1BSTFDPN͕ಠࣗυϝΠϯ4/*Λαϙʔ
    τ͍ͯ͠Ε͹
    w ੾Γ໭͠΋͠΍͍͢ͷͰ࢖͑ΔͳΒ͍͍࡞ઓ
    w 3ͷ%/4ϥ΢ϯυϩϏϯͳΒ͔ͳΓॊೈʹ

    τϥϑΟοΫΛ੍ޚͰ͖Δ
    w ୺຤ͷΩϟογϡ͸੍ޚͰ͖ͳ͍ͷͰෆ͔҆΋
    73

    View Slide

  74. YAPC::Kansai
    1SPYZ࡞ઓ
    w 1SPYZαʔόΛ༻ҙ
    w ΞοϓετϦʔϜʹ1BSTFDPNͱ4FMG
    IPTUJOHͷ؀ڥΛ༻ҙ͢Δ
    w 1SPYZαʔόͰྲྀྔΛௐ੔͠ͳ͕ΒϦϦʔε
    74

    View Slide

  75. YAPC::Kansai 75
    Proxy
    App
    Parse.com
    nohana

    View Slide

  76. YAPC::Kansai 76
    Proxy
    App
    Parse.com
    nohana
    զʑ
    ઃఆ

    View Slide

  77. YAPC::Kansai 77
    Proxy
    App
    Parse.com
    nohana
    զʑ
    ઃఆ

    View Slide

  78. YAPC::Kansai
    1SPYZ࡞ઓ
    w ΍Βͳ͔ͬͨ
    w 1SPYZΛߏஙɾݕূ͢Δ༨༟͕ͳ͔ͬͨ
    w Ҡߦ׬ྃ·ͰαʔόΛอ࣋͠ͳ͍ͱ͍͚ͳ͍
    w ༨༟͕͋Ε͹΍͔ͬͨ΋
    78

    View Slide

  79. YAPC::Kansai
    ϦϞʔτίϯϑΟά࡞ઓ
    w J04͸͜ΕͰ΍Γ·ͨ͠
    w ΞϓϦ͔Β֎෦ͷઃఆΛࢀরͤ͞Δ
    w ઃఆʹैͬͯΤϯυϙΠϯτΛมߋ͢Δ
    79

    View Slide

  80. YAPC::Kansai 80
    App
    Parse.com
    nohana
    ઃఆ

    View Slide

  81. YAPC::Kansai 81
    App
    Parse.com
    nohana
    ઃఆ զʑ

    View Slide

  82. YAPC::Kansai 82
    App
    Parse.com
    nohana
    ઃఆ զʑ

    View Slide

  83. YAPC::Kansai
    ϦϞʔτίϯϑΟά࡞ઓ
    w ϝϦοτ
    w ӡ༻͕ඞཁͳίϯϙʔωϯτ͕গͳ͍
    w ੾Γ໭͠΋Մೳ
    w σϝϦοτ
    w ΞϓϦ։ൃͷ޻਺͕͔͔Δ
    83

    View Slide

  84. YAPC::Kansai

    84

    View Slide

  85. YAPC::Kansai
    ػೳ໘ͷ୤ग़
    w "1*
    w 1VTI
    w ϞχλϦϯά
    w ωοτϫʔΫͱ͔εέʔϦϯάͱ͔
    85

    View Slide

  86. YAPC::Kansai
    1VTIҠߦ
    ݄͙Β͍͔Β΍ͬͯͨ
    ๻ʮΑʙ͠1VTIҠߦ΍Δͧʙʯ
    ๻ʮJ04͸"1/Tͬͯ΍ͭͰͰ͖Δͷ͔ʙͳΔ΄
    Ͳʙʯ
    ๻ʮ%FWJDF5PLFO͸%#ʹೖͬͯΔ΍ͭͰʙʯ
    ๻ʮͰ͖ͨʙʯ
    86

    View Slide

  87. YAPC::Kansai
    1VTIҠߦ
    ๻ʮΑʙ͠1VTIҠߦ΍Δͧʙʯ
    ๻ʮJ04͸"1/Tͬͯ΍ͭͰͰ͖Δͷ͔ʙͳΔ΄
    Ͳʙʯ
    ๻ʮ%FWJDF5PLFO͸%#ʹೖͬͯΔ΍ͭͰʙʯ
    ๻ʮͰ͖ͨʙʯ
    87
    ׬

    View Slide

  88. YAPC::Kansai
    1VTIҠߦ
    ๻ʮΑʙ͠1VTIҠߦ΍Δͧʙʯ
    ๻ʮJ04͸"1/Tͬͯ΍ͭͰͰ͖Δͷ͔ʙͳΔ΄
    Ͳʙʯ
    ๻ʮ%FWJDF5PLFO͸%#ʹೖͬͯΔ΍ͭͰʙʯ
    ๻ʮͰ͖ͨʙʯ
    88
    ׬
    ׬Ͱ͸ͳ͍

    View Slide

  89. YAPC::Kansai
    1VTIҠߦ
    ๻ʮ"OESPJE͸($.ͬͯ΍ͭͰͰ͖Δͷ͔ʙʯ
    ๻ʮ͋Ε%FWJDF5PLFO͕ͳ͍ʯ
    ๻ʮ4FOEFS*Eͷઃఆ΋ۭͬΆͩʯ
    ๻ʮʯ
    ๻ʮ͑ͬͰ΋1VTIૹΕͯΔԿ͜Εʯ
    89

    View Slide

  90. YAPC::Kansai
    Կ͕ى͖͍ͯͨͷ͔
    w 1BSTFDPNͷ4%,͕͍͍ײ͡ʹ΍ͬͯ͘Εͯͨ
    w %FWJDF5PLFO΍ૹ৴ʹඞཁͳ৘ใ͸શͯ
    1BSTFDPNͷΞΧ΢ϯτ͕࢖ΘΕΔʢͬΆ͍ʣ
    w ΞΧ΢ϯτ৘ใ͕ެ։͞ΕͨΓ͸͠ͳ͍
    w ౰વͰ͢ͳ
    90

    View Slide

  91. YAPC::Kansai
    Ͳ͏ͨ͠ͷ͔
    w 1BSTFDPNͷ1VTIͰ͸ࣗ෼ͷ($.ΞΧ΢ϯτ
    Λར༻͢Δ͜ͱ͕Մೳ
    w ೥ͷ݄ͷϦϦʔε
    w ·ͣ($.ରԠ൛ΛϦϦʔε
    w ॆ෼ਁಁͨ͠ͱ͜ΖͰಠࣗ1VTI΁੾Γସ͑
    w ·͔͜͞Μͳ͜ͱ͕͋Δͱ͸
    91

    View Slide

  92. YAPC::Kansai
    ػೳ໘ͷ୤ग़
    w "1*
    w 1VTI
    w ϞχλϦϯά
    w &MBTUJD4FBSDI,JCBOB 4UBDLESJWFS
    w ωοτϫʔΫͱ͔εέʔϦϯάͱ͔
    w ($1ͷػೳΛͦͷ··࢖ͬͯ·͢
    92

    View Slide

  93. YAPC::Kansai
    σʔλͷ୤ग़
    93

    View Slide

  94. YAPC::Kansai
    σʔλͷ୤ग़
    w %#ͷҠߦ
    w ϑΝΠϧετϨʔδͷҠߦ
    94

    View Slide

  95. YAPC::Kansai
    %#ͷҠߦ
    w 1BSTFDPNʹΑΔαϙʔτ
    w %#ҠߦπʔϧΛग़ͯ͘͠Εͨ
    w ͪ͜Β͸.POHP%#Λ༻ҙ
    95

    View Slide

  96. YAPC::Kansai
    %#Ҡߦπʔϧͷڍಈ
    96

    View Slide

  97. YAPC::Kansai
    w 4UFQࠓͷঢ়ଶ
    97
    API Server
    Client
    Parse.com
    Snapshot
    DB
    parse-server DB
    Ҡߦઌ

    View Slide

  98. YAPC::Kansai
    w 4UFQ4OBQTIPUͷ࡞੒
    98
    API Server
    Client
    Parse.com
    parse-server DB
    Ҡߦઌ
    Snapshot
    DB

    View Slide

  99. YAPC::Kansai
    w 4UFQ4OBQTIPU͔Βͷίϐʔ
    99
    API Server
    Client
    Parse.com
    parse-server DB
    Ҡߦઌ
    Snapshot
    DB

    View Slide

  100. YAPC::Kansai
    w 4UFQ4OBQTIPUΑΓޙͷσʔλΛಉظ
    100
    API Server
    Client
    Parse.com
    parse-server DB
    Ҡߦઌ
    Snapshot
    DB

    View Slide

  101. YAPC::Kansai
    w 4UFQ%#੾Γସ͑
    101
    API Server
    Client
    parse-server DB
    Ҡߦઌ
    Snapshot
    DB
    Parse.com

    View Slide

  102. YAPC::Kansai
    ݕূ ݄

    102

    View Slide

  103. YAPC::Kansai
    ݕূ ݄

    εφοϓγϣοτ͔ΒσʔλΛίϐʔ
    w ΄΅໰୊ͳ͍
    .BTUFSͱಉظ
    w ݁ߏ͕͔͔࣌ؒΔ
    w ಉظ։͔࢝Β࣌ؒͰࣗಈΩϟϯηϧ
    %#ͷ޲͖ઌมߋ
    w ʢ໭ͤͳ͍ͷͰ࣮ࢪͤͣʣ
    103

    View Slide

  104. YAPC::Kansai

    104

    View Slide

  105. YAPC::Kansai
    ࣮ࢪ ݄

    105

    View Slide

  106. YAPC::Kansai
    ࣮ࢪ ݄

    106
    ͱʹ͔͘

    ࣦഊ

    ͠·͘Δ!!

    View Slide

  107. YAPC::Kansai
    ࣮ࢪ ݄

    ͱʹ͔ࣦ͘ഊ͠·͘Δ
    εφοϓγϣοτ͔ΒͷίϐʔͰࣦഊ͢Δ
    w ϝτϦΫεΛݟΔͱͳ͔ͥ%#ͷ༰ྔ͕ݮΔ
    w ௨৴ͷࣦഊ͕ى͖Δͱςʔϒϧ୯ҐͰϦτϥΠ
    w ϦτϥΠ͕ଓ͘ͱউखʹΩϟϯηϧ͞ΕΔ
    .BTUFSͱͷಉظʹ͕͔͔࣌ؒΓ·͘Δ
    w ͰϦτϥΠͨ͠ͿΜ.BTUFSͷਐΈ͕ܹ͍͠
    w ಉظ͕ؒʹ߹Θͣ࣌ؒܦաΩϟϯηϧ͞ΕΔ
    107

    View Slide

  108. YAPC::Kansai
    %#.JHSBUJPOͷ࣮ࢪ ݄

    εφοϓγϣοτ͔ΒσʔλΛίϐʔ
    w ΄΅໰୊ͳ͍
    .BTUFSͱಉظ
    w ஗͍ɾΊͬͪΌࣦഊ͢Δ
    w ࣦഊ͢ΔͱϦτϥΠ͢Δ
    w ϦτϥΠΛ܁Γฦ࣌ؒ͠ܦաΩϟϯηϧ
    %#ͷ޲͖ઌมߋ
    w
    108
    2ճࣦഊͨ͠
    3ճ໨Ͱ

    ΍ͬͱ੒ޭ


    View Slide

  109. YAPC::Kansai
    σʔλͷ୤ग़
    w %#ͷҠߦ
    w ϑΝΠϧετϨʔδͷҠߦ
    109

    View Slide

  110. YAPC::Kansai
    ϑΝΠϧετϨʔδͷҠߦ
    w πʔϧ͸ͳ͍
    w ͳ͍ɺͱ͍͏ͱӕ
    w ೥ͷ݄ʹग़·ͨ͠
    w Ͱ΋Ұ෦ͷ؀ڥͰ͸࢖͑ͳ͔ͬͨ
    w ࣗલͰҠߦπʔϧΛ։ൃ͍ͯ͘͠ඞཁ͕͋Δ
    w ͭ·ΓमཏͰ͢
    110

    View Slide

  111. YAPC::Kansai
    Ҡߦظͷߏ੒
    111

    View Slide

  112. YAPC::Kansai
    z
    112
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB

    View Slide

  113. YAPC::Kansai
    z
    113
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg

    View Slide

  114. YAPC::Kansai
    z
    114
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg

    View Slide

  115. YAPC::Kansai
    z
    115
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg
    a.jpg

    View Slide

  116. YAPC::Kansai
    z
    116
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    x.jpg
    a.jpg
    x.jpg
    a.jpg

    View Slide

  117. YAPC::Kansai
    z
    117
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    ϑΝΠϧ໊

    ͔͠อଘ

    ͞Εͳ͍

    View Slide

  118. YAPC::Kansai
    z
    118
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    GET a.jpg

    View Slide

  119. YAPC::Kansai
    z
    119
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    GET a.jpg
    a.jpg

    View Slide

  120. YAPC::Kansai
    z
    120
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    GET a.jpg
    a.jpg 404

    View Slide

  121. YAPC::Kansai
    z
    121
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    GET a.jpg
    a.jpg 404
    ࣸਅফ͑ͨΜ
    Ͱ͚͢Ͳ

    View Slide

  122. YAPC::Kansai
    z
    122
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg

    View Slide

  123. YAPC::Kansai
    z
    123
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    ίίΛಉظ͍ͨ͠
    ͜͏͍ͬͨܗΛ
    ߟ͑·͢

    View Slide

  124. YAPC::Kansai
    z
    124
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    x.jpg a.jpg

    View Slide

  125. YAPC::Kansai
    z
    125
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    x.jpg a.jpg
    μϒϧϥΠτͩʂ

    View Slide

  126. YAPC::Kansai
    z
    126
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    x.jpg a.jpg

    View Slide

  127. YAPC::Kansai
    z
    127
    parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    x.jpg a.jpg
    API Server
    զʑͷ؅ཧ֎

    ! ͜͜ͷ࣮૷͸௥ՃͰ͖ͳ͍ !

    View Slide

  128. YAPC::Kansai
    z
    128
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    ίίΛಉظ͍ͨ͠
    զʑ͸ઈ๬͢Δ
    ͔͠ͳ͍ͷ͔—

    View Slide

  129. YAPC::Kansai
    z
    129
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg x.jpg
    a.jpg
    x.jpg
    ίίΛಉظ͍ͨ͠
    զʑ͸ઈ๬͢Δ
    ͔͠ͳ͍ͷ͔—
    ͜͜Ͱ࿕ใͰ͢

    View Slide

  130. YAPC::Kansai
    z
    130
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg a.jpg
    Upload Gateway
    a.jpg a.jpg
    a.jpg

    View Slide

  131. YAPC::Kansai
    z
    131
    API Server parse-server
    Storage
    Ҡߦઌ
    Storage
    Parse.com
    DB
    a.jpg a.jpg
    Upload Gateway
    a.jpg a.jpg
    a.jpg
    ͜Ε͕ͳ͚Ε͹

    ϚδͰ

    ΍͹͔ͬͨ

    View Slide

  132. YAPC::Kansai
    ୤٫Τϐιʔυऴྃ
    w ϩοΫΠϯ͔Βͷ୤ग़෩ܠΛݟ͖ͯ·ͨ͠
    w σʔλ໘ͷ୤ग़
    w ػೳ໘ͷ୤ग़
    132

    View Slide

  133. YAPC::Kansai
    ͓ΘΓʹ
    133

    View Slide

  134. YAPC::Kansai
    ࠓճ୤ग़Ͱ͖ͨͷ͸
    1BSTFDPNͷ͓͔͛
    w 1BSTFDPNʹΑΔ%#Ҡߦπʔϧ΍"1*αʔόͷ
    ޓ׵࣮૷͕ͳ͚Ε͹ແཧͩͬͨ
    w ಛʹσʔλ͕ϚδͰແཧ
    134

    View Slide

  135. YAPC::Kansai
    #BB4ͷར༻͸आۚʹ͍ۙ
    w #BB4Λར༻͢Δ͜ͱͰ։ൃظؒͷ୹ॖ͸Մೳ
    w ͱ͘ʹճ໨ɺճ໨ͷϓϩδΣΫτ
    w ར༻͠ଓ͚Δͱ୤ग़͸೉͘͠ͳΔ
    w σʔλ͸૿͑ɺґଘ͢Δػೳ΋૿͍͑ͯ͘
    w #BB4ΑΓઌʹαʔϏε͕ऴΘͬͨΒ׬શͳউར
    135

    View Slide

  136. YAPC::Kansai
    ͦΕͰ΋#BB4Λ࢖͏ͳΒ
    w "1*ΤϯυϙΠϯτͷυϝΠϯΛ؅ཧԼʹஔ͘PS
    ΤϯυϙΠϯτ੾Γସ͑ͷ࢓૊ΈΛೖΕΔ
    w ࠾༻͢ΔͳΒαʔϏε͕੒ޭ࢝͠ΊͨΒଈ࠲ʹ୤٫
    ͢Δͭ΋ΓͰܭը͢Δ
    w ෲΛܾΊΔ
    136

    View Slide

  137. YAPC::Kansai
    ར༻͍ͯ͠Δ#BB4͕ऴྃ

    ͢Δͱ͖ʹ͢΂͖͜ͱ

    ·ͨ͸

    1BSTFDPNͷऴྃͱࢲͨͪ

    ͷऔΓ૊Έ
    2017-03-04

    YAPC::Kansai
    137

    View Slide