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

RxJS と Netflix から学ぶリアクティブプログラミング

RxJS と Netflix から学ぶリアクティブプログラミング

Masayoshi Tokumoto

November 07, 2021
Tweet

More Decks by Masayoshi Tokumoto

Other Decks in Technology

Transcript

  1. ࿩͢͜ͱ w ϦΞΫςΟϒϓϩάϥϛϯάͱ͸ w 3Y+4ͱ͸ w ϦΞΫςΟϒϓϩάϥϛϯάʹର͢Δ൓࿦ w /FU fl

    JY͕࠾༻ͨ͠ཧ༝ w 3Y+4ͷ೉఺ w Ͳ͏͍͏࣌ʹ࠾༻͢΂͖͔ ˞࢓ࣄͰগ͚ͩ͠࢖ͬͨΓɺௐ΂ͨΓͨ͠ݱ࣌఺ͰͷݟղʢਪଌࠐΈʣͱͳΓ·͢
  2. ϦΞΫςΟϒϓϩάϥϛϯά w ෳࡶͳඇಉظॲཧΛ؆ܿʹɺએݴతʹॻ͚Δϓϩάϥϛϯάͷύ ϥμΠϜͷͭ w ݫີʮؔ਺ܕʯϦΞΫςΟϒϓϩάϥϛϯάͱ͔͋ΔΒ͍͚͠ͲͱΓ͋͑ͣ ࠓճ͸·ͱΊ·͢ w ࠓճ࿩Λ͢Δͷ͸3FBDUJWF9ʹ͍ͭͯͰ͢ w

    ϢʔεέʔεʹΑͬͯ͸ύϑΥʔϚϯε΋޲্͢Δ w ࣌ม஋ʢ࣌ؒΛ௨ͯ͠มΘΓଓ͚Δ஋ʣͷϋϯυϦϯά͕ಘҙ w ਖ਼֬ʹ͸ʮมΘΓଓ͚Δ஋ͷ఻೻ʯͷϋϯυϦϯάʹڧΈ͕͋Δͱࢥͬͯ ·͢
  3. 3Y+4 w 3FBDUJWF9ͷ+4QPSU w ΠϕϯτΛίϨΫγϣϯͱͯ͠ ѻ͏ w Πϕϯτͷू߹ΛPQFSBUPSTͰ ૢ࡞͢Δ ˠએݴతɾ؆ܿʹॻ͚Δ

    w ෳ਺ͷPQFSBUPSΛ࢖ͬͯ΋શ ͯͷཁૉΛ૸ࠪ͠ͳ͍ w "KBYͷΩϟϯηϧ͕Ͱ͖Δ ˠޮ཰తʹॲཧͰ͖Δ
  4. ඇಉظॲཧͷ೉͠͞ ϝϞϦϦʔΫͷ᠘ SBDFDPOEJUJPO w DBODFM#VUUPOͷΠϕϯτొ࿥ ΛVOTVCTDSJCFͰ͖͍ͯͳ͍  w ෳ਺ͷඇಉظॲཧΛಉ࣌ʹߦͳ ͬͨ৔߹͸SBDFDPOEJUJPO͕

    ൃੜ͢Δ ී௨ͷ%0.Ͱ͋Ε͹ͦΕ͕ফ͑Ε͹ SFNPWF͞ΕΔͬΆ͍͕ɺ3FBDU΍7VF Ͱ͸SFNPWFΛҙࣝͨ͠΄͏͕͍͍Β͍͠
  5. એݴత͔ͭ؆ܿʹॻ͚Δ 3FBDUJWF9ͷύϫʔ w ֤ΠϕϯτΛҰ࿈ͷίʔϧόοΫ Ͱ͸ͳ͘σʔλͷίϨΫγϣϯͱ ͯ͠ϞσϧԽ w ϝϞϦ಺ͷίϨΫγϣϯΛม׵͢ Δͷͱ΄΅ಉ͡ํ๏ͰΠϕϯτΛ ม׵

    w ΠϕϯτͷγʔέϯεɺϑΟϧλ Ϧϯάɺ͓Αͼม׵ʹ࢖༻Ͱ͖Δ 42-ͷΑ͏ͳΫΤϦݴޠΛ։ൃ ऀʹఏڙ w ಉظΤϥʔॲཧͱಉ༷ͷํ๏Ͱඇ ಉظΤϥʔΛ఻೻͓Αͼॲཧ͢Δ
  6. ϦΞΫςΟϒϓϩάϥϛϯάʹର͢Δ൓࿦ w هࣄʮϦΞΫςΟϒϓϩάϥϛϯάͱ͸Կͩͬͨͷ͔ʯ w ׳Εͳ͍ॻ͖ํ͕ଟͯ͘ਏ͍ɾΘ͔ΓͮΒ͍ 
 ˠ͜Ε͸3Y+4࡞ऀ΋ೝΊ͍ͯΔʢֶशۂઢ͕͋Δʣ w Ծ૝%0.ͱ૬ੑ͕ѱ͍ 


    ˠهࣄ಺Ͱڍ͛ΒΕ͍ͯΔ೉఺͸3FBDU)PPLTʢVTF0CTFSWBCMFʣ ͕Ͱ͖ͯղܾࡁ w ίʔυΛൺֱ͍ͯ͠Δ͕ࢀߟهࣄͷதͷ੾ΓऔΒΕͨʮҰ࣌ʯͷʮ έʔεʯ͚ͩͰ൑அ͍ͯ͠Δ w 3Y΍ϦΞΫςΟϒϓϩάϥϛϯά͸ʮෳࡶͳඇಉظॲཧΛίϯϙʔβϒϧʹղܾ Ͱ͖Δʯͷ͕΢Ϧ w υϥοάυϩοϓʹΑΔΠϕϯτɾηϯαʔ͔ΒσʔλΛܧଓతʹड͚औΔέ ʔεͰߟ͑ͨΓɺཁ͕݅มΘͬͨࡍͷ֦ுੑͳͲ͸ߟྀʹೖͬͯͳ͍
  7. /FUGMJYͱ3Y w /FU fl JY͸ϑϩϯτΤϯυͱ"1*྆ํʹ3YΛར༻͍ͯ͠Δ ʢ3Y+4ɾ3Y/&5ɾ3Y+BWBʣ  w ͪͳΈʹ3Y+4ͷϦʔυίϛολʔ΋SFEVYPCTFSWBCMFͷ࡞ ऀ΋/FU

    fl JYͷΤϯδχΞ 
 
 IUUQTOFU fl JYUFDICMPHDPNPQUJNJ[JOHUIFOFU fl JYBQJDBDDG IUUQTOFU fl JYUFDICMPHDPNSFBDUJWFQSPHSBNNJOHBUOFU fl JYCEE
  8. /FUGMJYͱ3Y /FU fl JYͷඇಉظॲཧ·ͱΊ w ඇಉظɾฒྻͷ3Y+BWB"1*͔ΒͷϨεϙϯεΛਵ࣌ड͚औΔ w ࣌ؒͷܦաʹԠͯ͡ෳ਺ͷϦΫΤετʹ෼͚ͯετϦʔϛϯάσ ʔλΛऔಘ͍ͯ͠Δ w

    σʔλऔಘͷλΠϛϯά͕ଟ͍ʢϖʔδΛ։͍ͨ࣌ʹྲྀΕΔϓϨ Ϗϡʔɾϗόʔ࣌ͷϓϨϏϡʔɾಈըͷຊฤFUDʣ w Ξχϝʔγϣϯ͕ଟ͍ʢϗόʔ࣌ɾΤϐιʔυؒͷදࣔFUDʣ w ͦͯͦ͠ΕΒશ͕ͯΩϟϯηϧ͢Δ͜ͱ΋͋Δ