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
56
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
120
Modern Android dependency injection
hugovisser
1
250
Android dependency injection in 2022
hugovisser
1
180
Navigating the Navigation Component
hugovisser
1
130
Reactive UIs with Data Binding
hugovisser
2
150
Up close and personal with Nearby (DevFest Trondheim)
hugovisser
0
80
Work, Work - WorkManager
hugovisser
0
71
Up close and personal with Nearby
hugovisser
3
480
Room: the blessed object mapper
hugovisser
0
200
Other Decks in Technology
See All in Technology
お試しで oxlint を導入してみる #vuefes_aftertalk
bengo4com
2
1.4k
マイクロリブート ~ACEマインドセットで実現するアジャイル~
sony
0
190
【Android】テキスト選択色の問題修正で心がけたこと
tonionagauzzi
0
130
バグと向き合い、仕組みで防ぐ
____rina____
0
240
[JDDStudy #10] 社内Agent勉強会の取り組み紹介
yp_genzitsu
1
130
メタプログラミングRuby問題集の活用
willnet
2
730
嗚呼、当時の本番環境の状態で AI Agentを再評価したいなぁ...
po3rin
0
390
日々のSlackアラート確認運用をCustom Chat Modesで楽にした話 / 日々のSlackアラート確認運用をCustom Chat Modesで楽にした話
imamotohikaru
0
290
Amazon ECS デプロイツール ecspresso の開発を支える「正しい抽象化」の探求 / YAPC::Fukuoka 2025
fujiwara3
6
490
Design and implementation of "Markdown to Google Slides" / phpconfuk 2025
k1low
1
390
自己的售票系統自己做!
eddie
0
360
Introducing RFC9111 / YAPC::Fukuoka 2025
k1low
1
190
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Six Lessons from altMBA
skipperchong
29
4.1k
Navigating Team Friction
lara
190
15k
GraphQLとの向き合い方2022年版
quramy
49
14k
KATA
mclloyd
PRO
32
15k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
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\