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.2k
楽楽明細でやってる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
プロダクトのことは何でもNotebookLMに聞こう / NotebookLM for on boarding
eichisanden
0
39
Kotlin2でdataクラスの copyメソッドを禁止する/Data class copy function to have the same visibility as constructor
eichisanden
1
630
短納期でローンチした新サービスをJavaで開発した話/launched new service using Java
eichisanden
6
3.9k
トラブルゼロで乗り切ったTypeScript移行/trouble-free TypeScript migration
eichisanden
3
3.4k
スクラム開発チームをLessでスケールさせた話/Scaling Scrum team with Less
eichisanden
0
5.7k
息の長いサービスのフロントエンドを少し改善する営み/frontend-improvement
eichisanden
3
2.8k
実はGitLabで使えるmermaid.js/gitlab-mermaid.js
eichisanden
1
670
既存 Web アプリケーションへの React.js 適用/react for web application
eichisanden
0
1.7k
jshell概要
eichisanden
0
94
Featured
See All Featured
A better future with KSS
kneath
239
17k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Stop Working from a Prison Cell
hatefulcrawdad
269
20k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Speed Design
sergeychernyshev
30
990
Code Reviewing Like a Champion
maltzj
524
40k
A Tale of Four Properties
chriscoyier
159
23k
Designing for Performance
lara
609
69k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Making Projects Easy
brettharned
116
6.2k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
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Ͱ५ͳίϛϡχέʔγϣϯΛ
͋Γ͕ͱ͏͍͟͝·ͨ͠