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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
takashabe
December 11, 2014
Programming
2
2.3k
GitHubの良さ
http://connpass.com/event/10347/
で話した内容です。
takashabe
December 11, 2014
Tweet
Share
More Decks by takashabe
See All by takashabe
より良いターミナルでの生活を求めて
takashabe
0
63
OpenCensusでcustom context propagationとexporterを書いた話 / OpenCensus with custom context propagation and exporter
takashabe
0
1.8k
pubsub with concurrent
takashabe
1
940
社内ISUCONを開催した話
takashabe
0
1.7k
ISUCON大反省会
takashabe
0
2k
gitのブランチ戦略
takashabe
8
6.1k
サルでもわかるgit
takashabe
0
1.6k
playで複数DBする
takashabe
0
1.6k
MySQLで高トラフィックに立ち向かう
takashabe
0
1.8k
Other Decks in Programming
See All in Programming
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
410
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
260
GC言語のWasm化とComponent Modelサポートの実践と課題 - Scalaの場合
tanishiking
0
110
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
120
How to stabilize UI tests using XCTest
akkeylab
0
130
CSC307 Lecture 15
javiergs
PRO
0
250
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
200
RubyとGoでゼロから作る証券システム: 高信頼性が求められるシステムのコードの外側にある設計と運用のリアル
free_world21
0
300
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8.1k
20260315 AWSなんもわからん🥲
chiilog
2
160
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
550
AWS Infrastructure as Code の新機能 2025 総まとめ 〜SA 4人による怒涛のデモ祭り〜
konokenj
10
3.4k
Featured
See All Featured
Technical Leadership for Architectural Decision Making
baasie
3
290
How STYLIGHT went responsive
nonsquared
100
6k
Faster Mobile Websites
deanohume
310
31k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.9k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
150
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
230
RailsConf 2023
tenderlove
30
1.4k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
310
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
160
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
190
New Earth Scene 8
popppiees
1
1.7k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
92
Transcript
(JU)VCͷྑ͞ 5BLBTIJ"CF .ZOFU*OD #mynet_tech
͓·͑ͩΕΑ !UBLBTIBCF ιγϟήͷ։ൃͬͯ·͢ (JU(JU)VCྺ͘Β͍ ۀྺ ͚ͭ໙͕͖
͡Ίʹ ϓϩδΣΫτ֓ཁ ϒϥβϕʔεͷιγϟή ܞΘͬͯ΄Ͳ ॳΊ͔Β(JU)VCͰӡ༻ ϦϦʔεʙXFFLMZ 1VMM3FRVFTUʙEBZ
"HFOEB (JU)VCͷ؆୯ͳհ (JU)VCͷྑ͞ ϨϏϡʔ λεΫཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹͬͨ͜ͱ ·ͱΊ
(JU)VCͷ֓ཁ (JUͷϗεςΟϯάαʔϏε (JUͷϦϞʔτϦϙδτϦʹ͋ͨΔ αʔόΛཧ͢Δ͜ͱͳ͘தԝϦϙδτϦͷΑ͏ ʹͬͨΓ͢Δ͜ͱ͕ग़དྷΔ (JU)VCಠࣗͷػೳ͋Δ
(JU)VCಠࣗͷػೳ 1VMM3FRVFTU *TTVFT 8JLJͳͲʜ (JUͷඪ४ػೳΛ͍͘͢ϥούͨ͠ͷ 1VMM3FRVFTUͳͲ (JUͷػೳͰͳ͍͕ɺ։ൃΛԁʹ͢Δͷ *TTVFT 8JLJͳͲ ͜ΕΒ͕(JU)VCΛ͏ಈػͱͯ͠Ұ൪ڧ͍
"HFOEB (JU)VCͷ؆୯ͳհ (JU)VCͷྑ͞ ϨϏϡʔ λεΫཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹͬͨ͜ͱ ·ͱΊ
ैདྷͷϨϏϡʔ ػೳ։ൃऴΘΓ·ͨ͠ɻ featureϒϥϯνͰpushͨ͠ͷ ͰϨϏϡʔ͓ئ͍͠·͢ɻ ྃղ͠·ͨ͠ɻ
ैདྷͷϨϏϡʔ (λʔϛφϧ্Ͱ) git pull git diff master feature ͋ɺͪΐͬͱ͜͜Ϛζͦ͏
ैདྷͷϨϏϡʔ ϨϏϡʔ͠·ͨ͠ɻ xxxͷϝιουͰyyy͕ߟྀ͞ Εͯͳͯ͘Ϡόͦ͏ɻ ྃղ͠·ͨ͠ɻ (xxxͬͯͲ͚ͩͬ͜…)
ैདྷͷϨϏϡʔ νϟοτϕʔεͰϨϏϡʔ͕ਐΉ ͠νϟοτΛݟಀͯ͠͠·͏ͱʜ
ैདྷͷϨϏϡʔ νϟοτϕʔεͰϨϏϡʔ͕ਐΉ ͠νϟοτΛݟಀͯ͠͠·͏ͱʜ ࡢ͓ئ͍͍ͯͨ͠ϨϏϡʔ ͷ݅Ͱ͕͢ɺਐḿͲ͏Ͱ͔͢ʁ
ʊਓਓਓਓਓʊ ʼ ͭΒ͍ ʻ ʉ̮̮̮̮̮ʉ
1VMM3FRVFTUϕʔεͷϨϏϡʔ 1VMM3FRVFTUJTԿʁ ϩʔΧϧͷϦϙδτϦͰߦͬͨมߋΛɺଞͷϦϙ δτϦϒϥϯνʹऔΓࠐΜͰΒ͏ͨΊͷϦΫ ΤετΛग़͢ػೳͷ͜ͱ ϦΫΤετΛग़͞Εͨଆɺ1VMM3FRVFTUͷ༰ ͕ଥ͔Ͳ͏͔Λ֬ೝ্ͨ͠ͰϚʔδΛߦ͏͜ͱ ͕ग़དྷΔ
1VMM3FRVFTUϕʔεͷϨϏϡʔ diffରͷϒϥϯν
1VMM3FRVFTUϕʔεͷϨϏϡʔ
1VMM3FRVFTUϕʔεͷϨϏϡʔ ίϝϯτʹର͢ΔϨε ҟͳΔॴͷίϝϯτ
1VMM3FRVFTUϕʔεͷϨϏϡʔ
1VMM3FRVFTUϕʔεͷϨϏϡʔ ϨϏϡΞʔͨͩૹΒΕͨ1VMM3FRVFTUΛݟΔ͚ͩͰϨϏϡʔ ͕ग़དྷΔ ίʔυߦ୯ҐͰίϝϯτΛॻ͚ΔͷͰɺͦͷίʔυʹର͢ Δ͕ٞΓ͍͢ 1VMM3FRVFTUͰΓऔΓ͕݁͢ΔͷͰ͕ٞൃࢄ͠ͳ͍ ϨϏϡʔґཔͷνϟοτΛݟಀ͍ͯͯ͠ݱࡏग़͞Ε͍ͯΔ 1VMM3FRVFTU͕͔Δ
%FNP
1VMM3FRVFTU࠷ߴʂʂʂ Կ͔Ͱʁ
1VMM3FRVFTUͷঢ়ଶ͕͔ΓͮΒ͍ ϨϏϡʔϚʔδՄೳͳͷ͔ ࡞ۀதͷͷϚʔδ͍͚ͯ͠ͳ͍ 1VMM3FRVFTUͰϨϏϡʔ͕ඇಉظʹߦ͑ΔΑ͏ʹ ͳͬͨɻ͔͠͠ঢ়ଶ͕͔Βͳ͍ͨΊʹ݁ہνϟο τݟಀ͢ͱͭΒ͍ͬͨ··
ࡢ͓ئ͍͍ͯͨ͠ϨϏϡʔ ͷ݅Ͱ͕͢ɺਐḿͲ͏Ͱ͔͢ʁ
ରԠࡦ ϥϕϧͷಋೖ 8*11VMM3FRVFTUͷಋೖ
ϥϕϧ 1VMM3FRVFTUͷঢ়ଶʹԠͯ͡ϥϕϧΛ͚Δ ϨϏϡʔґཔ ϨϏϡʔத ϨϏϡʔྃ Ϛʔδ ίϝϯτʙमਖ਼
ϥϕϧͰϑΟϧλ
8*11VMM3FRVFTU 8*18PSL*O1SPHSFTTͷུ ࡞ۀதͰ͋Δ͜ͱΛλΠτϧʹ໌ه͢Δ ༨ஊɿλΠτϧʹ8*1ͱೖ͍ͬͯΔ1VMM3FRVFTU ͷϚʔδϘλϯΛԡͤͳ͘͢Δ$ISPNF֦ு͕͋ͬ ͨΓ͢Δ %P/PU.FSHF8*1GPS(JU)VC
ϨϏϡʔ·ͱΊ 1VMM3FRVFTUͰͷϨϏϡʔ؆୯Ͱ࠷ߴ ϥϕϧͰ1VMM3FRVFTUͷঢ়ଶΛՄࢹԽͯ͠ϨϏϡʔ Λଅਐ͢Δঢ়ଶΛ࡞Δ
"HFOEB (JU)VCͷ؆୯ͳհ (JU)VCͷྑ͞ ϨϏϡʔ λεΫཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹͬͨ͜ͱ ·ͱΊ
λεΫཧ දతͳλεΫ νέοτ ཧπʔϧ +*3" 3FENJOFͳͲ νέοτʹରͯ͠୲ऀɺঢ়ଶɺظݶɺίϝϯτͳͲΛ͚ͯ ཧग़དྷΔ (JU)VCʹ*TTVFTͱ͍͏ػೳ͕͋Δ ͨͩ͠ઐ༻ͷπʔϧͱൺΔͱػೳශऑ
νέοτཧ༻πʔϧΛซ༻͢Δ߹ ։ൃϑϩʔ νέοτཧπʔϧ νέοτΛΔ (JU)VC 1VMM3FRVFTUΛૹΔ (JU)VC
1VMM3FRVFTUͷϨϏϡʔϚʔδ νέοτཧπʔϧ νέοτʹ1VMM3FRVFTUͷϦϯΫΛషͬ ͯΫϩʔζ ͭͷػೳ։ൃʹରͯ͠ෳαʔϏεΛ·͕ͨͬͯͭΒͦ͏
(JU)VC*TTVFTͷಛ *TTVFTʹରͯ͠୲ऀɺঢ়ଶ ΦʔϓϯΫϩʔζͷ Έ ɺίϝϯτ͕͚ΒΕΔ ίʔυ 1VMM3FRVFTU ͱͷ࿈ܞָ͕ 1VMM3FRVFTUʹ*TTVFTͷϦϯΫΛషΔͱɺ*TTVFT ଆͰϦϯΫ͞Ε͍ͯΔࢫͷද͕ࣔ͞ΕΔͳͲ
IssuesͷϦϯΫషΔ ϦϯΫݩͷPull Request͕දࣔ͞Εͨ
*TTVFTͷΓͳ͍ ୭͕ԿΛ͍ͬͯΔͷ͔Ѳͮ͠Β͍ ୲ऀܾΊΕΔ͕ɺঢ়ଶ͕ΦʔϓϯΫϩʔζ͠ ͔ͳ͍ͨΊɺணखத͔Ͳ͏͔Ұݟ͔Βͳ͍ ਐ͕͔ΓͮΒ͍ ༏ઌ͕͔ΓͮΒ͍
ΑΖ͍͠ɺͳΒΧϯόϯͩ
*TTVFT Χϯόϯ λεΫجຊతʹ*TTVFTʹॻ͘ ணख͢Δͷ͔ΒΧϯόϯʹᝦΛష͍ͬͯ͘ Χϯόϯͷ͓͔͛Ͱ୭͕ԿΛ͍ͬͯΔ͔ɺਐ ͕͔ΔΑ͏ʹ
*TTVFT࠷ߴʂʂʂԿ͔Ͱʁ
ෳαʔϏε͏ͷ͕ͭΒ͍͔Β*TTVFTʹͨ͠ͷʹ ݁ہߋ৽Օॴ͕ෳ͋Δ Χϯόϯʹ͚ͩՃ͞ΕΔλεΫ νϟοτޱ಄ͰՃ͞ΕΔλεΫ ಉظ͕औΕͳ͘ͳ͍ͬͯ͘Χϯόϯͱ*TTVFT
None
͏Ұߟ͑ͳ͓͢ *TTVFTίʔυͱͷ࿈ܞָ͕ 1VMM3FRVFTUඞͣ͏ͷͰ(JU)VC্Ͱ݁͢Δͷ ͕·͍͠ ෳͷπʔϧΛ͏ͱಉظΛऔΔͷ͕େม
ΑΖ͍͠ɺͳΒΑΓపఈͨ͠*TTVFTۦಈͩ
ͱʹ͔͘*TTVFTʹશͯͷλεΫΛೖΕΔ ୭ͰɺͲΜͳͷͰ*TTVFTʹೖΕͯྑ͍ ͱ͍͑νϟοτޱ಄ͰͷґཔͪΖΜൃੜ͢ Δ ͔Γ·ͨ͠ɻ Issues͓͍͍ͬͯͯͩ͘͞ɻ ࠷ۙͰIssuesཱͯͨͷͰ͓ئ͍͠·͢ʔ ͱ͍͏ྲྀΕ͕ਁಁ͖ͯͨ͠
શͯͷλεΫ͕*TTVFTͰཧ͞Εͨ ४උͬͨ
*TTVFTʹΓͳ͔ͬͨͷΛཧ͢Δ ୭͕ԿΛ͍ͬͯΔ͔ ਐ λεΫͷ༏ઌ
εΫϥϜͰղܾग़དྷͦ͏
ΏΔ͍εΫϥϜͷಋೖ ಋೖͨ͠ϓϥΫςΟεεϓϦϯτͷΈ पؒͷεϓϦϯτ ϓϩμΫτΦʔφʔ ϓϩσϡʔαʔFUD ΛεϓϦϯτͰऔ ΓΉλεΫΛܾΊΔ༏ઌ εϓϦϯτͷରͱͳͬͨ*TTVFTʹεϓϦϯτϥϕϧΛ ͚Δ୭͕ԿΛ͍ͬͯΔ͔ 8*1ϥϕϧΛ༻ҙͯ͠࡞ۀதͷ*TTVFTʹ͚ΔΑ͏ʹਐ
༨ஊɿ.JMFTUPOF *TTVFTɺ1VMM3FRVFTUʹ.JMFTUPOFΛઃఆ͢Δ͜ͱ͕ग़དྷΔ ৽ػೳ։ൃఆৗΠϕϯτͷ։ൃணख࣌ʹ.JMFTUPOFΛΔ ։ൃʹؔ࿈͢Δ*TTVFTͱ1VMM3FRVFTUΛͦͷ.JMFTUPOFʹඥ ͚Δ͜ͱͰɺ.JMFTUPOF͔Β࡞ۀ༰ΛѲ͢Δ͜ͱ͕ग़ དྷΔ ޙͰݟฦͨ࣌͠ͷ࡞ۀϩάʹͳΔ νʔϜʹ৽͍͠ਓ͕ೖ͖ͬͯͨ࣌ʹ৺ڧ͍
ϚΠϧετʔϯͰϑΟϧλ
λεΫཧͷ·ͱΊ *TTVFTͰλεΫΛཧ͢Δ͜ͱͰίʔυͱͷ࿈ܞ͕ औΓ͘͢ͳͬͯศར *TTVFTͰΓͳ͍ଞͷख๏πʔϧͰิ͏ඞཁ ͕͋Δ .JMFTUPOFΛదʹӡ༻͢Εڧྗͳࢿ࢈ʹͳΔ
"HFOEB (JU)VCͷ؆୯ͳհ (JU)VCͷྑ͞ ϨϏϡʔ λεΫཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹͬͨ͜ͱ ·ͱΊ
ଞπʔϧͱͷ࿈ܞ ͏ͪͷνʔϜͰ·ͩಋೖग़དྷͯͳ͍ͷͰ؆୯ͳհ͚ͩ 8FCIPPL (JU)VCͰͷΠϕϯτൃՐΛଞαʔϏεʹ௨ ௨ઌͱͯ͠(JU)VC͔ΒΞΫηεՄೳͳ63-Λ༻ҙ͢Δඞཁ͕͋Δ Πϕϯτͷछྨ 1VMM3FRVFTUΛ࡞ͨ͠ɺϚʔδͨ͠ *TTVFTΛཱͯͨɺΫϩʔζͨ͠ͳͲͳͲʜ 4FSWJDF)PPL طଘͷαʔϏε͚ͷ8FCIPPLɺྫ͑+FOLJOTͷHJUIVCQMVHJO͚ʹ௨ΛૹΔɺͳͲͷ
ઃఆΛߦ͏ࣄ͕ग़དྷΔ
࿈ܞྫ 1VMM3FRVFTUલʹςετΛճ͢ 1VMM3FRVFTUΛ࡞͞Εͨ͜ͱΛ+FOLJOTʹ௨ +FOLJOTͰϏϧυ Ϗϧυ݁ՌΛ1VMM3FRVFTUʹө $IBU0QT 4MBDL͔Β)VCPUܦ༝Ͱ1VMM3FRVFTUΛ࡞
"HFOEB (JU)VCͷ؆୯ͳհ (JU)VCͷྑ͞ ϨϏϡʔ λεΫཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹͬͨ͜ͱ ·ͱΊ
(JU)VCಋೖ࣌ ϝϯόʔͷεΩϧηοτ ݸਓͰ(JU(JU)VCΛ͍ͬͯͨ νʔϜ։ൃͰ(JUΛͬͨ͜ͱ͋Δ͕(JU)VCແ ͠ (JU(JU)VCڞʹͦΕ΄Ͳͬͨ͜ͱ͕ͳ͍
νʔϜ։ൃͰ(JU)VCΛͬͨ͜ ͱ͕͋Δϝϯόʔډͳ͔ͬͨ
(JU)VCʹ׳ΕΔͨΊʹ (JU)VCΒ͍͠։ൃϑϩʔͷపఈ طଘϓϩμΫτTWOͰNBTUFSϒϥϯνຊӡ༻ͩͬ ͨ 1VMM3FRVFTUۦಈ։ൃͷపఈ HJUqPXΛϕʔεʹͨ͠ϒϥϯνઓུͷపఈ
(JU)VCͰͷ։ൃͬͯ͜Μͳײ ͩ͡ͱ͍͏͜ͱΛਁಁͤ͞Δ
(JU)VCʹ͍ͭͯͷࣾษڧձνʔϜ.5( (JUࣗମෳࡶͳπʔϧͳͷͰඞཁͳػೳ͚ͩͭ·Έ৯͍͢ Δ ։ൃʹ͓͍ͯ࠷ݶඞཁͳϑϩʔΛυΩϡϝϯτԽͯ͠ڞ༗ ػೳ։ൃʙ1VMM3FRVFTUΛૹΔ·Ͱͷखॱ 2"ڥͷద༻खॱ HJUSFCBTFͱ͔HJUSFTFU͑Εศར͚ͩͲඞਢͰͳ ͍
͜Μͳ࣌Ͳ͏͢Εྑ͍ͷʁͱ͍͏͜ͱΛฉ͚Δͷେࣄ QVMMग़དྷͳ͍ʂ QVTIग़དྷͳ͍ʂ ίϯϑϦΫτͨ͠ʂ ৄ͍͠ਓ͕ਓ͍Δͱศར Ծʹৄ͍͠ਓ͕͍ͳͯ͘(JU)VCͷใάάΕ͍ ͘ΒͰ͋Δ
ͦΕͳΓʹ։ൃ͕ճΔΑ͏ ʹͳ͖ͬͯͨ
ίϛοτཻ 1VMM3FRVFTUཻ ϥϕϧͷӡ༻
νʔϜͷशख़ʹΑͬͯϑΥʔΧε ͢ΔϨΠϠΛม͑Δ
ಋೖ࣌ͷ·ͱΊ ͱΓ͋͑ͣ1VMM3FRVFTUۦಈ։ൃͱHJUqPXͰ(JU)VC ͷ։ൃʹ׳Ε͍ͯ͘ ԿͰฉ͚Δਓ͕͍Δɺฉ͚Δงғؾେࣄ νʔϜͷशख़ʹΑͬͯϑΥʔΧε͢ΔϨΠϠΛม͑ ͍ͯ͘
"HFOEB (JU)VCͷ؆୯ͳհ (JU)VCͷྑ͞ ϨϏϡʔ λεΫཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹͬͨ͜ͱ ·ͱΊ
·ͱΊ
ϨϏϡʔ 1VMM3FRVFTUͷϨϏϡʔ࠷ߴ ϥϕϧͰ1VMM3FRVFTUͷঢ়ଶΛՄࢹԽͯ͠ϨϏϡʔ Λଅਐ͢Δঢ়ଶΛ࡞Δ
λεΫཧ *TTVFT ΏΔ͍εΫϥϜ .JMFTUPOFΛͬͯޙ͔Βݕࡧ͘͢͠
ଞπʔϧͱͷ࿈ܞ ࣗಈԽΛଅਐ͢Δ༷ʑͳՄೳੑ͕͕Δ νʔϜͰऔΓೖΕ͍͖͍ͯͨʜʂ
ಋೖ࣌ νʔϜͷशख़ʹ߹Θͤͯɺ·ͣ࠷ݶඞཁͳͱ ͜Ζ͔Β࢝ΊΔ
0OFNPSFUIJOHʜ
(JU)VCΛಋೖ͢Εશ͕ͯ ϋοϐʔʹͳΔΘ͚Ͱͳ͍
(JU)VCΛಋೖͨ͜͠ͱʹΑΔग़ͯ͘Δ ৽͍͠ͷΛಋೖ͕ͯ͠ى͖ΔͱͦΕͷ͍ͤʹ͠ ͯ͠·͍͕ͪ ͕ى͖ͨΒ͖ͪΜͱ͖߹͍ରԠ͢Δ
ࢥߟఀࢭ͍͚ͯ͠ͳ͍
νʔϜͷशख़্͕͕Ε࠷దͳϑϩʔมΘͬͯ ͍͘ (JU)VCΛϕʔεʹͯ͠ΑΓΑΓ։ൃϑϩʔ
)BWFBRVFTUJPO