Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
2021-10-23 Kaigi on Rails 2021 WebαʔϏε։ൃऀͱͯ͠ελʔτ͔ͯ͠Β OSS Contribution·ͰͷಓͷΓ M-Yamashita
Slide 2
Slide 2 text
͢͜ͱ Railsॳ৺ऀ͕Contributionʹߦ͖ண͘·Ͱ
Slide 3
Slide 3 text
ࣗݾհ
Slide 4
Slide 4 text
ࣗݾհ • ࢁԼ խਓ • όοΫΤϯυΤϯδχΞ@Ԭ • ࣄͷRailsྺ: 1ఔ • GitHub: @M-Yamashita01 • Twitter: @M_Yamashii
Slide 5
Slide 5 text
ΞδΣϯμ
Slide 6
Slide 6 text
ΞδΣϯμ 1. Railsॳ৺ऀԿΛ͍͚͍͍ͯ͠ͷ͔ʁ 2. Contributionઌͷݟ͚ͭํ 3. ContributionͷนʹͲ͏ཱ͔ͪ͏͔ʁ
Slide 7
Slide 7 text
1. Railsॳ৺ऀԿΛ͍͚͍͍ͯ͠ͷ͔ʁ
Slide 8
Slide 8 text
࣍ʑͱ༙͖ग़Δٙෆ҆ • RailsνϡʔτϦΞϧ͕ͬͨ࣍ʹԿΛ͢Εʁ • ͲΜͳํ๏Ͱֶश͍ͯͬͨ͠Β͍͍͔͔Βͳ͍ • ࣄͰͷRailsྗΛ্͢Δʹʁ
Slide 9
Slide 9 text
https://qiita.com/M-Yamashii/items/a5eab4d8076c06a2288f ࣗͳΓͷֶश๏ • ࣄͱฒߦͯ͠ϓϥΠϕʔτͰֶशํ๏Λࢼߦࡨޡ • Rails։ൃʹؔ͢Δւ֎هࣄͷӳ༁ɺݸਓ։ൃͳͲ https://github.com/M-Yamashita01/WeatherReport
Slide 10
Slide 10 text
ݟ͕͕ͬͨ ݸਓͰखΛ৳ͯ͠खʹೖΕΒΕΔൣғͷΈͩͬͨ
Slide 11
Slide 11 text
Ͳ͏͢Εʁ
Slide 12
Slide 12 text
ࣄͰͷRailsΞϓϦΛಡΈղ͖ ΞτϓοτΛଟ͘ग़͢
Slide 13
Slide 13 text
ͳͥࣄͰͷRailsΞϓϦ͕ྑ͍ͷ͔ʁ • ݸਓΞϓϦͱൺֱ͠ίʔυϓϩδΣΫτͷن͕ܻҧ͍ • ઌਓͷํʑͷݟ͕٧·ͬͨίʔυ • طଘػೳΛಡΈղ͖ɺӨڹΛ࠷খݶʹͨ͠मਖ਼ʹ͢Δඞཁ͋Γ • ଞͷ։ൃऀʹΑΔϨϏϡʔ͔ΒࣄRailsͷݟΛಘΒΕΔ
Slide 14
Slide 14 text
ʮΞτϓοτΛଟ͘ग़͢ʯʹ ͲΜͳͷ͕͋Δͷ͔ʁ
Slide 15
Slide 15 text
Ξτϓοτʹ͍Ζ͍Ζ͋Δ • ΞαΠϯ͞Εͨ՝ʹର͢ΔPull Request • τϥϒϧରԠͰͷղੳ • OSSͷ෦࣮ɺڍಈɺٙʹରͯ͠ίʔυϦʔσΟϯά͠هࣄͱͯ͠ग़͢ https://zenn.dev/m_yamashii/articles/6eeabce1199da5
Slide 16
Slide 16 text
ࣄͰੵۃతʹखΛڍ͛ͯ ਓΑΓଟ͘৮ΓΞτϓοτ͠Α͏
Slide 17
Slide 17 text
2. Contributionઌͷݟ͚ͭํ
Slide 18
Slide 18 text
Railsྗͷ্ͱฒߦͰग़͖ͯͨ Contributionͷڵຯ
Slide 19
Slide 19 text
ແʹ͋ΔOSS͔Β Ͳ͏ͬͯContributionઌΛݟ͚ͭΔ͔ʁ
Slide 20
Slide 20 text
• ࣾͰͷPull Requestڠྗ࡞ͷ ͓༠͍ • ࣗ࡞πʔϧ࡞࣌ʹ༻ͨ͠ gemͷະ࣮ػೳͷൃݟ • ࣾͰ༻தͷgemͷίʔυ ϦʔσΟϯάͰൃݟͨ͠λΠϙ ࢲͷ࠷ॳͷग़ձ͍ํ https://github.com/octokit/octokit.rb/pull/1332 https://github.com/rubocop/rubocop-rspec/pull/1042
Slide 21
Slide 21 text
ڞ௨͍ͯ͠Δͷʁ • ࣾݸਓͰ͍ͬͯΔOSS • ࣮ࡍͷಈ࡞͕ظͨ͠ಈ࡞ͱҧ͏ • ίʔυϦʔσΟϯάʹΑΔൃݟ Contributionର
Slide 22
Slide 22 text
Contribution͍ͨ͠OSS͋Δ͕ ظ௨Γͷಈ࡞Ͱίʔυ্ʹͳͦ͞͏ Ͳ͏͢Ε͍͍ͷ͔ʁ
Slide 23
Slide 23 text
ϦϙδτϦͷIssues͔Β୳͢
Slide 24
Slide 24 text
Issues্Ͱ୳ࡧ • Ճͯ͠΄͍͠ػೳ • ظͨ݁͠Ռͱ࣮ࡍͷಈ࡞͕ҟͳΔใࠂ • όάϔϧϓͷϥϕϧ https://github.com/rubocop/rubocop-rspec/issues/1106
Slide 25
Slide 25 text
ݱͷ࠶ݱͱղܾҊͷఏҊ • ࣗͷڥͰ࠶ݱ • Ͳ͏ͬͨΒղܾͰ͖Δ͔ݕ౼ • ղܾҊΛ࣮ ղܾ๏ͷΞΠσΞ࣮ҊΛIssueʹίϝϯτ
Slide 26
Slide 26 text
ղܾҊΛఏҊ͢Δࡍͷҙ ࢲͷ͘͠͡ΓΛͱʹ
Slide 27
Slide 27 text
ղܾҊΛఏҊ͢Δࡍͷҙ ࢲͷ͘͠͡Γ https://github.com/rubocop/rubocop-rspec/issues/1106 όάͷϥϕϧʂ Pull Request࡞Ζ͏ʂ ※IssueͰͷٞະ࣮ࢪ
Slide 28
Slide 28 text
͜ͷIssueͲΜͳͳͷ͔ʁ ɾɾɾ • RuboCop RSpecͷIssue • RSpec/FilePathͷCopͰ ಉ͡ΠϯσϯτͷdescribeΛ ݕͰ͖ͳ͍
Slide 29
Slide 29 text
ղܾҊΛఏҊ͢Δࡍͷҙ ࢲͷ͘͠͡Γ https://github.com/rubocop/rubocop-rspec/pull/1129
Slide 30
Slide 30 text
Real-world RSpecϓϩδΣΫτͰ֬ೝࡁΈ͔ʁ ͜ͷύλʔϯͷݕ͋ͳͨͷमਖ਼ͨ͠CopͷׂͰͳ͍ describeͷॻ͖ํ֤ϓϩδΣΫτͰҟͳΔͷͰͳ͍͔ʁ ղܾҊΛఏҊ͢Δࡍͷҙ ࢲͷ͘͠͡Γ
Slide 31
Slide 31 text
ղܾҊΛఏҊ͢Δࡍͷҙ • Issueʹର͢ΔղܾҊΛ͍͖ͳΓPull RequestͰग़͞ͳ͍ • ·ͣIssueͰٞ • ίϛολʔ͕Ͳ͏͍͔ͨ͠Λ֬ೝ͠Pull RequestΛग़͢ ࢲͷ͘͠͡Γ
Slide 32
Slide 32 text
3. ContributionͷนʹͲ͏ཱ͔ͪ͏͔ʁ
Slide 33
Slide 33 text
ContributionΛ͍ͨ͠ؾ࣋ͪ͋Δ͕ ݟ͑ͳ͍น͕͋Δ
Slide 34
Slide 34 text
Contributionͷน • ͕ࣗग़͍͍ͯ͠ͷ͔ʁ • ͲΜͳॻ͖ํͰॻ͚͍͍ͷ͔ʁ • ӳޠͷน
Slide 35
Slide 35 text
͕ࣗग़͍͍ͯ͠ͷ͔ʁ
Slide 36
Slide 36 text
ContributionͷนʹͲ͏ཱ͔ͪ͏͔ʁ ͕ࣗग़͍͍ͯ͠ͷ͔ʁ • ͑Yes • ͍ΖΜͳ։ൃऀͷڠྗ͕͋ͬͯͷOSS • ڠྗͷܗPull Request͚ͩͰͳ͘ɺIssueͰͷใࠂ͋Δ
Slide 37
Slide 37 text
ͲΜͳॻ͖ํͰॻ͚͍͍ͷ͔ʁ
Slide 38
Slide 38 text
• ϓϩδΣΫτʹΑͬͯContributionͷΨΠυϥΠϯ͕͋Δ • ͳ͍߹ଞͷPull RequestIssueͷॻ͖ํΛࢀߟʹ • ԿΛ͍ͨ͠ͷ͔ɺ࣮ࡍͷڍಈͱظͨ݁͠Ռɺ࠶ݱखॱͷηοτΛఴ͑Δ ContributionͷนʹͲ͏ཱ͔ͪ͏͔ʁ ͲΜͳॻ͖ํͰॻ͚͍͍ͷ͔ʁ
Slide 39
Slide 39 text
ॻ͘༰͔͕ͬͨ ӳޠ͕ۤख
Slide 40
Slide 40 text
• ྑ͍୯ޠจষΛΒͳ͍ • ͲΜͳӳจΛฒͯॻ͍ͨΒ͍͍͔͔Βͳ͍ ContributionͷนʹͲ͏ཱ͔ͪ͏͔ʁ ӳޠͷน
Slide 41
Slide 41 text
• ଞͷPull RequestIssueͷ ॻ͖ํΛࢀߟʹ͢Δ • ༁πʔϧΛ͍·͘Δ • ӳޠͷ্खԼखΑΓ ͍͑ͨ༰Λେࣄʹ ContributionͷนʹͲ͏ཱ͔ͪ͏͔ʁ ӳޠͷน https://github.com/octokit/octokit.rb/pull/1304 https://github.com/octokit/octokit.rb/pull/1332
Slide 42
Slide 42 text
࠷ޙʹ… ContributionͰ৺ʹཹΊ͓ͯ͘͜ͱ
Slide 43
Slide 43 text
Contribution͢Δʹ͋ͨΓ • ίϛολʔͷߟ͑ϦϙδτϦ͝ͱͷํ͕͋Δ • ૬खͷߟ͑Λଚॏͯٞ͠ • IssuePull Request͕ඞͣड͚ೖΕΒΕΔͱݶΒͳ͍
Slide 44
Slide 44 text
ContributionʹνϟϨϯδͯ͠ΈΑ͏ʂ
Slide 45
Slide 45 text
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ