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.3k
カジュアルにリアクティブウェブを実現している話
"月刊ライトニングトーク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.1k
PySparkを使った レコメンドアルゴリズムの改良
nashibao
1
5.6k
fishシェルからのエトセトラ - nanapi勉強会 vol2
nashibao
1
450
Amazon Kinesisでストリーム解析 - Node学園12時限目
nashibao
4
3.8k
Other Decks in Programming
See All in Programming
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
受託開発でGitLab CI を活用していく
xiombatsg
1
110
App Router への移行は「改善」となり得るのか?/ Can migration to App Router be an improvement
takefumiyoshii
1
120
オブジェクト指向コードレビューの新しいアプローチ
akkie76
3
1.5k
品質が高いコードって何?Rev2.1
ickx
1
490
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.2k
ONE WEDGE_Company_Information
1wedge
0
170
オブジェクト指向は必要なのか / Is object-oriented needed?
kishida
27
19k
設計の知識と技能で駆動するソフトウェア開発
masuda220
PRO
18
10k
OpenTelemetry のサービスという概念について
azukiazusa1
1
390
Honoとhtmx
yusukebe
6
1.2k
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
490
Featured
See All Featured
Fireside Chat
paigeccino
19
2.6k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Unsuck your backbone
ammeep
661
56k
Why Our Code Smells
bkeepers
PRO
330
56k
The Art of Programming - Codeland 2020
erikaheidi
40
12k
Large-scale JavaScript Application Architecture
addyosmani
501
110k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
11
1.4k
Designing for Performance
lara
601
67k
Practical Orchestrator
shlominoach
180
9.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
113
18k
Designing on Purpose - Digital PM Summit 2013
jponch
109
6.4k
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 ࠷ۙܙൺणʹҾͬӽͨ͠Αʂ