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
GitHubハンズオン中級
Search
hikarut
April 28, 2019
Programming
0
140
GitHubハンズオン中級
hikarut
April 28, 2019
Tweet
Share
More Decks by hikarut
See All by hikarut
ビジネスパーソンがSQLを学ぶべき3つの理由とおすすめのSQL学習方法
hikarut
1
150
SQLを使ったデータ分析事例紹介〜2つの事例から学ぶSQLの活用方法〜
hikarut
3
330
データ分析力を高めるSQL研修『SQL Everyone』のご紹介【SQL勉強会 #3】
hikarut
1
380
データ分析内製化に向けた人材育成サービス『SQL Everyone』
hikarut
1
1.5k
データ分析のためのSQL勉強会 〜実践編〜
hikarut
12
15k
実演で理解するビジネスパーソンのためのSQL入門
hikarut
1
280
データ分析力を高めるビジネスパーソンのためのSQL入門
hikarut
1
560
SQLを活用したデータ分析におけるChatGPTの活用法
hikarut
14
4.9k
『データ分析力を高める ビジネスパーソンのためのSQL入門』出版記念セミナー
hikarut
1
240
Other Decks in Programming
See All in Programming
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
130
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
AIの力でお手軽Chrome拡張機能作り
taiseiue
0
180
昭和の職場からアジャイルの世界へ
kumagoro95
1
400
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
53
18k
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
180
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
5
390
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
130
時計仕掛けのCompose
mkeeda
1
310
Pulsar2 を雰囲気で使ってみよう
anoken
0
240
ソフトウェアエンジニアの成長
masuda220
PRO
12
2k
Lottieアニメーションをカスタマイズしてみた
tahia910
0
130
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Building a Scalable Design System with Sketch
lauravandoore
461
33k
We Have a Design System, Now What?
morganepeng
51
7.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
How GitHub (no longer) Works
holman
314
140k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
The World Runs on Bad Software
bkeepers
PRO
67
11k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
RailsConf 2023
tenderlove
29
1k
Transcript
(JU)VCϋϯζΦϯ גࣜձࣾΤοάγεςϜ ߴڮɹޫ ʙதڃʙ
ຊͷલఏ݅ ɾ(JU)VCΞΧϯτΛ͍࣋ͬͯΔ ɾίϚϯυϥΠϯʹΑΔجຊతͳHJUͷૢ ࡞͕Ͱ͖Δ IUUQTHJUIVCDPNFHHTZTUFN(JU)VC)BOETPO-FWFM ࢀߟɿ(JU)VCϋϯζΦϯॳڃ
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
ࣗݾհɹߴڮޫ ɾ8FCܥاۀࣾһΤϯδχΞϚωʔδϟʔ ɾ1)1 +BWB4DSJQU /PEFKT /VYUKT 4XJGU 3FBDU /BUJWFͳͲ ɾגࣜձࣾΤοάγεςϜ
ෳۀࣾһ IUUQTRJJUBDPNIJLBSVU IUUQTHJUIVCDPNIJLBSVU
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
(JU'MPXͱ(JU)VC'MPX (JUΛͬͨ։ൃɾӡ༻ϑϩʔ (JU'MPX (JU)VC'MPX ෳਓͰ։ൃ͢ΔࡍʹϧʔϧʹԊͬͯߦ͏ࣄͰԁʹ ։ൃɾӡ༻ΛਐΊΔ͜ͱ͕Ͱ͖Δ ˞্هҎ֎ʹ(JU-BC'MPX(JU'FBUVSF'MPXͳͲ͕͋Γ·͢
(JU'MPX ɾσΟϕϩούʔͷ7JODFOU%SJFTTFO͞Μͷ ʮ"TVDDFTTGVM(JUCSBODIJOHNPEFMʯͱ͍͏ه ࣄ͔Βੜ·ΕͨΞΠσΞ ɾNBTUFS SFMFBTF EFWFMPQ GFBUVSF IPUpYͷͭ ͷϒϥϯνΛ͍͚ͯɺ։ൃΛਐΊΔΓํ
ࢀߟɿ"TVDDFTTGVM(JUCSBODIJOHNPEFM{OWJFDPN IUUQTOWJFDPNQPTUTBTVDDFTTGVMHJUCSBODIJOHNPEFM
(JU'MPX ɾϝΠϯϒϥϯνɿNBTUFSEFWFMPQ ɾαϙʔτϒϥϯνɿGFBUVSFIPUpYSFMFBTF ϒϥϯν໊ ݩͱͳΔϒϥϯν Ϛʔδ͢Δϒϥϯν ༻్ master - -
ϦϦʔεࡁΈͷιʔείʔυΛཧ͢Δ develop master - ։ൃதͷιʔείʔυΛཧ͢Δ feature develop develop ػೳ࣮όάमਖ਼ͳͲͷ։ൃ࡞ۀΛߦ͏ release develop develop,master ϦϦʔε४උ࡞ۀΛߦ͏ hotfix master develop,master ۓٸͷमਖ਼࡞ۀΛߦ͏
NBTUFSϒϥϯν͔ΒEFWFMPQϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY NBTUFSϒϥϯνɺEFWFMPQϒϥϯν͕ ϝΠϯϒϥϯνͱͳΓ·͢
EFWFMPQϒϥϯν͔Β։ൃ༻ͷGFBUVSFϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
GFBUVSFϒϥϯνͰ։ൃΛਐΊΔ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
։ൃ͕ऴΘͬͨΒGFBUVSFϒϥϯνΛEFWFMPQʹϚʔδ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY ˞ϚʔδޙGFBUVSFϒϥϯνআ͢Δ ˞EFWFMPQϒϥϯνϦϞʔτʹϓογϡ
EFWFMPQϒϥϯν͔ΒSFMFBTFϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY όʔδϣϯ൪߸ͷߋ৽υΩϡϝϯτͷߋ৽Λߦ͏
SFMFBTFϒϥϯνΛEFWFMPQ NBTUFSʹϚʔδ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY ˞ϚʔδޙSFMFBTFϒϥϯνআ͢Δ
NBTUFSϒϥϯν͔ΒϦϦʔεΛߦ͏ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
ۓٸରԠɿNBTUFSϒϥϯν͔ΒIPUpYϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY IPUpYϒϥϯνͰόάमਖ਼ͳͲΛߦ͏
ۓٸରԠɿIPUpYϒϥϯνΛEFWFMPQ NBTUFSʹϚʔδ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY ˞ϚʔδޙIPUpYϒϥϯνআ͢Δ
ۓٸରԠɿNBTUFSϒϥϯν͔ΒϦϦʔεΛߦ͏ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
(JU'MPXͷಛ ɾ։ൃɺӡ༻ͷϑϩʔ͕໌֬ʹܾ·͍ͬͯΔͨΊϧʔϧ ʹԊͬͯਐΊΔ͜ͱͰશମΛѲ͍͢͠ ɾಉ࣌ʹෳҊ͕݅Δ߹ʹௐ͍͢͠ϑϩʔ େ ن։ൃ͚ ϝ Ϧ ο τ
σ ϝ Ϧ ο τ ɾϧʔϧ͕ෳࡶͳͨΊ͍͜ͳ͢ͷ͕͍͠ ɾϧʔϧͷֶशίετ͕͔͔Δ ɾϦϦʔεճ͕ଟ͍߹ʹ͔ͳ͍ εϐʔυײ͕ ͘ͳͬͯ͠·͏
(JU)VC'MPX ɾ(JU'MPXΛΑΓγϯϓϧʹͨ͠Γํ ɾQVMMSFRVFTUػೳΛͬͨӡ༻ํ๏ ࢀߟɿ(JU)VC'MPX +BQBOFTFUSBOTMBUJPO IUUQTHJTUHJUIVCDPN(BCLN
(JU)VC'MPXͷͭͷϧʔϧ NBTUFSϒϥϯνৗʹϦϦʔεՄೳͰ͋Δ ࡞ۀ༻ϒϥϯνඞͣNBTUFS͔Β࡞͢Δ ࡞ۀ༻ϒϥϯνΛఆظతʹϓογϡ͢Δ ϓϧϦΫΤετΛ׆༻͢Δ ϓϧϦΫΤετ͕ঝೝ͞ΕͨΒNBTUFSϚʔδ͢Δ NBTUFSͷϚʔδ͕ྃͨ͠ΒͪʹϦϦʔεΛߦ͏
NBTUFSϒϥϯν͔Β࡞ۀ༻ϒϥϯνΛ࡞ 5JNF NBTUFS ϒϥϯν໊ͷ࡞ϧʔϧͳ͠ Կͷ࡞ۀΛ͍ͯ͠Δͷ͔͔Γ໊͢લʹ͢Δ
࡞ۀ༻ϒϥϯνͰ։ൃΛਐΊΔ 5JNF NBTUFS
։ൃ͕ऴΘͬͨΒQVMMSFRVFTUΛ࡞͢Δ 5JNF NBTUFS มߋ͕͋Εमਖ਼͢Δ
NBTUFSϒϥϯνʹϚʔδ 5JNF NBTUFS
NBTUFSϒϥϯν͔ΒϦϦʔεΛߦ͏ 5JNF NBTUFS
ɾ(JU'MPXΛγϯϓϧʹͨ͠ͷͳͷͰӡ༻͍͢͠ ɾमਖ਼ͷαΠΫϧΛճ͍͢͠ͷͰԿճϦϦʔε͕͠ ͍͢ ɾQVMMSFRVFTUΛͬͨίʔυϨϏϡʔ͕ϑϩʔʹ ೖ͍ͬͯΔͷͰ࣮༻త ϝ Ϧ ο τ σ
ϝ Ϧ ο τ ɾಉ࣌ʹෳͷϦϦʔε͕ॏͳΔ߹ʹ͕ඞཁ ɾ֬ೝ༻ͷڥ͕༻ҙ͠ʹ͍͘ (JU)VC'MPXͷಛ
(JU'MPXͱ(JU)VC'MPXͷൺֱ (JU'MPX (JU)VC'MPX ϝ Ϧ ο τ σ ϝ Ϧ
ο τ ɾϑϩʔ͕໌֬ʹܾ·͍ͬͯΔͷ Ͱ࡞ۀΛѲ͍͢͠ ௐ͍͢͠ ɾେن։ൃ͖ ɾ(JU'MPXΛγϯϓϧʹͨ͠ͷ ͳͷͰӡ༻͍͢͠ ɾमਖ਼ͷαΠΫϧΛճ͍͢͠ͷ ͰԿճϦϦʔε͕͍͢͠ ɾෳࡶͳӡ༻ͷͨΊ͍͜ͳ͢ͷ ͕͍͠ ɾϦϦʔεճ͕ଟ͍߹ʹ͔ ͳ͍ ɾಉ࣌ʹෳͷϦϦʔε͕ॏͳΔ ߹ʹ͕ඞཁ ɾ֬ೝ༻ͷڥ͕༻ҙ͠ʹ͍͘
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
IUUQTHJUIVCDPNFHHTZTUFN (JU)VC)BOETPO-FWFM (JU)VCϋϯζΦϯࢿྉ தڃ
ᶃ࡞ۀऀ͝ͱʹϒϥϯνΛ࡞ ϩʔΧϧ ϦϞʔτ NBTUFS CSBODI" CSBODI# "͞Μ #͞Μ ˞֤࡞ۀऀNBTUFSϒϥϯνͰ࡞ۀ͠ͳ͍ ˞ඞͣผϒϥϯνΛͬͯ࡞ۀ͢Δ
HJUDIFDLPVUCCSBODI"NBTUFS
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# CSBODI" "͞Μ #͞Μ HJUDPNNJUBNlϑΝΠϧͷՃमਖ਼z
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# CSBODI# #͞Μ CSBODI" "͞Μ HJUQVTIPSJHJOCSBODI#
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# CSBODI# #͞Μ NBTUFS #͞Μͷ࡞ۀ༰͕ ϦϞʔτͷNBTUFS ʹϚʔδ͞ΕΔ
QVMMSFRVFTU CSBODI" "͞Μ
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# #͞Μ NBTUFS "͞ΜͷCSBODI"ͱ NBTUFSϒϥϯνͰ ͕ࠩൃੜ CSBODI"
"͞Μ
ᶅϦϞʔτͷ༰ΛϩʔΧϧʹө ϩʔΧϧ ϦϞʔτ NBTUFS CSBODI" "͞Μ NBTUFS #͞Μͷ࡞ۀΛϩʔΧϧʹऔ ΓࠐΉ HJUDIFDLPVUNBTUFS
HJUQVMM
ᶅϦϞʔτͷ༰ΛϩʔΧϧʹө ϩʔΧϧ ϦϞʔτ NBTUFS CSBODI" "͞Μ NBTUFS ˞OP⒎/PGBTUGPSXBSEΦϓγϣϯ ˠϚʔδίϛοτΛൃੜͤ͞ΔΦϓγϣϯ ˞جຊతʹOP⒎ΦϓγϣϯΛ͚ͭͯϚʔδ͢
Δ͜ͱΛ͓͢͢Ί͠·͢ HJUDIFDLPVUCSBODI" HJUNFSHFOP⒎NBTUFS #͞Μͷ࡞ۀ༰ΛCSBODI" ʹऔΓࠐΉ Ϛʔδ͢Δ
ᶆमਖ਼༰ΛϦϞʔτʹϓογϡ ϩʔΧϧ ϦϞʔτ CSBODI" "͞Μ CSBODI# #͞Μ CSBODI" NBTUFS HJUQVTIPSJHJOCSBODI"
ᶇϦϞʔτʹϩʔΧϧͷ༰Λө ϩʔΧϧ ϦϞʔτ CSBODI" "͞Μ CSBODI# #͞Μ CSBODI" NBTUFS "͞Μͷ࡞ۀ༰͕
ϦϞʔτͷNBTUFS ʹϚʔδ͞ΕΔ QVMMSFRVFTU
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
IUUQTHJUIVCDPNFHHTZTUFN (JU)VC)BOETPO-FWFM (JU)VCϋϯζΦϯࢿྉ தڃ Λࢀߟ
&/%