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

ソーシャルコーディング時代のふつうのプログラマサバイバルガイド

takkanm
September 16, 2012

 ソーシャルコーディング時代のふつうのプログラマサバイバルガイド

takkanm

September 16, 2012
Tweet

More Decks by takkanm

Other Decks in Programming

Transcript

  1. 4VSWJWJOH1SPKFDUT"GUFSUIF
    (JU)VC3FWPMVUJPO
    "O0SEJOBSZ1SPHSBNNFST
    (VJEF
    .JUTVUBLB.JNVSB
    &JXB4ZTUFN.BOBHFNFOU *ODBTBLVTBSC
    12೥9݄16೔೔༵೔

    View Slide

  2. NF
    12೥9݄16೔೔༵೔

    View Slide

  3. 12೥9݄16೔೔༵೔

    View Slide

  4. XPSL
    12೥9݄16೔೔༵೔

    View Slide

  5. IUUQDPEFSXBMMDPNUFBNFJXB
    TZTUFNNBOBHFNFOU
    12೥9݄16೔೔༵೔

    View Slide

  6. 12೥9݄16೔೔༵೔

    View Slide

  7. 12೥9݄16೔೔༵೔

    View Slide

  8. DPNNVOJUZ
    12೥9݄16೔೔༵೔

    View Slide

  9. 12೥9݄16೔೔༵೔

    View Slide

  10. IUUQXXXNFFUVQDPNUPLZPSBJMTFWFOUT
    12೥9݄16೔೔༵೔

    View Slide

  11. 12೥9݄16೔೔༵೔

    View Slide

  12. 3VCZ,BKBʹͳΓ·ͨ͠
    12೥9݄16೔೔༵೔

    View Slide

  13. IUUQKQSVCZJTUOFUNBHB[JOF
    12೥9݄16೔೔༵೔

    View Slide

  14. Δͼ·Ͱ͸
    هࣄΛॻ͍ͯ͘ΕΔํ
    ҰॹʹฤूΛ͢ΔํΛ
    ืू͍ͯ͠·͢
    IUUQKQSVCZJTUOFUNBHB[JOF
    12೥9݄16೔೔༵೔

    View Slide

  15. ࠓ೔࿩͞ͳ͍͜ͱ
    12೥9݄16೔೔༵೔

    View Slide

  16. ࠓ೔࿩͞ͳ͍͜ͱ
    ✓ίʔυϨϏϡʔͷϕετϓϥΫςΟε
    ✓ΩϥΩϥͨ͜͠ͱ
    ✓஍ࠈͷΈ͞Θ
    ✓*%0-
    12೥9݄16೔೔༵೔

    View Slide

  17. ࠓ೔ͷ͓࿩
    12೥9݄16೔೔༵೔

    View Slide

  18. ͓࿩ͷ಺༰
    ιʔγϟϧίʔσΟϯά͕࢝·ͬͨ
    Ӭ࿨Ͱੜ͖࢒ΔͨΊɺ
    .Z$PEFΛ8F$PEFͱͳΔΑ͏ʹ
    ؾΛ͚ͭͨ͜ͱ
    12೥9݄16೔೔༵೔

    View Slide

  19. Ӭ࿨ͷਓͨͪ
    12೥9݄16೔೔༵೔

    View Slide

  20. 12೥9݄16೔೔༵೔

    View Slide

  21. R u b y i s t ͨ ͪ
    12೥9݄16೔೔༵೔

    View Slide

  22. Φ ϒ ਥ ͨ ͪ
    12೥9݄16೔೔༵೔

    View Slide

  23. 12೥9݄16೔೔༵೔

    View Slide

  24. ͜ͷ೥Ͱى͖ͨ
    ؀ڥͷมԽ
    12೥9݄16೔೔༵೔

    View Slide

  25. ৬৔ʹ(JU)VC͕
    ΍͖ͬͯͨ
    12೥9݄16೔೔༵೔

    View Slide

  26. ಋೖͷ͖͔͚ͬ
    ✓ʮίʔυϨϏϡʔʯ
    ✓େਓ਺ O
    ͷϓϩδΣΫτ
    ✓νʔϑϓϩάϥϚʔ VSTN
    ʹΑΔ
    ϨϏϡʔ
    12೥9݄16೔೔༵೔

    View Slide

  27. ϨϏϡʔ͸͚ͬ͜͏େม
    ✓ࢦఠ͸ޱ಄ PS*3$

    ✓มߋΛ௥͏ͷ͕େม
    ✓ݟΔ΂͖ର৅͕୔ࢁ
    12೥9݄16೔೔༵೔

    View Slide

  28. ͦ͜Ͱ(JU)VCͰ͢Α
    ✓ͲΜͲΜϨϏϡʔͰ͖Δ؀ڥʹ
    ✓ίϝϯτΛ࢒ͤΔ
    ✓QVMMSFRVFTUͰϨϏϡʔґཔ
    12೥9݄16೔೔༵೔

    View Slide

  29. ࣗ෼ͨͪͷπʔϧ࡞Γ
    ✓࠷ॳ͸̍ਓ͕࡞ͬͨϓϩμΫτ
    ✓ผͷ୭͔͕ࣗ෼͕ཉ͍͠ػೳ௥ՃΛউ
    खʹ΍ΔΑ͏ʹͳͬͨ
    ✓ࠓ·Ͱಉ͡ϓϩδΣΫτʹͳͬͨ͜ͱ
    ແ͍ਓ͕ಉ͡ίʔυΛ͍͡ΔΑ͏ʹͳ
    ͬͨ
    12೥9݄16೔೔༵೔

    View Slide

  30. ձࣾͷதʹ(JU)VCͰ
    ى͖͍ͯΔιʔγϟϧͳ
    ׆ಈ͕ൃੜ͢ΔΑ͏ʹͳͬͨ
    12೥9݄16೔೔༵೔

    View Slide

  31. มԽͷ·ͱΊ
    ✓ଞͷϓϩδΣΫτͷίʔυΛݟΕΔΑ
    ͏ʹͳͬͨ
    ✓ϓϩδΣΫτ֎ͷϝϯόʔ΋ϑΟʔυ
    όοΫΛͩͤΔ؀ڥʹͳͬͨ
    ✓ϝϯόʔશһ͕ಉ͡ίʔυΛڞ༗͢Δ
    Α͏ʹͳͬͨ
    12೥9݄16೔೔༵೔

    View Slide

  32. 12೥9݄16೔೔༵೔

    View Slide

  33. ʢʼʻʣ
    ✓QVTI͢ΔͨͼʹೖΔίϝϯτͷ਺ʑ
    ✓࢓ࣄ͕ਐ·ͳ͍
    ✓Ԝ
    12೥9݄16೔೔༵೔

    View Slide

  34. ͚ͬ͜͏ਏ͍
    12೥9݄16೔೔༵೔

    View Slide

  35. ͦΜͳதͰࣗ෼͕
    ίʔυΛॻ͖ଓ͚Δ
    ͨΊʹԿ͕Ͱ͖Δ͔Λ
    ߟ͑ͯΈͨ
    12೥9݄16೔೔༵೔

    View Slide

  36. ٯڥΛνϟϯεʹ
    ✓ฐࣾʹ͸ɺ͍͢͝ਓ͕͍ͬͺ͍͍Δ
    ✓ͦΜͳ͍͢͝ਓ͔ΒݟࣺͯΒΕͣʹབྷ
    ΜͰ΋Β͑Δͷ͸νϟϯε
    ✓ड͚ͨࢦఠΛ਎ʹ͚͍͚ͭͯ͹ɺΑ͍
    श׳Λ਎ʹ͚ͭΕΔ͸ͣ
    12೥9݄16೔೔༵೔

    View Slide

  37. ࢥߟ͕ωΨςΟϒϑΟʔυό
    οΫʹ͓͍ͪΒͳ͍Α͏ʹ
    ҙࣝΛม͑ͨ
    12೥9݄16೔೔༵೔

    View Slide

  38. ͳͥࢦఠ͕ଟ͍͔Λ
    ߟ͑ͨ
    ✓ʮӬ࿨ͷNBTUFSϒϥϯνʹ͸มͳ
    ίʔυ͕ແ͍ʯΛ࣮ݱ͢ΔͨΊʹɺ
    Θͨ͠ʹ͸଍Γͯͳ͍͜ͱ͕ଟ͍
    12೥9݄16೔೔༵೔

    View Slide

  39. Ӭ࿨ͷNBTUFSϒϥϯνʹ͍Ε
    ͍͍ͯΑ͏ͳίʔυΛॻͨ͘Ίʹ
    Θ͕ͨ͠ؾΛ͚ͭΔΑ͏ʹͳͬͨ
    /ݸͷ͜ͱ
    12೥9݄16೔೔༵೔

    View Slide


  40. 12೥9݄16೔೔༵೔

    View Slide

  41. ίʔυͷܗΛ
    ؾʹ͢Δ
    12೥9݄16೔೔༵೔

    View Slide

  42. ίʔυͷܗΛؾʹ͢Δ
    ✓͏͚ͨࢦఠ
    ✓ίʔυʹ͍ΕΔۭന΍վߦͷҐஔ͕
    όϥόϥ
    ✓ॻ͖ํʹϜϥ͕͋Δ
    12೥9݄16೔೔༵೔

    View Slide

  43. ྫɿۭനͷ͍Εํ
    ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ
    {a: 1, b: 2 }
    ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ
    [1, 2, 3].map{ |a| a + 1}
    12೥9݄16೔೔༵೔

    View Slide

  44. ྫɿۭനͷ͍Εํ
    ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ
    {a: 1, b: 2 }
    ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ
    [1, 2, 3].map{ |a| a + 1}
    ˢ͜ͷεϖʔε͸Կ
    12೥9݄16೔೔༵೔

    View Slide

  45. ྫɿۭനͷ͍Εํ
    ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ
    {a: 1, b: 2 }
    ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ
    [1, 2, 3].map{ |a| a + 1}
    ͜ͷεϖʔε͸Կ ˢ
    12೥9݄16೔೔༵೔

    View Slide

  46. ྫɿۭനͷ͍Εํ
    ࢦఠΛ͏͚Δ)BTIͷॻ͖ํ
    {a: 1, b: 2 }
    ࢦఠΛ͏͚ΔϒϩοΫͷॻ͖ํ
    [1, 2, 3].map{ |a| a + 1}
    ͜͜ʹεϖʔε͸͍Εͳ͍ͷ ˢ
    12೥9݄16೔೔༵೔

    View Slide

  47. Ͳ͏ͯ͠େࣄ͔
    ✓վߦ΍ۭന΋ίʔυͷҰ෦ͳͷͰؾʹ͠
    ͳ͚Ε͹͍͚ͳ͍
    ✓ίʔυͷݟͨ໨͕ѱ͍ͱϨϏϡϫʔ͕ຊ
    ࣭Ҏ֎ͷ͜ͱͰؾΛͱΒΕͯ͠·͏
    ✓ݟͨ໨ͷޙʹ࠶౓ϨϏϡʔʹͳΔͷͰແ
    ବ͕ൃੜ͢Δ
    12೥9݄16೔೔༵೔

    View Slide

  48. ࣮ફͨ͜͠ͱ
    ✓ࢦఠ͞Εۭͨന΍վߦͷ͍ΕํΛཧղ͠
    ͯɺίʔυΛॻ͘ͱ͖ʹ֬ೝ͢Δ
    ✓ଞͷਓ͕ॻ͍ͨίʔυΛϨϏϡʔ͢Δͱ
    ͖΋ҙࣝ͢Δ
    ✓Πϯλʔωοτʹެ։͞Ε͍ͯΔ͍ΖΜ
    ͳίʔσΟϯάϧʔϧΛݟͯࣗ෼ͱͷҧ
    ͍Λ୳ͯ͠ɺΑ͍΋ͷ͸औΓೖΕΔ
    12೥9݄16೔೔༵೔

    View Slide


  49. 12೥9݄16೔೔༵೔

    View Slide

  50. આ໌Ͱ͖ΔίʔυΛ
    ॻ͘
    12೥9݄16೔೔༵೔

    View Slide

  51. આ໌Ͱ͖ΔίʔυΛॻ͘
    ✓͏͚ͨࢦఠ
    ✓͜ͷม਺͸Ͳ͏͍͏ҙຯͰ͔͢
    ✓͜ͷߏ଄͸ԿͰ͜͏ͳΔΜͰ͔͢
    12೥9݄16೔೔༵೔

    View Slide

  52. ྫɿςετσʔλͷ
    ηοτΞοϓ
    object.instance_variable_set :@user, 'takkanm'
    12೥9݄16೔೔༵೔

    View Slide

  53. ྫɿςετσʔλͷ
    ηοτΞοϓ
    object.instance_variable_set :@user, 'takkanm'
    lΘ͚͕Θ͔Βͳ͍Αz
    12೥9݄16೔೔༵೔

    View Slide

  54. Ͳ͏ͯ͠େࣄ͔
    ✓ࣗ෼ͰΘ͔Γ΍໊͍͢લΛ͚ͭͨͱࢥͬ
    ͯ΋ɺਓʹ͸ཧղͰ͖ͳ͍͜ͱ΋͋Δ
    ✓࠷ऴతʹίϛοτ͞ΕΔ΋ͷ͸ಈ͚ͩ͘
    Ͱͳ͘ҙਤ͕͸͖ͬΓ͍ͯ͠ͳ͍ͱ͍͚
    ͳ͍
    12೥9݄16೔೔༵೔

    View Slide

  55. ࣮ફͨ͜͠ͱ
    ✓ม਺໊΍ߏ଄ʹ೰ΜͩΒ૬ஊ
    ✓ଞͷਓͷίʔυ͔Β׳༻తͳ୯ޠΛֶͿ
    ✓આ໌Ͱ͖ΔΑ͏ʹॻ͚ΔΑ͏ʹɺԿ౓΋
    ॻ͖௚͢
    12೥9݄16೔೔༵೔

    View Slide


  56. 12೥9݄16೔೔༵೔

    View Slide

  57. ಓ۩Λ஌Δ
    12೥9݄16೔೔༵೔

    View Slide

  58. ಓ۩Λ஌Δ
    ✓͏͚ͨࢦఠ
    ✓ͦΕ˓˓ͰͰ͖ΔΑ
    ✓ʷʷ࢖ͬͯͳ͍ͷͰ͔͢
    12೥9݄16೔೔༵೔

    View Slide

  59. ྫɿϑΝΠϧͷSFBE
    File.read(Rails.root + ‘/lib/
    foo.csv’)
    12೥9݄16೔೔༵೔

    View Slide

  60. ྫɿϑΝΠϧͷSFBE
    File.read(Rails.root + ‘/lib/
    foo.csv’)
    l1BUIOBNFͳΒ΋ͬͱ΍ΓΑ͏͋ΔΑͶz
    12೥9݄16೔೔༵೔

    View Slide

  61. ྫɿϑΝΠϧͷSFBE
    File.read(Rails.root + ‘/lib/
    foo.csv’)
    l3BJMTSPPUKPJO bMJCGPPDTW`
    SFBEz
    12೥9݄16೔೔༵೔

    View Slide

  62. ྫɿྻڍ͍ͨ͠ͱ͖
    class Todo < ActiveRecord::Base
    STATUS = %w(done doing ready)
    end
    12೥9݄16೔೔༵೔

    View Slide

  63. ྫɿྻڍ͍ͨ͠ͱ͖
    class Todo
    STATUS = %w(done doing ready)
    end
    [email protected]Λ࢖ͬͨΒͲ͏Ͱ͔͢ʁz
    class Todo < ActiveRecord::Base
    STATUS = %w(done doing ready)
    end
    12೥9݄16೔೔༵೔

    View Slide

  64. Ͳ͏ͯ͠େࣄ͔
    ✓ϓϩάϥϚͱͯ͠3VCZ΍3BJMT౳ͷ
    ಓ۩ΛΑ͘஌Βͳ͍ͱ͍͚ͳ͍
    ✓ϓϩάϥϚͱͯ͠ৗʹΞϯςφΛషͬͯ
    ͍Δඞཁ͕͋Δ
    12೥9݄16೔೔༵೔

    View Slide

  65. ࣮ફͨ͜͠ͱ
    ✓υΩϡϝϯτΛோΊΔ
    ✓45,͢Δ
    ✓ଞͷϓϩδΣΫτͷ(FNpMFΛݟΔ
    12೥9݄16೔೔༵೔

    View Slide

  66. "QQFOEJY"
    12೥9݄16೔೔༵೔

    View Slide

  67. ՝֎׆ಈΛ͢Δ
    12೥9݄16೔೔༵೔

    View Slide

  68. ֶΜͩ͜ͱΛ
    Ξ΢τϓοτ͢Δ
    ✓ࣾ಺ͰֶΜͩ͜ͱΛΞ΢τϓοτ͢Δ
    ✓ࣗ෼ͷཧղ΍ཱ͍ͬͯΔ৔ॴΛ஌Δ͍
    ͍ػձʹͳΔ
    12೥9݄16೔೔༵೔

    View Slide

  69. ωοτ্ͷ׆ಈ
    ✓$PEFSXBMM
    ✓όοξͰ૊৫಺ͷংྻ͕ݟ͑Δ
    ✓3BJMTͷόοξ͕ཉͯ͘͠ύονΛॻ͘
    ✓2"UNBSLJU
    ✓Ϩϐϡςʔγϣϯ͕ଞͷਓʹෛ͚ͳ͍Α͏ʹ࣭໰ʹ
    ౴͑Δ
    ✓3VCZϦϑΝϨϯεϚχϡΞϧ
    ✓ಡΜͰ͍Δͱ͖ʹؒҧ͍ʹؾ෇͍ͨΒ#VHใࠂ
    12೥9݄16೔೔༵೔

    View Slide

  70. ίϛϡχςΟʹͰΔ
    ✓"TBLVTBSC
    ✓3BJMTษڧձ
    ✓3VCZJTU.BHB[JOFฤू
    ✓ࡳຈ3VCZձٞͰ࿩͢
    12೥9݄16೔೔༵೔

    View Slide

  71. ࣗ෼ͷมԽʹ͍ͭͯ
    12೥9݄16೔೔༵೔

    View Slide

  72. มΘͬͨ͜ͱ
    ✓QVTI͢Δͷָ͕͘͠ͳͬͨ
    ✓·ͩ·ͩποί·ΕΔ͚Ͳ΋લΑΓۤ
    Ͱ͸ͳ͘ͳͬͨ
    ✓ଞͷਓʹֶΜͩࣄΛ఻͑ΕΔΑ͏ʹ
    ✓ͭΒ͘ͳ͍Α͏ʹؾΛ͚ͭΔ
    ✓ڭ͑Δ͜ͱͰߋʹߟ͕͑ਂ·Δ͜ͱ΋
    12೥9݄16೔೔༵೔

    View Slide

  73. ;ͭ͏ͷ͜ͱͰ͸
    ✓͍͢͝ਓ͕;ͭ͏ʹߦͳ͍ͬͯΔࣄͩ
    ͚ͲɺΘͨ͠ʹ͸ؾΛ͚ͭͳ͍ͱͰ͖
    ͳ͍ࣄ͕ଟ͔ͬͨ
    ✓͋ͨΓ·͑ͱݴΘΕ͍ͯΔࣄΛͪΌΜ
    ͱ΍ΕΔΑ͏ʹ౒ྗ͠ͳ͍ͱ͍͚ͳ͍
    12೥9݄16೔೔༵೔

    View Slide

  74. ·ͱΊ
    ✓ձࣾ಺ͰίʔυΛॻ͘؀ڥ΋ձࣾ֎ͰίʔυΛ
    ॻ͘؀ڥ΋ࠩҟ͕ͳ͘ͳͬͯ͘Δ͜ͱͰɺ্ୡ
    ͢Δνϟϯε͕૿͑ͨ
    ✓ਏͯ͘΋෗Βͣʹૉ௚ʹࢦఠΛड͚ͱΊֶͯΜ
    Ͱ͍͘͜ͱ͕େࣄ
    ✓ίʔυΛָ͘͠ॻ͘ͱ͍͏͜ͱΛੜۀʹ͢Δͷ
    ͳΒɺ͋ͨΓ·͑ͷ͜ͱΛਖ਼͘͠΍ΕΔΑ͏ʹ
    ৗʹҙࣝ͢Δ͜ͱ͕େࣄ
    12೥9݄16೔೔༵೔

    View Slide

  75. 12೥9݄16೔೔༵೔

    View Slide