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
AI時代のUIはどこへ行く?
yusukebe
18
9.1k
速いWebフレームワークを作る
yusukebe
5
1.7k
Honoアップデート 2025年夏
yusukebe
1
930
パスタの技術
yusukebe
1
590
AI Ramen Fight
yusukebe
0
160
TypeScriptでDXを上げろ! Hono編
yusukebe
4
1k
Honoをフロントエンドで使う 3つのやり方
yusukebe
8
4.9k
Honoのおもしろいミドルウェアをみてみよう
yusukebe
2
420
MCP with Cloudflare Workers
yusukebe
2
430
Other Decks in Technology
See All in Technology
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
750
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
660
Bedrock で検索エージェントを再現しようとした話
ny7760
1
110
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
140
MagicPod導入から半年、オープンロジQAチームで実際にやったこと
tjoko
0
110
AIがコード書きすぎ問題にはAIで立ち向かえ
jyoshise
1
210
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
110
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
260
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
10
75k
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
590
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
120
Featured
See All Featured
Speed Design
sergeychernyshev
32
1.1k
The Cult of Friendly URLs
andyhume
79
6.6k
Music & Morning Musume
bryan
46
6.8k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
A Tale of Four Properties
chriscoyier
160
23k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Writing Fast Ruby
sferik
628
62k
Navigating Team Friction
lara
189
15k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
Facilitating Awesome Meetings
lara
55
6.5k
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 ίϯςϯπΛੜ͢Δ͜ͱग़དྷΕ໘ന͍͔