Slide 1

Slide 1 text

࢓ࣄͰ044 @a_matsuda

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

࢓ࣄͰ࢖ͬͨOSS w +BLBSUBͷ͋Ε͜Ε 4USVUT 4QSJOH 4FBTFS w όά͸͔֬ʹ೔ৗతʹ౿ΜͰͨ w υΩϡϝϯτ΋ෆ਌੾ͩͬͨ w Ͱ΋ࣗ෼ͰͳΜͱ͔ͯ͠΍Ζ͏ͱ͍͏ൃ૝ʹ͸ ͳΒͳ͔ͬͨ w ϒϥοΫϘοΫεײ

Slide 6

Slide 6 text

ͦͯ͠Rails΁ w ͪΐͬͱ࢖͏ͱ͙͢ʹόάʹͿͪ౰ͨΔ w ͳΜͩ͜Ε w ࣗ෼Ͱ΋͍Ζ͍ΖվળͰ͖Δ༨஍͕͋Δ w ͳΜͱ͔ͯ͋͛ͨ͘͠ͳͬͪΌ͏Կ͔͕͋Δ w ҙਤతʹԋग़͞ΕͨܺͰ͋ΔՄೳੑ  w ೥Ҏ্ܦͬͯ΋·ͩ3BJMT΍ͬͯΔ w ೥ઓ͑ΔϑϨʔϜϫʔΫ

Slide 7

Slide 7 text

Ruby on Railsͱ͍͏
 ϓϩμΫτͷڧΈ w పఈͨ͠ݱ৔ࢤ޲ w Ͳ͔͜ͷେֶͷݚڀࣨͰϢʔεέʔεΛໝ૝͠ͳ͕Β࡞ΒΕ ͨ΋ͷͰ͸ͳ͍ w ϦΞϧͳݱ৔Ͱͦͷ··࢖͑Δੜʑ͠͞ w ͱͲ·ΒͣʹมԽ͠ଓ͚Δ͜ͱ w ଞਓͷྗΛआΓͯΞϓϦέʔγϣϯ։ൃΛϒʔετ͢Δ͜ͱ͕ Ͱ͖ΔΤίγεςϜ w 3BJMTϓϥάΠϯɺ3VCZ(FNTɺ#VOEMFS

Slide 8

Slide 8 text

ΤίγεςϜ(= ஍ଓ͖ײ) w ϑϨʔϜϫʔΫ΋ϥΠϒϥϦ΋શ෦ΞϓϦέʔγϣϯͱ ಉ͡΋ͷͰॻ͔Ε͍ͯΔ w ίʔυಡΈ͚ͨΕ͹ಡΊΔ w ͜͜·Ͱ͸ʮΦʔϓϯιʔεʯͷࣈٛͲ͓Γ w ࡞ͬͯΔਓͨͪͷإ͕ݟ͑Δ w ։ൃʹࢀՃ͚ͨ͠Ε͹ؾܰʹͰ͖Δ w ʮϒϥοΫϘοΫε͡Όͳ͍ײʯ

Slide 9

Slide 9 text

஍ଓ͖ײͷݯઘ w 3BJMT͕ੜ࢈ੑͷߴ͞Λ୲อ͢Δߏ଄ w ͦΕΛࢧ͑Δ(JU)VCͱ͍͏૷ஔ w ݱ୅ͷ044ϜʔϒϝϯτΛࢧ͑ΔϓϥοτϑΥʔϜ w 4/4 w ࢓ࣄͰ΋࢖͑Δ w ͦͷΑΓͲ͜ΖͱͳΔίϛϡχςΟ׆ಈͷ׆ൃ͞ w Ϣʔβʔͱ։ൃऀͷڑ཭ײͷۙ͞ w 7.։ൃऀ͕ࣗ୐͔Βెา෼ͷͱ͜ΖʹॅΜͰͨΓ͢Δ

Slide 10

Slide 10 text

Rails͕ੜ࢈ੑͷߴ͞Λ
 ୲อ͢Δߏ଄ w 4IPVMEFSTPG(JBOUT

Slide 11

Slide 11 text

ݱ୅ͷϓϩάϥϚʔͷ
 ͓࢓ࣄ w ໨ͷલͷػೳ্͕खʹ࣮૷Ͱ͖Ε͹ͦΕͰྑ͍ͱ͍͏࣌୅Ͱ͸ͳ͍ w ݱ୅ͷ3BJMTΞϓϦ͸΋ͬͱෳࡶ w ΞϓϦέʔγϣϯʹඞཁͳ΋ͷΛશͯࣗલͰ࣮૷͢Δʁ w ੜ࢈ੑY͡Όͳ͘ͳΔ w ڊਓͷݞʹ͏·͘৐Δೳྗ͕ٻΊΒΕ͍ͯΔ w ࣗ෼Ͱॻ͘ΞϓϦέʔγϣϯͷίʔυ͸ණࢁͷઌͬͪΐ w ණࢁͷԼͷ෦෼·ͰؚΊͨશମΛ͍͔ʹࣗ෼ͨͪͰίϯτϩʔϧͰ ͖Δ͔

Slide 12

Slide 12 text

Q: ʮRailsʹίϯτϦϏϡʔτ͍ͨ͠ʂ
 Ͳ͏΍ͬͨΒίϯτϦϏϡʔλʔʹͳΕ·͢ ͔ʁʯ w ΍Ίͯ w ࢓ࣄͰΞϓϦΛ։ൃ͢Δ͍ͭͰʹ w ;ͭ͏ʹෆ۩߹Λݟ͚ͭͯ w ;ͭ͏ʹύονॻ͍ͯ w ϑϨʔϜϫʔΫ͸ΞϓϦέʔγϣϯͷԆ௕ w ࣮૷ݴޠ΋ಉ͡ w ࢖ͬͯΔಓ۩΋ಉ͡ (JU)VC

Slide 13

Slide 13 text

ΞϓϦ։ൃͷ͍ͭͰʹRails΋ ։ൃ͢Ε͹͍͍͚ͩ

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

ϫʔΫ <=> OSSؒͷ
 εΠονϯάίετΛԼ͛Δ w 044։ൃͱಉ͡ಓ۩Λ࢖ͬͯ࢓ࣄΛ͢Δ͜ͱ w .BD -JOVY (JU)VC $* νϟοτ w ೔ৗతʹӳޠͰಡΉɺӳޠͰॻ͘ w ίϛοτίϝϯτ͕೔ຊޠͱ͔࿦֎ w ۀ຿ΞϓϦͩͱͳ͔ͳ͔೉͍͠

Slide 19

Slide 19 text

࢖ͬͯΔϓϩμΫτͷιʔε ίʔυ͸શͯखݩʹஔ͍͓ͯ͘ w όάΛ౿ΜͩΒ࣍ͷॠؒύον͕ॻ͚Δ
 Α͏ʹ w HFNTSD ͍·Ͳ͖࢖ͬͯͳ͍ਓͳΜͯډͳ ͍ͱࢥ͏͚Ͳɺ೦ͷͨΊॻ͍ͱ͖·͢Ͷ  • % git clone https://github.com/amatsuda/ gem-src.git ~/.rbenv/plugins/gem-src

Slide 20

Slide 20 text

ίʔυΛݟΔΑΓਓΛݟΔ w ଞਓͷॻ͍ͨίʔυΛ৴༻͠ͳ͍ w ࢖͏͚Ͳ৴༻͸͠ͳ͍ w ৴༻Ͱ͖ΔਓؒͱͰ͖ͳ͍ਓؒΛݟۃΊΔ w ৴༻Ͱ͖ΔίʔυΛॻ͘ਓؒ͸৴༻Ͱ͖Δਓؒ w ৴༻Ͱ͖Δਓ͕ؒॻ͍ͨίʔυ͸৴༻Ͱ͖Δίʔ υ

Slide 21

Slide 21 text

ͳΔ΂͘༑ୡͷϓϩμΫτ ͔͠࢖Θͳ͍Α͏ʹ͢Δ w 3VCZ$POGͱ͔3BJMT$POGͱ͔ߦ͘ͱɺࣗ෼͕Α͘࢖͏ϓϩμΫ τͷ࡞ऀͱ͸·͊࿩Λ͠·͢ΑͶʁ w ༑ୡʹͳΓ·͢ΑͶʁ w ॻ͍ͨਓؒͷਓͱͳΓ͕Θ͔Δͱίʔυͷ܏޲΋͋Δఔ౓Θ͔Δ w ϓϩμΫτͷΫη͕ಡΈ΍͘͢ͳΔ w Կ͔͋ͬͨͱ͖ʹ࣭໰͠΍͍͢ w ύονΛͶ͡ࠐΈ΍͍͢ w ஌Βͳ͍ਓ͕ॻ͍ͨHFN͕CVOEMF͞ΕͯΔͱෆ҆

Slide 22

Slide 22 text

ίϛϡχςΟେࣄ w ΧϯϑΝϨϯεʹߦͬͯ༑ୡΛ࡞Ζ͏ w ίʔυॻ͍ͯΔਓʹ࿩͔͚͠Α͏ w ༧शࡐྉ w ίʔυಡΉ w ೔ຊਓͳΒΔͼ·ͷΠϯλϏϡʔͱ͔͓͢͢Ί w 3VCZJTU)PUMJOLT w ͪΌΜͱίʔυॻ͍ͯΔਓ ৴༻Ͱ͖Δਓ ͔͠ग़ͯ͜ͳ͍ w ޱઌ͚ͩ͏·͍͜ͱݴͬͯͯશવίʔυࡽͯ͠ͳ͍ܳਓΈ͍ͨͳͷͱ͔ɺίʔυॻ͔ͣ ʹϒϩά͹͔ͬΓॻ͍ͯΔΑ͏ͳͷͱ͔͕ग़ͯ͜ͳ͍ w ʮษڧձ͡Όͳ͍ʯ஍ҬίϛϡχςΟʹإΛग़ͯ͠ΈΔͷ΋͓͢͢Ί

Slide 23

Slide 23 text

ίϛϡχςΟͰൃ৴͢Δ
 ೉͠͞ w ެ༻ޠ͸ӳޠ w ӳޠͰπΠʔτͯ͠΋ಡΜͰ΋Β͑ͳ͍ΑͶ w ΧϯϑΝϨϯεߦ͚͹ྑ͍ͬͯ΋Μ͡Όͳ͍ w ͍͖ͳΓߦͬͯ΋΅ͬͪ w ొஃ͢Δͱ͍͏γϣʔτΧοτ΋͋Δ͚Ͳɺ΍ ΍ߴ೉౓

Slide 24

Slide 24 text

͔ͩΒίʔυΛ
 ॻ͘ΜͰ͢Αʂ

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

ίϛϡχςΟͱاۀͱͷ
 ஍ଓ͖ײ w ίϛϡχςΟͱͷڑ཭ͷ͕ۙͦ͜͞3VCZͷ
 ָ͠ΈɺڧΈ w اۀͱίϛϡχςΟͷڑ཭͕ͱͯ΋ॏཁ w ࣾ಺ʹ3VCZίϛολʔ͕ډΔ w 3VCZ,BJHJʹεϙϯαʔͯ͠Δ w ΧϯϑΝϨϯεࢀՃඅ༻Λग़ͯ͘͠ΕΔ

Slide 34

Slide 34 text

ͭ·Γۚ ͰղܾͰ͖Δ͜ͱ͕ଟ͍ w 3VCZ3BJMTͷΤίγεςϜʹ৐͔ͬͬ ͯ঎ചΛ͢ΔҎ্ඞཁෆՄܽͳίετ w 044͸λμͰ࢖͑ΔͷͰɺͦͷͿΜු ͍͓ͨۚΛͦ͏͍ͬͨܗͰ׆༻Ͱ͖Δ

Slide 35

Slide 35 text

ͨͱ͑͹RubyKaigiͷ
 εϙϯαʔγοϓ w ͿͬͪΌ͚௚઀తͳεϙϯαʔϝϦοτͳΜͯ ఏڙͯ͠ͳ͍ͱ΋ݴ͑Δ w ٻਓ޿ࠂଧͭۚͩͱࢥͬͨΒʁ w స৬ΤʔδΣϯτʹࢧ෷͏͓ۚͩͱࢥͬͨΒʁ w ͦͷ΁Μ͕Θ͔ͬͯΔܦӦऀ͔Β͸ɺֹ͕ۚ ҆͗͢ΔͱΑ͓ࣤ͘ΓΛ͍͍͍ͨͩͯ·͢

Slide 36

Slide 36 text

ͦΕ͔Βɺ΍ͬͺίʔυ w ίϛϡχςΟ͔ΒίʔυͰڗडͨ͠Ըܙ͸ίʔυͰฦ͍ͨ͠ w #BTFDBNQΛ࡞Δ͍ͭͰʹ3BJMTެ։ͪ͠Όͬͨ4JHOBMTࣾ w 0QFO4PVSDF "MNPTU &WFSZUIJOH (JU)VCࣾ  w ΫοΫύουࣾͷ044ϙϦγʔ w ϝϯόʔͷਓਓ͕ίϛϡχςΟͰഓͬͨ৴༻͕׆͖ͯ͘Δ w ྑ͍ίʔυॻ͚ͩ͘͡Όμϝ w ͲΜͳ૊৫ʹॴଐ͢Δ୭͕ॻ͍ͨίʔυ͔͕ॏཁ w ࢖͏ͱ͖ʹ΋୭͕ॻ͍ͨίʔυ͔ݟΔͰ͠ΐʁ

Slide 37

Slide 37 text

ͨͱ͑͹MFࣾ w ίϛϡχςΟ΁ͷ౤ࢿ w ͜ͷ೥͙Β͍Ͱ͍ͩͿίϛϡχςΟ಺Ͱͷ৴ ༻ͷஷ͕ۚ૿͖͑ͯͨ͸ͣ w ʮ͋ͷʯ.'ࣾൃͷϓϥάΠϯ͕ʂͱ͔ͳΔɺ
 ͔΋͠Εͳ͍ w ΈΜͳ࢖ͬͯ͘ΕΔɺ͔΋

Slide 38

Slide 38 text

։ൃऀɺίϛϡχςΟɺ
 اۀͷྑ͍ؔ܎ w 044։ൃʹ΋͓ۚ͸͔͔ΔɻίϛϡχςΟ׆ಈʹ΋͓ۚ ͕ඞཁ w ։ൃऀ͸ίϛϡχςΟʹܨ͕Βͳ͍ͱઓ͑ͳ͍ w ଞਓͷྗΛ͏·͘࢖͑ͳ͍։ൃऀ͸ਓྗ͔͠ग़ͤͳ͍ w اۀ͕ίϛϡχςΟʹରͯ͠Կ͕Ͱ͖Δ͔ʁԿΛͯ͘͠ ΕΔͷ͔ʁ w զʑ։ൃऀ͸ͦ͜Λݫ͍͠໨Ͱ͔ͬ͠ΓධՁ͍ͨ͠

Slide 39

Slide 39 text

·ͱΊ w ๻Βͷ࢓ࣄ͸044ͱ޲͖߹͏͜ͱ w 044͸ίϛϡχςΟͷ׆ಈͷ࢈෺ w ։ൃऀίϛϡχςΟ͸ίʔυΛॻ͘ ਓؒͷू·Γ w ίʔυॻ͜͏ͥ