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
Firebaseで作るIoTバックエンド
Search
Yosuke Onoue
February 12, 2017
Technology
1
1.1k
Firebaseで作るIoTバックエンド
キノコがIoTについて勉強する会の発表資料です。
Yosuke Onoue
February 12, 2017
Tweet
Share
More Decks by Yosuke Onoue
See All by Yosuke Onoue
ネットワーク可視化の世界
likr
8
6.9k
Think About Front-end Web Development with Rust
likr
2
570
Yewにおけるoff-the-main-thread
likr
1
820
行政事業レビューデータの可視化 / Visualization of Japan's National Budget with JUDGIT!
likr
1
260
モダンJavaScript再入門 / Re-introduction to Modern JavaScript
likr
24
11k
Web-based Data Visualization with Rust and WebAssembly
likr
4
6.1k
Introduction to Graph Drawing
likr
0
540
20190707Ionic_Meetup.pdf
likr
0
480
About the end of the web
likr
2
560
Other Decks in Technology
See All in Technology
Bref でサービスを運用している話
sgash708
0
200
脳が溶けた話 / Melted Brain
keisuke69
1
1.1k
CREがSLOを握ると 何が変わるのか
nekomaho
0
180
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
8
6.2k
TUNA Camp 2026 京都Stage ヒューリスティックアルゴリズム入門
terryu16
0
600
AI時代のオンプレ-クラウドキャリアチェンジ考
yuu0w0yuu
0
600
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
130
OCI技術資料 : 証明書サービス概要
ocise
1
7.1k
なぜarray_firstとarray_lastは採用、 array_value_firstとarray_value_lastは 見送りだったか / Why array_value_first and array_value_last was declined, then why array_first and array_last was accpeted?
cocoeyes02
0
260
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
110
Sansanの認証基盤を支えるアーキテクチャとその振り返り
sansantech
PRO
1
120
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
320
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.5k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
490
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
My Coaching Mixtape
mlcsv
0
87
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
160
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
160
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
280
Discover your Explorer Soul
emna__ayadi
2
1.1k
Balancing Empowerment & Direction
lara
5
1k
Mind Mapping
helmedeiros
PRO
1
130
sira's awesome portfolio website redesign presentation
elsirapls
0
200
Accessibility Awareness
sabderemane
0
86
Transcript
Firebaseͽ֢ΡIoTϝϐμεЀϖ ͠΄͜͞ (@_likr) κϛπ͢IoTͺ͚ͼۣ䔶ͯΡտ
ᛔ૩奧Օ • ͠΄͜͞ (@_likr) • Ղ᮷य़ 檭ᣟݳᣟݳරᙙᎸᑪവ昲ψЀόЄ ᒽ΄͵Η΄ᑀϳϘϐϕ ᇙਧۗර •
ૡᎸᑪᑀ΄櫮䶲ૡ䌑ධͼ ;ͩΣΨץԧͭ͵䶲ͯ͢Ρ • ng-kyoto̵GDGᐟ䜜̵KFUG • ݢ憙۸΄Ꮈᑪ;͡ΚͼΡ • ͺͥ͵ https://egrid.jp/
扖ٖͯ • JavaScript + IoTΨᘍ͞Ρ • ฌՔ΄JavaScript&WebϢϺЀϕεЀϖԪఘΨ承Ρ • JavaScript +
RaspberryPI ͽ֢͵Θ΄Ψ奧ՕͯΡ
JavaScript;IoT
JavaScript • Ԇϣ϶γσӤͽ㵕֢ͯΡ敽ᰁϤϺν϶ϬЀν承 • 㵕ጱࣳ՞ͧ • ϤϺόαϤϦЄφ΄ηϣυδμϕݻ • ๋ᬪͷΝ;Δ;Θ͵(ES2015뺶) •
arrow function • class • Promise • ϣ϶γσզक़ͽΘڥአ͢䓈͢ͼ͚Ρ
ϣ϶γσզक़΄厏ह • πϫЀϖ϶αЀϑЄϸ̵ςЄϝςαϖ • Node.js • ϔφμϕϐϤίϤϷ • Electron̵NW.js •
ϜαϣϷϐϖίϤϷ • Ionic̵Onsen UI̵React Native̵…
JavaScript;IoT • Node.js䌏䖕 • Arduino (Johnny-Five) • RaspberryPI • Intel
Edison • Tessel • https://tessel.io/ • Firefox OS • ᜉ͚ΚͺͶ͵΄…
JavaScriptͶͧͽᜋ̸ͽͣΡ
JavaScriptͽIoTϢϸφόϐμ IoTϔϝαφ IoTϝϐμεЀϖ ϢϺЀϕεЀϖ Web / ίϤϷ ςЄϝ Webϣ϶γσ φϫЄϕϢζЀ
ϔφμϕϐϤ ίϤϷ DB ᥴຉ ψЀςЄ ϷϯπЀ … ͩͩ΄扖 ͩͩΨ͚͡䮭ͯΡ͡Ҙ
Firebase • Google΄׀ͯΡBaaS (Backend as a Service) • Ԇ䱛ᚆ •
扯戣 • ϮЄϸ扯戣̵OAuth (Twitter̵Facebook̵…) • ϷίϸόαϭDB • Ϸίϸόαϭݶ๗ݢᚆφκЄϫϹφDB • ϨφϓΰЀν • ᇿᛔϖϮαЀ̵HTTPS̵HTTP/2䌏䖕 • 僻ාϤ϶Ѐ͘Π
αϮЄυ Webϣ϶γσ φϫЄϕϢζЀ ϔφμϕϐϤ ίϤϷ ᥴຉ ψЀςЄ
ฌՔ΄JavaScriptԪఘ
JavaScriptϤϺν϶ϬЀν΄ᝒ䘁 • 揞୧承䱛ᚆ ꔄ ϕ϶ЀφϞα϶ • ϯυϲЄϸτφϓϭ΄ӧࣁ ꔄ ϯυϲЄϸϝЀϖ϶ •
WebϢϺЀϕεЀϖྲ᯿΄䃀ے ꔄ WebϢϺЀϕεЀϖϢϹЄϭϼЄμ
ϕ϶ЀφϞα϶;ϯυϲЄϸϝЀϖ϶ • ϕ϶ЀφϞα϶ • JS΄䱛ᚆΨ䝭䔴̵ݘ͚ϣ϶γσΎ΄䌏䖕 • Babel̵TypeScript • ϯυϲЄϸϝЀϖ϶ •
愢හ΄JSϢήαϸᒵΨ㶨Ӟ΄ϢήαϸΔ;ΗΡ • Node.jsφόαϸ΄ϤϺν϶ϬЀν(CommonJS) • Webpack • loaderͽϕ϶ЀφϞαϸΘݢᚆ
Webpack • https://webpack.js.org/ • ϺЄύЄ̵Ϥ϶ναЀΞΡ䝭䔴 • Webpack 2 • Tree
Shaking • webpack-dev-server • ϺЄθϸ樄咲አςЄϝ • ϶αϣϷϺЄϖ • BrowserHistoryΎ΄ϢζЄϸϝϐμ
Babel • https://babeljs.io/ • ๋ෛ΄ES΄՛䯭ᒵΨES5䄜䟵 • ES(ECMA Script) • JavaScript΄䰤伛憒໒
• https://kangax.github.io/compat-table/es6/ • plugin̵presetΞΠ䝭䔴 • babel-preset-es2017̵babel-preset-react
WebϢϺЀϕεЀϖϢϹЄϭϼЄμ • SPA(Single Page Application)΄ฦ݊ • JavaScriptΞΡUI䯤塈΄ྲ᯿͢䃀ے • DOM̵֢ϔЄόϢϺЄ΄愢櫏۸Ύ΄䌏䖕 •
Angular̵ReactJS̵… ϒϥβ HTMLΨኞ౮ ίϤϷξЄτϴЀ ςЄϝ 8FCαʔό ϒϥβ ᶉጱϢήαϸΨᯈמ "1*αʔό JSONᒵΨኞ౮ ϚαϓΰϣίϤϷ 䕪΄WebίϤϷ SPA
ReactJS • https://facebook.github.io/react/ • Facebook͢樄咲ͯΡηЄϤЀϊЄφ΄ WebϢϺЀϕεЀϖView϶αϣ϶Ϸ • 㫪మDOM • DOM
(Document Object Model) • ᥝ᮱ړͶͧΨๅෛͯΡͩ;ͽ㵁ሲጱൈኮ • JSX • HTML϶αμဩͽViewΨਧ嬝ͯΡ
FirebaseͽIoTϝϐμεЀϖΨ֢Ρ
ፓጱ • ψЀςЄᒵ΄ϔЄόΨᵞ坌ͯΡ • Webϣ϶γσӤͽݢ憙۸ͯΡ • ค֢͵ΚͺΨςЄϠφΓͥͯΡ • https://vizlab-thermometer.firebaseapp.com/ •
AngularFire + D3.js
䯤౮ • RaspberryPI 1 TypeB • Firebase • 扯戣̵ϷίϸόαϭDB̵ϨφϓΰЀν •
WebϢϺЀϕεЀϖ • ReactJS̵D3.js • webpack 2̵babel • https://github.com/likr/thermoviz
None
ϔϯ • https://thermoviz.firebaseapp.com/ • ϔϯίθγЀϕ •
[email protected]
/ kinoko_iot •
ෛ憒ίθγЀϕ֢౮΅ګᴴӾ • Θֵ͚ͭ͵͚Ո΅्͠䟑ͧͥͶ͚ͫ…
Δ;Η • JavaScript͢ͷΝ;ͶͧΔ;Θͼ̵ ᜋ̸;ͩΣͽֵΥΡΞ͜ͼͣ͵ • JavaScriptΨ憝͞Άϔϝαφ΄ګக̵ςЄϝ̵ μ϶αίЀϕᒵIoTᥝΘ΄͢䟦͞ΟΡҁ͡Θ҂ • FirebaseΨֵ͞ΆψЀςЄϔЄό΄ᵞ坌Κݢ憙۸͢䮭 •
ᇙ᪁ޱ̵抅ਹꁿϹϦϸͽ͚͢͡Ҙ
FRONTEND CONFERENCE 2017