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
RxJS と Netflix から学ぶリアクティブプログラミング
Search
Masayoshi Tokumoto
November 07, 2021
Technology
0
42
RxJS と Netflix から学ぶリアクティブプログラミング
Masayoshi Tokumoto
November 07, 2021
Tweet
Share
More Decks by Masayoshi Tokumoto
See All by Masayoshi Tokumoto
プロダクト・人・チームをいい感じにするためのシステム思考
sasumasa
0
59
GraphQL を完全に理解する
sasumasa
0
38
Stimulus × Jest × Direct Upload × Image Fluxで カオスなJS環境と画像アップロード機能を改善しつつユーザーの投稿率を上げた話
sasumasa
1
360
キャパを超えた大型プロジェクトから学んだこと
sasumasa
0
1.4k
RailsエンジニアがStimulus + 生JSだけで約半年のプロジェクトを終えた今思うこと
sasumasa
0
340
IKUSEI on Rails
sasumasa
2
1.9k
文系から半年でRuby(Sinatra, Rails)を学んだら人生変わった@沖縄Ruby会議02
sasumasa
9
19k
Other Decks in Technology
See All in Technology
M365アカウント侵害時の初動対応
lhazy
7
5.1k
「AI駆動開発」のボトルネック『言語化』を効率化するには
taniiicom
1
210
激動の時代、新卒エンジニアはAIツールにどう向き合うか。 [LayerX Bet AI Day Countdown LT Day1 ツールの選択]
tak848
0
610
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
110
生成AIによる情報システムへのインパクト
taka_aki
1
200
Power Automate のパフォーマンス改善レシピ / Power Automate Performance Improvement Recipes
karamem0
0
270
モバイルゲームの開発を支える基盤の歩み ~再現性のある開発ラインを量産する秘訣~
qualiarts
0
610
Jitera Company Deck / JP
jitera
0
250
データエンジニアがクラシルでやりたいことの現在地
gappy50
3
660
TypeScript 上達の道
ysknsid25
23
4.8k
大規模組織にAIエージェントを迅速に導入するためのセキュリティの勘所 / AI agents for large-scale organizations
i35_267
6
330
ユーザー理解の爆速化とPdMの価値
kakehashi
PRO
1
110
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
Side Projects
sachag
455
43k
Faster Mobile Websites
deanohume
308
31k
Agile that works and the tools we love
rasmusluckow
329
21k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
A better future with KSS
kneath
238
17k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
530
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
!TBTVNBTBY 3Y+4ͱ/FUGMJY͔ΒֶͿ ϦΞΫςΟϒϓϩάϥϛϯά
͢͜ͱ w ϦΞΫςΟϒϓϩάϥϛϯάͱ w 3Y+4ͱ w ϦΞΫςΟϒϓϩάϥϛϯάʹର͢Δ w /FU fl
JY͕࠾༻ͨ͠ཧ༝ w 3Y+4ͷ w Ͳ͏͍͏࣌ʹ࠾༻͖͔͢ ˞ࣄͰগ͚ͩͬͨ͠ΓɺௐͨΓͨ͠ݱ࣌ͰͷݟղʢਪଌࠐΈʣͱͳΓ·͢
ϦΞΫςΟϒϓϩάϥϛϯά w ෳࡶͳඇಉظॲཧΛ؆ܿʹɺએݴతʹॻ͚Δϓϩάϥϛϯάͷύ ϥμΠϜͷͭ w ݫີʮؔܕʯϦΞΫςΟϒϓϩάϥϛϯάͱ͔͋ΔΒ͍͚͠ͲͱΓ͋͑ͣ ࠓճ·ͱΊ·͢ w ࠓճΛ͢Δͷ3FBDUJWF9ʹ͍ͭͯͰ͢ w
ϢʔεέʔεʹΑͬͯύϑΥʔϚϯε্͢Δ w ࣌มʢ࣌ؒΛ௨ͯ͠มΘΓଓ͚ΔʣͷϋϯυϦϯά͕ಘҙ w ਖ਼֬ʹʮมΘΓଓ͚ΔͷʯͷϋϯυϦϯάʹڧΈ͕͋Δͱࢥͬͯ ·͢
3FBDUJWF9 3FBDUJWF9JTBDPNCJOBUJPOPGUIFCFTUJEFBTGSPNUIF 0CTFSWFSQBUUFSO UIF*UFSBUPSQBUUFSO BOEGVODUJPOBM QSPHSBNNJOH .JDSPTPGUͷ3Y/&5͔Β࢝·Γɺ͍ΖΜͳݴޠʹQPSU͕͋Δ IUUQTSFBDUJWFYJPJOUSPIUNM
3FBDUJWF9
3FBDUJWF9
3Y+4 w 3FBDUJWF9ͷ+4QPSU w ΠϕϯτΛίϨΫγϣϯͱͯ͠ ѻ͏ w Πϕϯτͷू߹ΛPQFSBUPSTͰ ૢ࡞͢Δ ˠએݴతɾ؆ܿʹॻ͚Δ
w ෳͷPQFSBUPSΛͬͯશ ͯͷཁૉΛࠪ͠ͳ͍ w "KBYͷΩϟϯηϧ͕Ͱ͖Δ ˠޮతʹॲཧͰ͖Δ
ඇಉظॲཧͷ͠͞ /FU fl JYͷQMBZؔͷαϯϓϧ IUUQTXXXZPVUVCFDPNXBUDI W'";+TYDZL1T
ඇಉظॲཧͷ͠͞ $BMMCBDL)FMM༨ͳ4UBUFͷ૿Ճ w DBMMCBDLͱUSZ'JOJTIͱ͍͏ ͭͷίʔϧόοΫΛݺͼग़ͨ͢ ΊʹTUBUFͰUSBDL͠ଓ͚Δ w ෳࡶʹͳΔͱTUBUFΛਖ਼͘͠ ཧ͢Δඞཁ͕͋ΔͨΊεέʔϧ ͮ͠Β͘ͳΔ
ඇಉظॲཧͷ͠͞ TZOD BTZODͷΤϥʔϋϯυϦϯά ඇಉظॲཧʢBVUIPSJ[F.PWJFʣͷ ॲཧޙʹΤϥʔϋϯυϦϯάΛ͢ ΔͨΊʹΤϥʔͷঢ়ଶΛίʔϧό οΫͱ͍ͯͯ͠͠Δ
ඇಉظॲཧͷ͠͞ ϝϞϦϦʔΫͷ᠘ SBDFDPOEJUJPO w DBODFM#VUUPOͷΠϕϯτొ ΛVOTVCTDSJCFͰ͖͍ͯͳ͍ w ෳͷඇಉظॲཧΛಉ࣌ʹߦͳ ͬͨ߹SBDFDPOEJUJPO͕
ൃੜ͢Δ ී௨ͷ%0.Ͱ͋ΕͦΕ͕ফ͑Ε SFNPWF͞ΕΔͬΆ͍͕ɺ3FBDU7VF ͰSFNPWFΛҙࣝͨ͠΄͏͕͍͍Β͍͠
એݴత͔ͭ؆ܿʹॻ͚Δ
એݴత͔ͭ؆ܿʹॻ͚Δ 3FBDUJWF9ͷύϫʔ w ֤ΠϕϯτΛҰ࿈ͷίʔϧόοΫ Ͱͳ͘σʔλͷίϨΫγϣϯͱ ͯ͠ϞσϧԽ w ϝϞϦͷίϨΫγϣϯΛม͢ Δͷͱ΄΅ಉ͡ํ๏ͰΠϕϯτΛ ม
w ΠϕϯτͷγʔέϯεɺϑΟϧλ Ϧϯάɺ͓Αͼมʹ༻Ͱ͖Δ 42-ͷΑ͏ͳΫΤϦݴޠΛ։ൃ ऀʹఏڙ w ಉظΤϥʔॲཧͱಉ༷ͷํ๏Ͱඇ ಉظΤϥʔΛ͓Αͼॲཧ͢Δ
ΠϕϯτΛίϨΫγϣϯͱͯ͠ѻ͏ Α͋͘Δએݴతͳίʔυ
ΠϕϯτΛίϨΫγϣϯͱͯ͠ѻ͏ ͠υϥοάυϩοϓͰը૾ͷҐஔΛม͑ΔΠϕϯτΛ͖ͬ͞ͷ ίʔυͱ΄΅ಉ͡Α͏ʹએݴతʹ࣮͢Δͱͨ͠Βʁ IUUQTEFWFMPQFSNP[JMMBPSHKBEPDT8FC"1*&MFNFOU NPVTFNPWF@FWFOU
ΠϕϯτΛίϨΫγϣϯͱͯ͠ѻ͏ Α͋͘Δએݴతͳίʔυ
ΠϕϯτΛίϨΫγϣϯͱͯ͠ѻ͏ 0CTFSWBCMFΛ͏ͱ͜͏ॻ͚Δ
ޮతʹॲཧͰ͖Δ ྻͷίϨΫγϣϯͷΑ͋͘Δૢ࡞ IUUQTTLJMMTNBUUFSDPNTLJMMTDBTUTMPOEPOKBWBTDSJQUDPNNVOJUZ
ޮతʹॲཧͰ͖Δ 0CTFSWBCMFTͷૢ࡞
ޮతʹॲཧͰ͖Δ "KBYͷΩϟϯηϧ w 1SPNJTF"KBYΛΩϟϯηϧʢBCPSUʣͰ͖ͳ͍ w 0CTFSWBCMF"KBYΛBCPSUͰ͖Δ
ϦΞΫςΟϒϓϩάϥϛϯάʹର͢Δ w هࣄʮϦΞΫςΟϒϓϩάϥϛϯάͱԿͩͬͨͷ͔ʯ w ׳Εͳ͍ॻ͖ํ͕ଟͯ͘ਏ͍ɾΘ͔ΓͮΒ͍ ˠ͜Ε3Y+4࡞ऀೝΊ͍ͯΔʢֶशۂઢ͕͋Δʣ w Ծ%0.ͱ૬ੑ͕ѱ͍
ˠهࣄͰڍ͛ΒΕ͍ͯΔ3FBDU)PPLTʢVTF0CTFSWBCMFʣ ͕Ͱ͖ͯղܾࡁ w ίʔυΛൺֱ͍ͯ͠Δ͕ࢀߟهࣄͷதͷΓऔΒΕͨʮҰ࣌ʯͷʮ έʔεʯ͚ͩͰஅ͍ͯ͠Δ w 3YϦΞΫςΟϒϓϩάϥϛϯάʮෳࡶͳඇಉظॲཧΛίϯϙʔβϒϧʹղܾ Ͱ͖Δʯͷ͕Ϧ w υϥοάυϩοϓʹΑΔΠϕϯτɾηϯαʔ͔ΒσʔλΛܧଓతʹड͚औΔέ ʔεͰߟ͑ͨΓɺཁ͕݅มΘͬͨࡍͷ֦ுੑͳͲߟྀʹೖͬͯͳ͍
/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
/FUGMJYͱ3Y #FGPSF w ϑϩϯτΤϯυ͔Βޒ݄Ӎʹඇ ಉظॲཧͷϦΫΤετΛ͛Δ w /FUXPSL-BUFODZ͕ύϑΥʔ ϚϯεΛԼ͛Δ
/FUGMJYͱ3Y "GUFS w ϦΫΤετΛ·ͱΊΔ w "1*ଆͰඇಉظɾฒྻॲཧΛߦ ͏
/FUGMJYͱ3Y ετϦʔϛϯάͷඇಉظॲཧ ʮҎલɺөըυϥϚͳͲ࡞୯ҐͰΤϯίʔσΟϯάΛ͍ͯ͠ ·͕ͨ͠ɺϑϨʔϜ୯ҐͰΤϯίʔσΟϯά͢Δ͜ͱͰɺϏοτ Ϩʔτ࣌ʹ͓͚Δը࣭Λ֬อ͍ͯ͠·͢ɻʯ IUUQTKBQBODOFUDPNBSUJDMF
/FUGMJYͱ3Y ւ֎υϥϚʮ46*54ʯͷϓϨϏϡʔΛදࣔͨ͠߹ w ϦετʹΧʔιϧΛͯΔͱɺ ͜Μͳײ͡ͰϦΫΤετ͕Ίͪ Όͪ͘ΌඈͿ w ࣈSBOHFͱ͍͏ΫΤϦύϥ ϝʔλʔͳͷͰϑϨʔϜ୯ҐͰ औಘͯ͠ΔͬΆ͍
w ͕࣌ؒܦͭͱYIS͕૿͑Δ w ϓϨΠ࣌ؒΛऔಘ͓͍ͯ͠ ͯඞཁʹԠͯ͡ඇಉظॲཧΛ͠ ͯͦ͏
/FUGMJYͱ3Y /FU fl JYͷඇಉظॲཧ·ͱΊ w ඇಉظɾฒྻͷ3Y+BWB"1*͔ΒͷϨεϙϯεΛਵ࣌ड͚औΔ w ࣌ؒͷܦաʹԠͯ͡ෳͷϦΫΤετʹ͚ͯετϦʔϛϯάσ ʔλΛऔಘ͍ͯ͠Δ w
σʔλऔಘͷλΠϛϯά͕ଟ͍ʢϖʔδΛ։͍ͨ࣌ʹྲྀΕΔϓϨ Ϗϡʔɾϗόʔ࣌ͷϓϨϏϡʔɾಈըͷຊฤFUDʣ w Ξχϝʔγϣϯ͕ଟ͍ʢϗόʔ࣌ɾΤϐιʔυؒͷදࣔFUDʣ w ͦͯͦ͠ΕΒશ͕ͯΩϟϯηϧ͢Δ͜ͱ͋Δ
/FUGMJYͱ3Y ϏδωεͷنɾԾઆ ࣌Ͱձһԯສਓɺৗʹສ314 ʢ3FRVFTU1FS4FDPOEʣͷΞΫηεΛड͚͍ͯΔϓϩμΫτ ͰϑϩϯτΤϯυɾαʔόʔαΠυڞʹ͍͍69Λఏڙ͢Δͨ Ίʹ3FBDUJWF9Λ׆༻͍ͯ͠ΔͷͰʁ IUUQTEFWDMBTTNFUIPEKQBSUJDMFTOGYSFQPSU
3Y+4 3FBDUJWF9 ͷ w ଟ͘ͷPQFSBUPSTʢछྨʂ🤢ʣ w ֶशۂઢ͕͋Δʢ࠷ॳਏ͍ʣ w গͳ͘ͱຊͰ͋·Γϝδϟʔ͡Όͳ͍ͷͰɺ3YͷQPSU Λར༻ͨ͠ܦݧͷ͋ΔΤϯδχΞͷ࠾༻ɾΩϟονΞοϓͷ໘Ͱ
ίετ͕͔͔Γͦ͏
Ͳ͏͍͏࣌ʹ࠾༻͖͔͢ w ͿͬͪΌ͚ͲͷΞϓϦέʔγϣϯʹ࠾༻͍͍ͯ͠Μͩͱࢥ͏ w ࣮ࡍ"OHVMBSඇಉظॲཧͰ0CTFSWBCMF 3Y+4 Λ࠾༻͍ͯ͠Δ w ߴසʹมΘΔ࣌มΛѻ͏߹ʹͦͷύϫʔ͕ΑΓൃش͞ΕΔ ͔ͳͱࢥ͍ͬͯ·͢
w ετϦʔϛϯά w *P5ʢηϯαʔʣͱͷ࿈ܞ ࠓޙ3Y+4Λ͍ͳ͕ΒϝϦοτɾσϝϦοτΛࢹ͍͖ͯ͠·͢
͋Γ͕ͱ͏͍͟͝·ͨ͠