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
820
マネーフォワードクラウド経費でのフロントエンドの取り組み / moneyforward-expense-frontend
kimromi
4
1k
エンジニアにとってのアウトプットとはなにか考えた / what-is-output
kimromi
3
1.1k
TypeScriptで作るGitHubApps / make GitHub Apps by TypeScript
kimromi
0
580
ムームードメインのJavaScript環境を整えた話 / prepare muumuu-domain's javascript
kimromi
1
530
Vue.js on Rails / vue-js-on-rails
kimromi
7
4.7k
本番環境にVue.jsを使った話 / Use Vue.js at production
kimromi
3
1.4k
how about Marp?
kimromi
0
120
engineer-guideline
kimromi
0
1k
Featured
See All Featured
Designing for Performance
lara
605
68k
BBQ
matthewcrist
87
9.5k
Fireside Chat
paigeccino
35
3.2k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Rails Girls Zürich Keynote
gr2m
94
13k
The Invisible Side of Design
smashingmag
299
50k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
How STYLIGHT went responsive
nonsquared
99
5.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
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