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
190928_TokyoR81_Shiny
Search
okiyuki
September 18, 2019
Technology
3
1.9k
190928_TokyoR81_Shiny
Tokyo.R #81 応用セッション Shiny Appを支えるエンジニアリング (+おまけ)
okiyuki
September 18, 2019
Tweet
Share
More Decks by okiyuki
See All by okiyuki
Ubieのデータ品質の検査・維持・向上への取り組み
okiyuki99
3
1.7k
191016_KDD2019_Reading
okiyuki99
3
1.9k
Other Decks in Technology
See All in Technology
Godot Engineを使った vision OSアプリ開発について
limes2018
0
150
RAG構築におけるKendraとPineconeの使い分け
sonoda_mj
2
280
障害対応を楽しむ7つのコツ
ryuichi1208
7
4.1k
What's New in OpenShift 4.16
redhatlivestreaming
2
640
KnowledgeBasesとAgentsの紹介
hedgehog051
2
400
Oracle Modern Data Platform Reference Architecture (Autonomous Data Warehouse編)
oracle4engineer
PRO
0
530
Recap: Kotlin Language Features in 2.0 and Beyond (Michail Zarečenskij)
dalinaum
0
420
新常識! Javascript×AWS Lambdaがアツい!!
watany
3
270
IaCツールのいろいろ
takesection
0
220
MLP Can Be A Good Transformer Learner
safie
1
120
モノリスから小さなシステムへ / Chatworkシステム移行の現在地と今後について@開発生産性カンファレンス
tanakayuki
2
2.5k
脱ぽちぽちを目指して CDKでインフラ構築をしてみた
hosomatu
0
160
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
516
39k
Unsuck your backbone
ammeep
664
57k
5 minutes of I Can Smell Your CMS
philhawksworth
200
19k
Building a Modern Day E-commerce SEO Strategy
aleyda
22
6.6k
Optimising Largest Contentful Paint
csswizardry
14
2.6k
How to train your dragon (web standard)
notwaldorf
78
5.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
31
1.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
247
20k
How to Ace a Technical Interview
jacobian
273
23k
Code Review Best Practice
trishagee
57
16k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
21
1.7k
In The Pink: A Labor of Love
frogandcode
139
22k
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εΫϦϓτͱͦͷ݁Ռ
ʢྫʣSVO@UFTUT3
ʢྫʣ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 IUUQTRJJUBDPNTBTBLJ@,@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