Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
85
エンジニアも知れば幸せなCSS基礎
kazuyoshigoto
1
120
エンジニアこそ知っておきたいUX思考
kazuyoshigoto
1
690
スマホのセンサーをJavaScriptで遊ぶ
kazuyoshigoto
0
440
ノンエンジニアのMastodon手探り構築記
kazuyoshigoto
0
120
Uploaded Webレイアウトの歴史と新時代「Grid」
kazuyoshigoto
0
140
InstagramとWordPressを軸に越境サイトを作った話
kazuyoshigoto
0
160
モバイル表示を超速にする「AMP」を試してみた
kazuyoshigoto
0
170
PSVR未だ買えないのでついカッとなって作ることを続けた話
kazuyoshigoto
1
230
Other Decks in Programming
See All in Programming
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
32
14k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
460
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
570
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
290
FreeBSDでZabbixを動かす
kenkino
0
340
TiDB Cloudのカスタムコントローラーによるオートスケール対応
takaidohigasi
0
140
Heart of Swift Concurrency
koher
0
1.1k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.2k
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
660
Are APIs Still Relevant in the AI Era?
soyuka
0
390
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
130
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
250
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
4
520
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
It's Worth the Effort
3n
188
29k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Unsuck your backbone
ammeep
672
58k
How to Talk to Developers About Accessibility
jct
2
560
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Building an army of robots
kneath
307
47k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
310
Code Reviewing Like a Champion
maltzj
528
40k
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࡞Γ·ͨ͠ɻ ʢΠΧ࢝ΊͨͷͰʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ