Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Social Codingの世界

Social Codingの世界

デブサミ2012の講演スライド, 2012/2/17 http://seshop.com/se/timetable/21
http://togetter.com/li/258035

76a777ff80f30bd3b390e275cce625bc?s=128

Akira Matsuda

February 17, 2012
Tweet

Transcript

  1. ιʔγϟϧίʔσΟϯά ͷੈք দాɹ໌

  2. You’re probably wondering why I’m here, and so am I,

    so am I ...
  3. -10th Special - ʮιʔγϟϧίʔσΟϯάͷ͓୊Ͱʯ

  4. ࠓ೔࿩͢͜ͱ ★ ʮΞδϟΠϧ։ൃʯͰ ʮίϯϐϡʔλݴޠʯͰ ʮΤϯδχΞͷεΩϧʯͰ ʮιʔγϟϧίʔσΟϯάʯͳ εϖγϟϧͳΑ΋΍·࿩ ★ Φνͱ͔݁࿦ͱ͔ͳ͍Ͱ͢

  5. self ★ name: দా ໌ ★ twitter: a_matsuda ★ github:

    amatsuda
  6. None
  7. ͓͠Βͤ ͋ͷɺ

  8. ͓͠Βͤ ʮΞδϟΠϧϚχϑΣετʯͰʮୡਓϓϩά ϥϚʔʯͷDave Thomas͕Asakusa.rbʹʂ

  9. Asakusa.rb http://asakusa.rubyist.net/

  10. ຊ೔ͷ͓୊ ★ ʮΞδϟΠϧ։ൃʯ ★ ʮίϯϐϡʔλݴޠʯ ★ ʮΤϯδχΞͷεΩϧʯ ★ ʮιʔγϟϧίʔσΟϯάʯ

  11. menu ★ ιʔγϟϧίʔσΟϯάͬͯԿʁ ★ ͳͥιʔγϟϧίʔσΟϯάͳͷ͔ʁ ★ ιʔγϟϧίʔσΟϯάͱίϯϐϡʔλʔݴޠ ★ ιʔγϟϧίʔσΟϯάͱΦʔϓϯιʔε ★

    ۀ຿ͱιʔγϟϧίʔσΟϯά ★ ιʔγϟϧίʔσΟϯάͷະདྷ
  12. What is “Social Coding”?

  13. ʮΠΧͷΑ͏ͳมͳΩϟϥΫλʯ

  14. None
  15. ʮιʔγϟϧίʔσΟϯά ͷ͓୊Ͱʯ ʮͻͱͭͿ300ϝʔτϧͷ͓୊Ͱʯ Έ͍ͨͳ΋Μ

  16. Disclaimer ★ ͜ͷτʔΫ͸ɺಛఆͷاۀͷએ఻Ͱ͸͋Γ ·ͤΜ ★ ಛఆͷاۀʹΑΔϦϙδτϦαʔϏε͔Β ͸தཱʹɺʮιʔγϟϧίʔσΟϯάʯͱ ͍͏֓೦͕ଘࡏ͢ΔͱԾఆͯ͠஻Γ·͢

  17. GitHub - About Code is about the people writing it.

    We focus on lowering the barriers of collaboration by building powerful features into our products that make it easier to contribute. The tools we create help individuals and companies, public and private, to write better code, faster. Ship it! https://github.com/about
  18. @defunkt said,

  19. @defunkt said, ★ “Originally we just wanted to make a

    git hosting site” ★ “In fact, that was the rst tagline” http://www.slideshare.net/rubymeetup/ inside-github-with-chris-wanstrath
  20. None
  21. @defunkt said, ★ “eventually “git repository hosting” gave way to

    “social coding”” ★ “more than a place to host git repositories, but a place to share code with others” http://www.slideshare.net/rubymeetup/inside-github- with-chris-wanstrath
  22. ͜͜·Ͱͷ·ͱΊ

  23. ιʔγϟϧίʔσΟϯάͱ͸ ★ “Code is about the people” ★ ͨͩͷϦϙδτϦϗεςΟϯάͰ͸ͳ͍

  24. ຊ೔ͷ͓୊ ★ ʮΞδϟΠϧ։ൃʯ ★ ʮίϯϐϡʔλݴޠʯ ★ ʮΤϯδχΞͷεΩϧʯ ★ ʮιʔγϟϧίʔσΟϯάʯ

  25. Why Social Codingʁ

  26. Why Social Codingʁ ԿނGitHub͸ͨͩͷGitϦϙδτϦͰऴΘΒ ͳ͔ͬͨͷ͔ʁ

  27. Because Social Coding met Ruby

  28. ιʔγϟϧίʔσΟϯά “Code is about the people”

  29. Rubyͷಛ௃ɾจԽ ★ ਓؒʹϑΥʔΧεͨ͠ݴޠ ★ গͳ͍ίʔυͰଟ͘ͷ࢓ࣄ ★ දݱྗͱ֦ுੑʹ෋Μͩݴޠ ★ ίʔυ͕υΩϡϝϯτ͔ͩΒίʔυಡΊจԽ ★

    ະ஌ͷ৽͍͠΋ͷΛਐΜͰऔΓೖΕΔจԽ ★ ςετΛ͔ͬ͠Γॻ͘จԽ ★ ΩϝΔͱؾ͍͍࣋ͪ
  30. Rubyͷݴޠతಛ௃ Ruby͸ΩϝΔͱؾ͍͍࣋ͪ (Matz)

  31. RubyͰιʔγϟϧίʔσΟϯά Ruby͸ΩϝΔͱؾ͍͍࣋ͪ => ΈΜͳͰΩϝͯूஂτϥϯεঢ়ଶ

  32. ιʔγϟϧίʔσΟϯά — Ruby ιʔγϟϧίʔσΟϯάͱRubyͱ͍͏2ͭͷ Χϧνϟʔ͕ඇৗʹ૬ੑ͕ྑ͗ͯ͢ɺͳΜ͔ Α͘Θ͔Μͳ͍Խֶ൓ԠΛىͯ͜͠͠·ͬͨ ݁Ռ

  33. Social Coding and computer language

  34. Before Social Coding ★ ϓϩάϥϛϯά͸ίϯϐϡʔλʔΛ ૢΔͨΊͷखஈ ★ ػցͷ͜ͱ͹

  35. ػցͷ͜ͱ͹

  36. After Social Coding ★ “Code is about the people writing

    it” ★ ίʔυ͸ਓؒͷͨΊͷ΋ͷ
  37. ίʔυΛॻ͘ͱ͍͏͜ͱͷ ҙຯͷมભ ★ Social CodingҎલ: ਓؒ => ίϯϐϡʔλʔ ★ Social

    Coding࣌୅: ਓؒ => ਓؒ
  38. ιʔγϟϧίʔσΟϯά࣌୅ͷ ϓϩάϥϛϯά ϓϩάϥϛϯάݴޠΛ࢖ͬͯਓؒʹରͯ͠ޠ Γ͔͚Δ͜ͱ

  39. ݴޠΛ࢖ͬͯ஻Δͱ͍͏͜ͱ ★ ࣗݾදݱͷखஈ ★ ίϛϡχέʔγϣϯͷखஈ

  40. ࣗݾදݱͱͯ͠ͷϓϩάϥϛϯά ★ จܳɺஶ࡞׆ಈɺ͋Δ͍͸ܳज़૑࡞ ★ humanity

  41. ਓؒΒ͠͞ͷ֫ಘ ਆ(= ίϯϐϡʔλʔ)΁ͷྴଐ͔Βͷ୤٫

  42. ਓྨ͕ྺ࢙ͷதͰ Ұ౓ܦݧͨ͜͠ͱ ϧωοαϯε

  43. ιʔγϟϧίʔσΟϯά͸ ਓؒࢌՎοʂʂʂ

  44. ιʔγϟϧίʔσΟϯά࣌୅ͷ ϓϩάϥϛϯάݴޠ ਓؒʹϑΥʔΧεͨ͠ݴޠ Ͱͳ͚Ε͹ͳΒͳ͍

  45. ίϛϡχέʔγϣϯͱͯ͠ͷ ιʔγϟϧίʔσΟϯά

  46. ιʔγϟϧίʔσΟϯάͰ ༑ୡ100ਓͰ͖·ͨ͠ ★ ࣗ෼͕ॻ͍ͨίʔυ͕ੈքதͷਓʹಡ·Ε ͯੈքதͰ࢖ΘΕΔ ★ ੈքத͔Βpull request΍ϝοηʔδ͕͘Δ ★ ΧϯϑΝϨϯεͱ͔Ͱձ͏ͱॳର໘Ͱ΋

    ༑ୡΈ͍ͨͳײ֮ͩͬͨΓ͢Δ
  47. Kaminariͷ৔߹ 39 contributors!!! <3 <3 <3 https://github.com/amatsuda/kaminari/contributors

  48. ຊ೔ͷ͓୊ ★ ʮΞδϟΠϧ։ൃʯ ★ ʮίϯϐϡʔλݴޠʯ ★ ʮΤϯδχΞͷεΩϧʯ ★ ʮιʔγϟϧίʔσΟϯάʯ

  49. Open Source vs Social Coding

  50. Social Coding͕Φʔϓϯιʔεʹ ΋ͨΒͨ͠΋ͷ ਎෼੍౓ͷมֵ

  51. Social CodingҎલͷ ͷΦʔϓϯιʔε ★ ϓϩμΫτʹਓ͕܈͕Δ ★ ίϛολʔ༷ vs Լʑͷ΋ͷͲ΋

  52. Social Codingͷߏ଄ ★ ୭Ͱ΋ࣗ༝ʹίϛοτΛߦ͏͜ͱ͕Ͱ͖Δ ★ ίϛοτ͕ੵΈॏͳΔͱϓϩμΫτʹͳΔ ★ શͯͷϦϙδτϦ͸ฏ౳ ★ ୭Ͱ΋ࣗ༝ʹଞਓͷϦϙδτϦΛ৮Δ͜ͱ

    ͕Ͱ͖Δ
  53. ࣗ༝ɺฏ౳ɺ༑Ѫ

  54. Industrial Revolutionʁ

  55. Social Codingֵ໋ ★ جຊతਓݖ ★ ࢀ੓ݖ ★ ίϛολ֊ڃʹΑΔΞϯγϟϯɾϨδʔϜ ͷ่յ

  56. ࢢຽֵ໋ ★ ਓຽͷ௚઀ࢀՃ ★ ਓຽ͕ͨͪࣗΒͷιʔείʔυͷॴ༗ ★ ओݖࡏຽ ★ ίϛϡʔϯɺ͢ͳΘͪίϛϡχςΟ

  57. ίϛϡχςΟͷ࢝·Γ ਓຽ͕ͨͪιʔείʔυΛอ࣋͢ΔݖརΛख ʹ͢Δͱ͜Ζ͔ΒίϛϡχςΟ͕࢝·Δ

  58. ͓࢓ࣄ vs Social Coding

  59. ۀ຿ϓϩάϥϚʔ͸ιʔγϟϧ ίʔσΟϯάʹ৐Δ΂͖͔ʁ ★ ۀ຿ϓϩάϥϚʔ֪ͦ͜ʹด͜͡΋ͬͯͳ ͍Ͱଟ༷ͳจԽʹ৮ΕΔ΂͖ ★ ීஈίʔυ͕ੈؒʹग़ͳ͍࢓ࣄΛͯ͠ΔΜ ͩͬͨΒɺ·͢·͢Ξ΢τϓοτ͕ॏཁͩ ͱࢥ͏Α(ࠓͷձ͕ࣾऴ਎ޏ༻ͯ͘͠ΕΔอ ূ͕͋ΔͳΒͱ΋͔͘)

  60. ࢓ࣄͰͰ͖ΔSocial Coding ★ ރΕͨϓϩμΫτ͹͔Γ࢖Θͳ͍ ★ όά౿ΜͩΒύονॻ͘ ★ ͤΊͯใࠂ͢Δ

  61. ࢓ࣄͰͰ͖ΔSocial Coding (্ڃฤ) ★ Open Source (Almost) Everything ★ “core

    business value”Ҏ֎͸Φʔϓϯιʔε ʹͯ͠͠·͏ http://tom.preston-werner.com/ 2011/11/22/open-source-everything.html
  62. ϝϦοτ ★ ձࣾͱࣗ෼ͷྑ͍એ఻ʹͳΔ ★ ࢓ࣄͷίʔυΛΈΜͳ͕୅ΘΓʹॻ͍ͯ͘ΕΔ ★ ྑ͍ίʔυΛࡽ͓ͯ͘͠ͱྑ͍ਓࡐ͕௼ΕΔ ★ ઃܭ΋ίʔυ΋͖Ε͍ʹͳΔ ★

    ͳͲͳͲ…
  63. ιʔγϟϧίʔσΟϯάۀ຿ͷ ͸͡Ί͔ͨ ★ ͳΜ͔ϥΠϒϥϦͱ͔࡞ͬͯެ։͢Δ ★ झຯͷެ։ϓϩμΫτΛۀ຿ʹ౤ೖͯ͠Έ Δ ★ ϝϯς΋࢓ࣄͷ͏ͪ ★

    ࢓ࣄͰιʔγϟϧίʔσΟϯάʂ
  64. ΤϯδχΞͷεΩϧ ★ ͭ·Γɺۀ຿ͱ༨Ջͷڥ໨ͳΜͯͲΜͲΜ ͍͋·͍ʹͳ͍ͬͯ͘ɺͱ͍͏࣌୅ͷྲྀΕ ★ ιʔγϟϧίʔσΟϯάεΩϧ͸Τϯδχ Ξʹऔͬͯඞਢͳ࢓ࣄͷεΩϧ

  65. ຊ೔ͷ͓୊ ★ ʮΞδϟΠϧ։ൃʯ ★ ʮίϯϐϡʔλݴޠʯ ★ ʮΤϯδχΞͷεΩϧʯ ★ ʮιʔγϟϧίʔσΟϯάʯ

  66. Social Codingͷະདྷ

  67. ಡΉͷॏཁ ίϚϯυͰݴ͑͹ git fetch => git log

  68. git fetch => git log ★ ΊΜͲ͍ ★ มߋ͕͋Δ͔Ͳ͏͔Θ͔Βͳ͍

  69. pullܕ͡Όͳͯ͘pushܕͷ git log RSSϦʔμʔΈ͍ͨͳgit logϦʔμʔ΄͍͠

  70. ϦΞϧλΠϜͳίϛϡχέʔγϣ ϯ ★ ࠓͷιʔγϟϧίʔσΟϯά؀ڥ͸·ͩܝ ࣔ൘Ϩϕϧ ★ ʮύονஔ͍ͱ͖·ͨ͠ʔɺݟͱ͍ͯͩ͘ ͞ʔ͍ʯ ★ Λϝʔϧ௨஌Ͱ஌Δ

  71. chatͷΑ͏ͳϦΞϧλΠϜੑͳ Social Coding ★ ΤσΟλ౷߹ͱ͔ ★ OS౷߹ͱ͔ ★ νϟοτΫϥΠΞϯτ౷߹ͱ͔ ★

    ϖΞϓϩΈ͍ͨͳUXͷιʔγϟϧίʔσΟ ϯάϓϥοτϑΥʔϜ͕ࠓޙग़ͯ͘ΔͷͰ ͸ͳ͍͔
  72. CI

  73. Travis CI What Github did for sharing code, Travis CI

    will do for testing code. The value of this service cannot be overstated. Travis CI is a paradigm shift. The world will be a better place when every open-source developer is running their test suite on Travis CI - @brixen https://love.travis-ci.org/
  74. CI͕ͲΜͲΜΧδϡΞϧʹ ★ ςετॻ͔ͳ͍ͱ͔࿦֎ ★ ͦ΋ͦ΋ςετͬͯॻ͖ʹ͍͘ ★ ΋ͬͱखܰʹੜ੒ͱ͔Ͱ͖ΔΑ͏ʹͳΔ΂ ͖

  75. CIͷ໰୊ ★ ίϛοτͨ͠΋ͷ͔͠ςετͰ͖ͳ͍ ★ pull requestΛϚʔδͯ͠ΈͨΒCI௨Βͳ͍ ໰୊ ★ pull requestͷͻͱͭͻͱ͕ͭCI͞ΕΔ͙Β

    ͍CIͷίϞσΟςΟԽ
  76. جຊΠϯϑϥͱͯ͠ͷ৴པੑ ★ Ұ੪ϝϯς ★ ܭըϝϯς͸ถࠃ࣌ؒͰ೔༵ͷ໷͕ଟ͍

  77. GitHub͞Μ… ★ ೔༵ͷ໷ͬͯɺ೔ຊͰ͸݄༵೔ͷேͳΜͰ ͚͢Ͳɾɾɾ ★ ͜Ε͡Ό࢓ࣄͰ࢖͑ͳ͍ɺͱݴΘΕͯ΋จ ۟ݴ͑ͳ͍

  78. ΋ͬͱ࢓ࣄͰ࢖͏GitHub ★ ͍ΘΏΔΫϥ΢υ ★ Ұ੪ϝϯς͠ͳ͍ ★ ݄༵೔ͷேʹམͪͯͳ͍ ★ ͔͠΋଎͘ͳͬͨΓͯ͠ ★

    ࠓ೥͋ͨΓͦΖͦΖ࣮ݱ͠ͳ͍͔ͳ͊
  79. ηΩϡϦςΟ͸Ͳ͏͔

  80. ηΩϡϦςΟ͸Ή͠Ζ௿Լ ★ ຊདྷϩʔΧϧͳ΋ͷͰ͋ͬͨࣾ಺Ϧϙδτ Ϧ͕WebΞϓϦͷ͍͍Ճݮ͞Λඋ͑ͯ͠ ·ͬͨ ★ ιʔείʔυ࿙Ӯͱ͔େৎ෉ͳͷ͔ʁ (GoogleAppsͱಉఔ౓ʹ͸ةݥͳ͸ͣ)

  81. ͦ͜Ͱ github:enterprise Ͱ͢Α ★ ͜Ε͕࠷దղͱ͸ࢥ͑ͳ͍ ★ αʔόʔઃஔͱ͔໌Β͔ʹΊΜͲ͍͘͞ ★ Ͳ͏ʹ͔ͯ͠ݱࡏͷWebΞϓϦΑΓ΋ࡉ΍ ͔ͳΞΫηείϯτϩʔϧ͕࣮૷͞ΕΔͱ

    ͍͍ͳ͊
  82. ·ͱΊ ★ Social Coding͸ਓ ★ Social Coding͸ϧωοαϯεͩʂ ★ Social Coding͸ֵ໋ͩʂ

    ★ Yes, WE CODE!
  83. ·ͱΊ