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
ぼくがかんがえたさいきょうのぷるりくえすと / saikyo-no-pull-request
Search
Hiromi Kimura
August 28, 2017
7
110k
ぼくがかんがえたさいきょうのぷるりくえすと / saikyo-no-pull-request
Hiromi Kimura
August 28, 2017
Tweet
Share
More Decks by Hiromi Kimura
See All by Hiromi Kimura
マネーフォワード Pay for Businessのフロントエンド / Money Forward Pay for Business Frontend
kimromi
0
860
マネーフォワードクラウド経費でのフロントエンドの取り組み / moneyforward-expense-frontend
kimromi
4
1.1k
エンジニアにとってのアウトプットとはなにか考えた / what-is-output
kimromi
3
1.1k
TypeScriptで作るGitHubApps / make GitHub Apps by TypeScript
kimromi
0
620
ムームードメインのJavaScript環境を整えた話 / prepare muumuu-domain's javascript
kimromi
1
570
Vue.js on Rails / vue-js-on-rails
kimromi
7
4.9k
本番環境にVue.jsを使った話 / Use Vue.js at production
kimromi
3
1.4k
how about Marp?
kimromi
0
140
engineer-guideline
kimromi
0
1.1k
Featured
See All Featured
Bash Introduction
62gerente
615
210k
The Cult of Friendly URLs
andyhume
79
6.6k
Done Done
chrislema
185
16k
Building an army of robots
kneath
306
46k
How STYLIGHT went responsive
nonsquared
100
5.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Raft: Consensus for Rubyists
vanstee
140
7.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
GitHub's CSS Performance
jonrohan
1032
460k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
How GitHub (no longer) Works
holman
315
140k
Transcript
ଜւ(.01FQBCP *OD ΅͕͔͘Μ͕͍͖͑ͨ͞ΐ͏ͷ 1VMM3FRVFTU ʢΘͨ͠ͷܦݧஊ͔Βͷ͓Ͱ͢ʣ
ଜւ!LJNSPNJ ϗεςΟϯάࣄۀ෦ɹϜʔϜʔυϝΠϯνʔϜΤϯδχΞ IUUQTLJNSPNJHJUIVCJP த్ೖࣾԬࢧࣾ
վΊͯ1VMM3FRVFTUͬͯʁ
ͳΜͷͨΊʁ wෆ۩߹͕ࠞೖ͍ͯ͠ͳ͍͔νΣοΫ͢Δ wٕज़తෛ࠴͕૿͍͑ͯͳ͍͔νΣοΫ͢Δ wٕज़ڞ༗Λ͠ɺεΩϧΞοϓ͢ΔͨΊʹϨϏϡʔΛ͢Δ wϦϦʔεͷྺ࢙ʹͳΔ
͡Ό͋࠷ߴͷ1VMM3FRVFTUͱʁ
ϚʔδͰ͖Δ 1VMM3FRVFTU ૉૣ͘ੈͷதʹߩݙͰ͖Δ
࠷ѱͷ1VMM3FRVFTUͱʁ
͍ͭ·ͰϚʔδͰ͖ͣ ։͖ͬͺͳ͠Ͱ์ஔʜ मਖ਼͢Δ࣌ؒͬͨͤ͘ʹԿੈʹߩݙͯ͠ͳ͍
Ͳ͏͍͏1VMM3FRVFTU͕ ϚʔδͰ͖Δʁ
͙͢ʹཧղͰ͖ΔλΠτϧɺઆ໌
मਖ਼ൣғ͕খ͍͞
ྑ͍ίʔυͰॻ͔Ε͍ͯΔ
ࣗಈςετ $* ͕௨͍ͬͯΔ
Ϛʔδ͢ΔΜʂͱ͍͏ҙ ʁ
ཁ͢Δʹ
ϨϏϡʔΞ͕ٙʹࢥ͏͜ͱ͕ શ෦આ໌͞Ε͓ͯΓ ಉҙ͠"QQSPWFͰ͖Δ BQQSPWFʜೝΊΔɺࢍ͢Δ
શͯઆ໌Ͱ͖Δࠜڌ͕ඞཁ ྫ ྑͦ͞͏ͩͬͨͷͰ͜ͷϥΠϒϥϦೖΕ·ͨ͠ wͲ͏ͬͯ͏ͷ͔ʁ wଞͷϥΠϒϥϦͱൺͯͲ͏ྑ͔ͬͨͷ͔ʁ w͜ͷϥΠϒϥϦΛೖΕΔͱ୭͕Ͳ͏ͤʹͳΔͷ͔ʁ wޙɺޙɺޙɺޙ͑ͦ͏ͳͷ͔ʁ ޙʹݟฦͨ͠ͱ͖मਖ਼ͷഎܠͱࠜڌ͕Θ͔Δ େࣄ
̍ͭͷ1VMM3FRVFTU ՄೳͳݶΓখ͍͞΄͏͕͍͍
ࠜڌΛઆ໌͍͢͠ɺೲಘ͍͢͠
1VMM3FRVFTU͕େ͖͍ͱ wमਖ਼ʹର͢Δࠜڌͷઆ໌͕ଟ͘ͳΔ wϨϏϡʔΞͷूத͕ଓ͔ͳ͍ɺݟಀ͢ wؤுͬͯͷ͍͢͝ྔͷϨϏϡʔΛ͠ɺͦΕʹରͯ͠मਖ਼ wͳ͔ͳ͔ϚʔδͰ͖ͳ͍ wͦͷ͏ͪʹ1VMM3FRVFTUʹର͢Δҙ͕Լ͕Δ wϦϦʔεޙʹෆ۩߹͕ى͖͍͢
খ͍͞1VMM3FRVFTU w1VMM3FRVFTUͰͭͷ͜ͱ͚ͩΛΔ wίϛοτɺϑΝΠϧগͳ͍ wϨϏϡʔΞϨϏϡʔൣғ͕ڱ͍ͷͰݟ͍͢ w1VMM3FRVFTU্Ͱͷձ͕ݮΔ wϚʔδ·Ͱͷ͕࣌ؒૣ͍ wӨڹൣғ͕ڱ͘ϦϦʔεޙʹෆ۩߹͕ग़ʹ͍͘
େ͖͍λεΫͷमਖ਼ͷ߹Ͳ͏͢Δʁ wେ͖͍मਖ਼ͷ߹খ͍͞मਖ਼ʹࡉԽͰ͖Δ wࡉԽͨ͠मਖ਼༻ʹ͝ͱʹϒϥϯνΛΔ w·ͱΊϒϥϯν wͭͷ1VMM3FRVFTUͰશͯΖ͏ͱ͠ͳ͍ʂ
͜͜·Ͱͷ·ͱΊ wϚʔδͰ͖Δ1VMM3FRVFTU͕࠷ߴͩ w1VMM3FRVFTUͷ༰ʹର͢Δࠜڌ͕શ෦આ໌Ͱ͖ΔΑ͏ʹ͠Α͏ wͦͷͨΊʹ1VMM3FRVFTUͰ͖Δ͚ͩখ͘͞͠Α͏
Ͳ͏ͨ͠ΒΘΓ͍͢ 1VMM3FRVFTUʹͳΔ͔ʁ
1VMM3FRVFTUΛߏ͢Δཁૉ w5JUMF w#PEZ $PNNFOU w$PNNFOU w#SBODI w$PNNJU w3FWJFXFST w3FWJFX$PNNFOU
w"TTJHOFFT w-BCFMT w1SPKFDUT w.JMFTUPOF
1VMM3FRVFTUΛग़ཱ͔͢Β ͦΕͧΕͰ͜͏͢ΔͱΑͦ͞͏ ͱ͍͏ͷΛઆ໌͍͖ͯ͠·͢
5JUMF
5JUMFλΠτϧ wԿΛ͢Δ1VMM3FRVFTUͳͷ͔Λද͢ wഎܠલఏඞཁͳ͚Εॻ͔ͣʹ؆ܿʹ wΤϯδχΞҎ֎ͷਓ͕ݟͯΘ͔ΔΑ͏ͳ w͋ͱͰݕࡧ͞ΕΔ͜ͱߟ͑Δ w<'JY>ͱ͔͚͓ͯ͘ͱϚʔδ࣌ʹؔ࿈JTTVF͕ด͡ΒΕΔ #PEZͰ$PNNJU.FTTBHFͰ0,
#PEZ DPNNFOU
#PEZ༰ w1VMM3FRVFTUͰमਖ਼ͨ͜͠ͱΛৄࡉʹॻ͘Ұ൪ॏཁͳॴ w8)Λҙࣝ͢Δ 8IZɺ8IBUɺ8IPɺ8IFOɺ8IFSFɺ)PXʣ wൈ͚͍ͯΔͷ͕͋ΔͱϨϏϡʔΞ͕֬ೝ͢Δख͕ؒੜ͡Δ wͳͥमਖ਼͕ඞཁͳΜ͚ͩͬʁ w͍ͭ·ͰʹϦϦʔε͢Δͷʁ w͜ͷमਖ਼ํ๏Ͳ͏͍͏ࠜڌ͕͋Δͷʁ
#PEZ༰8IZ wͳͥमਖ਼͕ඞཁͩͬͨͷ͔ɺલఏΛॻ͘ wෆ۩߹मਖ਼Ͱ͋Εෆ۩߹༰ wػೳՃͰ͋Εͳͥ͜ͷػೳՃ͕ඞཁͳͷ͔ wతࠜڌ͕͋Δͱͳ͓ྑ͍
#PEZ༰8IBU wԿΛ࣮ݱ͢Δ1VMM3FRVFTUͳͷ͔Λॻ͘ w͜ͷ1VMM3FRVFTUΛϚʔδ͢ΔͱͲ͏ྑ͘ͳΔͷ͔
#PEZ༰8IP w୭ʹϨϏϡʔͯ͠΄͍͔͠
#PEZ༰8IFO w͍ͭϦϦʔε༧ఆ͔ w͍ͭ·ͰʹϨϏϡʔΛͯ͠΄͍͔͠
#PEZ༰8IFSF wͲ͜ʹӨڹ͕ग़Δͷ͔ w8&#ͩͬͨΒͲ͜ͷϖʔδ͔ w"1*ͩͬͨΒͲͷ&OEQPJOU͔
#PEZ༰)PX wͲ͏͍͏ํ๏Ͱमਖ਼ͨ͠ͷ͔Λॻ͘ wઃܭ࣌ʹߟྀͨ͠ͳͲ
#PEZςϯϓϨʔτ wHJUIVC16--@3&26&45@5&.1-"5&NE w1VMM3FRVFTUΛ࡞Δͱ͖ʹඞཁͳใ͕࿙Εͳ͍Α͏ʹ w֤νʔϜͰߟ͑ΒΕͯ࡞͍ͬͯΔͷͰݟͯΈΔͱࢀߟʹͳΔ
$PNNFOUT
$PNNFOUTίϝϯτ w1VMM3FRVFTUٞΛߦ͏Ͱ͋ΔɺͲΜͲΜٞ͠Α͏ wҾ͖ͦ͏ͩͬͨΒͨ͠Γɺ࣌ؒΛͱͬͯϛʔςΟϯά wࣗ༻ϝϞʹ͑ΔʢࣗҎ֎ʹݟ͑Δʣ wը໘ίϐʔͳͲͷΤϏσϯεΛషͬͯΑ͠ wٙɺෆ໌ԕྀͳ͘ίϝϯτ
$PNNFOUTίϝϯτ w'JMFTDIBOHFEͷํʹࣗΒίϝϯτ͢Δʢ݁ߏศརʣ wͦͷߦͷՃઆ໌͕Ͱ͖Δ
#SBODI
#SBODIϒϥϯν໊ wਓʹݟΒΕͯԿ͔Өڹ͕͋ΔͷͰͳ͍ w͕ࣗΘ͔Γ͍͢Α͏ʹ͓ͯ͘͠ wԿΛ͢Δ1VMM3FRVFTUͳͷ͔Λ̍୯ޠͰදͤΔݴ༿ΛνϣΠε w·ͱΊϒϥϯνϚʔδ͢ΔϒϥϯνͳΒ ઌ಄ʹ·ͱΊϒϥϯνͷϒϥϯνΛ͚͓ͯ͘ͱΘ͔Γ͍͢ ྫ NBUPNFVQEBUFHFN
$PNNJU
$PNNJUίϛοτ w1VMM3FRVFTU$PNNJUͷू߹ w$PNNJUͰ͖Δ͚ͩখ͞ͳ୯ҐͰ
$PNNJUίϛοτϝοηʔδ wػೳͱͯ͠Ͳ͏มΘͬͨͷ͔Λॻ͘ͱྑ͍ wʮࢦఠͷमਖ਼ʯ% wʮ<ࢦఠमਖ਼>UPLFOൃߦͷϩδοΫมߋʯ wߦͰදͤͳ͍߹ߦҎ߱ʹৄࡉΛॻ͚Δ wઆ໌͠ͳ͍ͱཧղͰ͖ͳ͍ͱࢥͬͨ߹ίʔυʹίϝϯτͰ ॻ͘ͷख
3FWJFXFST
3FWJFXFSTϨϏϡʔΞ wϨϏϡʔΞΛࢦఆ͢Δ wϨϏϡʔΞ͕"QQSPWF͠ͳ͍ͱϚʔδͰ͖ͳ͍ϧʔϧʹ͢Δ wIUUQTHJUIVCDPN<PSH><SFQP>TFUUJOHTCSBODIFTNBTUFSͰઃఆ wϨϏϡʔΞࢦఆʹ͍Ζ͍Ζͳϧʔϧ wϥϯμϜͰਓ wमਖ਼ͨ͠ιʔεϑΝΠϧʹίϛοτ͕ଟ͍ʢৄ͍͠ʣΤϯδχΞɹͳͲ
3FWJFXFSTίʔυϨϏϡʔ wίʔυϨϏϡʔඇৗʹԞ͕ਂ͍ʜʢ͜͜Ͱઆ໌͠ͳ͍ʣ
"TTJHOFFT
"TTJHOFFT୲ऀ wجຊ1VMM3FRVFTUΛग़ͨ͠ਓ͕୲ऀͰ͕͢ɺଞͷਓΛ ר͖ࠐΜͰ։ൃ͢Δͱද໌Ͱ͖Δ w1VMM3FRVFTUҰཡͰϓϩϑΟʔϧࣸਅ͕ग़ΔͷͰ୭୲͔͙͢Θ͔Δ w͋Μ·ΓΘͳ͍ʜ
-BCFMT
-BCFMTϥϕϧ w1VMM3FRVFTU͕Ͳ͏͍͏ঢ়ଶͳͷ͔͓ΒͤͰ͖Δ w8*1 wϨϏϡʔͪ wϦϦʔεͪͳͲ w/FFETIFMQͱ͔5IJOLJOHͱ͔࡞͓ͬͯ͘ͱࠔͬͯΔ͜ͱΛ ΞϐʔϧͰ͖Δ
1SPKFDUTɺ.JMFTUPOF
1SPKFDUTɺ.JMFTUPOF w͜͜Ͱলུ
Πϝʔδ͖ͭ·ͨ͠ʁ
͍ΖΜͳνʔϜͷ ͍ΖΜͳ1VMM3FRVFTUΛ ΈͯΈΑ͏
ྑ͍ͱࢥͬͨͷ ͙͢ʹਅࣅ͍ͯ͜͠͏
ͦͷଞ͜ͷ͍ํྑ͍ͳͱ ࢥ͍ͬͯΔͱ͜
Πϯσϯτͷमਖ਼ߦΘͳ͍ w%J⒎͕ݟʹ͘͘ͳͬͯϨϏϡʔͮ͠Β͍ wߏจमਖ਼πʔϧʹͤΔ w3VCPDPQ w1)1$4'JYFS wमਖ਼͠ͳͯ͘ྑ͍͠ɺ༨ܭͳϨϏϡʔ͠ͳͯ͘ྑ͍
1VMM3FRVFTUͷίʔυΛࣗͰݟΔ w1VMM3FRVFTUΛ࡞ͬͨޙʹϨϏϡʔΞͷࢹͰݟͯΈΔ w͕ࣗमਖ਼ͨ͠ίʔυΛ٬؍తʹ၆ᛌͰ͖Δ w͜͏ͨ͠ํ͕Θ͔Γ͍͢ͳͲͷΞΠσΞ͕Ͱͯ͘Δ
ֆจࣈΛ͏ wςΩετ͚ͩͰྫྷͨ͘ΈΒΕ͍͢ wʮ͍ɻʯͱʮ͍ʯ wϦΞΫγϣϯͲΜͲΜ͍ͬͯ͜͏
Ͱ͖Δ͚ͩૣ͘Ϩεϙϯε͢Δ wϨϏϡʔΞͷܟҙ w͙͢Ϩεϙϯεͨ͠΄͏͕ૣ͘ϚʔδͰ͖Δ w࣭ͷҙਤ͕Θ͔Βͳ͍ͱ͖ૉʹΘ͔Βͳ͍ͱฉ͘ʂ େࣄ
࠷ߴͷ1VMM3FRVFTUΛ ग़͍͖ͯ͠·͠ΐ͏ʂ dpOd