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
Bash Introduction
62gerente
611
210k
The World Runs on Bad Software
bkeepers
PRO
67
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Designing for Performance
lara
604
68k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Site-Speed That Sticks
csswizardry
4
410
Gamification - CAS2011
davidbonilla
80
5.2k
How GitHub (no longer) Works
holman
314
140k
RailsConf 2023
tenderlove
29
1k
Speed Design
sergeychernyshev
27
810
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
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