Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
「isaax」を使った PoCからプロダクションまでの開発
Search
Tomoyuki Sugita
February 23, 2018
Technology
330
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
「isaax」を使った PoCからプロダクションまでの開発
2018.2.23 Fri isaax UG+さくらクラブ共催 IoT 勉強会 @ サイボウズ株式会社 大阪オフィス
Tomoyuki Sugita
February 23, 2018
More Decks by Tomoyuki Sugita
See All by Tomoyuki Sugita
「1行もコードを書かない」Unityゲーム開発
tomotomo
0
88
採用でプロダクトの壁を乗り越える
tomotomo
1
510
ラズパイマガジン 寄稿ネタDEMO
tomotomo
0
1k
PHPでLチカ(PHPカンファレンス2018 懇親会)
tomotomo
1
3.4k
IoTデバイスのつらみ isaaxで解消しましょう
tomotomo
0
160
IoTLT 40回 おめでとう!
tomotomo
2
510
2000年頃のフロントエンド技術
tomotomo
1
11k
WordPressとサーバーとお金の話
tomotomo
0
1.3k
スタートアップのレガシーシステムをAws活用で改善している話
tomotomo
0
590
Other Decks in Technology
See All in Technology
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
220
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
110
AI時代のPRレビューにどう向き合うか?
kairim0
1
110
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
340
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
370
AIは爆速なのに、私が詰まっていた話 ― 音声入力と鳴くマスコットでボトルネックを削る
yama3133
0
570
Loop Engineering これくらいでいい
mikanichinose
0
150
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
430
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
630
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
Deep Data Security 機能解説
oracle4engineer
PRO
2
740
AgentCoreで実践するハーネスエンジニアリング
yakumo
1
290
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
4
530
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Documentation Writing (for coders)
carmenintech
77
5.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
740
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
870
Mind Mapping
helmedeiros
1
400
Un-Boring Meetings
codingconduct
0
450
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
560
Building Adaptive Systems
keathley
44
3.2k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Code Reviewing Like a Champion
maltzj
529
40k
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ιϦϡʔγϣϯ։ൃʹूதͰ͖Δ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠