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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
62
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
1.9k
gitのブランチ戦略
takashabe
8
6k
サルでもわかる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 directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
530
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
170
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.2k
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
550
Fundamentals of Software Engineering In the Age of AI
therealdanvega
1
240
Claude Codeセッション現状確認 2026福岡 / fukuoka-aicoding-00-beacon
monochromegane
4
410
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
730
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
820
encoding/json/v2のUnmarshalはこう変わった:内部実装で見る設計改善
kurakura0916
0
390
Windows on Ryzen and I
seosoft
0
250
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
390
Information Architects: The Missing Link in Design Systems
soysaucechin
0
820
Between Models and Reality
mayunak
2
230
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
250
We Are The Robots
honzajavorek
0
190
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
150
Deep Space Network (abreviated)
tonyrice
0
88
Fireside Chat
paigeccino
42
3.8k
Balancing Empowerment & Direction
lara
5
940
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The SEO Collaboration Effect
kristinabergwall1
0
390
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