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
Open the door!
Search
Hugo Visser
April 30, 2020
Technology
0
41
Open the door!
Presentation for GDG DutchAUG about automating my garage door and controlling it with Android
Hugo Visser
April 30, 2020
Tweet
Share
More Decks by Hugo Visser
See All by Hugo Visser
LLMs on Small devices [DutchAUG]
hugovisser
1
96
Modern Android dependency injection
hugovisser
1
240
Android dependency injection in 2022
hugovisser
1
150
Navigating the Navigation Component
hugovisser
1
120
Reactive UIs with Data Binding
hugovisser
2
130
Up close and personal with Nearby (DevFest Trondheim)
hugovisser
0
59
Work, Work - WorkManager
hugovisser
0
61
Up close and personal with Nearby
hugovisser
3
400
Room: the blessed object mapper
hugovisser
0
180
Other Decks in Technology
See All in Technology
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
CZII - CryoET Object Identification 参加振り返り・解法共有
tattaka
0
360
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.1k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
710
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
800
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
7
1.8k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
520
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
260
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
130
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
9
440
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Designing for Performance
lara
604
68k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
Statistics for Hackers
jakevdp
797
220k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Transcript
3TIRXLIHSSV KIXXMRKMRXSXLIKEVEKI[MXL%RHVSMH'SVSYXMRIWERHEFYRGLSJSXLIVWXYJJ ,YKS:MWWIV $FSXXIEET LYKS$PMXXPIVSFSXWRP
None
None
*RDOV &RQWUROZLWKDQDSSYVUHPRWH 2SHQWKHGRRUIURPP\PRWRUF\FOH ZLWKRXWUHDFKLQJIRUWKHSKRQH %RQXVRSHQIURPP\:HDU26ZDWFK /RFDOQHWZRUNRQO\VRPHDGGHGVHFXULW\ 7273
+DUGZDUH 'HIDXOWFRPPXQLFDWLRQ5)ZLWKUROOLQJFRGHV &RQQHFWLRQIRULPSXOVHVZLWFKξ 2SWLRQDO%L6HFXUJDWHZD\ FRPHVZLWKXJO\DSS ȹ 8$3H[WHQVLRQERDUGĺFORVHGSURWRFRO
ȹ
(63GHYERDUG &RQWUROLPSXOVHVZLWFKZLWK(63EDVHGPLFURFRQWUROOHUUHOD\
None
7RJJOH XQKFRWNUG4GNC[ ] FKIKVCN9TKVG &*+)* FGNC[ FKIKVCN9TKVG
&.19 _
None
None
:HEVRFNHW
:HEVRFNHW SURWREXI
:HEVRFNHW +DVJRRGVXSSRUWRQ(63 EXWQR7/6ZVV %LGLUHFWLRQDOEURDGFDVWĺVWDWXVRIWKHGRRURSHQLQJFORVLQJ F OOKLPSOHPHQWDWLRQRQ$QGURLG
3URWRFROEXIIHUV &RPSDFWUHSUHVHQWDWLRQ XQOLNH-621 %DFNZDUG IRUZDUGFRPSDWLEOH &URVVSODWIRUP FRGHJHQHUDWLRQ QDQRSESURWROLWH
3URWREXI OGUUCIG&QQT%QOOCPF] GPWO%QOOCPF] 12'0 %.15' 61)).' _ KPVQVR %QOOCPFEQOOCPF KPVFWTCVKQP
_
3URWREXI HWPUGPF6QIING ] XCNOGUUCIG5GUCOG2TQVQU&QQT%QOOCPFPGY$WKNFGT CRRN[] EQOOCPF5GUCOG2TQVQU&QQT%QOOCPF%QOOCPF61)).' QVRTGRQUKVQT[IGV1VR _ XCND[VGUOGUUCIGDWKNF VQ$[VG#TTC[
UQEMGVUGPF $[VG5VTKPIQH D[VGU _
3URWREXI &QQT%QOOCPFOGUUCIG&QQT%QOOCPFAKPKVA\GTQ KH RDAFGEQFG UVTGCO&QQT%QOOCPFAHKGNFUOGUUCIG ] KHVJGQVREQFGKUXCNKF UYKVEJ
OGUUCIGEQOOCPF ] ECUG&QQT%QOOCPFA%QOOCPFA61)).' JCPFNGVJKUEQOOCPF _ _
'LVFRYHU\
'LVFRYHU\ZLWKP'16 FODVVLQ$UGXLQR N?<I<B@MLQ$QGURLG
1VG0DQDJHU 7ZRVWHSSURFHVVGLVFRYHUWKHQUHVROYHĺLSSRUWRIWKHVHUYLFH 7XUQFDOOEDFNKHOOLQWRNPNK@I?IXQFWLRQ
'LVFRYHU\ UWURGPFHWPFKUEQXGT&GXKEG &KUEQXGT[4GUWNV UWURGPF%CPEGNNCDNG%QTQWVKPG]EQPVKPWCVKQP XCNNKUVGPGTQDLGEV0UF/CPCIGT&KUEQXGT[.KUVGPGT] QXGTTKFGHWPQP5GTXKEG(QWPF UGTXKEG+PHQ0UF5GTXKEG+PHQ ] TGUQNXGVJGUGTXKEG
PUF/CPCIGTTGUQNXG5GTXKEG UGTXKEG+PHQ &GXKEG4GUQNXG.KUVGPGT EQPVKPWCVKQP _ _
'LVFRYHU\ UWURGPFHWPFKUEQXGT&GXKEG &KUEQXGT[4GUWNV UWURGPF%CPEGNNCDNG%QTQWVKPG]EQPVKPWCVKQP XCNNKUVGPGTQDLGEV0UF/CPCIGT&KUEQXGT[.KUVGPGT] QXGTTKFGHWPQP5GTXKEG(QWPF UGTXKEG+PHQ0UF5GTXKEG+PHQ ] TGUQNXGVJGUGTXKEG
PUF/CPCIGTTGUQNXG5GTXKEG UGTXKEG+PHQ &GXKEG4GUQNXG.KUVGPGT EQPVKPWCVKQP _ _
'LVFRYHU\ UWURGPFHWPFKUEQXGT&GXKEG &KUEQXGT[4GUWNV UWURGPF%CPEGNNCDNG%QTQWVKPG]EQPVKPWCVKQP XCNNKUVGPGTQDLGEV0UF/CPCIGT&KUEQXGT[.KUVGPGT] QXGTTKFGHWPQP5GTXKEG(QWPF UGTXKEG+PHQ0UF5GTXKEG+PHQ ] TGUQNXGVJGUGTXKEG
PUF/CPCIGTTGUQNXG5GTXKEG UGTXKEG+PHQ &GXKEG4GUQNXG.KUVGPGT EQPVKPWCVKQP _ _
'LVFRYHU\ UWURGPFHWPFKUEQXGT&GXKEG &KUEQXGT[4GUWNV UWURGPF%CPEGNNCDNG%QTQWVKPG]EQPVKPWCVKQP XCNNKUVGPGT NKUVGPGT EQPVKPWCVKQPKPXQMG1P%CPEGNNCVKQP] PUF/CPCIGTUVQR5GTXKEG&KUEQXGT[ NKUVGPGT
_ PUF/CPCIGTFKUEQXGT5GTXKEGU ūAUGUCOGAVERŬ 0UF/CPCIGT24161%1.A&05A5& NKUVGPGT _
'LVFRYHU\ RTKXCVGENCUU&GXKEG4GUQNXG.KUVGPGT RTKXCVGXCNEQPVKPWCVKQP%CPEGNNCDNG%QPVKPWCVKQP&KUEQXGT[4GUWNV 0UF/CPCIGT4GUQNXG.KUVGPGT] QXGTTKFGHWPQP5GTXKEG4GUQNXGF UGTXKEG+PHQ0UF5GTXKEG+PHQ ] EQPVKPWCVKQPTGUWOG &KUEQXGT[4GUWNV5WEEGUU UGTXKEG+PHQJQUV
UGTXKEG+PHQRQTV _ _
'LVFRYHU\ GKVJGT&KUEQXGT[4GUWNV5WEEGUUQT&KUEQXGT[4GUWNV'TTQT XCNTGUWNV&GXKEG.QECVQT EQPVGZV FKUEQXGT&GXKEG
8VLQJ GJR
&RQQHFWLRQ :HFDQPRGHOWKLVDVD GJRRIHYHQWVVWDWHV 'LVFRQQHFWHG &RQQHFWHG 0HVVDJH
&RQQHFWLRQ)ORZ UGCNGFENCUU9GD5QEMGV'XGPV] FCVCENCUU%QPPGEVGF XCNYU9GD5QEMGV 9GD5QEMGV'XGPV FCVCENCUU/GUUCIG XCNYU9GD5QEMGV XCND[VGU$[VG5VTKPI 9GD5QEMGV'XGPV QDLGEV&KUEQPPGEVGF9GD5QEMGV'XGPV
_
&RQQHFWLRQ)ORZ ENCUU&GXKEG%QPPGEVKQP RTKXCVGXCNTGSWGUV4GSWGUV ] RTKXCVGXCNENKGPV1M*VVR%NKGPV$WKNFGT RKPI+PVGTXCN 6KOG7PKV5'%10&5 DWKNF HWPEQPPGEV (NQY9GD5QEMGV'XGPV
ECNNDCEM(NQY] XCNUQEMGVENKGPVPGY9GD5QEMGV TGSWGUV 9GD5QEMGV.KUVGPGT VJKU CYCKV%NQUG] EQNNGEV KUECPEGNNGF UQEMGVENQUG PWNN _ _
8VLQJ><GG=<>F GJR ENCUU&GXKEG%QPPGEVKQP RTKXCVGXCNTGSWGUV4GSWGUV ] RTKXCVGXCNENKGPV1M*VVR%NKGPV$WKNFGT RKPI+PVGTXCN 6KOG7PKV5'%10&5 DWKNF HWPEQPPGEV
(NQY9GD5QEMGV'XGPV ECNNDCEM(NQY] XCNUQEMGVENKGPVPGY9GD5QEMGV TGSWGUV 9GD5QEMGV.KUVGPGT VJKU CYCKV%NQUG] EQNNGEV KUECPEGNNGF UQEMGVENQUG PWNN _ _
8VLQJFDOOEDFN)ORZ ENCUU&GXKEG%QPPGEVKQP RTKXCVGXCNTGSWGUV4GSWGUV ] RTKXCVGXCNENKGPV1M*VVR%NKGPV$WKNFGT RKPI+PVGTXCN 6KOG7PKV5'%10&5 DWKNF HWPEQPPGEV (NQY9GD5QEMGV'XGPV
ECNNDCEM(NQY] XCNUQEMGVENKGPVPGY9GD5QEMGV TGSWGUV 9GD5QEMGV.KUVGPGT VJKU CYCKV%NQUG] EQNNGEV KUECPEGNNGF UQEMGVENQUG PWNN _ _
8VLQJFDOOEDFN)ORZ ENCUU.KUVGPGT RTKXCVGXCNUEQRG2TQFWEGT5EQRG9GD5QEMGV'XGPV 9GD5QEMGV.KUVGPGT ] QXGTTKFGHWPQP1RGP YGD5QEMGV9GD5QEMGVTGURQPUG4GURQPUG ] UEQRGQHHGT 9GD5QEMGV'XGPV%QPPGEVGF
YGD5QEMGV _ QXGTTKFGHWPQP/GUUCIG YGD5QEMGV9GD5QEMGVD[VGU$[VG5VTKPI ] UEQRGQHHGT 9GD5QEMGV'XGPV/GUUCIG YGD5QEMGV D[VGU _ _
8VLQJFDOOEDFN)ORZ ENCUU.KUVGPGT RTKXCVGXCNUEQRG2TQFWEGT5EQRG9GD5QEMGV'XGPV 9GD5QEMGV.KUVGPGT ] QXGTTKFGHWPQP1RGP YGD5QEMGV9GD5QEMGVTGURQPUG4GURQPUG ] UEQRGQHHGT 9GD5QEMGV'XGPV%QPPGEVGF
YGD5QEMGV _ QXGTTKFGHWPQP/GUUCIG YGD5QEMGV9GD5QEMGVD[VGU$[VG5VTKPI ] UEQRGQHHGT 9GD5QEMGV'XGPV/GUUCIG YGD5QEMGV D[VGU _ _
8VLQJFDOOEDFN)ORZ ENCUU.KUVGPGT RTKXCVGXCNUEQRG2TQFWEGT5EQRG9GD5QEMGV'XGPV 9GD5QEMGV.KUVGPGT ] QXGTTKFGHWPQP1RGP YGD5QEMGV9GD5QEMGVTGURQPUG4GURQPUG ] UEQRGQHHGT 9GD5QEMGV'XGPV%QPPGEVGF
YGD5QEMGV _ QXGTTKFGHWPQP/GUUCIG YGD5QEMGV9GD5QEMGVD[VGU$[VG5VTKPI ] UEQRGQHHGT 9GD5QEMGV'XGPV/GUUCIG YGD5QEMGV D[VGU _ _
8VLQJWKHFRQQHFWLRQ NCWPEJ] TGRQUKVQT[ETGCVG%QPPGEVKQP EQNNGEV] YJGP KV ] KU&GXKEG%QPPGEVKQP9GD5QEMGV'XGPV%QPPGEVGF JCPFNG
KU&GXKEG%QPPGEVKQP9GD5QEMGV'XGPV&KUEQPPGEVGF UVWHH KU&GXKEG%QPPGEVKQP9GD5QEMGV'XGPV/GUUCIG RCTUGKV _ _ _
>M@<O@JII@>ODJI (QVXUH:LILFRQQHFWLYLW\ 'LVFRYHUGHYLFH (VWDEOLVKFRQQHFWLRQUHWU\FRQQHFWLRQHUURUV
(QVXULQJZLILFRQQHFWLYLW\ UWURGPFHWPIGV9KHK0GVYQTM ECNNDCEM(NQY] XCNEOEQPVGZVIGV5[UVGO5GTXKEG %QPPGEVKXKV[/CPCIGTENCUULCXC XCNECNNDCEMQDLGEV%QPPGEVKXKV[/CPCIGT0GVYQTM%CNNDCEM ] QXGTTKFGHWPQP#XCKNCDNG PGVYQTM0GVYQTM
] EQPPGEVKXKV[/CPCIGTDKPF2TQEGUU6Q0GVYQTM PGVYQTM QHHGT PGVYQTM _ _ EOTGSWGUV0GVYQTM 0GVYQTM4GSWGUV$WKNFGT CFF%CRCDKNKV[ 0GVYQTM%CRCDKNKVKGU0'6A%#2#$+.+6;A016A/'6'4'& CFF6TCPURQTV6[RG 0GVYQTM%CRCDKNKVKGU64#052146A9+(+ DWKNF ECNNDCEM CYCKV%NQUG] EQPPGEVKXKV[/CPCIGTWPTGIKUVGT0GVYQTM%CNNDCEM ECNNDCEM _ _
'LVFRYHUZKHQ:LILFRQQHFWHG XCNFKUEQXGT9KVJ9KHKIGV9KHK0GVYQTM HNCV/CR.CVGUV] HNQY&KUEQXGT[4GUWNV5WEEGUU ] YJKNG VTWG ] XCNTGUWNV<GTQ%QPH&GXKEG.QECVQT EQPVGZV
FKUEQXGT&GXKEG KH TGUWNVKU&KUEQXGT[4GUWNV5WEEGUU ] GOKV TGUWNV DTGCM _ GTTQTFGNC[CPFVT[CICKP FGNC[ _ _OCR]]KVJQUVJQUV#FFTGUU_]KVRQTV__
'LVFRYHUZKHQ:LILFRQQHFWHG XCNFKUEQXGT9KVJ9KHKIGV9KHK0GVYQTM HNCV/CR.CVGUV] HNQY&KUEQXGT[4GUWNV5WEEGUU ] YJKNG VTWG ] XCNTGUWNV<GTQ%QPH&GXKEG.QECVQT EQPVGZV
FKUEQXGT&GXKEG KH TGUWNVKU&KUEQXGT[4GUWNV5WEEGUU ] GOKV TGUWNV DTGCM _ GTTQTFGNC[CPFVT[CICKP FGNC[ _ _OCR]]KVJQUVJQUV#FFTGUU_]KVRQTV__
'LVFRYHUZKHQ:LILFRQQHFWHG XCNFKUEQXGT9KVJ9KHKIGV9KHK0GVYQTM HNCV/CR.CVGUV] HNQY&KUEQXGT[4GUWNV5WEEGUU ] YJKNG VTWG ] XCNTGUWNV<GTQ%QPH&GXKEG.QECVQT EQPVGZV
FKUEQXGT&GXKEG KH TGUWNVKU&KUEQXGT[4GUWNV5WEEGUU ] GOKV TGUWNV DTGCM _ GTTQTFGNC[CPFVT[CICKP FGNC[ _ _OCR]]KVJQUVJQUV#FFTGUU_]KVRQTV__
'LVFRYHUZKHQ:LILFRQQHFWHG XCNFKUEQXGT9KVJ9KHKIGV9KHK0GVYQTM HNCV/CR.CVGUV] HNQY&KUEQXGT[4GUWNV5WEEGUU ] YJKNG VTWG ] XCNTGUWNV<GTQ%QPH&GXKEG.QECVQT EQPVGZV
FKUEQXGT&GXKEG KH TGUWNVKU&KUEQXGT[4GUWNV5WEEGUU ] GOKV TGUWNV DTGCM _ GTTQTFGNC[CPFVT[CICKP FGNC[ _ _OCR]]KVJQUVJQUV#FFTGUU_]KVRQTV__
'LVFRYHUZKHQ:LILFRQQHFWHG XCNFKUEQXGT9KVJ9KHKIGV9KHK0GVYQTM HNCV/CR.CVGUV] HNQY&KUEQXGT[4GUWNV5WEEGUU ] YJKNG VTWG ] XCNTGUWNV<GTQ%QPH&GXKEG.QECVQT EQPVGZV
FKUEQXGT&GXKEG KH TGUWNVKU&KUEQXGT[4GUWNV5WEEGUU ] GOKV TGUWNV DTGCM _ GTTQTFGNC[CPFVT[CICKP FGNC[ _ _OCR]]KVJQUVJQUV#FFTGUU_]KVRQTV__
%XLOGFRQQHFWLRQIORZ TGVWTPFKUEQXGT9KVJ9KHKHNCV/CR.CVGUV]JQUV &GXKEG%QPPGEVKQP 4GSWGUV$WKNFGT WTN YU]JQUV_ DWKNF EQPPGEV _TGVT[9JGP]ECWUGCVVGORV
GOKV &GXKEG%QPPGEVKQP9GD5QEMGV'XGPV&KUEQPPGEVGF FGNC[ VTWG _ _FKUVKPEV7PVKN%JCPIGF
None
2SHQLQJIURPWKHPRWRUF\FOH %OXHWRRWKKHDGVHW )LUVWLGHDKHDGVHWĺJHRIHQFHĺVWDUWGLVFRYHU\ĺGLVFRQQHFWKHDGVHW *HQHUDOO\QR:LILZLWKRXWVFUHHQRQ :LILVFDQQLQJLVPRUHDQGPRUHUHVWULFWHG
None
2SHQLQJIURPWKHPRWRUF\FOH $GG(63EDVHGPLFURFRQWUROOHU EXFNFRQYHUWHU ĺ%/(:LIL %/(IRUSKRQHFRQQHFWLRQ :LILIRUFRQQHFWLQJWR(63JDUDJH
2SHQLQJIURPWKHPRWRUF\FOH +HDGVHWĺVWDUWVWRSIRUHJURXQGVHUYLFH )RUHJURXQGVHUYLFHĺFRQQHFWLRQIORZWRPRWRUF\FOH(63 (63ĺQRWLI\ZKHQFRQQHFWHGSUR[\IURPSKRQHWRJDUDJH 2QO\SRZHUHGRQZKHQLJQLWLRQNH\LVWXUQHGRQ
%/(VWDWXVSURWREXI OGUUCIG%QPPGEVKQP5VCVWU] EQPPGEVGFVQICTCIG DQQNEQPPGEVGF WRVKOGUKPEGDQQV WKPVWRVKOG
YKHKEQPPGEVGFVKOG WKPVYKHK7RVKOG _
/LVWHQLQJIRUFRQQHFWLRQ 'KHHGNEQPPGEV EQPVGZV $NWGVQQVJ#FCRVGTIGV&GHCWNV#FCRVGT IGV4GOQVG&GXKEG ICVGYC[ EQNNGEV]ENKGPV NCWPEJ]
YJGP%QPPGEVGFKUUWDUETKDKPIVQ$.'PQVKHKECVKQPU YJGP%QPPGEVGF ENKGPV ]UVCVWU OCZOKPWVGVQGUVCDNKUJCEQPPGEVKQP KH UVCVWUYKHK7RVKOG ] VVU!URGCM 1RGPKPI6GZV6Q5RGGEJ37'7'A#&&PWNNQRGP UGPF1RGP%QOOCPF ENKGPV _ _ _ _
6HFXULW\ 1RVHFUHWNH\RQWKHPRWRUF\FOHPLFURFRQWUROOHU 6HFUHWLVRQO\VWRUHGRQWKHJDUDJH(63DQGSKRQH 6HFXUHVKDUHGSUHIHUHQFHVZLWK<I?MJD?SN@>PMDOT
(QFU\SWHG6KDUHG3UHIHUHQFHV HWPETGCVG2TGHU EQPVGZV%QPVGZV 5JCTGF2TGHGTGPEGU] XCNMG[/CUVGT-G[UIGV1T%TGCVG /CUVGT-G[U#'5A)%/A52'% TGVWTP'PET[RVGF5JCTGF2TGHGTGPEGUETGCVG ]$WKNF%QPHKI#22.+%#6+10A+&_UGVVKPIU MG[ EQPVGZV
'PET[RVGF5JCTGF2TGHGTGPEGU2TGH-G['PET[RVKQP5EJGOG#'5A5+8 'PET[RVGF5JCTGF2TGHGTGPEGU2TGH8CNWG'PET[RVKQP5EJGOG#'5A)%/ _
'HPR
,QWUR /HYHOVHFXULW\ /HYHOJHWWLQJLWRSHQ PLFURFRQWUROOHU :HEVRFNHW 3URWREXI )ORZ 'LVFRYHU\