Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Work and OSS
Akira Matsuda
October 26, 2016
Programming
41
9.4k
Work and OSS
MoneyForward Meetup Vol. 6の発表資料
http://moneyforward.connpass.com/event/42287/
Akira Matsuda
October 26, 2016
Tweet
Share
More Decks by Akira Matsuda
See All by Akira Matsuda
Coming Soon…💎 / coming soon
a_matsuda
11
5.6k
Rails Performance Issues and Solutions
a_matsuda
8
28k
Extending Rails for Real World App Development
a_matsuda
9
6.3k
A RubyKaigi Talk
a_matsuda
7
1.5k
Ginza Rails 1
a_matsuda
5
770
Oedo 07
a_matsuda
7
610
Inspecting and Crafting Rails
a_matsuda
3
100
Turbo Boosting Real-world Applications
a_matsuda
25
2.8k
Ruby on Ruby on Rails
a_matsuda
18
3.1k
Other Decks in Programming
See All in Programming
ECサイトの脆弱性診断をいい感じにやりたい/OWASPKansaiNight_LT1_220727
owaspkansai
0
290
MLOps勉強会_20220810
strsaito
0
320
リーダブルテストコード / #vstat
jnchito
47
36k
Rに管理されてみる
kazutan
0
250
Windows コンテナ Dojo 第5回 OpenShift で学ぶ Kubernetes 入門
oniak3ibm
PRO
0
170
10歳の minne から、これから長く続くプロダクトを作るすべての人へ
tsumichan
9
3.6k
Better Angular Architectures: Architectures with Standalone Components @DWX2022
manfredsteyer
PRO
1
410
モデルの定義に基づくバリデーションを実現するためのpydantic入門
daikikatsuragawa
0
120
20220706_Google Apps Scriptを実演で学ぶ~ GAS × Slack ~
apachan
2
620
How to Test Your Compose UI (Droidcon Berlin 2022)
stewemetal
1
130
Git操作編
smt7174
2
240
How to start contributing to Kubernetes Projects
ydfu
0
140
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
27
1.6k
GitHub's CSS Performance
jonrohan
1020
420k
GraphQLとの向き合い方2022年版
quramy
16
8.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
349
27k
GraphQLの誤解/rethinking-graphql
sonatard
31
6.8k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
940
Pencils Down: Stop Designing & Start Developing
hursman
113
9.8k
Thoughts on Productivity
jonyablonski
44
2.4k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.3k
Navigating Team Friction
lara
175
11k
The Web Native Designer (August 2011)
paulrobertlloyd
75
2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
Transcript
ࣄͰ044 @a_matsuda
RubyͱRailsͷ։ൃ ͬͯ·͢ w ϑϧλΠϜίϛολʔͱ͔Ͱͳ ͍ͷͰɺ·͊झຯͰ͢ w Ͱຊۀ͕͍Ζ͍Ζͱझຯʹ׆͔ ͤͯΔͷͰɺͦͷΜͷΛ͠· ͢
ۀϓϩάϥϚʔྺ 15͙Β͍
ࣄͰϓϩάϥϛϯά w 7# +BWB /&5 1)1 1FSMͳͲ ͳͲ
ࣄͰͬͨOSS w +BLBSUBͷ͋Ε͜Ε 4USVUT 4QSJOH 4FBTFS w όά͔֬ʹৗతʹ౿ΜͰͨ w υΩϡϝϯτෆͩͬͨ
w ͰࣗͰͳΜͱ͔ͯ͠Ζ͏ͱ͍͏ൃʹ ͳΒͳ͔ͬͨ w ϒϥοΫϘοΫεײ
ͦͯ͠Rails w ͪΐͬͱ͏ͱ͙͢ʹόάʹͿͪͨΔ w ͳΜͩ͜Ε w ࣗͰ͍Ζ͍ΖվળͰ͖Δ༨͕͋Δ w ͳΜͱ͔ͯ͋͛ͨ͘͠ͳͬͪΌ͏Կ͔͕͋Δ w
ҙਤతʹԋग़͞ΕͨܺͰ͋ΔՄೳੑ w Ҏ্ܦͬͯ·ͩ3BJMTͬͯΔ w ઓ͑ΔϑϨʔϜϫʔΫ
Ruby on Railsͱ͍͏ ϓϩμΫτͷڧΈ w పఈͨ͠ݱࢤ w Ͳ͔͜ͷେֶͷݚڀࣨͰϢʔεέʔεΛໝ͠ͳ͕Β࡞ΒΕ ͨͷͰͳ͍ w
ϦΞϧͳݱͰͦͷ··͑Δੜʑ͠͞ w ͱͲ·ΒͣʹมԽ͠ଓ͚Δ͜ͱ w ଞਓͷྗΛआΓͯΞϓϦέʔγϣϯ։ൃΛϒʔετ͢Δ͜ͱ͕ Ͱ͖ΔΤίγεςϜ w 3BJMTϓϥάΠϯɺ3VCZ(FNTɺ#VOEMFS
ΤίγεςϜ(= ଓ͖ײ) w ϑϨʔϜϫʔΫϥΠϒϥϦશ෦ΞϓϦέʔγϣϯͱ ಉ͡ͷͰॻ͔Ε͍ͯΔ w ίʔυಡΈ͚ͨΕಡΊΔ w ͜͜·ͰʮΦʔϓϯιʔεʯͷࣈٛͲ͓Γ w
࡞ͬͯΔਓͨͪͷإ͕ݟ͑Δ w ։ൃʹࢀՃ͚ͨ͠ΕؾܰʹͰ͖Δ w ʮϒϥοΫϘοΫε͡Όͳ͍ײʯ
ଓ͖ײͷݯઘ w 3BJMT͕ੜ࢈ੑͷߴ͞Λ୲อ͢Δߏ w ͦΕΛࢧ͑Δ(JU)VCͱ͍͏ஔ w ݱͷ044ϜʔϒϝϯτΛࢧ͑ΔϓϥοτϑΥʔϜ w 4/4 w
ࣄͰ͑Δ w ͦͷΑΓͲ͜ΖͱͳΔίϛϡχςΟ׆ಈͷ׆ൃ͞ w Ϣʔβʔͱ։ൃऀͷڑײͷۙ͞ w 7.։ൃऀ͕͔ࣗΒెาͷͱ͜ΖʹॅΜͰͨΓ͢Δ
Rails͕ੜ࢈ੑͷߴ͞Λ ୲อ͢Δߏ w 4IPVMEFSTPG(JBOUT
ݱͷϓϩάϥϚʔͷ ͓ࣄ w ͷલͷػೳ্͕खʹ࣮Ͱ͖ΕͦΕͰྑ͍ͱ͍͏࣌Ͱͳ͍ w ݱͷ3BJMTΞϓϦͬͱෳࡶ w ΞϓϦέʔγϣϯʹඞཁͳͷΛશͯࣗલͰ࣮͢Δʁ w ੜ࢈ੑY͡Όͳ͘ͳΔ
w ڊਓͷݞʹ͏·͘Δೳྗ͕ٻΊΒΕ͍ͯΔ w ࣗͰॻ͘ΞϓϦέʔγϣϯͷίʔυණࢁͷઌͬͪΐ w ණࢁͷԼͷ෦·ͰؚΊͨશମΛ͍͔ʹࣗͨͪͰίϯτϩʔϧͰ ͖Δ͔
Q: ʮRailsʹίϯτϦϏϡʔτ͍ͨ͠ʂ Ͳ͏ͬͨΒίϯτϦϏϡʔλʔʹͳΕ·͢ ͔ʁʯ w Ίͯ w ࣄͰΞϓϦΛ։ൃ͢Δ͍ͭͰʹ w ;ͭ͏ʹෆ۩߹Λݟ͚ͭͯ
w ;ͭ͏ʹύονॻ͍ͯ w ϑϨʔϜϫʔΫΞϓϦέʔγϣϯͷԆ w ࣮ݴޠಉ͡ w ͬͯΔಓ۩ಉ͡ (JU)VC
ΞϓϦ։ൃͷ͍ͭͰʹRails ։ൃ͢Ε͍͍͚ͩ
RailsϓϥάΠϯ w ͋ΓͷΛΈ߹ΘͤͯΞϓϦΛ ΈཱͯΔ
ϓϥΪϯ࡞ऀ͕શͯͷϢʔεέʔε Λఆͯ͠Δ͜ͱ͋Γ͑ͳ͍ w Կ͔͠ΒखΛՃ͑ͳ͕Β͏ w खݩͰϞϯΩʔύονʁ w Δ w ΞοϓετϦʔϜʹૹͬͯܰʹͳΔ
ࣄ vs OSS? w 044ΞϓϦέʔγϣϯͷҰ෦ w Ή͠Ζେ෦
ࣄͰOSS͢Δίπ w ϫʔΫ044ؒͷεΠονϯάίετ ΛԼ͛Δ w ͬͯΔϓϩμΫτͷιʔείʔυશͯ खݩʹஔ͍͓ͯ͘ w ίʔυΛݟΔΑΓਓؒΛݟΔ w
ڞଘڞӫΛࢦ͢
ϫʔΫ <=> OSSؒͷ εΠονϯάίετΛԼ͛Δ w 044։ൃͱಉ͡ಓ۩ΛͬͯࣄΛ͢Δ͜ͱ w .BD -JOVY (JU)VC
$* νϟοτ w ৗతʹӳޠͰಡΉɺӳޠͰॻ͘ w ίϛοτίϝϯτ͕ຊޠͱ͔֎ w ۀΞϓϦͩͱͳ͔ͳ͔͍͠
ͬͯΔϓϩμΫτͷιʔε ίʔυશͯखݩʹஔ͍͓ͯ͘ w όάΛ౿ΜͩΒ࣍ͷॠؒύον͕ॻ͚Δ Α͏ʹ w HFNTSD ͍·Ͳ͖ͬͯͳ͍ਓͳΜͯډͳ ͍ͱࢥ͏͚Ͳɺ೦ͷͨΊॻ͍ͱ͖·͢Ͷ
• % git clone https://github.com/amatsuda/ gem-src.git ~/.rbenv/plugins/gem-src
ίʔυΛݟΔΑΓਓΛݟΔ w ଞਓͷॻ͍ͨίʔυΛ৴༻͠ͳ͍ w ͏͚Ͳ৴༻͠ͳ͍ w ৴༻Ͱ͖ΔਓؒͱͰ͖ͳ͍ਓؒΛݟۃΊΔ w ৴༻Ͱ͖ΔίʔυΛॻ͘ਓؒ৴༻Ͱ͖Δਓؒ w
৴༻Ͱ͖Δਓ͕ؒॻ͍ͨίʔυ৴༻Ͱ͖Δίʔ υ
ͳΔ͘༑ୡͷϓϩμΫτ ͔͠Θͳ͍Α͏ʹ͢Δ w 3VCZ$POGͱ͔3BJMT$POGͱ͔ߦ͘ͱɺ͕ࣗΑ͘͏ϓϩμΫ τͷ࡞ऀͱ·͊Λ͠·͢ΑͶʁ w ༑ୡʹͳΓ·͢ΑͶʁ w ॻ͍ͨਓؒͷਓͱͳΓ͕Θ͔Δͱίʔυͷ͋ΔఔΘ͔Δ w
ϓϩμΫτͷΫη͕ಡΈ͘͢ͳΔ w Կ͔͋ͬͨͱ͖ʹ࣭͍͢͠ w ύονΛͶ͡ࠐΈ͍͢ w Βͳ͍ਓ͕ॻ͍ͨHFN͕CVOEMF͞ΕͯΔͱෆ҆
ίϛϡχςΟେࣄ w ΧϯϑΝϨϯεʹߦͬͯ༑ୡΛ࡞Ζ͏ w ίʔυॻ͍ͯΔਓʹ͔͚͠Α͏ w ༧शࡐྉ w ίʔυಡΉ w
ຊਓͳΒΔͼ·ͷΠϯλϏϡʔͱ͔͓͢͢Ί w 3VCZJTU)PUMJOLT w ͪΌΜͱίʔυॻ͍ͯΔਓ ৴༻Ͱ͖Δਓ ͔͠ग़ͯ͜ͳ͍ w ޱઌ͚ͩ͏·͍͜ͱݴͬͯͯશવίʔυࡽͯ͠ͳ͍ܳਓΈ͍ͨͳͷͱ͔ɺίʔυॻ͔ͣ ʹϒϩά͔ͬΓॻ͍ͯΔΑ͏ͳͷͱ͔͕ग़ͯ͜ͳ͍ w ʮษڧձ͡Όͳ͍ʯҬίϛϡχςΟʹإΛग़ͯ͠ΈΔͷ͓͢͢Ί
ίϛϡχςΟͰൃ৴͢Δ ͠͞ w ެ༻ޠӳޠ w ӳޠͰπΠʔτͯ͠ಡΜͰΒ͑ͳ͍ΑͶ w ΧϯϑΝϨϯεߦ͚ྑ͍ͬͯΜ͡Όͳ͍ w ͍͖ͳΓߦͬͯ΅ͬͪ
w ొஃ͢Δͱ͍͏γϣʔτΧοτ͋Δ͚Ͳɺ ߴ
͔ͩΒίʔυΛ ॻ͘ΜͰ͢Αʂ
ίʔυίϛϡχςΟʹ ࢀՃ͢ΔͨΊͷϓϩτίϧ w ͜ΕҎ্ʹ༗ޮͳखஈ ಛʹ͋Γ·ͤΜ
ڞଘڞӫΛࢦ͢ w ։ൃऀɺίϛϡχςΟɺاۀ w ऀʹͱͬͯ044׆ಈ͕Ͳ͏͍͏ ϝϦοτΛͨΒ͔͢ߟ͑ɺߦಈ ͢Δ
։ൃऀɺίϛϡχςΟɺاۀͷ Give & Takeؔ 企業 開発者 コミュニティ
։ൃऀɺίϛϡχςΟɺاۀͷ Give & Takeؔ 企業 開発者 コミュニティ څ༩ ࿑ಇ
։ൃऀɺίϛϡχςΟɺاۀͷ Give & Takeؔ 企業 開発者 コミュニティ څ༩ ࿑ಇ ίʔυ
ίʔυ
։ൃऀɺίϛϡχςΟɺاۀͷ Give & Takeؔ 企業 開発者 コミュニティ څ༩ ࿑ಇ ίʔυ
ίʔυ ? ?
ίϛϡχςΟاۀʹԿΛ ฦͤΔ͔ʁ w ʮʯͷఏڙ w 3VCZ,BJHJͱ͔ w ੜʑ͘͠ݴ͏ͱɺʮਓࡐϓʔϧʯ ͱͯ͠ͷׂɺ͔ͳ͊ʁ
اۀίϛϡχςΟʹԿΛ ฦͤΔ͔ʁ w ͋·Γٞ͞Ε͍ͯͳ͍Ͱʁ w ࣗͷݟղͱͯ͠ɺ ։ൃऀίϛϡχςΟͷϥΠϯͱ ͷଓ͖ײͷԋग़Λ͢ΔͱΑͦ͞ ͏ͳؾ͕͢Δ
ίϛϡχςΟͱاۀͱͷ ଓ͖ײ w ίϛϡχςΟͱͷڑͷ͕ۙͦ͜͞3VCZͷ ָ͠ΈɺڧΈ w اۀͱίϛϡχςΟͷڑ͕ͱͯॏཁ w ࣾʹ3VCZίϛολʔ͕ډΔ w
3VCZ,BJHJʹεϙϯαʔͯ͠Δ w ΧϯϑΝϨϯεࢀՃඅ༻Λग़ͯ͘͠ΕΔ
ͭ·Γۚ ͰղܾͰ͖Δ͜ͱ͕ଟ͍ w 3VCZ3BJMTͷΤίγεςϜʹ͔ͬͬ ͯചΛ͢ΔҎ্ඞཁෆՄܽͳίετ w 044λμͰ͑ΔͷͰɺͦͷͿΜු ͍͓ͨۚΛͦ͏͍ͬͨܗͰ׆༻Ͱ͖Δ
ͨͱ͑RubyKaigiͷ εϙϯαʔγοϓ w ͿͬͪΌ͚తͳεϙϯαʔϝϦοτͳΜͯ ఏڙͯ͠ͳ͍ͱݴ͑Δ w ٻਓࠂଧͭۚͩͱࢥͬͨΒʁ w స৬ΤʔδΣϯτʹࢧ͏͓ۚͩͱࢥͬͨΒʁ w
ͦͷΜ͕Θ͔ͬͯΔܦӦऀ͔Βɺֹ͕ۚ ҆͗͢ΔͱΑ͓ࣤ͘ΓΛ͍͍͍ͨͩͯ·͢
ͦΕ͔Βɺͬͺίʔυ w ίϛϡχςΟ͔ΒίʔυͰڗडͨ͠ԸܙίʔυͰฦ͍ͨ͠ w #BTFDBNQΛ࡞Δ͍ͭͰʹ3BJMTެ։ͪ͠Όͬͨ4JHOBMTࣾ w 0QFO4PVSDF "MNPTU &WFSZUIJOH (JU)VCࣾ
w ΫοΫύουࣾͷ044ϙϦγʔ w ϝϯόʔͷਓਓ͕ίϛϡχςΟͰഓͬͨ৴༻͕׆͖ͯ͘Δ w ྑ͍ίʔυॻ͚ͩ͘͡Όμϝ w ͲΜͳ৫ʹॴଐ͢Δ୭͕ॻ͍ͨίʔυ͔͕ॏཁ w ͏ͱ͖ʹ୭͕ॻ͍ͨίʔυ͔ݟΔͰ͠ΐʁ
ͨͱ͑MFࣾ w ίϛϡχςΟͷࢿ w ͜ͷ͙Β͍Ͱ͍ͩͿίϛϡχςΟͰͷ৴ ༻ͷஷ͕ۚ૿͖͑ͯͨͣ w ʮ͋ͷʯ.'ࣾൃͷϓϥάΠϯ͕ʂͱ͔ͳΔɺ ͔͠Εͳ͍ w
ΈΜͳͬͯ͘ΕΔɺ͔
։ൃऀɺίϛϡχςΟɺ اۀͷྑ͍ؔ w 044։ൃʹ͓͔͔ۚΔɻίϛϡχςΟ׆ಈʹ͓ۚ ͕ඞཁ w ։ൃऀίϛϡχςΟʹܨ͕Βͳ͍ͱઓ͑ͳ͍ w ଞਓͷྗΛ͏·͑͘ͳ͍։ൃऀਓྗ͔͠ग़ͤͳ͍ w
اۀ͕ίϛϡχςΟʹରͯ͠Կ͕Ͱ͖Δ͔ʁԿΛͯ͘͠ ΕΔͷ͔ʁ w զʑ։ൃऀͦ͜Λݫ͍͠Ͱ͔ͬ͠ΓධՁ͍ͨ͠
·ͱΊ w Βͷࣄ044ͱ͖߹͏͜ͱ w 044ίϛϡχςΟͷ׆ಈͷ࢈ w ։ൃऀίϛϡχςΟίʔυΛॻ͘ ਓؒͷू·Γ w ίʔυॻ͜͏ͥ