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
楽楽明細でやってるChatOps/Development with ChatOps
Search
A1
September 18, 2018
0
1.1k
楽楽明細でやってるChatOps/Development with ChatOps
[Rakus Meetup Tokyo #1] 発表資料
https://rakus.connpass.com/event/97795/
A1
September 18, 2018
Tweet
Share
More Decks by A1
See All by A1
Kotlin2でdataクラスの copyメソッドを禁止する/Data class copy function to have the same visibility as constructor
eichisanden
1
120
短納期でローンチした新サービスをJavaで開発した話/launched new service using Java
eichisanden
6
3.7k
トラブルゼロで乗り切ったTypeScript移行/trouble-free TypeScript migration
eichisanden
3
3.1k
スクラム開発チームをLessでスケールさせた話/Scaling Scrum team with Less
eichisanden
0
5.2k
息の長いサービスのフロントエンドを少し改善する営み/frontend-improvement
eichisanden
3
2.6k
実はGitLabで使えるmermaid.js/gitlab-mermaid.js
eichisanden
1
500
既存 Web アプリケーションへの React.js 適用/react for web application
eichisanden
0
1.6k
jshell概要
eichisanden
0
84
楽楽明細の開発を支える技術
eichisanden
0
580
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
YesSQL, Process and Tooling at Scale
rocio
167
14k
Embracing the Ebb and Flow
colly
84
4.4k
Building Applications with DynamoDB
mza
90
6.1k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
Rails Girls Zürich Keynote
gr2m
93
13k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.9k
Statistics for Hackers
jakevdp
796
220k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
The Cult of Friendly URLs
andyhume
78
6k
Transcript
ָָ໌ࡉͰͬͯΔ $IBU0QT 3BLVT.FFUVQ5PLZP &JJDIJ.JUB
&JJDIJ.JUB !FJDIJTBOEFO.FNCFSTJODF ɹɹɹɹɹɹɹ୲ εϖγϟϦετ৬ ΧΠθϯ͓͡͞Μ+FOLJOTͷ൪ਓϙέϞϯ͓͡͞Μ
গਓͰ։ൃ͔Βӡ༻·Ͱ͜ͳ͢ ͨΊʹɺ͍͔ʹϧʔνϯϫʔΫ ʹ͔͚Δ࣌ؒΛݮΒ͠ɺίʔυΛ ॻ࣌ؒ͘Λ࡞Δ͔͕ॏཁ
ͦͷͨΊʹָָ໌ࡉνʔϜͰऔΓ ΜͰ͖ͨΧΠθϯͷͻͱͭɺ $IBU0QTʹ͍͓ͭͯ͠͠·͢
πʔϧඋظ w ࣗͨͪͷ։ൃɾӡ༻ָ͕ʹͳΔεΫϦϓτΛ࡞ w ϏϧυσϓϩΠʢݕূڥʣΛ+FOLJOTʹඋͨ͠Γ
ָʹͳΓ·͕ͨ͠ɺ৽ͨͳ՝͕ʜ w +FOLJOTΛ͍͍ͪͪ։͘ͷ໘͍͘͞ w ͏͚ͩͷਓͷ+FOLJOTͷΞΧϯτΛ࡞Δͷ໘͍͘͞ w ͦͦΤϯδχΞʹ͔͑͠ͳ͍ʜ
ͦ͜Ͱ$IBU0QT
$IBU0QTͱ w l$IBUzʢνϟοτʣͱz0QTzʢӡ༻ʣͱ͍͏ͭͷϫʔ υΛֻ͚߹Θͤͨޠ w νϟοτͱ৭ΜͳαʔϏεɾϓϩάϥϜΛͭͳָ͛ͯ͠ ͍ͨʂ
8FVTF.BUUFSNPTU
҆৺͍ͯͩ͘͠͞ .BUUFSNPTUɺΦʔϓϯιʔεͷ4MBDLޓͷνϟοτ ˠࠓ͢༰ɺͦͷ··4MBDLͰੜ͔ͤ·͢
.BUUFSNPTU֎෦࿈ܞ̏छͷਆث 4MBDLͷz"QQzʹ֘͢Δͷͳ͍ͷͰɺ̏छྨͷ౷߹ػೳΛۦͯ͠%FW0QTΛ࣮ݱ͢Δ
ਆث͖ΣϒϑοΫ ɾνϟοτʹϝοηʔδΛૹΔͨΊͷઃఆ
ਆث͖ΣϒϑοΫ ɾ࡞͢ΔͱIPPLTUPLFOͷΑ͏ͳ63-͕ৼΒΕΔ
ਆثɿεϥογϡίϚϯυ w νϟοτ͔Β֎෦ʹ࿈ܞ͢ΔίϚϯυΛ࡞ΕΔ
࿈ܞઌͷ63-ɻ࣮ߦ͢Δͱ͜ͷ63-ʹݺͼݩ ͷνϟϯωϧίϚϯυͷҾͳͲͷใ͕ +40/Ͱ͞ΕΔ ਆثɿεϥογϡίϚϯυ ίϚϯυ໊͜ͷྫXCͰ࣮ߦͰ͖Δ (&5Ͱ1045Ͱ͓͖ͳํͰ
ਆثɿ֎͖ΣϒϑοΫ Ԡ͢ΔϫʔυΛࢦఆ τʔΫϯ͕ൃߦ͞ΕΔͷͰ߇͓͑ͯ͘ ࿈ܞઌͷ63-Λࢦఆ w νϟοτͰͬͨϫʔυΛरͬͯ֎෦ʹ࿈ܞ͢Δ
w ͨͩ͠ɺ֎͖ΣϒϑοΫύϒϦο ΫνϟϯωϧͰ͔͑͠ͳ੍͍͕͋Γ ฐࣾͷ֤αʔϏεͷνϟϯωϧϓϥΠ ϕʔτͳͷͰ͑ͳ͍͜ͱ͕໌
̎छͷਆثΛͬͯઃఆ͍ͯ͘͠
εϥογϡίϚϯυͰ+FOLJOTΛݺΜͰΈͨʢࣦഊʣ w εϥογϡίϚϯυͷଓઌʹ+FOLJOTͷ63-Λࢦఆ w ਖ਼ৗ࣮ߦ࣌ɺ+FOLJOT͕zDSFBUFEzΛฦ͖ͯ͠ ·͕͢ɺ.BUUFSNPTU͕Τϥʔͱͯ͠ѻͬͯͯ͠͠· ͍ࣦഊʢ̌൪ਖ਼ৗऴྃͩΖ͕ʂʣ
εϥογϡίϚϯυΛதܧ͢Δ w ͦ͜ͰɺεϥογϡίϚϯυΛҰ୴ड͚͚ͭͯɺ +FOLJOTʹ͢ΈΛ࡞Δ͜ͱʹ Ͱɺ͜ͷͨΊʹ͔Β"1*αʔόʔཱͯΔͷ໘ष͍
ͦ͜Ͱ)VCPU
)VCPU w (JU)VC͕ެ։͍ͯ͠ΔCPUπʔϧ w ͓ͦΒ͘Ұ൪ϝδϟʔͰɺΞμϓλʔεΫϦϓτ͕๛ w વɺ.BUUFSNPTU4MBDLͷΞμϓλʔ͋Δ w $P⒎FFεΫϦϓτͷΠϝʔδ͕ڧ͍͕ɺී௨ʹKTͰॻ͚ Δ
w ଂ͍ͯ͠Δ&YQSFTTΛ͏·͑͘"1*αʔόʔΛผ ్ཱͯΔඞཁ͕ͳ͍ʢ͜Ε͕ܾΊखʣ
)VCPU w τϨϯυʹහײͳʹ͝Ζྲྀߦͬͨͱࢥ͏͕ɺͦͷޙࠜڧ͘ਓؾΛҡ͍࣋ͯ͠ Δҹ w ޙൃௐ͕ͨɺγϯϓϧͩ͠ɺ͜ΕҰ൪ྑ͔ͬͨ
·͕ͨ w )VCPUͷ.BUUFSNPTUΞμϓλ͕ɺ֎͖Σϒ ϑοΫΛ͏લఏʹͳ͍ͬͯΔʢવͰ͕͢ʣ
ͦ͜Ͱ w εϥογϡίϚϯυΛड͚͚ɺͦΕΛ֎͚Σϒ ϑοΫͰड͚औ͔ͬͨͷΑ͏ʹ)VCPUʹϝοηʔδΛ ྲྀ͢)VCPUͷϓϥάΠϯΛࣗ࡞͠·ͨ͠
IUUQTXXXOQNKTDPNQBDLBHFIVCPUTMBTIDPNNBOE
γεςϜߏ ͜͜ͷ෦ࣗ࡞ͷ044ͰOQNʹެ։ࡁΈ ී௨ͷ)VCPUεΫϦϓτͰॻ͚Δ͠ɺ 044ͷεΫϦϓτ͑Δ SFTQPOTFNFTTBHF +PCݺͼग़͠
044ͷ)VCPUεΫϦϓτ͕͑Δͼ IUUQTHJUIVCDPNIVCPUTDSJQUTIVCPUQVHNF
)VCPUεΫϦϓτͷྫ module.exports = (robot) => { robot.respond(/ping/i, (res) => {
rebot.reply(‘pong’); } robot.respond(/σϓϩΠΑΖ͘͠/i, (res) => { // JenkisΛݺͼग़͠ } }
׆༻ࣄྫ
ݕূڥͷ࡞ w XCTDIFNBDSFBUFαʔόʔڥ໊ʜͷΑ͏ʹνϟοτ͢Δͱ ݕূڥΛ࡞ΕΔίϚϯυΛ࡞ͨ͠ʢཪͰ+FOLJOTʹ࿈ܞͯ͠%#ε ΩʔϚΛ࡞ͬͨΓɺσΟϨΫτϦߏΛ࡞ͬͨΓ͍ͯ͠Δʣ w আXCEFMFUFαʔόʔڥ w ୭ͰՃɾআ͕ՄೳʹʢҎલ݁ߏґཔ͞Ε͍ͯͨʣ
"1*Λνϟοτ͔Βୟ͚ΔΑ͏ʹ w ָָ໌ࡉͰ༻ҙ͍ͯ͠Δ"1*Λνϟοτ͔Βୟ͚Δ Α͏ʹͨ͠ɻ w ඇΤϯδχΞͷΘΓʹDVSMΛୟ͍ͯ͋͛Δ࡞ۀ͕ ͳ͘ͳͬͨ
੩తղੳ w ੩తղੳͷ݁ՌΛνϟοτʹ௨͢ΔΑ͏ʹͨ͠ɻ w ΈΜͳݟ͍ͯΔͷͰɺ์ஔ͞Εؾຯͳ੩తղੳΛӡ ༻Ͱ͖ΔΑ͏ʹͳͬͨ
ϦϦʔεதͷόʔδϣϯΛνΣοΫ w Կे͋ΔαʔόʔΛεΫϨΠϐϯά࣮ͯ͠ࡍʹ σϓϩΠ͞Ε͍ͯΔΞϓϦͷόʔδϣϯΛௐΔπʔ ϧΛνϟοτ͔Β࣮ߦͰ͖ΔΑ͏ʹɻ w ສ͕ҰͷϦϦʔε࿙ΕΛ͍͛ͯΔ w ݩʑ͋ͬͨQZUIPOεΫϦϓτΛνϟοτ͔Βݺͼ ग़ͤΔΑ͏ʹ͚ͨͩ͠ʢεΫϦϓτͷग़ྗΛͦͷ·
·νϟοτʹग़ྗ͚ͨͩ͠ɺ΄΅࿑ྗθϩͰ࣮ݱʣ
ϦϦʔεϞδϡʔϧͷϏϧυ w νϟοτͰΔ͜ͱͰɺݸਓ͕ͬͯΔ͜ͱ͕Մ ࢹԽɾڞ༗͞ΕΔͷྑ͔ͬͨ w Θ͟Θ͟+FOLJOTʹϩάΠϯͤͣͱՌΛ νϟοτ͔ΒμϯϩʔυͰ͖Δ
͕ى͖ͨΒଈରԠ w Կ͔͋ͬͯɺνϟοτΛݟ͍ͯΔΤϯδχ Ξ͕ଈରԠͯ͘͠ΕΔ҆৺ײ
৭Μͳ௨Λνϟοτʹू w ϝʔϧΛසൟʹ։͘ͷਏ͍ͷͰɺࠓ··Ͱϝʔ ϧͰͷ௨Λνϟοτʹूʢνϟοτͷྲྀྔ͕ ૿͖͑ͯͨΒผͷ՝͕ग़ͦ͏͕ͩݱঢ়շదʣ
͍͞͝ʹ w طଘͷπʔϧΛνϟοτͭͳָ͛ͯΛ͠Α͏ w αʔϏε֎ͷίʔσΟϯάָ͍͠ w ָΛ͢ΔͨΊͷۤ࿑Λ͠Α͏ w $IBUͰ५ͳίϛϡχέʔγϣϯΛ
͋Γ͕ͱ͏͍͟͝·ͨ͠