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

Go言語による2年半の新規プロダクト開発とその総括

cowsys
July 03, 2018
16k

 Go言語による2年半の新規プロダクト開発とその総括

cowsys

July 03, 2018
Tweet

Transcript

  1. (PݴޠʹΑΔ
    ೥൒ͷ৽نϓϩμΫτ։ൃͱ
    ͦͷ૯ׅ
    NFSDBSJHP
    DPXTZT

    View Slide

  2. ࣗݾ঺հ

    View Slide

  3. ࣗݾ঺հ
    *%DPXTZT
    ʙגࣜձࣾι΢κ΢
    ϝϧΧϦΞοςαʔόαΠυΤϯδχΞ
    ʙגࣜձࣾϝϧϖΠ

    View Slide

  4. ݸਓతͳςʔϚ
    w ৴༻Λ૑଄ͯ͠ɺͳΊ
    Β͔ͳࣾձΛ૑Δˏϝ
    ϧϖΠ
    w ਓʑͷੜ׆Λม͑ΔΑ
    ͏ͳ৽نϓϩμΫτΛ
    ͭ͘Δ
    w ͍͍࣌ؒͷա͝͠ํΛ
    ͍ͨ͠
    w ͍͍࢓ࣄΛ͍ͨ͠
    w (PͷύϫʔΛ༨͢ͱ͜Ζ
    ͳ͘ར༻Ͱ͖ΔΑ͏ʹͳ
    Δ
    w ($1ͷύϫʔΛ༨͢ͱ͜
    Ζͳ͘ར༻Ͱ͖ΔΑ͏ʹ
    ͳΔ

    View Slide

  5. ࠓ೔͓࿩͢Δͱ͜Ζ

    View Slide

  6. ࣗݾ঺հ
    *%DPXTZT
    ʙגࣜձࣾι΢κ΢
    ϝϧΧϦΞοςαʔόαΠυΤϯδχΞ
    ʙגࣜձࣾϝϧϖΠ
    ίίͷ஌ݟʂ

    View Slide

  7. ϝϧΧϦΞος

    View Slide

  8. ϝϧΧϦΞοςͱ͸ʁ
    w ϝϧΧϦάϧʔϓॳͱͳΔɺϝϧΧϦҎ֎ͷαʔϏε
    w $$ܥαʔϏε
    w ೥݄ࠒ͔Βߏ૝ελʔτ
    w ೥݄ɹϩʔϯν
    w ೥݄຤Ϋϩʔζ
    ެࣜϚείοτ
    χϟος ݘ

    View Slide

  9. ϝϧΧϦΞοςͱ͸ʁ
    w ΤϯδχΞ ϦϙδτϦͷDPOUSJCVUPSϕʔε

    w αʔόαΠυΤϯδχΞ
    w J04ΤϯδχΞ
    w "OESPJEΤϯδχΞ
    w ϑϩϯτΤϯυΤϯδχΞ

    View Slide

  10. ϝϧΧϦΞοςͱ͸ʁ
    w ίʔυن໛ɹͰɹɹ͔ɹɹ͍
    w ૯13਺
    w "1*$45PPM8FC
    w J04
    w "OEPSJE
    w ػೳͯΜ͜੝Γ
    w OBUJWFBQQͷελϯμʔυͳػೳҰࣜ
    w $$ ίϛϡχςΟ 2"

    View Slide

  11. ϝϧΧϦΞοςͱ͸ʁ
    w ϩʔϯνલͷ໿ϲ݄લʹKPJO։ൃελʔτ
    w TU13͔Β໿ϲ݄ޙ
    w શ͘ͷ(Pݴޠॳ৺ऀ
    w ׳Ε਌͠ΜͰ͖ͨݴޠ͸1)1
    w ໿೥൒αʔόαΠυΤϯδχΞͱͯ͠ࢀՃ

    View Slide

  12. ͜ͷൃදͰ͓఻͍͑ͨ͜͠ͱ
    w શ͘ͷ(Pݴޠॳ৺ऀ͕
    w ৽ن։ൃͰϓϩμΫτϦϦʔεલʙϓϩμΫτΫϩʔ
    ζ·Ͱͷ೥൒ͯ͠Έͯ
    w ࠷ऴతʹ(PݴޠΛͲ͏ଊ͍͑ͯΔͷ͔ʁ

    View Slide

  13. ͜ͷൃදͰ͓఻͍͑ͨ͜͠ͱ
    w શ͘ͷ(Pݴޠॳ৺ऀ͕
    w ৽ن։ൃͰϓϩμΫτϦϦʔεલʙϓϩμΫτΫϩʔ
    ζ·Ͱͷ೥൒ͯ͠Έͯ
    w ࠷ऴతʹ(PݴޠΛͲ͏ଊ͍͑ͯΔͷ͔ʁ
    (Pݴޠͷ
    ϝονϟ೩͑Δ
    ϙΠϯτબ

    View Slide

  14. ೩͑ΔϙΠϯτ
    TJNQMFͳݴޠ࢓༷ࢥ૝Ͱɺෳࡶͳ໰୊Λղܾ͢Δ
    ίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτΛ
    ࠷େݶ׆༻ͨ͠ɺ࣮૷ೳྗͷFNQPXFSNFOU
    )JHI1FSGPSNBODFͳϓϩάϥϛϯά
    νʔϜ։ൃʹ͓͚Δ(Pݴޠ

    View Slide

  15. TJNQMFͳ
    ݴޠ࢓༷ࢥ૝Ͱ
    ෳࡶͳ໰୊Λղܾ͢Δ

    View Slide

  16. ݴޠ࢓༷ͷTJNQMF͞
    w ݴޠ࢓༷͕ͱͯ΋ബ͍
    w ୯७ʹ֮͑Δ͜ͱ͕গͳ͔ͬͨҹ৅
    w QVSFͳϩδοΫͦͷ΋ͷʹ৮Ε͍ͯΔײ֮
    w ॻ͖ຯ͕͍͍ λϥϥο
    ಡΈ΍͍͢
    w ಄ͷ$16ͷେ෦෼ΛϩδοΫهड़ʹ஫͗ࠐΊͯΔײ֮
    w ֊૚తͳϩδοΫͷදݱ
    w JOUFSGBDFຒΊࠐΈΛར༻ͨ͠ബ͍ػߏΛ΋ͬͯදݱ
    w ಄ʹೖΕ͓ͯ͘΂͖৘ใ͕ίϯύΫτ

    View Slide

  17. ফ໣

    View Slide

  18. ΩϟονΞοϓ
    w ϓϩάϥϛϯάݴޠͷ
    ཧղ
    w ར༻͍ͯ͠Δ4FSWJDFͷ
    ཧղ ($1 %# FUD

    w ΞʔΩςΫνϟཧղ
    w αʔϏεݻ༗ͷυϝΠ
    ϯ஌ࣝͷཧղ
    w Ϟμϯͳ࣮૷ํࣜཧղ

    View Slide

  19. ΩϟονΞοϓ
    w ϓϩάϥϛϯάݴޠ
    w ར༻͍ͯ͠Δ4FSWJDFͷ
    ཧղ ($1 %# FUD

    w ΞʔΩςΫνϟཧղ
    w αʔϏεݻ༗ͷυϝΠ
    ϯ஌ࣝͷཧղ
    w Ϟμϯ
    w
    w

    View Slide

  20. ফ໣

    View Slide

  21. ੵΈॏͶ
    w ඇৗʹʮੵΈॏͶʯ͕ޮ͘ϓϩάϥϛϯάݴޠ
    w ٸܹʹ࣮૷ํ͕ࣜมԽ͢ΔΠϝʔδ͕খ͍͞
    w ৴པײͷ͋Δɺ༷ʑͳϢʔεέʔεʹରԠͨ͠ඪ४ϥ
    ΠϒϥϦ
    w ʮ۪௚ʹॻ͘ʯͱ͍͏Α͏ͳݴޠࢥ૝
    w 㱺࣮૷ํ͕ࣜ௠෗Խ͠ͳ͍Α͏ʹέΞ͞Ε͍ͯΔҹ৅

    View Slide

  22. ੵΈॏͶ
    w ͕࣌ؒ͋Δͱ͖ɺ෮श͕ͯΒখ͍͞ίʔυΛॻ͍ͯ
    ΈΔ͜ͱ͕ଟ͘ͳͬͨ
    w ✅೥࢖͑ΔπʔϧΩοτʹͳΔΑ͏ʹɺੵΈ
    ॏͶ͍͖͍ͯͨؾ͕࣋ͪڧ͍
    w ✅ண࣮ʹੵΈॏͶ͍ͯͬͯɺΑΓෳࡶͳ໰୊Λղ
    ܾͰ͖ΔΑ͏ʹͳΓ͍ͨ

    View Slide

  23. ফ໣

    View Slide

  24. ෳࡶͳ໰୊Λղܾ͢Δ
    w (Pݴޠͷγϯϓϧͳݴޠ࢓༷Λۦ࢖ͯ͠
    w ͲΕ͚ͩ෯޿͍ιϦϡʔγϣϯΛ࣮ݱͰ͖Δ͔
    w ͲΕ͚ͩෳࡶͳ໰୊ΛղܾͰ͖Δ͔

    View Slide

  25. ෳࡶͳ໰୊Λղܾ͢Δ
    ໰୊ྖҬͷ޿͞
    SBOHF

    ໰୊ྖҬͷਂ͞
    EFQUI

    (Pݴޠ͕ΧόʔͰ͖Δ
    ໰୊ྖҬ

    View Slide

  26. ෳࡶͳ໰୊Λղܾ͢Δ
    <ΤϯδχΞϦϯά͕ΧόʔͰ͖Δ໰୊ྖҬ>
    J04 "OESPJE XFC
    αʔό
    αΠυ
    <σβΠϯ͕ΧόʔͰ͖Δ
    ໰୊ྖҬ>
    <ϓϩμΫτϚωδϝϯτ
    ͕ΧόʔͰ͖Δ໰୊ྖҬ>
    ϓϩμΫτͱͯ͠
    ղܾ͍ͨ͠໰୊ྖҬ

    View Slide

  27. ίϯϐϡʔλ
    ϦιʔεΛ
    ࠷େݶ׆༻ͨ͠
    ࣮૷ೳྗͷ
    FNQPXFSNFOU

    View Slide

  28. ϝϯλϧϞσϧͷมԽ
    w ʰίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτ
    ͱࣗ෼ࣗ਎ͷΞλϚͷ྆ํΛۦ࢖ͯ͠Ξ΢τϓοτ
    Λ࠷େԽ͍ͨ͠ʱ
    w ίϯϐϡʔλɺώτ͕ಘҙͳྖҬΛೝࣝͯ͠׆༻͢
    Δ

    View Slide

  29. ίϯϐϡʔλϦιʔεͷ׆༻
    w ίϯύΠϧʹΑΔίʔσΟϯά੔߹ੑͷཪ෇͚
    w ώτ͕੔߹ੑ͕୲อͰ͖͍ͯͳ͍෦෼Λ୳͞ͳ͍ɻίϯ
    ϐϡʔλʹ୳ͯ͠΋Β͏
    w צҧ͍ɺؒҧ͍͕ࠞೖ͠΍͘͢ϋϚΔͱͱ͜ͱΜ࣌ؒΛϩ
    ετ
    w (Pݴޠಛ༗ͷπʔϧΩοτͷ׆༻
    w HPGNU HPJNQPSUT HPWFUͳͲͷίʔυϑΥʔϚολɺίʔ
    υνΣοΧFUDʜ

    View Slide

  30. *%&Λ׆༻ͨ͠FNQPXFSNFOU
    w (P-BOE (P-BOE (P-BOE
    w ίϯύΠϧͷલஈͷνΣοΫػߏͱͯ͠ɺ*%&ͷߏจνΣοΫػೳΛར༻
    w ίʔσΟϯάͷαΠΫϧΛΑΓ୹͘ɻίʔσΟϯάͷϦζϜ͕େ͖͘վળ
    w *%&ͷ੩తղੳɺܕʹΑΔڧ͍੔߹ੑͷ׆༻
    w ਖ਼͍͠είʔϓͷγϯϘϧݕࡧɻείʔϓΛݟޡΔ͜ͱ͕ͳ͍
    w ϦϑΝΫλϦϯάɻਖ਼͍͠είʔϓͷɺਖ਼͍͠मਖ਼͕Մೳ
    w ৴པੑͷߴ͍ิ׬
    w ଟগͷ࣮૷εϐʔυϦζϜΛ٘ਜ਼ʹͯ͠Ͱ΋ɺ*%&ͷิ׬ʹҕͶΔ
    w ࢥ͍ग़͢λεΫʹ಄ͷ$16Λফඅͤ͞ͳ͍
    w ؒҧ͍ͷࠞೖΛۃྗݮΒ͠ɺ࣮૷ϦζϜΛ҆ఆͤ͞ΔTQFFEVQ

    View Slide

  31. ফ໣

    View Slide

  32. ϋΠύϑΥʔϚϯεͳ
    ϓϩάϥϛϯάͷ
    ඞཁੑ

    View Slide

  33. ϋΠύϑΥʔϚϯεϓϩάϥϛϯά
    w ϋΠύϑΥʔϚϯεϓϩάϥϛϯάͷඞཁੑʹ໨֮
    ΊΔ
    w ͖͔͚ͬ
    w ݄ʹࣾ಺։࠵͞Εͨ %BWF$IFOFZ͞
    ΜʹΑΔ(P5SBJOJOH
    w )JHI1FSGPSNBODF(P

    View Slide

  34. Ҿ༻ݩIUUQTHPUBMLTBQQTQPUDPNHJUIVCDPNEBWFDIFOFZIJHI
    QFSGPSNBODFHPXPSLTIPQIJHIQFSGPSNBODFHP
    XPSLTIPQTMJEF
    ϋΠύϑΥʔϚϯεϓϩάϥϛϯά

    View Slide

  35. ϋΠύϑΥʔϚϯεϓϩάϥϛϯά
    w QPJOUT
    w ϋʔυ΢ΣΞͷੑೳ޲্ͷӄΓ͕ݱΕ࢝Ί͍ͯΔ
    w ࠓݱࡏͷϋʔυ΢ΣΞʹϚονͨ͠ϓϩάϥϛϯάํࣜʹγϑ
    τ͢Δඞཁੑ͕͋Δ
    w ϋʔυ΢ΣΞΛ׆༻͠ɺϋΠύϑΥʔϚϯεͳॲཧΛ࣮ݱ
    w ϋΠύϑΥʔϚϯεΛग़ͨ͢Ίͷɺ͞·͟·ͳཁ݅Λຬͨ͢ϓ
    ϩάϥϛϯάݴޠΛར༻͢Δඞཁੑ
    w 㱺(Pݴޠ

    View Slide

  36. ϋΠύϑΥʔϚϯεϓϩάϥϛϯά
    w ✅ೲಘײ͕ߴ͘ɺҙຯ߹͍͕େ͖͍ࣔࠦ
    w ✅αʔϏε͕ղܾ͢Δ໰୊ྖҬʹΑͬͯ͸ɺඇৗʹ
    େ͖ͳՁ஋Λ΋ͭ
    w গͣͭ͠Ͱ΋Α͍͔Βɺ਎ʹ͚͍ͭͨ

    View Slide

  37. νʔϜ։ൃʹ͓͚Δ
    (Pݴޠ

    View Slide

  38. ΩϟονΞοϓ
    w ϓϩάϥϛϯάݴޠͷ
    ཧղ
    w ར༻͍ͯ͠Δ4FSWJDFͷ
    ཧղ ($1 %# FUD

    w ΞʔΩςΫνϟཧղ
    w αʔϏεݻ༗ͷυϝΠ
    ϯ஌ࣝͷཧղ
    w Ϟμϯͳ࣮૷ํࣜཧղ

    View Slide

  39. ΩϟονΞοϓ
    w ϓϩάϥϛϯάݴޠ
    w ར༻͍ͯ͠Δ4FSWJDFͷ
    ཧղ ($1 %# FUD

    w ΞʔΩςΫνϟཧղ
    w αʔϏεݻ༗ͷυϝΠ
    ϯ஌ࣝͷཧղ
    w Ϟμϯ
    w
    w

    View Slide

  40. ফ໣

    View Slide

  41. ϒϨͷͳ͍ೝࣝ౷Ұ
    w ܕγεςϜʹཪ෇͚͞Εͨڧݻͳ*'
    w ίϯύΠϧ͕௨͍ͬͯΔݶΓɺίʔσΟϯά্ͷέΞϨεϛε͸
    ࠞೖ͠ͳ͍
    w JOPVUQBSBN͕໌֬
    w ֤छQBSBNΛௐ΂Δඞཁ΋ͳ͍
    w ࢀরཁૉ͕ଟ͚Ε͹ଟ͍΄ͲɺνʔϜ಺Ͱڧݻͳೝࣝ౷Ұ͕Ͱ͖Δ
    ͷ͸Ͱ͔͍
    w ਓͷೝࣝΛҰͭʹ͋ΘͤΔͷ͸ຊ౰ʹ೉қ౓͕ߴ͍ͷͰɺͰ͔͍

    View Slide

  42. ফ໣

    View Slide

  43. ͦͷଞ
    w ϓϩμΫτUFBNͱͯ͠ߋͳΔΞ΢τϓοτΛग़͢
    w ফ໣ͤͣʹ஝͑Δ͜ͱ͕Ͱ͖ͨूதྗΛ࢖ͬͯ
    w અ໿Ͱ͖ͨ࣌ؒΛ࢖ͬͯ
    w ·ͩ·ͩνʔϜ։ൃʹ͓͚ΔϝϦοτ׆༻ํ๏͋Γͦ͏
    w ✅୯ʹݟ͍ͩͤͯͳ͍͚ͩ
    w ✅ਂ۷Γͯ͠ݟ͚͍ͭͨ

    View Slide

  44. ·ͱΊ

    View Slide

  45. ͜ͷൃදͰ͓఻͍͑ͨ͜͠ͱ
    w શ͘ͷ(Pݴޠॳ৺ऀ͕
    w ৽ن։ൃͰϓϩμΫτϦϦʔεલʙϓϩμΫτΫϩʔ
    ζ·Ͱͷ೥൒ͯ͠Έͯ
    w ࠷ऴతʹ(PݴޠΛͲ͏ଊ͍͑ͯΔͷ͔ʁ
    (Pݴޠͷ
    ϝονϟ೩͑Δ
    ϙΠϯτબ

    View Slide

  46. ೩͑ΔϙΠϯτ
    TJNQMFͳݴޠ࢓༷ࢥ૝Ͱɺෳࡶͳ໰୊Λղܾ͢Δ
    ίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτΛ
    ࠷େݶ׆༻࣮ͨ͠૷ೳྗͷFNQPXFSNFOU
    )JHI1FSGPSNBODFͳϓϩάϥϛϯά
    νʔϜ։ൃʹ͓͚Δ(Pݴޠ

    View Slide

  47. ΤϯδχΞͳΒ೩͑ΔςʔϚͷ͸ͣ
    TJNQMFͳݴޠ࢓༷ࢥ૝Ͱɺෳࡶͳ໰୊Λղܾ͢Δ
    ίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτΛ
    ࠷େݶ׆༻࣮ͨ͠૷ೳྗͷFNQPXFSNFOU
    )JHI1FSGPSNBODFͳϓϩάϥϛϯά
    νʔϜ։ൃʹ͓͚Δ(Pݴޠ




    View Slide

  48. ࠎͷ͋Δଟ͘ͷςʔϚ
    ϓϩάϥϛϯάϝϯλϧϞσϧ΁ͷ
    ϙδςΟϒͳӨڹ
    ফ໣গͳ͘Ξ΢τϓοτΛग़͢

    View Slide

  49. ॳ৺ऀ͔ΒͷελʔτͰ͕ͨ͠
    (Pݴޠɺͱͯ΋Α͔ͬͨͧ

    View Slide

  50. ࠙਌ձͰ
    ͓࿩͠͠·͠ΐ͏ʂ
    ͋Γ͕ͱ͏
    ͍͟͝·ͨ͠

    View Slide