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
スマホ時代のBotアプリのつくり方
Search
Yusuke Wada
July 03, 2016
Technology
7
27k
スマホ時代のBotアプリのつくり方
YAPC::Asia Hachioji 2016 mid in Shinagawa
2016-07-03
Yusuke Wada a.k.a. yusukebe
Yusuke Wada
July 03, 2016
Tweet
Share
More Decks by Yusuke Wada
See All by Yusuke Wada
へんな働き方
yusukebe
4
2.4k
Cap'n Webについて
yusukebe
0
230
OSS開発者の憂鬱
yusukebe
16
18k
r2-image-worker
yusukebe
1
240
Introduce Hono CLI
yusukebe
6
3.9k
私はどうやって技術力を上げたのか
yusukebe
47
21k
Reactをクライアントで使わない
yusukebe
8
7k
AI時代のUIはどこへ行く?
yusukebe
23
12k
速いWebフレームワークを作る
yusukebe
5
2k
Other Decks in Technology
See All in Technology
スクリプトの先へ!AIエージェントと組み合わせる モバイルE2Eテスト
error96num
0
180
OpenClaw を Amazon Lightsail で動かす理由
uechishingo
0
180
Claude Code Skills 勉強会 (DevelersIO向けに調整済み) / claude code skills for devio
masahirokawahara
1
22k
AWS CDK「読めるけど書けない」を脱却するファーストステップ
smt7174
3
170
The_Evolution_of_Bits_AI_SRE.pdf
nulabinc
PRO
0
240
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
430
Scrumは歪む — 組織設計の原理原則
dashi
0
200
GCASアップデート(202601-202603)
techniczna
0
210
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
190
2026年もソフトウェアサプライチェーンのリスクに立ち向かうために / Product Security Square #3
flatt_security
1
650
JAWSDAYS2026_A-6_現場SEが語る 回せるセキュリティ運用~設計で可視化、AIで加速する「楽に回る」運用設計のコツ~
shoki_hata
0
3k
コンテキスト・ハーネスエンジニアリングの現在
hirosatogamo
PRO
3
460
Featured
See All Featured
New Earth Scene 8
popppiees
1
1.7k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
980
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
86
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Music & Morning Musume
bryan
47
7.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
The SEO identity crisis: Don't let AI make you average
varn
0
420
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
130
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
250
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
εϚϗ࣌ͷ #PUΞϓϦͷͭ͘Γํ :"1$"TJB)BDIJPKJNJEJO4IJOBHBXB :VTVLF8BEBBLBZVTVLFCF
ࣗݾհ w ా༟հBLBZVTVLFCF w ϫσΟοτදऔక w ΦϞϩΩ$50 w ٕज़ސY w
DPGPVOEFSPGCPLFUF w XBEBGNEBOEZGN w 1FSM.POHFS
ͦ͏͍͑
ԭೄཱྀߦߦ͖ͬͯ·ͨ͠
ཱྀߦͱ͍͑
τϥϕϧϒοΫ ג ͷٕज़ސͬͯ·͢
None
ࡢͷϠύνʔͰ τϥϕϧϒοΫ͔ࣾΒ ໊͕ ֤ࣗॳ ൃදʂ ✕
ΊͰ͍ͨʂ ˎࣸਅάϧΫϯͰ͢
Ϡύνʔʹײँ
ͱ͜ΖͰ
None
ΈΜͳେ͖ʂ ͩΑͶʁ
ͦΜͳͭͷϓϥοτϑΥʔϜ ͔Β݄ʹΞφϯε͕
None
εϚϗϝοηϯδϟʔ w -*/&'BDFCPPL.FTTFOHFS w εϚϗ࣌ͷϝοηʔδΞϓϦ w ରPSάϧʔϓ w ͜ͷͭσϑΝΫτε λϯμʔυʹͳ͍ͬͯΔ
w ͦ͜ʹ#PUͱ͍͏֓೦ͱ࣮͕ ೖͬͯ͘Δ
ຊͷςʔϚ w -*/&'BDFCPPL.FTTFOHFS#PUͷͭ͘Γํ w ओʹ-*/&ʮ#05"1*5SJBM"DDPVOUʯΛར༻ w #0,&5Λྫʹڍ͛·͢ w ҙ֎ͱۤ࿑͢Δ࣮ͷ͍͔ͭ͘ͷίτ w
ίϚϯυࢦͱͦͷ࣮ w ཧతͳΞʔΩςΫνϟͱ࣮ྫ
ͦͦ #PUͬͯͳΜͧ
άάΔ
ఆظతʹπΠʔτ͢Δ πΠολʔ ΞΧϯτ
/0/0 ͦΕ͚ͩ͡Όͳ͍Α
͔͋ͨਓؒͷΑ͏ʹ࡞ۀΛ ߦ͏ίϯϐϡʔλϓϩάϥϜ ͷ૯শ
30#05
ྫ͑
ݕࡧΤϯδϯͷ#PU ͱ͔͋ΔΑͶ
-*/"1*ͷ߹
ެࣜ"1*υΩϡϝϯτΑΓ༁Ҿ༻ w #05"1*Λ͏ͱݸਓͷϢʔβʔͱΓͱΓ͕ ग़དྷΔ w #05ΞΧϯτΛ༑ୡͱͯ͠Ճͯ͠Β͍ϝο ηʔδΛड͚औΔͱࣗಈతʹΧελϚΠζͨ͠Ϩε ϙϯεΛฦ͢ͳͲ͕ߟ͑ΒΕΔ w ͲΜͳλΠϛϯάͰϢʔβʔʹରͯࣗ͠ͷ#05
αʔόʔ͔ΒϝοηʔδΛૹΕΔ
ެࣜ"1*υΩϡϝϯτΑΓਤΛഈआ
ͭͬͯ͘Έͨ
None
ݱࡏ ༑ୡ
ײ
͔ͭͬͯ͘Δ#05"1*Ͱग़དྷΔ͜ͱ w جຊ#05ରϢʔβʔͷΠϯλϥΫγϣϯ w NJEݸผ#05ΞϓϦʹͱͬͯͷϢʔβʔࣝผࢠ w NJEΛอ࣋ͯ͠Ұ੪ૹ৴ͳͲग़དྷΔ͕ϑΟοτ͠ͳ͍ w ςΩετͳͲϝοηʔδΛड͚औͬͯԿ͔Λฦ͢ w
Ϧονϝοηʔδ ޙड़ Λར༻ͯ͠ϘλϯΛ࣮ݱ
#0,&5ͷػೳ
ςΩετΛૹΔ Ϙέݕࡧ
ελϯϓΛૹΔ ࡢͷਓؾϘέ
ʮͬͱΈΔʯΛλοϓ .03&ίϚϯυൃಈ ଓ͖ͷϘέ͕ݟΕΔ
ࠨԼͷϘλϯΛλοϓ 5*.&-&"1ίϚϯυൃಈ աڈͷͷਓؾϘέ͕ݟΕΔ
Χʔυͷ্Λλοϓ 8FC7JFXͰ։͘
ӈԼͷϘλϯΛλοϓ (";0ίϚϯυൃಈ ͦͷϘέͷը૾Λऔಘग़དྷΔ
ػೳ͓͞Β͍
#0,&5 w ςΩετૹΔϘέݕࡧ w ελϯϓૹΔࡢͷਓؾϘέ w .03&ίϚϯυͬͱΈΔ w 5*.&-&"1\::::..%%^աڈͷਓؾϘέ w
(";0\CPLF@JE^Ϙέը૾Λऔಘ w Χʔυͷ্Λλοϓ8FC7JFXͰදࣔ
ϨεϙϯεΦϒδΣΫτ
Ϧονϝοηʔδ ςΩετ ϝοηʔδ
ը૾ ϝοηʔδ
Ϧονϝοηʔδ w શͯը૾ w ࠲ඪͰۣܗΛࢦఆͯ͠Ξ ΫγϣϯΛܾΊΕΔ w ࢦఆͨ͠63-Λ։͘ w ࢦఆͨ͠จࣈྻΛൃݴ͞
ͤΔίϚϯυ w -*/&/&84ͷΞΧϯ τͳͲ͜ΕΛར༻ͯ͠ ΔͬΆ͍
λοϓͨ͠Β ࢦఆͨ͠จࣈྻΛൃݴͤ͞Δʁ
ࡌͬͯͳ͍
࣮
IUUQTHJUIVCDPNMJOFMJOFCPU TELQFSMCMPCNBTUFSMJC-*/&#PU "1*#VJMEFS3JDI.FTTBHFQN- 4%,ͷιʔεʹͷΈࡌͬͯΔ
ͬͯ͜ͱͰ࣮ͷ
جຊతͳΞʔΩςΫνϟ ࣗલ #05ΞϓϦ -*/& ϓϥοτϑΥʔϜ Ϣʔβʔ ϝοηʔδ DBMMCBDL 1045IUUQTFYBNQMFDPNDBMMCBDL NFTTBHF
1045IUUQTUSJBMCPUBQJMJOFNFWFWFOUT ϝοηʔδ SFTQPOTF
ࣗલ#05ΞϓϦ w DBMMCBDLΛड͚औΓ w ϝοηʔδʹؚ·ΕΔNJEΛऔಘ w NJEΊ͕͚ͯϨεϙϯεΛฦ͢ w த+40/ άϩʔόϧυϝΠϯ
)551αʔ ό 44- +40/ύʔα )551Ϋ ϥΠΞϯτ͕͋ΕجຊσΩΔʂ ˎॺ໊ͷݕূআ͘
ͨͩ͠ ಠࣗϑϨʔϜϫʔΫ࣭͕͍͜ͱ͕ଟ͍ ॺ໊ͷݕূ͍ͨ͠ -*/&͔ΒૹΒΕ͖ͯͯΔ͔ Ϧονϝοηʔδͱ͔ΊΜͲ͍͘͞
-*/6%,
-*/&#PU"1* w IUUQTNFUBDQBOPSHQPE-*/&#PU"1* w $1"/J[F͞Ε͍ͯΔ w Ϧονϝοηʔδͷ࡞ʹͪΖΜରԠ w ॺ໊ͷݕূҰߦͰॻ͚Δ w
ςετ͕ेʹଗ͍ͬͯΔͷͰ࣭͕ߴ͍ w ྫͷυΩϡϝϯτʹࡌͬͯͳ͍"1*͕࣮ w FHσΟϨΫτϦʹϑϨʔϜϫʔΫ͕ܝࡌ
VOMFTT SFRNFUIPEFR1045SFRQBUIFRDBMMCBDL \ SFUVSO< <> </PU'PVOE>> ^ NZJT@WBMJECPUWBMJEBUF@TJHOBUVSF SFRDPOUFOU SFRIFBEFS
9 -*/&$IBOOFM4JHOBUVSF VOMFTT JT@WBMJE \ SFUVSO< <> <GBJMFEUPWBMJEBUFTJHOBUVSF>> ^ NZSFDFJWFTCPUDSFBUF@SFDFJWFT@GSPN@KTPO SFRDPOUFOU GPSNZSFDFJWF !\SFDFJWFT^ \ OFYUVOMFTTSFDFJWFJT@NFTTBHFSFDFJWFJT@UFYU NZSFTCPUTFOE@UFYU UP@NJESFDFJWFGSPN@NJE UFYUSFDFJWFUFYU ^ SFUVSO< <> <0,>> 4:/014*4
ࡢͷ-5ͯ͠Δ࣌ؒʹ
None
-*/"1*ͷಛ
NJE͔͑ͭ͞ΜͰ͠·͑ݸผͷ Ϣʔβʔʹϝοηʔδ͕ૹΕΔ NZSFTCPUTFOE@UFYU UP@NJESFDFJWFGSPN@NJE UFYUSFDFJWFUFYU w
Ϣʔβʔʹ͖ͭͦͷΞϓϦʹͱͬͯҰҙͷNJE w DBMMCBDLʹԠ͢ΔλΠϛϯάͰͳͯ͘ྑ͍ w ඇಉظͰૹΕΔɺNJEΛ͓͚֮͑$-*͔ΒͰ w ϝοηʔδΛૹΔࡍͷ࣮ػςετʹ͑Δ
ޮՌత͕ͩΫηͷ͋Δ Ϧονϝοηʔδ
NZSFTCPUSJDI@NFTTBHF IFJHIU TFU@BDUJPO ."/(" UFYUNBOHB
MJOL@VSJIUUQTTUPSFMJOFNFGBNJMZNBOHBFO BEE@MJTUFOFS BDUJPO."/(" Y Z XJEUI IFJHIU TFU@BDUJPO .64*$ UFYUNJTJD MJOL@VSJIUUQTTUPSFMJOFNFGBNJMZNVTJDFO BEE@MJTUFOFS TFOE@NFTTBHF UP@NJENJE JNBHF@VSMIUUQTFYBNQMFDPNSJDIJNBHFGPP BMU@UFYU5IJTJTBBMUUFYU
Ϧονϝοηʔδը૾৴ w ͭͷαΠζͷը૾Λ༻ҙͯ͠σόΠεʹରԠ͢Δ w IUUQFYBNQMFDPNJNHTGBDF w ଟ͘ͷ߹ಈతʹը૾Λੜ͠ͳ͍ͱ͍͚ͳ͍
ྫͷλοϓ͢Δͱ ൃݴͤ͞Δͭ λοϓ Ϣʔβʔ͕ উखʹൃݴ
NZSFTTFMGCPUSJDI@NFTTBHF IFJHIUIFJHIU TFU@BDUJPO #0,& UFYUՄԙ MJOL@VSJIUUQCPLFUFKQCPLFCPLF\JE^
BEE@MJTUFOFS BDUJPO#0,& Y Z XJEUI IFJHIU IFJHIU TFU@BDUJPO 5*.&-&"1 UFYU5*.&-&"1ZNE UZQFTFOE.FTTBHF BEE@MJTUFOFS BDUJPO5*.&-&"1 Y Z XJEUI IFJHIU UZQFࢦఆͯ͠Δ
#PU։ൃͷ࣮ࡍ
Ϧονϝοηʔδͷ ը૾৴
ཧͷΞʔΩςΫνϟ w ը૾Λੜ͢Δʹίετ͕͔͔Δ w DBMMCBDLޙʮ͙͢ʹϝοηʔδΛૹΔඞཁແ͍ʯ w KPCRVFVFʹ͛ͯը૾ੜޙϝοηʔδ͕ཧ w 8FCαʔό͕٧·Δ͜ͱ͕ແ͍ 8FCαʔό
-*/& +PCαʔό XPSLFS XPSLFS DBMMCBDL SFTQPOTF EJTQBUDI NFTTBHF ը૾ੜ
ͱ͍͑
࣮ࡍͷΞʔΩςΫνϟ w ొ ਓΛ͑ͯΞΫςΟϒগͳ͍ w 8FCαʔόͷGPSLͨ͠ϓϩηε͕ը૾ੜΛ݉ͶΔ w ͔ͭը૾ेʹΩϟογϡͯ͠0,ʂ w ཧίετͷ͞Λॏࢹͨ͠ઃܭʹͨ͠
8FCαʔό -*/& DBMMCBDL SFTQPOTF NFTTBHF ը૾ੜ ը૾৴ Ωϟογϡ αʔό
ը૾ੜ৴ w ෦Ϙέͯ"1*͔ΒϘέใΛऔಘ w *NBHFSͰΨϦΨϦը૾࡞ w ेͳ࣌ؒͰNFNDBDIFEʹσʔλΛΩϟογϡ w ্هΛݩσʔλͱ͠ϦαΠζͯ͠৴ w
$%/ܦ༝ͤͣ"84&-#͔Β৴ w DBMMCBDL͕དྷͨॠؒʹࣗΒͷը૾Λऔಘ w ΩϟογϡΛੜ͓ͯ͘͠
ίϚϯυͷ࣮ w ςΩετϝοηʔδΛϋϯυϧ͢ΔࡍจࣈྻΛൺֱ w Ϛονͨ͠ΒͦΕͧΕσΟεύον w Ϛον͠ͳ͔ͬͨΒϘέݕࡧϞʔυ JG BSHT\UFYU^FR3"/,*/( \
SFUVSOTFMGIBOEMF@TUJDLFS BSHT ^ JG BSHT\UFYU^_N?5*.&-&"1=T =E \ SFUVSOTFMGIBOEMF@UJNFMFBQ BSHT ^ JG BSHT\UFYU^_N?(";0=T =E \ SFUVSOTFMGIBOEMF@HB[P BSHT ^
.03&ίϚϯυͷ࣮ w NJEΛϕʔεʹηογϣϯ*%Λੜ w ηογϣϯ͔ΒݱࡏͷίϯςΩετΛऔಘ w ্هͩͱԿϖʔδ͔ʁͱݕࡧΫΤϦʔ w ηογϣϯใNFNDBDIFEʹஞҰอଘ JG
BSHT\UFYU^FR.03& \ NZQBSBNTTFTTJPOHFU QBSBNT ]]\^ QBHFQBSBNT\QBHF^ RVFSZQBSBNT\RVFSZ^ ^
#PUͷӡ༻
ϢʔβʔͷߦಈΛ τϥοΩϯά͍ͨ͠
None
+4࣮ߦͱ͔ϜϦϙ
.FBTVSFNFOU1SPUPDPM w )551ϦΫΤετΛૹͬͯΞΫηεͱݟͳ͢ w ͱΓ͋͑ͣϨεϙϯε͕ޭͨ͠߹ʹૹͬͯΔ w NJEΛΩʔʹϢχʔΫϢʔβʔΛΧϯτ w CPLFTFBSDIωίCPLFEBJMZ
ݱ࣮
None
ͳ͔ͳ͔ݫ͍͠
ͦΖͦΖ·ͱΊ
#PU։ൃͷݱ࣮·ͱΊ w -*/"1*جຊతʹϢʔβର#05 w NJEͰϢʔβʔΛࣝผ͠Ԡ༻͠Α͏ w ϝοηʔδඇಉظͰฦͤྑ͍ w ΞΫςΟϒ͕ଟ͘ͳΕཧతͳΞʔΩςΫνϟ w
ϦονϝοηʔδͱίϚϯυͰػೳΛ࣮ݱ w ϞόΠϧΞϓϦ͕͍Βͳ͘ͳΔੈք؍དྷΔͷ͔ w ίϯςϯπΛੜ͢Δ͜ͱग़དྷΕ໘ന͍͔