$30 off During Our Annual Pro Sale. View Details »

github.com/mercari の今と昔 /github-mercari

github.com/mercari の今と昔 /github-mercari

西日本応援プロジェクト 真夏の大LT大会!
#midsummer_lt
https://techplay.jp/event/684228

Hiraku NAKANO

July 23, 2018
Tweet

More Decks by Hiraku NAKANO

Other Decks in Technology

Transcript

  1. 5&$)1-":
    ੢೔ຊԠԉϓϩδΣΫτਅՆͷେ-5େձʂ
    HJUIVCDPNNFSDBSJͷࠓͱੲ

    View Slide

  2. த໺ ୓ (@Hiraku)
    https://github.com/hirak
    https://twitter.com/Hiraku
    2015/12 Mercari, Inc
    2018/02 Merpay, Inc (ग़޲த)
    PHP, Go
    2
    ࣗݾ঺հ

    View Slide

  3. ʮϝϧΧϦͷࠓͱੲʯ
    ͩͱ5෼Ͱ͸ऩ·Βͳ͍ͷͰ…
    ʮgithub.com/mercari ͷࠓͱੲʯ
    Λ࿩͠·͢ʂ

    View Slide

  4. View Slide

  5. 5
    ˔ ༷ʑͳ044ʹࢧ͑ΒΕͯιϑτ΢ΣΞ։ൃΛ͍ͯ͠·͢
    ˔ ۀ຿தͷίϯτϦϏϡʔτ͸ݸਓͷࡋྔͰࣗ༝
    ˔ ͦͷ্ͰɺHJUIVCDPNNFSDBSJͰެ։͍ͨ͠ͳΒͦΕ΋ࣗ༝
    ϝϧΧϦͰͷલఏ
    ʮੑળઆʯ

    View Slide

  6. 6
    ˔ ͦͷਓ͕ࣙΊͨ͋ͱɺͦͷϥΠϒϥϦ͕࢖͑ͳ͘ͳͬͨΒࠔΔ
    ○ fork͠ͳͯ͘ࡁΉํ͕ϕλʔ
    ○ ॏཁͳίϯϙʔωϯτͳΒɺձࣾͱͯ͠ϝϯςφϯεͨ͠ํ͕͍͍

    ˔ ΤϯδχΞ͕اۀΛ൑அ͢Δج४ͷҰͭʹͳΔ
    اۀެࣜͷ(JU)VCΞΧ΢ϯτͷ໾ׂ
    ΁ʔ ͜ͷOSSͬͯ

    ͜ͷձ͕ࣾ࡞ͬͯΔͷ͔ʙ

    View Slide

  7. ࢲ͕ೖࣾͨ͠2015೥
    ౰࣌ɺ
    gaurun͚͕ͩฒΜͰ
    ͍ͨ

    View Slide

  8. 8
    ͦͷޙগͣͭ͠૿͍͑ͯͬͨ
    gaurun 2015-04-16
    dietcube 2016-01-13
    composer-diff-plugin 2016-01-29
    widebullet 2016-02-26
    siberi-android 2016-06-12
    go-grpc-interceptor 2016-09-08
    go-httpdoc 2017-05-31
    honyakubot 2017-07-05
    docker-appengine-go 2017-08-22
    ... ...

    View Slide

  9. 9
    ˔ ʮ$-"Λ༻ҙͨ͠΄͏͕͍͍ͷͰ͸ʁʯͱ͍͏ٞ࿦͕ى͖Δ
    ೥݄ࠒ

    View Slide

  10. OSS
    ࡞ऀ
    (ձࣾ or ݸਓ)
    OSSϥΠηϯε
    ʮҎԼͷϧʔϧ͑͞कͬ
    ͯ͘ΕͨΒࣗ༝ʹ࢖ͬ
    ͍͍ͯΑʂʯ

    View Slide

  11. 11
    ˔ ͜ͷιϑτ΢ΣΞ͸˓˓͕࡞Γ·ͨ͠

    ˔ ແঈɾແอূɾͲΜͳ໨తʹͩͬͯ࢖ͬͯ0,

    ˔ ར༻ͨ͠Βஶ࡞ݖදࣔͯ͘͠Εʂ
    044ϥΠηϯεʹॻ͍ͯ͋Δ͜ͱͷྫ

    View Slide

  12. OSS ύον
    ৽ػೳఏҊ
    ࡞ऀ
    (ձࣾ or ݸਓ)
    OSSϥΠηϯε
    ʮҎԼͷϧʔϧ͑͞कͬ
    ͯ͘ΕͨΒࣗ༝ʹ࢖ͬ
    ͍͍ͯΑʂʯ
    Pull Requestͷ
    ࡞ऀ

    View Slide

  13. 13
    ˔ ίʔυΛॻ͍ͨ࡞ऀʹஶ࡞ݖ͕͋Δ
    ˔ ͜ͷ1VMM3FRVFTUओ͸ɺࢲͷϥΠηϯεͰͷެ։ʹຊ౰ʹ߹ҙ͍ͯ͠Δ
    ͷ͔͠Βʜ
    ˔ ͋ͱͰύον෦෼Λউखʹม͑ΒΕͳ͍ͱͨ͠Βɺ͔ͳΓෆศ
    ˔ ˠ044ϥΠηϯε͸ύονͷѻ͍·Ͱॻ͍͍ͯͳ͍͜ͱ͕ଟ͍
    1VMM3FRVFTUͷ৔߹Ͱ΋

    View Slide

  14. 14
    ˔ ίϯτϦϏϡʔλ͕1VMM3FRVFTUΛૹΔࡍʹ߹ҙ͢΂͖औΓܾΊ

    ○ ࢲ͕͜ͷύονΛॻ͖·ͨ͠ɻࢲͷஶ࡞෺Ͱ͢
    ○ ଞͷϥΠϒϥϦ͔ΒίʔυΛҠ২͠·ͨ͠ɻϥΠηϯεతʹOKͳ͜ͱΛ֬ೝ͍ͯ͠·͢
    ○ ࢲ͸͜ͷίʔυͷݖརΛ༗͍ͯ͠·͕͢ɺͦͷ෦෼Λࣗ༝ʹෳ੡ɾ൦෍(etc)͢Δڐ୚Λ
    ʢOSSͷΦϦδφϧͷݖརऀʣʹ༩͑·͢
    ○ ͳͲ
    $-" $POUSJCVUPS-JDFOTF"HSFFNFOU

    View Slide

  15. View Slide

  16. 16
    ˔ ௨ৗɺ1VMM3FRVFTUΛૹΔ৔߹ʹαΠϯ͕ඞཁ
    ˔ αΠϯͷ؅ཧํ๏
    ○ ࢴʹॻ͍ͯ༣ૹ͢Δ 

    ○ ిࢠॺ໊γεςϜΛ࢖͏
    ○ ʮI AGREEʯͱtypeͤ͞ΔṖͷϝʔϧϑΥʔϜ
    $-" $POUSJCVUPS-JDFOTF"HSFFNFOU

    View Slide

  17. ໘౗ͦ͘͞͏…
    (ૹΔํ΋ɺӡ༻͢Δํ΋)

    View Slide

  18. ʮϦʔζφϒϧͳ΍ΓํΛ୳ͦ͏ʯ

    View Slide

  19. 19
    ˔ ໘౗͚ͩͲɺϊʔΨʔυઓ๏͸͕͢͞ʹΑ͘ͳ͍
    ˔ ๏຿ʹ૬ஊ
    ○ CLAͱ͍͏΋ͷͷઆ໌
    ○ ଞࣾࣄྫ·ͱΊ
    ○ ΤϯδχΞͨͪͷཁ๬
    ■ ʮͳΔ΂͘໘౗͘͘͞ͳ͍ײ͡ʹ͍ͨ͠ʂʂʂʂʯ
    $-"ࡦఆͷಓ΁

    View Slide

  20. https://www.mercari.com/cla/
    ര஀

    View Slide

  21. 21
    Please read this document carefully before
    submitting Your Contribution to Mercari.
    Under any circumstances, by submitting Your
    Contribution, You are deemed to accept and
    agree to be bound by the terms and
    conditions of the CLA.
    ॏཁͳͱ͜Ζൈਮ

    View Slide

  22. 22
    ձࣾݸਓΛͭͷ$-"Ͱ·͔ͳ͏

    ຊจʹʮఏग़$-"΁ͷ߹ҙͱΈͳ͔͢Βͳʂʯͬͯॻ͍ͯ͠·͏

    HJUIVC16--@3&26&45@5&.1-"5&NEʹ΋ಉ͡จষͱ$-"΁ͷϦ
    ϯΫΛهࡌ

    1VMM3FRVFTUΛఏग़͢Δͱ͖ʹ࣮֬ʹ໨ʹ͢Δ͸ͣ
    αΠϯγεςϜͳ͠Ͱɺ$-"ӡ༻͕Ͱ͖͍ͯΔ͜ͱʹ͢Δ
    (P#PMEͳϝϧΧϦࣾͷ$-"

    View Slide

  23. ͜ΕͳΒ؆୯
    (ૹΔํ΋ɺӡ༻͢Δํ΋)

    View Slide

  24. ձࣾͷ044ެ։ɺͲ͏ͯ͠·͔͢ʁ

    View Slide

  25. 25
    ձࣾͷ044ઓུϨϕϧ
    044ΛԿ΋ެ։ͯ͠ͳ͍
    044Λ؆୯ʹެ։Ͱ͖Δϑϩʔ͸੔͍ͬͯΔ
    ઓུΛ࣋ͬͯ044Խ͍ͯ͠Δ
    01
    02
    03
    Copyright © Merpay, Inc. All Rights Reserved.

    View Slide

  26. 26
    $PEFPG$POEVDUͱ͔͸ఆΊ͍ͯͳ͍ SFQP࡞ऀ͕ܾΊͯΑ͠

    ձࣾͷཱͪҐஔʹΑͬͯਖ਼ղ͸ҟͳΔ
    ϊʔΨʔυͷϦεΫ͸ආ͚Δ
    Ͱ΋ɺؤுΓ͗ͯ͢ෆ޾ʹ͸ͳΒͳ͍Α͏ʹ͢Δ
    ࠓͷϝϧΧϦࣾ͸
    ͙Β͍ͷཱͪҐஔ

    View Slide

  27. ʮϦʔζφϒϧͳ΍ΓํΛ୳ͦ͏ʯ

    View Slide

  28. ࢀߟΦʔϓϯιʔειϑτ΢ΣΞͷҭͯํ
    IUUQTQSPEVDJOHPTTDPNKBDPQZSJHIU
    BTTJHONFOUIUNM

    View Slide