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

개발자의 흔한 취미: 오픈소스 개발

mingrammer
February 23, 2018

개발자의 흔한 취미: 오픈소스 개발

오픈소스 초보자의 오픈소스 경험기

mingrammer

February 23, 2018
Tweet

More Decks by mingrammer

Other Decks in Programming

Transcript

  1. ѐߊ੗੄ ൔೠ ஂ޷: য়೑ࣗझ ѐߊ
    MinJae Kwon (@mingrammer)
    2018.02.23 Naver OpenSource Seminar

    View Slide

  2. Name
    ӂ޹੤ (MinJae Kwon)
    Nickname
    @mingrammer
    Email
    [email protected]
    Who
    Game Server Engineer @ SundayToz (߽ౠ)
    Blog
    https://mingrammer.com
    Facebook
    https://facebook.com/mingrammer
    Github
    https://github.com/mingrammer
    Eng Blog
    https://medium.com/@mingrammer

    View Slide

  3. ࠁా য়೑ࣗझ ѐߊ੗ۄҊ ೞݶ XX ஶ౟ܻ࠭ఠۄҊ ࣗѐೞ૑݅ ੷ח ..

    View Slide

  4. ݫ੉੷ә ೐۽ં౟ী ؀ೠ ҃೷਷ হਵݴ ઱۽ ৈ۞ ੘਷ ೐۽ં౟ٜ ਤ઱৓णפ׮

    View Slide

  5. Ӓ۞פө ੉Ѥ ੿݈ ੷৬ э਷ Beginner / Novice ٜ࠙ਸ ਤೠ ҃೷ӝੑפ׮

    View Slide

  6. 2. ੉ۧѱ ೧ࠌणפ׮
    3. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    Contents
    1. য়೑ࣗझ..?
    5. ݃ޖܻ
    4. ׮਺ झయ਷ਃ

    View Slide

  7. য়೑ࣗझ..?
    (য়೑ࣗझખ ೧ঠೞחؘ … / ೞҊर਷ؘ …)

    View Slide

  8. য়೑ࣗझ..?
    .. ܳ द੘ೠ ҅ӝо ݺഛೞ૑ח ঋणפ׮݅ ..

    View Slide

  9. য়೑ࣗझ..?
    ழ޿ ӝ۾ਸ ٍઉࠁפ ߣ৉ ۨನ૑షܻী ੉गܳ ઁӝೠѱ ୐ द੘ੋ Ѫ эणפ׮
    (ߣ৉ ܙਸ ੿ೞ੗ח Proposal ੉ग)

    View Slide

  10. য়೑ࣗझ..?
    ղਊਸ ࣻ੿ೞৈ PRਸ զ۷؍ ୡӝ ழ޿਷ য়ఋ ࣻ੿ੋ Ѫ э֎ਃ
    (READMEী য়ఋо ੓ӡې ࣻ੿೧ࢲ PR զܿ)

    View Slide

  11. য়೑ࣗझ..?
    ҅ӝա زӝܳ ࠁݶ Ӓր ஂ޷੿ب۽ ই઱ ࣗࣗ೮णפ׮
    য়೑ࣗझܳ ೞ੗!೧ࢲ ೞӝࠁױ য૵׮ࠁפ ੗োझ۞਍ ҅ӝо ݃۲غ঻णפ׮

    View Slide

  12. য়೑ࣗझ..?
    ҅ӝա زӝܳ ࠁݶ Ӓր ஂ޷੿ب۽ ই઱ ࣗࣗ೮णפ׮
    য়೑ࣗझܳ ೞ੗!೧ࢲ ೞӝࠁױ য૵׮ࠁפ ੗োझ۞਍ ҅ӝо ݃۲غ঻णפ׮

    View Slide

  13. য়೑ࣗझ..?
    ݈ೞҊ੗ ೞחѤ য়೑ࣗझ ଵৈۄחѱ ޥо ౠ߹ೞҊ Ѣହೠѱ ইפۄח ѩפ׮
    (ޛۿ, ݫ੉੷ә ೐۽ં౟ীࢲח ӝৈ ೞա ೞաо Ѣହೡ ࣽ ੓૑݅ਃ)

    View Slide

  14. য়೑ࣗझ..?
    Ӓۧ׮Ҋ য়೑ࣗझ ଵৈо ߹ѱ ইפҊ ޖ੄޷ ೞ׮ח Ѫ਷ ؊؊਌ ইתפ׮

    View Slide

  15. য়೑ࣗझ..?
    ੷ח ਤ৬ э਷ ҅ӝܳ ా೧ য়೑ࣗझ ழޭפ౭ী ߊਸ ٜ৓Ҋ
    ૑Әب ஂ޷۽ա݃ рр൤ ઑӘ਷ ؊ ੄޷੓ח ӝৈܳ ೞ۰Ҋ ֢۱ೞҊ ੓णפ׮

    View Slide

  16. য়೑ࣗझ..?
    Ӓۧ׮ݶ Ӓ ੉റ۽ যڌѱ য়೑ࣗझ ഝزਸ ૑ࣘ೧৳ח૑ Ӓ ҃೷ӝܳ ҕਬೞҊ੗ ೤פ׮

    View Slide

  17. ੹ .. ੉ۧѱ ೧ࠌणפ׮
    (੗োझۣѱ द੘ೞࣁਃ)

    View Slide

  18. ੉ۧѱ ೧ࠌणפ׮
    য়೑ࣗझ ଵৈ == ࣗझ௏٘ ӝৈ?

    View Slide

  19. ੉ۧѱ ೧ࠌणפ׮
    য়೑ࣗझ ଵৈ ⊃ ࣗझ௏٘ ӝৈ

    View Slide

  20. ੉ۧѱ ೧ࠌणפ׮
    ӝמ ୶о/ѐࢶ
    ௏٘/য়ఋ ࣻ੿
    ழޭפ౭ ҙܻ
    ੉ग ࠁҊ/೧Ѿ
    ߣ৉
    ೐۽ನ੺
    য়೑ࣗझ ଵৈ
    Others …
    ૒੽ ਍৔

    View Slide

  21. ੉ۧѱ ೧ࠌणפ׮
    ӝמ ୶о/ѐࢶ
    ۄ੉࠳۞ܻ/ోਸ ࢎਊೞ׮о …
    ਗೞח ӝמ੉ হ׮!
    ੉ۧѱೞݶ ؊ જਸ Ѫ э਷ؘ …
    ӝמਸ ୶о/ѐࢶ೧ࢲ PRਸ զܻ੗!

    View Slide

  22. ੉ۧѱ ೧ࠌणפ׮
    ӝמ ୶о/ѐࢶ : ࢎ۹ CLI ోਸ ࢎਊೞ׮о GUI ߡ੹੉ ੓঻ਵݶ೧ࢲ GUI ో ѐߊ

    View Slide

  23. ੉ۧѱ ೧ࠌणפ׮
    ӝמ ୶о/ѐࢶ : ࢎ۹ ߣ৉ ழߡܻ૑ ోী ౠࣻ ఫझ౟ח ޖदೞח ӝמਸ ୶о

    View Slide

  24. ੉ۧѱ ೧ࠌणפ׮
    ӝמ ୶о/ѐࢶ : ࢎ۹ ࢎਊ ب઺ ਗೞח ӝמ੉ হয ૒੽ ӝמਸ ୶о

    View Slide

  25. ੉ۧѱ ೧ࠌणפ׮
    ੉ग ࠁҊ ߂ ೧Ѿ
    ۄ੉࠳۞ܻ/ోਸ ࢎਊೞ׮о …
    ӝ؀೮؍؀۽ ز੘ਸ ೞ૑ ঋ਺
    ۄ੉࠳۞ܻ/ోীࢲ ߡӒо ߊѼؽ ߡӒ/੉गܳ ࣻ੿ೞҊ PRਸ զܻ੗!
    ߊѼػ ੉गܳ ঌܻ੗!

    View Slide

  26. ੉ۧѱ ೧ࠌणפ׮
    ۄ੉࠳۞ܻ/ోਸ ࢎਊೞ׮о …
    ӝ؀೮؍؀۽ ز੘ਸ ೞ૑ ঋ਺
    ۄ੉࠳۞ܻ/ోীࢲ ߡӒо ߊѼؽ ߡӒ/੉गܳ ࣻ੿ೞҊ PRਸ զܻ੗!
    ੉޷ ܻನ౴ػ ੉गܳ ߊѼೣ ੉ग ೧Ѿ଼ਸ ҕਬೞ੗!
    ߊѼػ ੉गܳ ঌܻ੗!
    ੉ग ࠁҊ ߂ ೧Ѿ

    View Slide

  27. ੉ۧѱ ೧ࠌणפ׮
    ࢎप য়೑ࣗझ੄ о੢ ௾ ੢੼੉ ߄۽ ੉ ࠗ࠙੉ ইקө रणפ׮
    ੉ग ࠁҊ ߂ ೧Ѿ

    View Slide

  28. ੉ۧѱ ೧ࠌणפ׮
    ࣗ೐౟ਝযী ੉ग৬ ߡӒо ߊࢤ ழޭפ౭ী ೧׼ ੉गܳ ܻನ౴ ҕਬػ ੉गܳ ೣԋ ೧Ѿ೧ աх
    ੉ग ࠁҊ ߂ ೧Ѿ

    View Slide

  29. ੉ۧѱ ೧ࠌणפ׮
    ৮߷ೠ ࣗ೐౟ਝযח হӝ ٸޙী ਤ੄ җ੿ٜ਷ ௬ܻ౭ ਬ૑ী ੓য ই઱ ઺ਃೠ ੗ܻܳ ର૑೤פ׮
    ੉ग ࠁҊ ߂ ೧Ѿ

    View Slide

  30. ੉ۧѱ ೧ࠌणפ׮
    ٮۄࢲ, ੉गܳ ܻನ౴ ೞחѪ ژೠ ࣗझ௏٘ ӝৈ ޅ૑ ঋѱ ઺ਃೠ ӝৈо ؼ ࣻ ੓णפ׮
    ੉ग ࠁҊ ߂ ೧Ѿ

    View Slide

  31. ੉ۧѱ ೧ࠌणפ׮
    ٮۄࢲ, ੉गܳ ܻನ౴ ೞחѪ ژೠ ࣗझ௏٘ ӝৈ ޅ૑ ঋѱ ઺ਃೠ ӝৈо ؼ ࣻ ੓णפ׮
    ژೠ, ؊ աইо ૒੽ ੉गܳ ೧Ѿೞח ӝৈח ؊਌ ੄޷੓ח ӝৈо ؼ ࣻо ੓णפ׮
    ੉ग ࠁҊ ߂ ೧Ѿ

    View Slide

  32. ੉ۧѱ ೧ࠌणפ׮
    ੉ग ࠁҊ ߂ ೧Ѿ : ࢎ۹ ࢎਊೞ؍ জী ߡӒо ߊѼغয ੉ग ࠁҊ. ୶റ ߡӒо ೧Ѿؽ

    View Slide

  33. ੉ۧѱ ೧ࠌणפ׮
    ੉ग ࠁҊ ߂ ೧Ѿ : ࢎ۹ ࢎਊೞ؍ জী ߡӒо ߊѼغয ੉ग ࠁҊ. ୶റ ߡӒо ೧Ѿؽ

    View Slide

  34. ੉ۧѱ ೧ࠌणפ׮
    ੉ग ࠁҊ ߂ ೧Ѿ : ࢎ۹ localstackী ߡӒо ߊѼغয ੉ग ࠁҊ. ୶റ ߡӒо ೧Ѿؽ

    View Slide

  35. ੉ۧѱ ೧ࠌणפ׮
    localstackী ߡӒо ߊѼغয ੉ग ࠁҊ. ୶റ ߡӒо ೧Ѿؽ
    ੉ग ࠁҊ ߂ ೧Ѿ : ࢎ۹

    View Slide

  36. ੉ۧѱ ೧ࠌणפ׮
    ޷૑ਗ ߡ੹ী ؀ೠ ݽഐೠ ী۞ ݫद૑ܳ ࠁҊ ೠ റ, ૒੽ ೧Ѿ
    ੉ग ࠁҊ ߂ ೧Ѿ : ࢎ۹

    View Slide

  37. ੉ۧѱ ೧ࠌणפ׮
    ోਸ ࢎਊೞ׮о ߡӒܳ ߊѼ೧ ੉गܳ ࠁҊೞҊ ೧Ѿ଼ਸ ӝৈ
    ੉ग ࠁҊ ߂ ೧Ѿ : ࢎ۹

    View Slide

  38. ੉ۧѱ ೧ࠌणפ׮
    ੉޷ ࠁҊػ ੉गী ؀೧ ೧Ѿ଼ਸ ઁद (р੽੸ ӝৈ)
    (CGO ۄ੉࠳۞ܻо ௼۽झ ஹ౵ੌغ૑ ঋ؍ ޙઁ)
    ੉ग ࠁҊ ߂ ೧Ѿ : ࢎ۹

    View Slide

  39. ੉ۧѱ ೧ࠌणפ׮
    ߣ৉
    ࣗझ௏٘о ইצ ޙࢲ(ച)ী ؀ೠ য়೑ࣗझ ӝৈۄҊ ࠅ ࣻ ੓णפ׮

    View Slide

  40. ੉ۧѱ ೧ࠌणפ׮
    ߣ৉
    ੉ ޙࢲ ղਊ ցޖ ҡଳ਷ؘ? ೠҴয ߡ੹੉ হҵ … ೠҴয۽ ߣ৉ ೧ࠁ੗!
    (ޙࢲ ߣ৉੄ ӏ஗ਸ ࣼ૑ೞҊ, ੉޷ ૓೯઺ੋ૑ী ؀ೠ ৈࠗب ੉गܳ ా೧ ౸ױೡ ࣻ ੓যঠೣ)

    View Slide

  41. ੉ۧѱ ೧ࠌणפ׮
    ߣ৉ : ࢎ۹ Git ౲ٜਸ ੿ܻ೧֬਷ ޙࢲܳ ߣ৉ೞৈ ਗ ੷੢ࣗী ߣ৉ࠄ ݂௼ ୶о

    View Slide

  42. ੉ۧѱ ೧ࠌणפ׮
    ߣ৉ : ࢎ۹ Python API ୓௼ܻझ౟ ޙࢲܳ ߣ৉ೞৈ ਗ ੷੢ࣗী ߣ৉ࠄ ݂௼ ୶о

    View Slide

  43. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    যڌѱ ࠁݶ о੢ औ૑݅ ೠಞਵ۽ח о੢ য۰਎ ࣻب ੓ח ࠗ࠙ੋ Ѫ эणפ׮

    View Slide

  44. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    যڌѱ ࠁݶ о੢ औ૑݅ ೠಞਵ۽ח о੢ য۰਎ ࣻب ੓ח ࠗ࠙ੋ Ѫ эणפ׮

    View Slide

  45. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    যڌѱ ࠁݶ о੢ औ૑݅ ೠಞਵ۽ח о੢ য۰਎ ࣻب ੓ח ࠗ࠙ੋ Ѫ эणפ׮
    ಣࣗী ೞҊ र঻؍ ೐۽ં౟ܳ द੘೧ࠇפ׮ (ই઱ औભ)

    View Slide

  46. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    ಣࣗী ೞҊ र঻؍ ೐۽ં౟ܳ द੘೧ࠇפ׮ (ই઱ औભ)
    ׮ܲ ѐߊ੗ٜ੉ যڌѱ ҙबਸ ыѱ ೡ Ѫੋо?
    (ౠ൤ ୊਺੉ۄݶ)
    যڌѱ ࠁݶ о੢ औ૑݅ ೠಞਵ۽ח о੢ য۰਎ ࣻب ੓ח ࠗ࠙ੋ Ѫ эणפ׮
    যڌѱ ਍৔ೞҊ, যڌѱ ҙܻೡ Ѫੋо?

    View Slide

  47. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    ׮ܲ ѐߊ੗ٜ੉ যڌѱ ҙबਸ ыѱ ೡ Ѫੋо?
    যڌѱ ਍৔ೞҊ, যڌѱ ҙܻೡ Ѫੋо?

    View Slide

  48. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    ೐۽ં౟ܳ ҕѐ ੷੢ࣗী ৢܻѱ غݶ न҃ॄঠ ೡ Ѫٜ੉ ݆ই૑ѱ ؾפ׮
    ׮ܲ ѐߊ੗ٜ੉ যڌѱ ҙबਸ ыѱ ೡ Ѫੋо? যڌѱ ҙܻೡ Ѫੋо?

    View Slide

  49. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    ௏٘ ௬ܻ౭ ழ޿ ҙܻ ೐۽ં౟ ҙܻ
    README
    ೐۽ં౟ܳ ҕѐ ੷੢ࣗী ৢܻѱ غݶ न҃ॄঠ ೡ Ѫٜ੉ ݆ই૑ѱ ؾפ׮
    ׮ܲ ѐߊ੗ٜ੉ যڌѱ ҙबਸ ыѱ ೡ Ѫੋо? যڌѱ ҙܻೡ Ѫੋо?

    View Slide

  50. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔
    ௏٘ ௬ܻ౭ ழ޿ ҙܻ ೐۽ં౟ ҙܻ
    README
    ೐۽ં౟੄ ୐ੋ࢚. ই઱ ઺ਃ
    ௏٘о ׮ ֢୹غӝী જ਷ ௏٘ܳ ૞۰Ҋ ֢۱ೞѱؽ
    ੜ উؼद ߡ੹/੉ग ౟ېఊ੉ য۰ਕ૗
    ۽٘ݗ / ӝৈ ӏ஗ / ѐߊ ੿଼ ١١

    View Slide

  51. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔ : ࢎ۹ GoReportCardۄח ࢲ࠺झ੄ Python ߡ੹ਸ ѐߊ઺

    View Slide

  52. ੉ۧѱ ೧ࠌणפ׮
    ૒੽ ਍৔ : ࢎ۹ ೙ਃী ੄ೠ CLI ో ѐߊ. ੉ߣূ ৻ࠗীࢲ PRب ૒੽ ߉ইࠆ

    View Slide

  53. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    (੤߀যࢲ..)

    View Slide

  54. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    о੢ ୐ߣ૩ ੉ਬח ੤޷ੋ Ѫ эणפ׮

    View Slide

  55. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    ࢎप ޖट ੌ੉ٚ ൜޷о হਵݶ ૑ࣘೞӝ য۵ભ

    View Slide

  56. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    Ӓۢ ੉۞ೠ ੤޷ܳ ઱ח ਃࣗ۽ח যڃѪٜ੉ ੓ਸ૑ ࢤп೧ࠌणפ׮

    View Slide

  57. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    ࢿ੢ ѐߊ੄ ੤޷
    ࡸ٠ೣ

    View Slide

  58. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    ࢿ੢ ѐߊ੄ ੤޷
    ࡸ٠ೣ
    PR զܻҊ Merge ؼ ٸ੄ ࡸ٠ೣ
    ߡӒ ܻನ౴ ೧઻ࢲ Ҋ݌׮ח ݈
    ӝৈ೧઻ࢲ Ҋ݌׮ח ݈
    ழޭפ౭ী ب਑੉ غҊ ੓ҳաೞח ו՝
    ղо ݅ٚѦ ־ҵо ॳҊ ੓ਸ ٸ੄ ࡸ٠ೣ

    View Slide

  59. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    ࢿ੢ ѐߊ੄ ੤޷
    ࡸ٠ೣ
    ௏٘ী ખ ؊ न҃ਸ ॶ ࣻ ੓׮ח੼
    ׮ܲ աۄ ࢎۈٜҗب ഈসਸ ೡ ࣻ ੓਺
    ׮ܲ ѐߊ੗੄ ௏٘ܳ ੍ח מ۱
    જ਷ ௏ٜ٘ਸ ੿݈ ݆੉ ࠆ

    View Slide

  60. ৵ য়೑ࣗझী दрਸ ࣗ࠺ೞחо?
    ࢿ੢ ѐߊ੄ ੤޷
    ࡸ٠ೣ
    ѐߊ਷ ਗې ੤߀णפ׮
    ೞҊर਷ ѐߊਸ ೞӝ ٸޙী Ӓۡ ࣻ ߆ী

    View Slide

  61. ׮਺ झయ਷ਃ ..
    (XX ஶ౟ܻ࠭ఠۄҊ ׼׼ೞѱ!)

    View Slide

  62. ׮਺ झయ਷ਃ
    ৈ۞ѐ੄ ੘਷ ೐۽ં౟ٜী ӝৈܳ ೧য়Ҍ ೮૑݅ ..

    View Slide

  63. ׮਺ झయ਷ਃ
    ೞա੄ য়೑ࣗझ ഑਷ ழޭפ౭ ࢤక҅ী Ө੉ ౵Ҋٚ੸਷ হणפ׮

    View Slide

  64. ׮਺ झయ਷ਃ
    ҙब ࠙ঠ੄ য়೑ࣗझ ழޭפ౭ীࢲ Բળೠ ഝزب ೧ࠁҊ रणפ׮
    ૑ࣘ੸ੋ ҙܻ
    ҙब ࠙ঠ ഝߊೠ ѐߊ ழޭפ౭ ࢤక҅

    View Slide

  65. ׮਺ झయ਷ਃ
    ա઺ূ ઑӘ ؊ Ө਷ য়೑ࣗझ ࣁ҅ী ؀೧ࢲ ফӝೡ ࣻ ੓ח զ੉ য়ӡ ..

    View Slide

  66. ݃ޖܻ
    (੿ܻܳ ೧ࠁݶ …)

    View Slide

  67. ݃ޖܻ
    ୐ द੘੉ য۵׮ݶ ޙࢲ ࣻ੿/ߣ৉੉ա ੘਷ ೐۽ં౟ী ؀ೠ ӝৈࠗఠ द੘ೞࣁਃ
    ࣗझ௏٘ ӝৈ݅ ӝৈੋ Ѫ਷ ইתפ׮. ׮নೠ ҃۽۽ ੽Ӕ೧ࠁࣁਃ
    ೐۽ં౟ܳ র૑۽ ࢶఖೞ૓ ݃ࣁਃ. ࠄੋ੉ ࢎਊೞҊ ੓ח ۄ੉࠳۞ܻ/ోب જणפ׮
    ѐߊ੉ ഝߊೠ ೐۽ં౟৬ ழޭפ౭ী ଵৈೞחѱ ੢ӝ੸ਵۿ જਸ Ѫ эणפ׮
    ࢎप ޖ঺ࠁ׮ ઺ਃೠѤ য়೑ࣗझ ѐߊী ؀ೠ ൜޷৬ ੄૑ੋ Ѫ эणפ׮

    View Slide

  68. хࢎ೤פ׮
    MinJae Kwon (@mingrammer)
    2018.02.23 Naver OpenSource Seminar

    View Slide