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
カジュアルにリアクティブウェブを実現している話
Search
nashibao
August 26, 2014
Programming
1
5.5k
カジュアルにリアクティブウェブを実現している話
"月刊ライトニングトーク2014年8月号: MEAN 祭り"で発表しました。
@nashibao
株式会社プレイド
http://plaid.co.jp
nashibao
August 26, 2014
Tweet
Share
More Decks by nashibao
See All by nashibao
ちゃんと使えるBotについて考える
nashibao
0
2.3k
PySparkを使った レコメンドアルゴリズムの改良
nashibao
1
5.9k
fishシェルからのエトセトラ - nanapi勉強会 vol2
nashibao
1
520
Amazon Kinesisでストリーム解析 - Node学園12時限目
nashibao
4
4k
Other Decks in Programming
See All in Programming
「AWS CDK入門」の前日譚/Prequelto-Introduction-To-AWSCDK
tyumugi1113
0
100
Eloquentを使ってどこまでコードの治安を保てるのか?を新人が考察してみた
itokoh0405
0
3.2k
2025 컴포즈 마법사
jisungbin
0
150
Private APIの呼び出し方
kishikawakatsumi
3
900
Flutterアプリ運用の現場で役立った監視Tips 5選
ostk0069
1
500
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
460
TypeScript 5.9で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
380
CSC509 Lecture 11
javiergs
PRO
0
310
AI時代もSEOを頑張っている話
shirahama_x
0
160
スタートアップを支える技術戦略と組織づくり
pospome
8
11k
flutter_kaigi_2025.pdf
kyoheig3
1
350
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
170
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
It's Worth the Effort
3n
187
29k
Designing for humans not robots
tammielis
254
26k
Transcript
ΧδϡΞϧʹϦΞΫςΟϒΣ ϒΛ࣮ݱ͍ͯ͠Δ (ג)ϓϨΠυ @nashibao 2014/05/29 http://plaid.co.jp ݄ץϥΠτχϯάτʔΫ20148݄߸: MEAN ࡇΓ
@nashibaoͱ͍͍·͢ ࣲࢁथ తࢄܕػցֶशతΤϯδχΞ(31) ! ~201208: େֶͱ͔Ͱʑͱ͢ΔɽMapReduceͱߦྻղ͕ɽ 201209: Node.jsʹ֮ΊΔ 201304: ݩָఱ(31)ͱىۀ
σʔλղੳ&CRMαʔϏε 201309: ത࢜υϩοϓΞτ
ΧδϡΞϧ + ϦΞΫςΟϒ “؆୯ʹΣϒΞϓϦΛϦΞΫςΟϒʹ͢Δํ๏"
ϦΞΫςΟϒʁ
ϦΞΫςΟϏςΟʢϦΞΫςΟ ϒΣϒʣ ৭ʑͳҙຯ߹͍ͰΘΕΔɻ ΣϒͩͱσʔλόΠϯσΟϯάͷҙຯ߹͍ ͕ڧ͍ FRPͷݶఆతͳΘΕํʢͨͿΜʣ
ࢀߟจݙ “Trigger ͱ Stream ϕʔεͷ Reactive ελΠϧʹ͍ͭͯߟ͑Δ” Block Rockin’ Codes
http://jxck.hatenablog.com/entry/20120509/1336566474 ! “Meteor.js” naoyaͷͯͳμΠΞϦʔ http://d.hatena.ne.jp/naoya/20120422/1335109615 ! “oplog tailingΛͬͨϦΞΫςΟϒΣϒ” qiita@nashibao http://qiita.com/nashibao@github/items/26397f8f7a4e65973169
ϦΞΫςΟϒΣϒ = “ಛผͳॻ͖ํΛ͠ͳͯ͘ɺςϯϓϨʔτ ͔ΒϑϩϯτɺαʔόαΠυͷσʔλ·Ͱ ͕όΠϯσΟϯά͞ΕΔ͜ͱ” ! ࠓ͜ͷΑ͏ʹݶఆ͠·͢ɻ ੜ࢈ੑͷҙຯͰ࣮༻ੑ͕ʢͨͿΜʣҰ൪ߴ͍෦ͩͱࢥ͍·͢ɻ ! !
&$ YGDUGTXGT (TQPV/QFGN 6GORNCVG ٚڋْ⯪㧕ר 哋▶⚮㤁 ⫛㨍؋ KUQOQTRJKECRK ٦ٸڋ؞
哋▶㧕㢑
ͳͥΔͷ͔ ੜ࢈ੑ ͱ͔͘ίʔυ͕ݮΔ ! ػೳ ϦΞϧλΠϜੑ ίϥϘϨʔγϣϯ ελʔτΞοϓʹ ༏͍͠ʂ ཧը໘ʹ
͏Ε͍͠ʂ
ϓϨΠυͷ߹(ͳͥΔͷ͔) “ϦΞϧλΠϜ”ΛӖͬͨB2BղੳαʔϏε ։ൃऀ̎ਓ ίʔυۃྗݮΒͯ͠։ൃ͠ͳ͍ͱແཧʂʂ ୭͔ॿ͚ͯʂʂ
(ג)ϓϨΠυͱ͍͍·͢ http://plaid.co.jp EC͚ͷղੳ&CRMαʔϏεΛεςϧε։ൃதɽ ! ݱࡏ։ൃͨͬͨ2ਓͳͷͰɺ ԠืΛຊʹ͓͓ͪͯ͠Γ·͢ʂ ෲյ͢·Ͱ͕৯͑ΔձࣾʂͦΕ͕ϓϨΠυʂ ܴձγϡϥείͰ͢ʂ
ΧδϡΞϧʁ
Γ͍͚ͨͲΘΓͱϝϯυΫ αΠ ੜ࢈ੑ͍͋͛ͨɺɺͰɺ ! αʔόʔαΠυϑϩϯτΤϯυ͖উख ʹϑϨʔϜϫʔΫબͼ͍ͨɻͦΕʹσʔλϕʔ ε͖ʹબͼ͍ͨɻ੍ݶ͞Εͨ͘ͳ͍ɻͱ ͍͏͔ΧελϚΠζࣗ༝ʹΓ͍ͨ͠ɺύ ϑΥʔϚϯενϡʔχϯάࣗ༝ʹΓ͍ͨ
Γ͍͚ͨͲΘΓͱϝϯυΫ αΠ socket.ioͱknockout.jsͬͯബ͘ ࡞ΕׂͱΓ͍ͨ͜ͱ؆୯ʹग़དྷΔ͠ɺ ͖উखͰ͖ΔΑɺͱ͍͏͓
&$ YGDUGTXGT (TQPV/QFGN 6GORNCVG TREQXGTUQEMGVKQ MPQEMQWVLU XWGLU
Knockout.js ϑϩϯτΤϯυͰͷσʔλόΠϯσΟϯ༻ά ϥΠϒϥϦ ബ͍ɻόΠϯσΟϯά͔͠ͳ͍ “NOT FRAMEWORK!” ୯७ͳؔݺͼग़͠ʹΑΔґଘੑղܾͰͱ͔ ͘ύϑΥʔϚϯε͕͍͍
rpc over socket.io “Ezelia/eureca.io”ͳͲRPCϥΠϒϥϦ͍͘ ͭ͋Δ ͨͩɺ͜͜ബ͍··Ͱ͍͍ͷͰࣗ࡞ ! * ࢀߟ: RPCͷύϑΥʔϚϯεൺֱ
nashibao/ node-rpc-test
σϞ
nashibao/test-casual— reactive-web * ࣮ӡ༻͍ͯ͠ΔϥΠϒϥϦ͔Β ίΞ͚ͩൈ͖ग़ͨ͠ͷΛͬͯ·͢
ؾΛ͚ͭΔ͖ͱ͜Ζ (αϯϓϧʹͳ͍෦) 1. ೝূ middleware stackΛ࡞͓ͬͯ͘ඞཁ͋Γ 2. σʔλܕ JSONͰѻ͑ͳ͍ͷಠࣗͰ 3.
tailing or manual mongoͷtailingΛ͏͔खಈͰupdateΛΒͤΔ͔
http://plaid.co.jp ࠷ۙܙൺणʹҾͬӽͨ͠Αʂ