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
「isaax」を使った PoCからプロダクションまでの開発
Search
Tomoyuki Sugita
February 23, 2018
Technology
0
300
「isaax」を使った PoCからプロダクションまでの開発
2018.2.23 Fri isaax UG+さくらクラブ共催 IoT 勉強会 @ サイボウズ株式会社 大阪オフィス
Tomoyuki Sugita
February 23, 2018
Tweet
Share
More Decks by Tomoyuki Sugita
See All by Tomoyuki Sugita
採用でプロダクトの壁を乗り越える
tomotomo
1
400
ラズパイマガジン 寄稿ネタDEMO
tomotomo
0
950
PHPでLチカ(PHPカンファレンス2018 懇親会)
tomotomo
0
3.3k
IoTデバイスのつらみ isaaxで解消しましょう
tomotomo
0
130
IoTLT 40回 おめでとう!
tomotomo
2
480
2000年頃のフロントエンド技術
tomotomo
1
10k
WordPressとサーバーとお金の話
tomotomo
0
1.1k
スタートアップのレガシーシステムをAws活用で改善している話
tomotomo
0
520
Other Decks in Technology
See All in Technology
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
140
20250913_JAWS_sysad_kobe
takuyay0ne
2
250
Snowflake Intelligence × Document AIで“使いにくいデータ”を“使えるデータ”に
kevinrobot34
1
120
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
270
はじめてのOSS開発からみえたGo言語の強み
shibukazu
3
990
共有と分離 - Compose Multiplatform "本番導入" の設計指針
error96num
2
1.2k
「どこから読む?」コードとカルチャーに最速で馴染むための実践ガイド
zozotech
PRO
0
570
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
260
使いやすいプラットフォームの作り方 ー LINEヤフーのKubernetes基盤に学ぶ理論と実践
lycorptech_jp
PRO
1
150
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Faster Mobile Websites
deanohume
309
31k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
530
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Producing Creativity
orderedlist
PRO
347
40k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
How GitHub (no longer) Works
holman
315
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Transcript
ʮJTBBYʯΛͬͨ 1P$͔ΒϓϩμΫγϣϯ·Ͱͷ։ൃ 2018.2.23 Fri JTBBY6( ͘͞ΒΫϥϒڞ࠵*P5ษڧձ !αΠϘζגࣜձࣾେࡕΦϑΟε
ࣗݾհ w ਿాࢸ!UPNPUPNPCJMF w גࣜձࣾ94)&--Ϗδωε։ൃϚωʔδϟʔ ˞ΤϯδχΞͰ͋Γ·ͤΜ w ஶॻʮΤϯδχΞͷͨΊͷ8PSE1SFTT։ൃೖʯ w ࡢ݄ɺେࡕϚϥιϯ͠·ͨ͠
w ࡢ݄ɺస৬Ͱେࡕ͔Β౦ژʹҾͬӽ͠·ͨ͠ w ࠓϲ݄ͿΓͷେࡕͰ͢ w ͓ञ͕େ͖Ͱ͢ɻओʹژڮɾఱຬΛҿΈา͍ͯ·ͨ͠
94)&--ʢΤΫγΣϧͱಡΈ·͢ʣ ԿͬͯΔձࣾʁ *P5ͷडୗ։ൃ σόΠε։ൃ σόΠεΞϓϦέʔγϣϯ։ൃ *P5ษڧձ JTBBY6TFS(SPVQIUUQTDBNQJTBBYJP اۀ͚ɺֶߍ͚ *P54BB4JTBBYͷ։ൃ ࠓ͓͢Δ༰
*P5ͷडୗ։ൃ
*P5ʹΑΔόε҆શӡసࢧԉγεςϜ όεӡసखͷߴྸԽΛղܾ͘͢ɺόεӡసखͷ݈߁ঢ়ଶΛԕִͰѲɺ ࢹ͢ΔγεςϜΛ։ൃɻ(I[ͷϚΠΫϩϨʔμʔΛ࠲੮ͷޙΖʹऔΓ ͚ͯɺΫϥυ͔Βͷ݈߁ঢ়ଶѲΛ࣮ݱɻ Έͳͱ؍ޫόε͕ӡߦ͢Δͷ࿏ઢόεͰ࣮ূߦɻ ϓϨεϦϦʔε IUUQTXXXJTJEDPKQOFXTSFMFBTFIUNM
γεςϜͷ֓ཁ ͜ͷ෦Λ୲
94)&--͕1P$Ͱͬͨ͜ͱ σόΠεΛ։ൃ ৺ഥɾݺٵηϯαʔͱं྆ηϯαʔ *P5ήʔτΣΠ *P5ήʔτΣΠͷԕִΞοϓσʔτ ౦ژͷ94)&--ΦϑΟεͰ։ൃͨ͠৽͍͠Ξϓ ϦέʔγϣϯΛɺਆށͷόεʹҰ੪৴ JTBBY ΞΠβοΫε ΛͬͨͷͰɺݱʹߦ͘
͜ͱͳ͘Ξοϓσʔτ͢Δ͜ͱ͕ग़དྷͨ ˞ৄ͘͠ޙͰ
*P5ษڧձ
*P5ษڧձ͜Μͳ͜ͱͯ͠·͢ ࣌ؒͰ(JUͰཧ͢Δ*P5ΧϝϥσόΠε։ൃΛମݧ ࢀՃऀͷײ w ͜Μͳʹ؆୯ʹͰ͖ΔͱࢥΘͳ͔ͬͨ ιϑτ ΣΞΤϯδχΞ w (JUIVCʹ1VTI͢Δ͚ͩͰσόΠεΛߋ৽Ͱ͖
ΔͷศརͰ͢Ͷ ઐֶߍߨࢣ w ͲΜͳ͜ͱ͕ग़དྷΔͷ͔ͷΠϝʔδ͕͔ͭΊͨ ࣄۀ෦Ϛωʔδϟʔ
໌ޙσδϋϦେࡕͰΓ·͢ IUUQTJTBBYVHDPOOQBTTDPNFWFOU ˞͝ΊΜͳ͍͞ɺΩϟϯηϧͪͰ͢
IUUQTDBNQJTBBYJP ΠϕϯτใJTBBYDBNQ ΞΠβοΫɾεΩϟϯϓ Ͱ֬ೝ ͝ཁ͕͋Εاۀ͚ʹ࣮ࢪ͠·͢
ࠓͷຊɿJTBBY ΞΠβοΫε IUUQTJTBBYJP
*P5ʹΑΔόε҆શӡసࢧԉγεςϜΛ࣮ݱ͢Δʹ ਆށࢢपลΛΔͷόεʹઃஔ͞Εͨ*P5(8 ͷԕִΞοϓσʔτ͕ඞཁɻ JTBBY͕͔͋ͬͨΒग़དྷ͚ͨͲɺɺɺ
JTBBYແ͠ͰΖ͏ͱ͢Δͱᶃ શσόΠεʹάϩʔόϧIPৼΓग़͢ͷʁશσόΠεͷ'JSFXBMMઃఆ͢Δͷʁ SSHϙʔτ։͚ͱ͘ͷʁ͍ͬͯ͏͔44)ͰϩάΠϯ͢Δͷʁ άϩʔόϧ*1 άϩʔόϧ*1 άϩʔόϧ*1 44) 44) 44)
JTBBYແ͠ͰΖ͏ͱ͢Δͱᶄ ݁ہIPৼΓग़͢ͷʁ୭͕ωοτϫʔΫઃܭ͢Δͷʁ ͍ͬͯ͏͔11SSHͰϩάΠϯ͢Δͷʁ άϩʔόϧ*1 άϩʔόϧ*1 άϩʔόϧ*1 44) 44) 44) ดҬͰ҆৺
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ։ൃ ίʔυΛ1VTI Ξοϓσʔτ OTAߋ৽ͷΈ͕ҰॠͰʂ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ΦϑΟε͔Β ຊதͷσόΠεΛ Ξοϓσʔτʂ ։ൃڥͰ্ख͘ ಈ͍ͨͷΛ1VTI
JTBBYͷදతͳػೳͭ σόΠεߋ৽ ϞχλϦϯά ڥม εΫϦϓταʔϏε
6TF$BTF ΞϓϦέʔγϣϯͷ ηΩϡϦςΟϗʔϧ͕ݟ͔ͭͬͨʂ ʢσόΠεߋ৽ʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ ։ൃڥͰͨ͠ ΞϓϦΛσϓϩΠ
6TF$BTF σόΠεͷΞϓϦέʔγϣϯ ͕ͨ͠ʂ ʢϞχλϦϯάʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ JTBBYΫϥυͰ σόΠεΛ ൃݟ͠ఀࢭ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ ։ൃڥͰमਖ਼ͯ͠ ಈ͍ͨͷΛσϓϩΠ
6TF$BTF "1*ͷΤϯυϙΠϯτ͕ มΘͬͨʂ ʢڥมʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ JTBBYΫϥυͰ ڥมΛมߋ
6TF$BTF ϛυϧΣΞͷ ηΩϡϦςΟϗʔϧ͕ݟ͔ͭͬͨʂ ʢεΫϦϓταʔϏεʣ
JTBBYΛ͏ͱσόΠε։ൃ͕؆୯ ຊதͷσόΠεΛ Ξοϓσʔτʂ JTBBYΫϥυͰ Ξοϓσʔτ εΫϦϓτΛ࣮ߦ
ਪಈ࡞ڥɾσόΠεར༻ྫ ରԠՄೳͳϓϥοτϑΥʔϜ04 w EBSXJOYBNE w MJOVYYBNE w GSFFCTEYBNE w PQFOCTEYBNE
ରԠՄೳͳΞʔΩςΫνϟ w Y w BSN w BSN w BSN w BSN 'SJFOEMZ&MFD /BOP1J 5PSBEFY $PMJCSJ*.9 3BTQCFSSZࡒஂ 3BTQCFSSZ1J 5FYBT*OTUSVNFOUT*OD #FBHMF#POF "SSPX&MFDUSPOJDT %SBHPO#PBSE "464 5JOLFS#PBSE
࣮ࡍͷ͍ํͷհ
JTBBYͷදతͳػೳͭͷ͍ํ σόΠεߋ৽ ϞχλϦϯά ڥม εΫϦϓταʔϏε
ͨͬͨͷεςοϓͰ (JUϓϩδΣΫτͱJTBBYϓϩδΣΫτΛඥ͚Δ σόΠεʹJTBBYΤʔδΣϯτΛΠϯετʔϧʢϫϯϥΠφʔʣ ։ൃͨ͠σόΠεΞϓϦέʔγϣϯΛ(JUʹ1VTI͢Δ͚ͩ (JU͔ΒσόΠε·ͰJTBBY͕ࣗಈͰͬͯ͘ΕΔ
(JUϓϩδΣΫτͱ JTBBYϓϩδΣΫτΛඥ͚Δ
(JUIVCͷϓϩδΣΫτΛ࡞ ࢼ͍ͨ͠ํҎԼͷϓϩδΣΫτΛ'PSL͍ͯͩ͘͠͞ IUUQTHJUIVCDPNZFOUTVOOPEFSFEXBUDI JTBBYKTPO͕ඞਢ
JTBBYKTPOͷத ىಈεΫϦϓτ͕ఆٛ͞Ε͍ͯΔ͚ͩ αϯϓϧIUUQTHJUIVCDPNZFOUTVOOPEFSFEXBUDICMPCNBTUFSJTBBYKTPO
ϓϩδΣΫτΛ৽ن࡞ IUUQTJTBBYJPʹϩάΠϯˠμογϡϘʔυ ˠʴϘλϯΛΫϦοΫ
(JUIVCͷϦϙδτϦΛબ ϦϙδτϦ͕දࣔ͞Εͳ͍߹ɺΠϯςάϨʔγϣϯ ը໘Ͱ(JUIVCͱͷଓͰ͖͍ͯΔ͔֬ೝ͍ͯͩ͘͠͞
σόΠεʹ JTBBYΤʔδΣϯτΛΠϯετʔϧ ʢϫϯϥΠφʔʣ
ΫϥελʔΛબͯ͠ʜ
Raspberry Pi
։ൃͨ͠σόΠε ΞϓϦέʔγϣϯΛ (JUʹ1VTI͢Δ͚ͩ
isaaxʹొͨ͠σόΠε͕Ұ੪ʹΞοϓσʔτ ։ൃ ίʔυΛ1VTI Ξοϓσʔτ
JTBBYͷදతͳػೳͭͷ͍ํ σόΠεߋ৽ʢࡁʣ ϞχλϦϯά ڥม εΫϦϓταʔϏε
ϞχλϦϯά
σόΠε֤छͷใ͕֬ೝͰ͖·͢ ࢮ׆ࢹ ϩʔΧϧ*1 .BDΞυϨε
σόΠεͷΤϥʔϩά͕ݟ͑ΔͷͰಛఆ͕͠ ͘͢ΞϓϦέʔγϣϯͷमਖ਼͕͔ͲΓ·͢ɻ
ڥม
ΫϥελʔΛબͯ͠ʜ
ιʔείʔυʹॻ͖ͨ͘ͳ͍ ڥมJTBBYΫϥυͰཧͯ͠ʜ ΞϓϦέʔγϣϯ࠶ىಈʂ
σόΠεͷڥม͕ߋ৽͞Ε·ͨ͠ ʢ৴༻Ͱ͖ͳ͍ਓ֬ೝͯ͠ʣ
εΫϦϓταʔϏε
ΫϥελʔΛબͯ͠ʜ
εΫϦϓτͷछྨछྨ w QSFJOTUBMM w ΞϓϦέʔγϣϯΛΠϯετʔϧ͢Δલ ॳظԽ࣌ ʹ࣮ߦ ͞Ε·͢ w ྫ͑ॳճͷڥઃఆεΫϦϓτΛ࣮ߦ
w QSFVQEBUF w ΞϓϦέʔγϣϯͷߋ৽લʹ࣮ߦ͞Ε·͢ w ࠷৽ͷιʔείʔυΛμϯϩʔυ͢ΔલʹΓ͍ͨ͜ͱ w QPTUVQEBUF w ΞϓϦέʔγϣϯͷߋ৽ޙʹ࣮ߦ͞Ε·͢ w ྫ͑ґଘύοέʔδͷߋ৽εΫϦϓτ
υΩϡϝϯτͪ͜Β IUUQTJTBBYJPEPDT
ʮJTBBYʯΛͬͨ 1P$͔ΒϓϩμΫγϣϯ·Ͱ ͷ։ൃ
ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ݕূڥͰςετͨ݁͠ՌΛݩʹ ։ൃڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ ཧ͢ΔσόΠε̎ʙఔɻ ։ൃڥ ݕূڥ ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ ͷͨΊʹ05"ߋ৽ͷΈ͕ඞਢɻ
ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ ͷͨΊʹ05"ߋ৽ͷΈ͕ඞਢɻ ˍ ӽ͑ΒΕͳ͍น
ϓϩμΫγϣϯ·ͰͷͭͷϑΣʔζ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ݕূڥͰςετͨ݁͠ՌΛݩʹ ։ൃڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ ཧ͢ΔσόΠε̎ʙఔɻ ։ൃڥ ݕূڥ ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ ͷͨΊʹ05"ߋ৽ͷΈ͕ඞਢɻ
JTBBYΛͬͨϓϩμΫγϣϯͷҠߦ ։ൃϑΣʔζ ͱʹ͔͘σόΠε͕ಈ͘Α͏ʹ͢Δɻ σόΠεʹଓͯ͠։ൃɻ ্ख͘ಈ͍ͨίʔυΛ(JUʹίϛοτɻ 1P$ϑΣʔζ ϓϩμΫγϣϯ ϑΣʔζ ։ൃڥ ݕূڥ
ݕূڥͰςετͨ݁͠ՌΛݩʹ ։ൃڥͰΞϓϦέʔγϣϯͷमਖ਼ɻ ཧ͢ΔσόΠε̎ʙఔɻ ։ൃڥ ݕূڥ ຊ൪ڥ ग़ՙޙͷσόΠεΛϝϯςφϯε ͢Δ͜ͱ͕ۃʹ͘͠ͳΔɻ JTBBYͰݕূڥʹσϓϩΠɻ ΞϓϦͷόάमਖ਼ηΩϡϦςΟߋ৽ JTBBY͚ͩͰ݁ɻ
JTBBY͕ࢦ͢ੈք w ୭͕*P5ͷ։ൃΛखܰʹͰ͖Δੈք w 05"ηΩϡϦςΟʹֻ͔͍ͬͯͨίετΛσβ ΠϯΞϓϦʹ͑ΔΑ͏ʹͳΔ w ϦιʔεΛ*P5ιϦϡʔγϣϯ։ൃʹूதͰ͖Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠