Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
190928_TokyoR81_Shiny
okiyuki
September 18, 2019
Technology
3
1.7k
190928_TokyoR81_Shiny
Tokyo.R #81 応用セッション Shiny Appを支えるエンジニアリング (+おまけ)
okiyuki
September 18, 2019
Tweet
Share
More Decks by okiyuki
See All by okiyuki
191016_KDD2019_Reading
okiyuki99
3
1.6k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
3
16k
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
250
💰年度末予算消化祭💰 Large Memory Instance で 画像分類してみた
__allllllllez__
0
120
re:Invent2022 前後の Amazon EventBridge のアップデートを踏まえつつ、情シスの仕事をより楽しくしたい話。 / EventBridge for Information Systems Department
_kensh
2
780
金属加工屋の営業マンがSTマイクロで・・・
usashirou
0
180
Dockerに疲れた人のためのLXDではじめるシステムコンテナ入門
devops_vtj
0
130
証明書って何だっけ? 〜AWSの中間CA移行に備える〜
minorun365
3
2.1k
Periodic Multi-Agent Path Planning
hziwara
0
160
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
170
PHPのimmutable arrayとは
hnw
1
170
クックパッドがRubyKaigiに20名以上の社員で参加するわけ
midorikawa
0
190
AI Services 概要 / AI Services overview
oracle4engineer
PRO
0
180
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
A Modern Web Designer's Workflow
chriscoyier
689
180k
Designing with Data
zakiwarfel
91
4.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
346
17k
Streamline your AJAX requests with AmplifyJS and jQuery
dougneiner
128
8.8k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
152
13k
Bootstrapping a Software Product
garrettdimon
299
110k
Building an army of robots
kneath
301
40k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
Robots, Beer and Maslow
schacon
154
7.3k
A Philosophy of Restraint
colly
193
15k
Building Your Own Lightsaber
phodgson
96
4.9k
Transcript
4IJOZ"QQΛࢧ͑ΔΤϯδχΞϦϯά 5PLZP3 .PUPZVLJ0,* !PLJZVLJ
ͩΕΑʁ • .PUPZVLJ0,* !PLJZVLJ • %BUB4DJFOUJTU!-*/& • ϐΫςϧ (BNF%FTJHOFS
4IJOZͱࢲ IUUQTHJUIVCDPNPLJZVLJ4IJOZ"#
IUUQHJOHJIBUFOBCMPHDPNFOUSZ 4IJOZͱࢲ
εϥΠυͷͶΒ͍ • 4IJOZΛσʔλੳͷμογϡϘʔυʹ༻! • 4IJOZ"QQΛࢧ͑ΔΤϯδχΞϦϯάΛհ • " ۩ମతʹʁʢࢀߟਤॻ͜Εʣ ◦ ෳਓར༻ˍೝূ
◦ େࣄ ◦ յΕʹ͍͘ • ʢ͓·͚ʣΤϯδχΞϥΠΫʹ։ൃ͍ͨ͠
ຊհ͢ΔίϯςϯπʢͰͤΔͱ͜·Ͱʣ • NFNPJTF σʔλಡΈࠐΈߴԽ • QPPM 4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ %PDLFSʹΑΔ"QQִͱೝূ
• 4IJOZMPBEUFTU ෳਓΞΫηε࣌ͷੑೳܭଌ • 4IJOZUFTU 4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
४උ • ओʹ͜ͷεϥΠυϙΠϯλʹͳͬͯ·͢ ◦ 2JJUBͷϦϯΫʹৄࡉ͕͋Γ·͢ • ͜ͷεϥΠυͷ4IJOZ4FSWFS0QFO 4PVSDF൛ͷ4IJOZ4FSWFSΛࢦ͠·͢ • ͪͳΈʹ
◦ 34UVEJP4FSWFS1SPͬͯΔਓ!ʁ ◦ 4IJOZ4FSWFS1SPͬͯΔਓ!ʁ
ຊհ͢Δίϯςϯπ • NFNPJTF σʔλಡΈࠐΈߴԽ • QPPM4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ%PDLFSʹΑΔ"QQִͱೝূ • 4IJOZMPBEUFTUෳਓΞΫηε࣌ͷੑೳܭଌ
• 4IJOZUFTU4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
Ͳ͜ͰΑ͘ΈΔμογϡϘʔυͷ͍ํ • ຖόονͰ࠷৽σʔλ͕ੜ͞ΕΔ • ࠷৽ͷσʔλΛ9ਓ͕:ඵ͔͚ͯಡΈࠐΉ • σʔλͷՄࢹԽ ! 9 :
ͳΒຖඵσʔλͷಡ ΈࠐΈ͚ͩͰ͕࣌ؒΘΕ͍ͯΔ
NFNPJTFΛͨ·ͨ·ݟ͚ͭΔ 3FG$BTFTUVEZDPOWFSUJOHB4IJOZBQQUPBTZOD IUUQTSTUVEJPHJUIVCJPQSPNJTFTBSUJDMFTDBTFTUVEZIUNM
SMJCNFNPJTFͱʁ ͡Ίͯ͋Δఆٛͨؔ͠Λݺͼग़ͨ͠ͱ͖ɺฦ ͞ΕΔσʔλΛΩϟογϡͤ͞Δ Ҏ߱ͷݺͼग़ͦ͠ͷΩϟογϡԽ͞Εͨ σʔλΛฦ͢ ! μογϡϘʔυͷσʔλಡΈࠐΈؔΛ NFNPJTFͰΩϟογϡͤ͞Ε͘ͳΓͦ͏ IUUQTHJUIVCDPNSMJCNFNPJTF
Δ͜ͱ͜Ε͚ͩ ݩͷؔ ϥοϐϯά ճҎ߱ͷ ΞΫηε
ৄ͍͍͠ํҎԼΛͲ͏ͧ! IUUQTRJJUBDPNPLJZVLJJUFNTCDFECFBFFDG
ຊհ͢Δίϯςϯπ • NFNPJTFσʔλಡΈࠐΈߴԽ • QPPM 4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ%PDLFSʹΑΔ"QQִͱೝূ • 4IJOZMPBEUFTUෳਓΞΫηε࣌ͷੑೳܭଌ
• 4IJOZUFTU4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
4IJOZͱ%#ͷ࿈ܞ !%#ͱͷଓཧΛ4IJOZͰΔͷπϥΠ !%#͔ΒͷಡΈࠐΈ్தͰ4IJOZ"QQ͕ดͯ͡ɺ %#ͱͷίωΫγϣϯͬͯ͠·͏ͱ͔ " STUVEJPQPPMΛͬͯίωΫγϣϯཧͷΘ ͠͞ΛճආͰ͖Δ STUVEJPQPPM0CKFDU1PPMJOHJO3 IUUQTHJUIVCDPNSTUVEJPQPPM
STUVEJPQPPMΛ͏ͱ͜Μͳײ͡ ˡ QPPMʹଓใΛೖΕΔ ˡ 4IJOZ"QQࢭΊͨͱ͖ʹ উखʹQPPMDMPTF ˡ EQMZSͰ42-ॻ͔ͣʹ&5-
ຊհ͢Δίϯςϯπ • NFNPJTFσʔλಡΈࠐΈߴԽ • QPPM4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ %PDLFSʹΑΔ"QQִͱೝূ • 4IJOZMPBEUFTUෳਓΞΫηε࣌ͷੑೳܭଌ
• 4IJOZUFTU4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
ͦͦ4IJOZ4FSWFSͷπϥΠͱ͜Ζ ! BQQQSPDFTTͰॲཧ͢ΔͨΊɺෳਓ ͕͏ͱɺઌͷॲཧ͕ऴΘΔ·Ͱͭඞཁ͕͋Δ 3FG"MUFSOBUJWFBQQSPBDIFTUPTDBMJOH4IJOZXJUI34UVEJP4IJOZ4FSWFS 4IJOZ1SPYZPSDVTUPN BSDIJUFDUVSF IUUQTBQQTJMPODPNBMUFSOBUJWFTUPTDBMJOHTIJOZ
ͦͦ4IJOZ4FSWFSͷπϥΠͱ͜Ζ ! ೝূػೳ͕ͳ͍ͷͰɺඞཁͳΒ1SPYZʢ/HJOY ͱ͔ʣαʔόͷߏங͕ඞཁ 3FG"EE"VUIFOUJDBUJPOUP4IJOZ4FSWFSXJUI/HJOY IUUQTXXXSCMPHHFSTDPNBEEBVUIFOUJDBUJPOUPTIJOZTFSWFSXJUIOHJOY
4IJOZ1SPYZ ! VTFS EPDLFSTIJOZDPOUBJOFSΛىಈͤ͞Δ ! -%"1ͷೝূʢڥมͰϢʔβ໊ͤΔʣ 3FG"MUFSOBUJWFBQQSPBDIFTUPTDBMJOH4IJOZXJUI34UVEJP4IJOZ4FSWFS 4IJOZ1SPYZPSDVTUPN BSDIJUFDUVSF IUUQTBQQTJMPODPNBMUFSOBUJWFTUPTDBMJOHTIJOZ
IUUQTHJUIVCDPNPQFOBOBMZUJDTTIJOZQSPYZ
4IJOZ1SPYZͷը໘ ˡ ೝূใΛೖΕΔʢ#BTJDೝূ -%"1FUD ˢ Ϣʔβ͕ΞΫηεͰ͖Δ 4IJOZ"QQ͕ϦετԽ͞Ε ͯݟΕΔ ˢ
Ϣʔβ໊
4IJOZ1SPYZ • "QBDIFϥΠηϯε +BWBͷ4QSJOHCPPU • ৄ͍͠ಋೖํ๏ҎԼΛͲ͏ͧ! IUUQTRJJUBDPNPLJZVLJJUFNTBBEEF
ຊհ͢Δίϯςϯπ • NFNPJTFσʔλಡΈࠐΈߴԽ • QPPM4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ%PDLFSʹΑΔ"QQִͱೝূ • 4IJOZMPBEUFTU ෳਓΞΫηε࣌ͷੑೳܭଌ
• 4IJOZUFTU4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
4IJOZ"QQ։ൃதʹ;ͱࢥ͏ ͜ͷ"QQΛ9ਓ͕ಉ࣌ʹݟͨͱ͖ʹɺ࠷ѱͲΕ͘ Β͍ॲཧʹ͔͔࣌ؒΔͩΖ͏͔ʜ!
STUVEJPDPOG4IJOZJO1SPEVDUJPOΑΓ 3FG4IJOZJO1SPEVDUJPOQ IUUQTTQFBLFSEFDLDPNKDIFOHTIJOZJOQSPEVDUJPO TMJEF ͳΜͩΖ͜Εʁ
TIJOZMPBEUFTUͱʁ • 9ਓͷಉ࣌ΞΫηεʹରͯ͠ɺҰ࿈ͷॲཧʹͲͷ ఔ͕͔͔࣌ؒΔ͔ΛγϛϡϨʔγϣϯͰ͖Δ • खॱ ◦ 3FDPSE4IJOZ"QQͷૢ࡞Λه͢Δ ◦ 3FQMBZ9XPSLFSىಈͯ͠ɺૢ࡞Λܭଌ
◦ "OBMZ[F༷ʑͳՄࢹԽΛఏڙ
TFTTJPOEVSBUJPOੳ XPLFSUISFBE ˡ ͍ઢ3FDPSE࣌ͷૢ࡞ྃ ·Ͱͷ࣌ؒ ԣ࣠ ࣌ؒʢӈʹ͍͘΄Ͳ͔͔࣌ؒΔʣ ॎ࣠
֤γϛϡϨ ʔγϣϯ ͔͔ͬͨ࣌ؒ ॱͰιʔτ͞ ΕͯΔ ͜ͷྫͰɺ ճͷγϛϡ ϨʔγϣϯΛ ߦ͍ͬͯΔ ֤৭ͦΕͧΕͷॲཧʹ ͔͔ͬͯΔ࣌ؒ
TFTTJPOEVSBUJPOੳ XPLFSUISFBE ճͷγϛϡϨ ʔγϣϯΛߦͬ ͍ͯΔ ! ਓಉ࣌ΞΫηεͩͱɺ ࠷ѱഒ͘Β͍͘ͳΔ Մೳੑ͕͋ΔͱಡΉ
ʢͨͿΜʣ
TIJOZMPBEUFTUͷײ ! γϛϡϨʔγϣϯ݁Ռ͔Βࠞࡶ͢Δͱ9ඵ͘Β͍ ͭՄೳੑ͋Γ·͕͢ɺྃ͝ঝ͍ͩ͘͞ͱݴ͑Δ " ผ్TIJOZDBOOPOΛJOTUBMMͯ͠$-*͔Β࣮ߦ͢ Δඞཁ͕͋Γɺগ͠खؒΛײ͡Δɻ$*Խ͕·͍͠ ৄ͍͍͠ํ2JJUBΛͲ͏ͧ# IUUQTRJJUBDPNPLJZVLJJUFNTFEFBCB
ຊհ͢Δίϯςϯπ • NFNPJTFσʔλಡΈࠐΈߴԽ • QPPM4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ%PDLFSʹΑΔ"QQִͱೝূ • 4IJOZMPBEUFTUෳਓΞΫηε࣌ͷੑೳܭଌ •
4IJOZUFTU 4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
4IJOZͰςετΛճ͍ͯ͜͠͏ ! 4IJOZ4FSWFSʹ"QQΛ%FQMPZ͚ͨ͠ͲΤϥʔ • ͖ͬ͞·Ͱಈ͍͍ͯͨͷʹʜʂ • ։ൃҰൠʹى͜Δ
4IJOZUFTUͱUFTUUIBUΛ͏ 4IJOZUFTU • 3QBDLBHF • 1IBOUPN+4ʹΑΔ4IJOZ%SJWFS͕"QQΛىಈ UFTUUIBU • 3ͷίʔυͷ୯ମςετΛߦ͏ͨΊͷ3QBDLBHF
! ΤϥʔͰىಈ͠ͳ͍͔ʁͱ͍͏৺͕ݮΔ
Α͋͘ΔσΟϨΫτϦߏ UFTUεΫϦϓτΛ࣮ߦ͢Δ UFTUεΫϦϓτͱͦͷ݁Ռ
ʢྫʣ
[email protected]
3
ʢྫʣUFTU3
UFTUʹͲΜͳͷΛ༻ҙ͢Δ͔ • ىಈ͔ΒɺϢʔβ͕සൟʹߦ͏ͷʢΫϦοΫ͠ ͯσʔλ%-ͱ͔ʣΛUFTU3ʹ·ͣॻ͍͓ͯ͘ • ৄ͍͍͠ํҎԼΛͲ͏ͧ! IUUQTRJJUBDPNPLJZVLJJUFNTBCBDBFGG
ຊհ͢Δίϯςϯπ • NFNPJTFσʔλಡΈࠐΈߴԽ • QPPM4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ%PDLFSʹΑΔ"QQִͱೝূ • 4IJOZMPBEUFTUෳਓΞΫηε࣌ͷੑೳܭଌ •
4IJOZUFTU4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
ʢࢲతʣ4IJOZ4FSWFSͰΑ͋͘Δ&SSPSͷݪҼ ! ϩʔΧϧͷมɾϥΠϒϥϦΛࢀরͯͨ͠ EFUBDIBMMQBDLBHFTXIJMFXPSLJOHJO3 4UBDL0WFSGMPX IUUQTTUBDLPWFSGMPXDPNRVFTUJPOTEFUBDIBMMQBDLBHFTXIJMFXPSLJOHJOS σλονͷॲ ཧΛೖΕΔ" HMPCBM3
ʢࢲతʣ4IJOZ4FSWFSͰΑ͋͘Δ&SSPSͷݪҼ ! ͋ΔϥΠϒϥϦΛͬͯͳ͍ͱࢥͬͯআͯͨ͠ Β࣮͍ͬͯͯؾ͔ͮͳ͔ͬͨ " ໊લۭؒΛࢦఆͨ͠΄͏͕ແ HMPCBM3
ʢࢲతʣ4IJOZ4FSWFSͰΑ͋͘Δ&SSPSͷݪҼ ! 4IJOZ"QQͰͬͯΔؔΛมߋ͚ͨ͠Ͳɺ 4IJOZ4FSWFSͰݟͯมΘͬͯͳ͍ʜʁ " SFTUBSUUYUಉ࣌ʹUPVDIίϚϯυͰߋ৽ͯ͠ ஔ͢Δͷ͕ແ 4IJOZ4FSWFSW$POGJHVSBUJPO3FGFSFODF IUUQTEPDTSTUVEJPDPNTIJOZTFSWFSSFTUBSUJOHBOBQQMJDBUJPO
ˎSFTUBSUUYUͱ 4IJOZ"QQΛڧ੍తʹSFTUBSUͤ͞ΔͨΊͷۭϑΝΠϧ
ຊͷ͓͞Β͍ • NFNPJTF σʔλಡΈࠐΈߴԽ • QPPM 4IJOZͱ%#ͷίωΫγϣϯཧ • 4IJOZ1SPYZ %PDLFSʹΑΔ"QQִͱೝূ
• 4IJOZMPBEUFTU ෳਓΞΫηε࣌ͷੑೳܭଌ • 4IJOZUFTU 4IJOZͰͷ୯ମςετ • ʢࢲతʣΑ͘ى͜Δτϥϒϧ • ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
·ͱΊ • ΤϯδχΞϦϯάࢹͰɺ4IJOZ"QQΛࢧ͑Δศ རػೳΛհͨ͠ • ੈͷதͷ4IJOZ6TFSͷॿ͚ʹͳΕ͍Ͱ͢ ◦ ͱ͘ʹɺاۀͰ4IJOZΛར༻͍ͯ͠Δ ͍ͨ͠ Ϣʔβʹ͚ͯ
ʢ͓·͚ʣ͓͠ΌΕ6*Λࢦͯ͠
ϩʔσΟϯάදࣔ͋Δํ͕·͍͠ • ! ར༻ऀͷؾ࣋ͪʣͪΌΜͱಈ͍ͯΔʁΤϥʔ Ͱࢭ·ͬͯΔʁΘ͔ΒΜ • ࠷ॳ BOESFXTBMJQMPUMZ#BSTͱ͍͏ͷ͕͋ͬͨ • ࠓ͜Ε͕৽͍͠
BOESFXTBMJTIJOZDTTMPBEFST
BOESFXTBMJTIJOZDTTMPBEFST • छྨ͔ΒબΔ • ͜Ε͚ͩ 3FGʲ3ʳ<TIJOZ>ਤɾςʔϒϧͷग़ྗʹ$444OJQQFUTͰΞχϝʔγϣϯΛ͚ͭΔ 2JJUB IUUQTRJJUBDPN
[email protected]
,@TBTBLJJUFNTGECFBFFGGD
USFTUMFUFDITIJOZ"DF • "DFΤσΟλΛ 4IJOZ6*Ͱ͏͜ͱ͕Ͱ͖Δ • !ݟ͕͓ͨ͠ΌΕ 3FGUSFTUMFUFDITIJOZ"DF*OUFHSBUJOHUIF"DFFEJUPSXJUI4IJOZ IUUQTHJUIVCDPNUSFTUMFUFDITIJOZ"DF
ESFBN3TTIJOZ8JEHFUT !͓͠ΌΕ6*ΟδΣοτ ESFBN3TTIJOZ8JEHFUTTIJOZ8JEHFUT&YUFOEXJEHFUTBWBJMBCMFJOTIJOZ IUUQTHJUIVCDPNESFBN3TTIJOZ8JEHFUT
ࢀߟ ESFBN3TϑϥϯεͰ3QBDLBHFͷ։ൃ ESFBN3TcFYQFSU3cFYQFSUTIJOZcEBUBTDJFODFc'SBODF IUUQTXXXESFBNSTGS
͓͠ΌΕͳ4IJOZ5FNQMBUFଞʹ͋Γ·͢ • 3JOUF3GBDFCTEBTI #PPUTUSBQ • FSJDSBZBOEFSTPOTIJOZNBUFSJBM NBUFSJBMEFTJHO • 3JOUF3GBDFGVMM1BHF GVMMQBHFKTͰGVMMQBHFΞϓϦ
• "QQTJMPOTIJOZTFNBOUJD +BWB4DSJQUৄ͍͠ਓʹظ
ςϯϓϨʔτσβΠϯΛద༻͓ͯ͠͠ΌΕʹ • STUVEJPTIJOZUIFNFT • OJLEBTICPBSEUIFNFT ྫҎԼ
3FGFSFODF • ֆจࣈ5XFNPKJΛ༻͠·ͨ͠ ◦ IUUQTUXFNPKJUXJUUFSDPN