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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nashibao
August 26, 2014
Programming
5.5k
1
Share
カジュアルにリアクティブウェブを実現している話
"月刊ライトニングトーク2014年8月号: MEAN 祭り"で発表しました。
@nashibao
株式会社プレイド
http://plaid.co.jp
nashibao
August 26, 2014
More Decks by nashibao
See All by nashibao
ちゃんと使えるBotについて考える
nashibao
0
2.4k
PySparkを使った レコメンドアルゴリズムの改良
nashibao
1
6.1k
fishシェルからのエトセトラ - nanapi勉強会 vol2
nashibao
1
560
Amazon Kinesisでストリーム解析 - Node学園12時限目
nashibao
4
4k
Other Decks in Programming
See All in Programming
Copilot CLI の継戦能力を高める コンテキスト管理
nozomutu
1
1.1k
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.1k
ふつうのFeature Flag実践入門
irof
6
3.1k
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
10
2.7k
誰も頼んでない機能を出荷した話
zekutax
0
140
色即是空、空即是色、データサイエンス
kamoneggi
1
200
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.2k
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
8
3.4k
Claspは野良GASの夢をみるか
takter00
0
130
AI Agent と正しく分析するための環境作り
yoshyum
3
610
AI時代になぜ書くのか
mutsumix
0
460
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
330
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Designing for Performance
lara
611
70k
エンジニアに許された特別な時間の終わり
watany
107
240k
What's in a price? How to price your products and services
michaelherold
247
13k
How to make the Groovebox
asonas
2
2.2k
A Tale of Four Properties
chriscoyier
163
24k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
200
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
220
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
For a Future-Friendly Web
brad_frost
183
10k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
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 ࠷ۙܙൺणʹҾͬӽͨ͠Αʂ