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
Twitchと連動したMastodonのBotを作った
Search
Kazuyoshi Goto
July 26, 2017
Programming
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Twitchと連動したMastodonのBotを作った
TOWNビアバッシュ 2017/7 公開
Kazuyoshi Goto
July 26, 2017
More Decks by Kazuyoshi Goto
See All by Kazuyoshi Goto
成功体験を伝えよう。
kazuyoshigoto
0
82
エンジニアも知れば幸せなCSS基礎
kazuyoshigoto
1
110
エンジニアこそ知っておきたいUX思考
kazuyoshigoto
1
660
スマホのセンサーをJavaScriptで遊ぶ
kazuyoshigoto
0
430
ノンエンジニアのMastodon手探り構築記
kazuyoshigoto
0
110
Uploaded Webレイアウトの歴史と新時代「Grid」
kazuyoshigoto
0
140
InstagramとWordPressを軸に越境サイトを作った話
kazuyoshigoto
0
160
モバイル表示を超速にする「AMP」を試してみた
kazuyoshigoto
0
170
PSVR未だ買えないのでついカッとなって作ることを続けた話
kazuyoshigoto
1
210
Other Decks in Programming
See All in Programming
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
660
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
110
Contextとはなにか
chiroruxx
0
280
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.6k
A2UI という光を覗いてみる
satohjohn
1
120
OSもどきOS
arkw
0
480
AI時代のUIはどこへ行く?その2!
yusukebe
20
7k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
230
The NotImplementedError Problem in Ruby
koic
1
680
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
5
3.6k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
280
Java REST API Framework Comparison - PWX 2021
mraible
34
9.3k
Exploring anti-patterns in Rails
aemeredith
3
400
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
エンジニアに許された特別な時間の終わり
watany
107
250k
We Have a Design System, Now What?
morganepeng
55
8.2k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
380
The Spectacular Lies of Maps
axbom
PRO
1
800
Transcript
5XJUDIͱ࿈ಈͨ͠ .BTUPEPOͷ#PUΛ࡞ͬͨ ޙ౻ྑ
ࣗݾհ ޙ౻ྑ ΫϦΤΠςΟϒຊ෦$* ,B[VZPTIJ(PUP
ۙگ
16#(ʹେϋϚΓɻ
16#(ͱɺ࠷େਓؙ͕ࠊͰແਓౡʹ߱Լ͠ɺ උΛݱௐୡ͠࠷ޙͷҰਓʹͳΔ·Ͱઓ͏αόΠόϧܕ'14
ଞਓͷ৴Λ؍Δͷ໘ന͘ɺେձಛʹ໘ന͍ɻ ໘ന͗͢ΔͷͰ৴։࢝௨ͷCPUΛ࡞ͬͨɻ
ࠓճͦͷ#PUͷɻ
ςΫϊϩδʔ /PEFKT ͍׳ΕͯΔͷͰ .BTUPEPO"1* .BTUPEPOʹΞϓϦΛ࡞ͬͨΓೝূΛ௨ ͢ͳͲ 5XJUDI"1* 5XJUDI༻ͷΞϓϦΛ࡞ͬͨΓೝূΛ௨͢ ͳͲ "84-BNCEB
#PU͘Β͍αʔόʔϨε͡ΌͶʁͱͬͯ ΈΑ͏ͱࢥ͚ͬͨͲΊͨɻ
·ͣλεΫΛΓ͚ͨ .BTUPEPOʹτΡʔτ͢Δ 5XJUDI͔ΒใΛऔಘ͢Δ 5XJUDI͔ΒಘͨใΛՃͯ͠τΡʔτ͢ Δ
.BTUPEPOʹτΡʔτ͢Δɻ
ओͳखॱ #PU༻ͷ.BTUPEPOΞΧϯτΛ࡞Δɻ .BTUPEPO"1*Λୟ͍ͯΞϓϦΛ࡞Γɺ ΞΫηετʔΫϯΛऔಘ͢Δɻ औಘͨ͠ΞΫηετʔΫϯͰ.BTPUPEPO ͰτΡʔτ͢Δɻ
ΞΫηετʔΫϯΛऔಘ͢Δɻ ࢀߟɿIUUQRJJUBDPNBMCOPJUFNTFCGBGDE ίʔυ͍ͷͰׂѪɻ .BTUPEPO8FCαʔϏεͰΞϓϦΛ࡞Δ ͜ͱग़དྷͣɺ"1*Λୟ͍ͯΞϓϦΛ࡞ΓɺΞ ΫηετʔΫϯΛऔಘ͢Δɻ
τΡʔτ͢Δɻ WBS.BTUPSFRVJSF NBTUPEPO WBS.OFX.BTUP \ BDDFTT@UPLFO ΞΫηετʔΫϯ
UJNFPVU@NT BQJ@VSMNBTUPEPO@VSM BQJW ^ WBSUPPU5FYUτΡʔτ͍ͤͨ͞จݴ .QPTU TUBUVTFT \TUBUVTUPPU5FYU^ GVODUJPO FSS EBUB SFT \ JG FSS DPOTPMFMPH FSS ^
͚ͬ͜͏؆୯ʹͰ͖ͨ ͋ͱτΡʔτͤ͞ΔจݴΛ༻ҙ͢Δ͚ͩͳ ͷͰ5XJUDIଆʹҠΔɻ
5XJUDI͔ΒใΛऔಘ͢Δɻ
5XJUDIͱήʔϜ৴ʹಛԽͨ͠ ಈըετϦʔϛϯάαʔϏεɻ
"1*උ͞Ε͍ͯΔɻ ʜ͕ɺຊޠใ͕͔ͳΓগͳ͍ɻ
ओͳखॱ UXJUDIͰ#PU༻ͷΞϓϦΛ࡞Δɻ ΞϓϦͷ*%ͰɺಛఆͷήʔϜ໊ˍຊޠͷ ৴ใΛऔಘ͢Δɻ
WBSSFRVFTUSFRVJSF SFRVFTU มܥͷઃఆ WBSUXJUDI@DMJFOU@JE UXJUDIଆͰ࡞ͨ͠ΞϓϦͷDMJFOU*% WBSHBNFPWFSXBUDIݕࡧ͍ͨ͠ήʔϜλΠτϧ WBSMBOHVBHFKBݕࡧ͍ͨ͠৴ݴޠ ݕࡧ༻63-ੜ WBSTFBSDI63-IUUQTBQJUXJUDIUWLSBLFOTUSFBNT
HBNF HBNF MBOHVBHF MBOHVBHF ϦΫΤετϔομʔઃఆ WBSIFBEFST\ "DDFQUBQQMJDBUJPOWOEUXJUDIUWW KTPO $MJFOU*%UXJUDI@DMJFOU@JE ^ ϦΫΤετΦϓγϣϯઃఆ WBSPQUJPOT\ VSMTFBSDI63- NFUIPE(&5 IFBEFSTIFBEFST KTPOUSVF ^ "1*ϦΫΤετૹ৴ SFRVFTU PQUJPOT GVODUJPO FSSPS SFTQPOTF CPEZ \ JG FSSPS \ JG CPEZ@UPUBM \ औಘޭ WBSTUSFBNTCPEZTUSFBNT DPOTPMFMPH TUSFBNT ^FMTF\ ৴θϩ ^ ^FMTF\ ϦΫΤετૹ৴Τϥʔ DPOTPMFMPH FSSPS ^ ^
มܥͷઃఆ WBSSFRVFTUSFRVJSF SFRVFTU มܥͷઃఆ WBSUXJUDI@DMJFOU@JE UXJUDIଆͰ࡞ͨ͠ΞϓϦͷDMJFOU*% WBSHBNFPWFSXBUDIݕࡧ͍ͨ͠ήʔϜλΠτϧ WBSMBOHVBHFKBݕࡧ͍ͨ͠৴ݴޠ ݕࡧ༻63-ੜ
WBSTFBSDI63-IUUQTBQJUXJUDIUWLSBLFOTUSFBNT HBNF HBNF MBOHVBHF MBOHVBHF
"1*ʹૹΔͷηοτ ϦΫΤετϔομʔઃఆ WBSIFBEFST\ "DDFQUBQQMJDBUJPOWOEUXJUDIUWW KTPO $MJFOU*%UXJUDI@DMJFOU@JE ^ ϦΫΤετΦϓγϣϯઃఆ WBSPQUJPOT\
VSMTFBSDI63- NFUIPE(&5 IFBEFSTIFBEFST KTPOUSVF ^
ϦΫΤετૹ৴ "1*ϦΫΤετૹ৴ SFRVFTU PQUJPOT GVODUJPO FSSPS SFTQPOTF CPEZ \ JG
FSSPS \ JG CPEZ@UPUBM \ औಘޭ WBSTUSFBNTCPEZTUSFBNT DPOTPMFMPH TUSFBNT ^FMTF\ ৴θϩ ^ ^FMTF\ ϦΫΤετૹ৴Τϥʔ DPOTPMFMPH FSSPS ^ ^
2JJUBʹॻ͖·ͨ͠ɻ IUUQTHPPHM.R9+
औΕΔKTPO
5XJUDI͔Βऔಘͨ͠σʔλΛ .BTUPEPOτΡʔτ͢Δɻ
ओͳखॱ औಘͨ͠KTPO͔Β࠷৽ͷ৴ΛऔΓग़͢ ৴ใ͔ΒจݴΛ࡞ΓτΡʔτ͢Δ
ͱΓ͋͑ͣग़དྷͨ DSPOͰճ͢͜ͱޭɻ ͔͠͠ҙਤ͠ͳ͍՝͕ग़ͨ
՝ 5XJUDIͷKTPO͕৽ணॱͰͳ͍
՝ͷରॲ w 5XJUDI"1*ʮݱࢹௌऀʯͷଟ͍ॱʹҰ ཡΛฦ͠ɺͦΕΛม͑ΔΦϓγϣϯແ͍ɻ w ৴։࢝࣌ΛνΣοΫ͠ɺ࠷৽Λൈ͖ग़ͤ Α͍ɻ w ݫີʹ࠷৽Ͱͳ͍Մೳੑ͋Δ͕ํͳ͍
՝ ʮཱͯ͠ʯͰಉ͡νϟϯωϧ͕ ܁Γฦ͠τΡʔτ͞ΕΔɻ
ʮཱͯ͠ʯͱʁ ήʔϜ৴ʹ׳Εͯͳ͍ਓ΄ͲΑ͋͘Δɺ ৴։͍͍͕࢝ͨ͠ө૾Իͷௐࢠ͕ ѱ͍ͷͰ৴Λʮཱͯ͢ʯ͜ͱɻ ಉνϟϯωϧɺಉλΠτϧͷ܁Γฦ͠τΡʔ τ͕සൃͨ͠ɻ
՝ͷରॲ ʮτΡʔτͨ͠ϩάʯΛKTPOϑΝΠϧʹ ॻ͖ग़͠ɺτΡʔτલʹൺֱͨ͠ɻ JG৴*%͕ϩάʹ͋Δʁ\ JGલͷ৴͔Β࣌ؒҎ্ܦͬͯΔʁ\ τΡʔτ͢Δʢ࣌ؒܦͬͯΕ৽ணͱΈͳ͢ʣ ^FMTF\ τΡʔτ͠ͳ͍ʢཱͯ͠ͳͷͰ৽ணͱΈͳ͞ͳ͍ʣ ^ ^FMTF\
τΡʔτ͢Δ ^
ղܾ͔ͨ͠ʹࢥͬͨΒʜ
՝ DSPOͰ࣮ߦͨ͠Β ϑΝΠϧ*0͕͞Εͳ͍ɻ
՝ͷରॲ w DSPOͰ࣮ߦͨ͠Β՝͕࠶ൃ͍ͯͨ͠ɻ w DSPOͷΤϥʔϩάΛݟΔͱʮϑΝΠϧ͕ ແ͍ͧʯͱΤϥʔ͕ฦ͍ͬͯͨɻ w τΡʔτϩάͷϑΝΠϧύεΛઈରύεͰࢦ ఆͨ͠Βਖ਼ৗಈ࡞ͨ͠ɻ
ྃ ʢͨ·ʹո͍͠ಈ͖ͯ͠Δʣ
ಘͨݟ w /PEFͰͷ֎෦"1*ͷୟ͖ํ ͦͦ/PEFͷ"1*ͷୟ͖ํΛΒͳ͔ͬͨɻॳาతա͗Δͷ͔ ஸೡͳຊޠใগͳ͔ͬͨͷͰ࣮Ұ൪͕͔͔࣌ؒͬͨɻ ࠓޙԠ༻Ͱ͖Δେ͖͍ऩ֭ɻ w /PO6*ΞϓϦͷܦݧ ߟ͑ͯΈͨΒαʔόαΠυॲཧ͚ͩͰ݁͢ΔϞϊΛॳΊͯ Ұ͔Β࡞ͬͨɻ݁Ռ͚ͩΛฦ͢ϓϩάϥϜѱ͘ͳ͍ͳͱ
ࢥ͑ͨɻ
͍ͭͰʹΠΧͷ#PU࡞Γ·ͨ͠ɻ ʢΠΧ࢝ΊͨͷͰʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ