Work and OSS

Work and OSS

MoneyForward Meetup Vol. 6の発表資料 http://moneyforward.connpass.com/event/42287/

76a777ff80f30bd3b390e275cce625bc?s=128

Akira Matsuda

October 26, 2016
Tweet

Transcript

  1. ࢓ࣄͰ044 @a_matsuda

  2. RubyͱRailsͷ։ൃ
 ΍ͬͯ·͢ w ϑϧλΠϜίϛολʔͱ͔Ͱ͸ͳ ͍ͷͰɺ·͊झຯͰ͢ w Ͱ΋ຊۀ͕͍Ζ͍Ζͱझຯʹ׆͔ ͤͯΔͷͰɺͦͷ΁Μͷ࿩Λ͠· ͢

  3. ۀ຿ϓϩάϥϚʔྺ͸
 15೥͙Β͍

  4. ࢓ࣄͰϓϩάϥϛϯά w 7# +BWB /&5 1)1 1FSMͳͲ ͳͲ

  5. ࢓ࣄͰ࢖ͬͨOSS w +BLBSUBͷ͋Ε͜Ε 4USVUT 4QSJOH 4FBTFS w όά͸͔֬ʹ೔ৗతʹ౿ΜͰͨ w υΩϡϝϯτ΋ෆ਌੾ͩͬͨ

    w Ͱ΋ࣗ෼ͰͳΜͱ͔ͯ͠΍Ζ͏ͱ͍͏ൃ૝ʹ͸ ͳΒͳ͔ͬͨ w ϒϥοΫϘοΫεײ
  6. ͦͯ͠Rails΁ w ͪΐͬͱ࢖͏ͱ͙͢ʹόάʹͿͪ౰ͨΔ w ͳΜͩ͜Ε w ࣗ෼Ͱ΋͍Ζ͍ΖվળͰ͖Δ༨஍͕͋Δ w ͳΜͱ͔ͯ͋͛ͨ͘͠ͳͬͪΌ͏Կ͔͕͋Δ w

    ҙਤతʹԋग़͞ΕͨܺͰ͋ΔՄೳੑ  w ೥Ҏ্ܦͬͯ΋·ͩ3BJMT΍ͬͯΔ w ೥ઓ͑ΔϑϨʔϜϫʔΫ
  7. Ruby on Railsͱ͍͏
 ϓϩμΫτͷڧΈ w పఈͨ͠ݱ৔ࢤ޲ w Ͳ͔͜ͷେֶͷݚڀࣨͰϢʔεέʔεΛໝ૝͠ͳ͕Β࡞ΒΕ ͨ΋ͷͰ͸ͳ͍ w

    ϦΞϧͳݱ৔Ͱͦͷ··࢖͑Δੜʑ͠͞ w ͱͲ·ΒͣʹมԽ͠ଓ͚Δ͜ͱ w ଞਓͷྗΛआΓͯΞϓϦέʔγϣϯ։ൃΛϒʔετ͢Δ͜ͱ͕ Ͱ͖ΔΤίγεςϜ w 3BJMTϓϥάΠϯɺ3VCZ(FNTɺ#VOEMFS
  8. ΤίγεςϜ(= ஍ଓ͖ײ) w ϑϨʔϜϫʔΫ΋ϥΠϒϥϦ΋શ෦ΞϓϦέʔγϣϯͱ ಉ͡΋ͷͰॻ͔Ε͍ͯΔ w ίʔυಡΈ͚ͨΕ͹ಡΊΔ w ͜͜·Ͱ͸ʮΦʔϓϯιʔεʯͷࣈٛͲ͓Γ w

    ࡞ͬͯΔਓͨͪͷإ͕ݟ͑Δ w ։ൃʹࢀՃ͚ͨ͠Ε͹ؾܰʹͰ͖Δ w ʮϒϥοΫϘοΫε͡Όͳ͍ײʯ
  9. ஍ଓ͖ײͷݯઘ w 3BJMT͕ੜ࢈ੑͷߴ͞Λ୲อ͢Δߏ଄ w ͦΕΛࢧ͑Δ(JU)VCͱ͍͏૷ஔ w ݱ୅ͷ044ϜʔϒϝϯτΛࢧ͑ΔϓϥοτϑΥʔϜ w 4/4 w

    ࢓ࣄͰ΋࢖͑Δ w ͦͷΑΓͲ͜ΖͱͳΔίϛϡχςΟ׆ಈͷ׆ൃ͞ w Ϣʔβʔͱ։ൃऀͷڑ཭ײͷۙ͞ w 7.։ൃऀ͕ࣗ୐͔Βెา෼ͷͱ͜ΖʹॅΜͰͨΓ͢Δ
  10. Rails͕ੜ࢈ੑͷߴ͞Λ
 ୲อ͢Δߏ଄ w 4IPVMEFSTPG(JBOUT

  11. ݱ୅ͷϓϩάϥϚʔͷ
 ͓࢓ࣄ w ໨ͷલͷػೳ্͕खʹ࣮૷Ͱ͖Ε͹ͦΕͰྑ͍ͱ͍͏࣌୅Ͱ͸ͳ͍ w ݱ୅ͷ3BJMTΞϓϦ͸΋ͬͱෳࡶ w ΞϓϦέʔγϣϯʹඞཁͳ΋ͷΛશͯࣗલͰ࣮૷͢Δʁ w ੜ࢈ੑY͡Όͳ͘ͳΔ

    w ڊਓͷݞʹ͏·͘৐Δೳྗ͕ٻΊΒΕ͍ͯΔ w ࣗ෼Ͱॻ͘ΞϓϦέʔγϣϯͷίʔυ͸ණࢁͷઌͬͪΐ w ණࢁͷԼͷ෦෼·ͰؚΊͨશମΛ͍͔ʹࣗ෼ͨͪͰίϯτϩʔϧͰ ͖Δ͔
  12. Q: ʮRailsʹίϯτϦϏϡʔτ͍ͨ͠ʂ
 Ͳ͏΍ͬͨΒίϯτϦϏϡʔλʔʹͳΕ·͢ ͔ʁʯ w ΍Ίͯ w ࢓ࣄͰΞϓϦΛ։ൃ͢Δ͍ͭͰʹ w ;ͭ͏ʹෆ۩߹Λݟ͚ͭͯ

    w ;ͭ͏ʹύονॻ͍ͯ w ϑϨʔϜϫʔΫ͸ΞϓϦέʔγϣϯͷԆ௕ w ࣮૷ݴޠ΋ಉ͡ w ࢖ͬͯΔಓ۩΋ಉ͡ (JU)VC
  13. ΞϓϦ։ൃͷ͍ͭͰʹRails΋ ։ൃ͢Ε͹͍͍͚ͩ

  14. RailsϓϥάΠϯ w ͋Γ΋ͷΛ૊Έ߹ΘͤͯΞϓϦΛ ૊ΈཱͯΔ

  15. ϓϥΪϯ࡞ऀ͕શͯͷϢʔεέʔε
 Λ૝ఆͯ͠Δ͜ͱ͸͋Γ͑ͳ͍ w Կ͔͠ΒखΛՃ͑ͳ͕Β࢖͏ w खݩͰϞϯΩʔύονʁ w ෗Δ w ΞοϓετϦʔϜʹૹͬͯ਎ܰʹͳΔ

  16. ࢓ࣄ vs OSS? w 044͸ΞϓϦέʔγϣϯͷҰ෦ w Ή͠Ζେ෦෼

  17. ࢓ࣄͰOSS͢Δίπ w ϫʔΫ044ؒͷεΠονϯάίετ ΛԼ͛Δ w ࢖ͬͯΔϓϩμΫτͷιʔείʔυ͸શͯ खݩʹஔ͍͓ͯ͘ w ίʔυΛݟΔΑΓਓؒΛݟΔ w

    ڞଘڞӫΛ໨ࢦ͢
  18. ϫʔΫ <=> OSSؒͷ
 εΠονϯάίετΛԼ͛Δ w 044։ൃͱಉ͡ಓ۩Λ࢖ͬͯ࢓ࣄΛ͢Δ͜ͱ w .BD -JOVY (JU)VC

    $* νϟοτ w ೔ৗతʹӳޠͰಡΉɺӳޠͰॻ͘ w ίϛοτίϝϯτ͕೔ຊޠͱ͔࿦֎ w ۀ຿ΞϓϦͩͱͳ͔ͳ͔೉͍͠
  19. ࢖ͬͯΔϓϩμΫτͷιʔε ίʔυ͸શͯखݩʹஔ͍͓ͯ͘ w όάΛ౿ΜͩΒ࣍ͷॠؒύον͕ॻ͚Δ
 Α͏ʹ w HFNTSD ͍·Ͳ͖࢖ͬͯͳ͍ਓͳΜͯډͳ ͍ͱࢥ͏͚Ͳɺ೦ͷͨΊॻ͍ͱ͖·͢Ͷ 

    • % git clone https://github.com/amatsuda/ gem-src.git ~/.rbenv/plugins/gem-src
  20. ίʔυΛݟΔΑΓਓΛݟΔ w ଞਓͷॻ͍ͨίʔυΛ৴༻͠ͳ͍ w ࢖͏͚Ͳ৴༻͸͠ͳ͍ w ৴༻Ͱ͖ΔਓؒͱͰ͖ͳ͍ਓؒΛݟۃΊΔ w ৴༻Ͱ͖ΔίʔυΛॻ͘ਓؒ͸৴༻Ͱ͖Δਓؒ w

    ৴༻Ͱ͖Δਓ͕ؒॻ͍ͨίʔυ͸৴༻Ͱ͖Δίʔ υ
  21. ͳΔ΂͘༑ୡͷϓϩμΫτ ͔͠࢖Θͳ͍Α͏ʹ͢Δ w 3VCZ$POGͱ͔3BJMT$POGͱ͔ߦ͘ͱɺࣗ෼͕Α͘࢖͏ϓϩμΫ τͷ࡞ऀͱ͸·͊࿩Λ͠·͢ΑͶʁ w ༑ୡʹͳΓ·͢ΑͶʁ w ॻ͍ͨਓؒͷਓͱͳΓ͕Θ͔Δͱίʔυͷ܏޲΋͋Δఔ౓Θ͔Δ w

    ϓϩμΫτͷΫη͕ಡΈ΍͘͢ͳΔ w Կ͔͋ͬͨͱ͖ʹ࣭໰͠΍͍͢ w ύονΛͶ͡ࠐΈ΍͍͢ w ஌Βͳ͍ਓ͕ॻ͍ͨHFN͕CVOEMF͞ΕͯΔͱෆ҆
  22. ίϛϡχςΟେࣄ w ΧϯϑΝϨϯεʹߦͬͯ༑ୡΛ࡞Ζ͏ w ίʔυॻ͍ͯΔਓʹ࿩͔͚͠Α͏ w ༧शࡐྉ w ίʔυಡΉ w

    ೔ຊਓͳΒΔͼ·ͷΠϯλϏϡʔͱ͔͓͢͢Ί w 3VCZJTU)PUMJOLT w ͪΌΜͱίʔυॻ͍ͯΔਓ ৴༻Ͱ͖Δਓ ͔͠ग़ͯ͜ͳ͍ w ޱઌ͚ͩ͏·͍͜ͱݴͬͯͯશવίʔυࡽͯ͠ͳ͍ܳਓΈ͍ͨͳͷͱ͔ɺίʔυॻ͔ͣ ʹϒϩά͹͔ͬΓॻ͍ͯΔΑ͏ͳͷͱ͔͕ग़ͯ͜ͳ͍ w ʮษڧձ͡Όͳ͍ʯ஍ҬίϛϡχςΟʹإΛग़ͯ͠ΈΔͷ΋͓͢͢Ί
  23. ίϛϡχςΟͰൃ৴͢Δ
 ೉͠͞ w ެ༻ޠ͸ӳޠ w ӳޠͰπΠʔτͯ͠΋ಡΜͰ΋Β͑ͳ͍ΑͶ w ΧϯϑΝϨϯεߦ͚͹ྑ͍ͬͯ΋Μ͡Όͳ͍ w ͍͖ͳΓߦͬͯ΋΅ͬͪ

    w ొஃ͢Δͱ͍͏γϣʔτΧοτ΋͋Δ͚Ͳɺ΍ ΍ߴ೉౓
  24. ͔ͩΒίʔυΛ
 ॻ͘ΜͰ͢Αʂ

  25. ίʔυ͸ίϛϡχςΟʹ
 ࢀՃ͢ΔͨΊͷϓϩτίϧ w ͜ΕҎ্ʹ༗ޮͳखஈ͸
 ಛʹ͋Γ·ͤΜ

  26. ڞଘڞӫΛ໨ࢦ͢ w ։ൃऀɺίϛϡχςΟɺاۀ w ऀʹͱͬͯ044׆ಈ͕Ͳ͏͍͏ ϝϦοτΛ΋ͨΒ͔͢ߟ͑ɺߦಈ ͢Δ

  27. ։ൃऀɺίϛϡχςΟɺاۀͷ
 Give & Takeؔ܎ 企業 開発者 コミュニティ

  28. ։ൃऀɺίϛϡχςΟɺاۀͷ
 Give & Takeؔ܎ 企業 開発者 コミュニティ څ༩ ࿑ಇ

  29. ։ൃऀɺίϛϡχςΟɺاۀͷ
 Give & Takeؔ܎ 企業 開発者 コミュニティ څ༩ ࿑ಇ ίʔυ

    ίʔυ
  30. ։ൃऀɺίϛϡχςΟɺاۀͷ
 Give & Takeؔ܎ 企業 開発者 コミュニティ څ༩ ࿑ಇ ίʔυ

    ίʔυ ? ?
  31. ίϛϡχςΟ͸اۀʹԿΛ ฦͤΔ͔ʁ w ʮ৔ʯͷఏڙ w 3VCZ,BJHJͱ͔ w ੜʑ͘͠ݴ͏ͱɺʮਓࡐϓʔϧʯ ͱͯ͠ͷ໾ׂɺ͔ͳ͊ʁ

  32. اۀ͸ίϛϡχςΟʹԿΛ ฦͤΔ͔ʁ w ͋·Γٞ࿦͞Ε͍ͯͳ͍෼໺Ͱ͸ʁ w ࣗ෼ͷݟղͱͯ͠͸ɺ
 ։ൃऀίϛϡχςΟͷϥΠϯͱ ͷ஍ଓ͖ײͷԋग़Λ͢ΔͱΑͦ͞ ͏ͳؾ͕͢Δ

  33. ίϛϡχςΟͱاۀͱͷ
 ஍ଓ͖ײ w ίϛϡχςΟͱͷڑ཭ͷ͕ۙͦ͜͞3VCZͷ
 ָ͠ΈɺڧΈ w اۀͱίϛϡχςΟͷڑ཭͕ͱͯ΋ॏཁ w ࣾ಺ʹ3VCZίϛολʔ͕ډΔ w

    3VCZ,BJHJʹεϙϯαʔͯ͠Δ w ΧϯϑΝϨϯεࢀՃඅ༻Λग़ͯ͘͠ΕΔ
  34. ͭ·Γۚ ͰղܾͰ͖Δ͜ͱ͕ଟ͍ w 3VCZ3BJMTͷΤίγεςϜʹ৐͔ͬͬ ͯ঎ചΛ͢ΔҎ্ඞཁෆՄܽͳίετ w 044͸λμͰ࢖͑ΔͷͰɺͦͷͿΜු ͍͓ͨۚΛͦ͏͍ͬͨܗͰ׆༻Ͱ͖Δ

  35. ͨͱ͑͹RubyKaigiͷ
 εϙϯαʔγοϓ w ͿͬͪΌ͚௚઀తͳεϙϯαʔϝϦοτͳΜͯ ఏڙͯ͠ͳ͍ͱ΋ݴ͑Δ w ٻਓ޿ࠂଧͭۚͩͱࢥͬͨΒʁ w స৬ΤʔδΣϯτʹࢧ෷͏͓ۚͩͱࢥͬͨΒʁ w

    ͦͷ΁Μ͕Θ͔ͬͯΔܦӦऀ͔Β͸ɺֹ͕ۚ ҆͗͢ΔͱΑ͓ࣤ͘ΓΛ͍͍͍ͨͩͯ·͢
  36. ͦΕ͔Βɺ΍ͬͺίʔυ w ίϛϡχςΟ͔ΒίʔυͰڗडͨ͠Ըܙ͸ίʔυͰฦ͍ͨ͠ w #BTFDBNQΛ࡞Δ͍ͭͰʹ3BJMTެ։ͪ͠Όͬͨ4JHOBMTࣾ w 0QFO4PVSDF "MNPTU &WFSZUIJOH (JU)VCࣾ

     w ΫοΫύουࣾͷ044ϙϦγʔ w ϝϯόʔͷਓਓ͕ίϛϡχςΟͰഓͬͨ৴༻͕׆͖ͯ͘Δ w ྑ͍ίʔυॻ͚ͩ͘͡Όμϝ w ͲΜͳ૊৫ʹॴଐ͢Δ୭͕ॻ͍ͨίʔυ͔͕ॏཁ w ࢖͏ͱ͖ʹ΋୭͕ॻ͍ͨίʔυ͔ݟΔͰ͠ΐʁ
  37. ͨͱ͑͹MFࣾ w ίϛϡχςΟ΁ͷ౤ࢿ w ͜ͷ೥͙Β͍Ͱ͍ͩͿίϛϡχςΟ಺Ͱͷ৴ ༻ͷஷ͕ۚ૿͖͑ͯͨ͸ͣ w ʮ͋ͷʯ.'ࣾൃͷϓϥάΠϯ͕ʂͱ͔ͳΔɺ
 ͔΋͠Εͳ͍ w

    ΈΜͳ࢖ͬͯ͘ΕΔɺ͔΋
  38. ։ൃऀɺίϛϡχςΟɺ
 اۀͷྑ͍ؔ܎ w 044։ൃʹ΋͓ۚ͸͔͔ΔɻίϛϡχςΟ׆ಈʹ΋͓ۚ ͕ඞཁ w ։ൃऀ͸ίϛϡχςΟʹܨ͕Βͳ͍ͱઓ͑ͳ͍ w ଞਓͷྗΛ͏·͘࢖͑ͳ͍։ൃऀ͸ਓྗ͔͠ग़ͤͳ͍ w

    اۀ͕ίϛϡχςΟʹରͯ͠Կ͕Ͱ͖Δ͔ʁԿΛͯ͘͠ ΕΔͷ͔ʁ w զʑ։ൃऀ͸ͦ͜Λݫ͍͠໨Ͱ͔ͬ͠ΓධՁ͍ͨ͠
  39. ·ͱΊ w ๻Βͷ࢓ࣄ͸044ͱ޲͖߹͏͜ͱ w 044͸ίϛϡχςΟͷ׆ಈͷ࢈෺ w ։ൃऀίϛϡχςΟ͸ίʔυΛॻ͘ ਓؒͷू·Γ w ίʔυॻ͜͏ͥ