Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go言語による2年半の新規プロダクト開発とその総括
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
cowsys
July 03, 2018
17k
12
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Go言語による2年半の新規プロダクト開発とその総括
cowsys
July 03, 2018
More Decks by cowsys
See All by cowsys
20180302_酔いどれGCPUG_SearchAPIと、おれたち
cowsys
1
850
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Unsuck your backbone
ammeep
672
58k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
200
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.3k
Bash Introduction
62gerente
615
210k
A designer walks into a library…
pauljervisheath
211
24k
Optimizing for Happiness
mojombo
378
71k
Thoughts on Productivity
jonyablonski
76
5.2k
How GitHub (no longer) Works
holman
316
150k
Transcript
(PݴޠʹΑΔ ͷ৽نϓϩμΫτ։ൃͱ ͦͷ૯ׅ NFSDBSJHP DPXTZT
ࣗݾհ
ࣗݾհ *%DPXTZT ʙגࣜձࣾικ ϝϧΧϦΞοςαʔόαΠυΤϯδχΞ ʙגࣜձࣾϝϧϖΠ
ݸਓతͳςʔϚ w ৴༻Λͯ͠ɺͳΊ Β͔ͳࣾձΛΔˏϝ ϧϖΠ w ਓʑͷੜ׆Λม͑ΔΑ ͏ͳ৽نϓϩμΫτΛ ͭ͘Δ w
͍͍࣌ؒͷա͝͠ํΛ ͍ͨ͠ w ͍͍ࣄΛ͍ͨ͠ w (PͷύϫʔΛ༨͢ͱ͜Ζ ͳ͘ར༻Ͱ͖ΔΑ͏ʹͳ Δ w ($1ͷύϫʔΛ༨͢ͱ͜ Ζͳ͘ར༻Ͱ͖ΔΑ͏ʹ ͳΔ
ࠓ͓͢Δͱ͜Ζ
ࣗݾհ *%DPXTZT ʙגࣜձࣾικ ϝϧΧϦΞοςαʔόαΠυΤϯδχΞ ʙגࣜձࣾϝϧϖΠ ίίͷݟʂ
ϝϧΧϦΞος
ϝϧΧϦΞοςͱʁ w ϝϧΧϦάϧʔϓॳͱͳΔɺϝϧΧϦҎ֎ͷαʔϏε w $$ܥαʔϏε w ݄ࠒ͔Βߏελʔτ w ݄ɹϩʔϯν w
݄Ϋϩʔζ ެࣜϚείοτ χϟος ݘ
ϝϧΧϦΞοςͱʁ w ΤϯδχΞ ϦϙδτϦͷDPOUSJCVUPSϕʔε w αʔόαΠυΤϯδχΞ w J04ΤϯδχΞ w
"OESPJEΤϯδχΞ w ϑϩϯτΤϯυΤϯδχΞ
ϝϧΧϦΞοςͱʁ w ίʔυنɹͰɹɹ͔ɹɹ͍ w ૯13 w "1*$45PPM8FC w J04 w
"OEPSJE w ػೳͯΜ͜Γ w OBUJWFBQQͷελϯμʔυͳػೳҰࣜ w $$ ίϛϡχςΟ 2"
ϝϧΧϦΞοςͱʁ w ϩʔϯνલͷϲ݄લʹKPJO։ൃελʔτ w TU13͔Βϲ݄ޙ w શ͘ͷ(Pݴޠॳ৺ऀ w ׳Ε͠ΜͰ͖ͨݴޠ1)1 w
αʔόαΠυΤϯδχΞͱͯ͠ࢀՃ
͜ͷൃදͰ͓͍͑ͨ͜͠ͱ w શ͘ͷ(Pݴޠॳ৺ऀ͕ w ৽ن։ൃͰϓϩμΫτϦϦʔεલʙϓϩμΫτΫϩʔ ζ·Ͱͷͯ͠Έͯ w ࠷ऴతʹ(PݴޠΛͲ͏ଊ͍͑ͯΔͷ͔ʁ
͜ͷൃදͰ͓͍͑ͨ͜͠ͱ w શ͘ͷ(Pݴޠॳ৺ऀ͕ w ৽ن։ൃͰϓϩμΫτϦϦʔεલʙϓϩμΫτΫϩʔ ζ·Ͱͷͯ͠Έͯ w ࠷ऴతʹ(PݴޠΛͲ͏ଊ͍͑ͯΔͷ͔ʁ (Pݴޠͷ ϝονϟ೩͑Δ
ϙΠϯτબ
೩͑ΔϙΠϯτ TJNQMFͳݴޠ༷ࢥͰɺෳࡶͳΛղܾ͢Δ ίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτΛ ࠷େݶ׆༻ͨ͠ɺ࣮ೳྗͷFNQPXFSNFOU )JHI1FSGPSNBODFͳϓϩάϥϛϯά νʔϜ։ൃʹ͓͚Δ(Pݴޠ
TJNQMFͳ ݴޠ༷ࢥͰ ෳࡶͳΛղܾ͢Δ
ݴޠ༷ͷTJNQMF͞ w ݴޠ༷͕ͱͯബ͍ w ୯७ʹ֮͑Δ͜ͱ͕গͳ͔ͬͨҹ w QVSFͳϩδοΫͦͷͷʹ৮Ε͍ͯΔײ֮ w ॻ͖ຯ͕͍͍ λϥϥο
ಡΈ͍͢ w ಄ͷ$16ͷେ෦ΛϩδοΫهड़ʹ͗ࠐΊͯΔײ֮ w ֊తͳϩδοΫͷදݱ w JOUFSGBDFຒΊࠐΈΛར༻ͨ͠ബ͍ػߏΛͬͯදݱ w ಄ʹೖΕ͓͖ͯ͘ใ͕ίϯύΫτ
ফ
ΩϟονΞοϓ w ϓϩάϥϛϯάݴޠͷ ཧղ w ར༻͍ͯ͠Δ4FSWJDFͷ ཧղ ($1 %# FUD
w ΞʔΩςΫνϟཧղ w αʔϏεݻ༗ͷυϝΠ ϯࣝͷཧղ w Ϟμϯͳ࣮ํࣜཧղ
ΩϟονΞοϓ w ϓϩάϥϛϯάݴޠ w ར༻͍ͯ͠Δ4FSWJDFͷ ཧղ ($1 %# FUD w
ΞʔΩςΫνϟཧղ w αʔϏεݻ༗ͷυϝΠ ϯࣝͷཧղ w Ϟμϯ w w
ফ
ੵΈॏͶ w ඇৗʹʮੵΈॏͶʯ͕ޮ͘ϓϩάϥϛϯάݴޠ w ٸܹʹ࣮ํ͕ࣜมԽ͢ΔΠϝʔδ͕খ͍͞ w ৴པײͷ͋Δɺ༷ʑͳϢʔεέʔεʹରԠͨ͠ඪ४ϥ ΠϒϥϦ w ʮ۪ʹॻ͘ʯͱ͍͏Α͏ͳݴޠࢥ
w 㱺࣮ํ͕ࣜԽ͠ͳ͍Α͏ʹέΞ͞Ε͍ͯΔҹ
ੵΈॏͶ w ͕࣌ؒ͋Δͱ͖ɺ෮श͕ͯΒখ͍͞ίʔυΛॻ͍ͯ ΈΔ͜ͱ͕ଟ͘ͳͬͨ w ✅͑ΔπʔϧΩοτʹͳΔΑ͏ʹɺੵΈ ॏͶ͍͖͍ͯͨؾ͕࣋ͪڧ͍ w ✅ண࣮ʹੵΈॏͶ͍ͯͬͯɺΑΓෳࡶͳΛղ ܾͰ͖ΔΑ͏ʹͳΓ͍ͨ
ফ
ෳࡶͳΛղܾ͢Δ w (Pݴޠͷγϯϓϧͳݴޠ༷Λۦͯ͠ w ͲΕ͚ͩ෯͍ιϦϡʔγϣϯΛ࣮ݱͰ͖Δ͔ w ͲΕ͚ͩෳࡶͳΛղܾͰ͖Δ͔
ෳࡶͳΛղܾ͢Δ ྖҬͷ͞ SBOHF ྖҬͷਂ͞ EFQUI (Pݴޠ͕ΧόʔͰ͖Δ ྖҬ
ෳࡶͳΛղܾ͢Δ <ΤϯδχΞϦϯά͕ΧόʔͰ͖ΔྖҬ> J04 "OESPJE XFC αʔό αΠυ <σβΠϯ͕ΧόʔͰ͖Δ ྖҬ> <ϓϩμΫτϚωδϝϯτ
͕ΧόʔͰ͖ΔྖҬ> ϓϩμΫτͱͯ͠ ղܾ͍ͨ͠ྖҬ
ίϯϐϡʔλ ϦιʔεΛ ࠷େݶ׆༻ͨ͠ ࣮ೳྗͷ FNQPXFSNFOU
ϝϯλϧϞσϧͷมԽ w ʰίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτ ͱࣗࣗͷΞλϚͷ྆ํΛۦͯ͠Ξτϓοτ Λ࠷େԽ͍ͨ͠ʱ w ίϯϐϡʔλɺώτ͕ಘҙͳྖҬΛೝࣝͯ͠׆༻͢ Δ
ίϯϐϡʔλϦιʔεͷ׆༻ w ίϯύΠϧʹΑΔίʔσΟϯά߹ੑͷཪ͚ w ώτ͕߹ੑ͕୲อͰ͖͍ͯͳ͍෦Λ୳͞ͳ͍ɻίϯ ϐϡʔλʹ୳ͯ͠Β͏ w צҧ͍ɺؒҧ͍͕ࠞೖ͘͢͠ϋϚΔͱͱ͜ͱΜ࣌ؒΛϩ ετ w
(Pݴޠಛ༗ͷπʔϧΩοτͷ׆༻ w HPGNU HPJNQPSUT HPWFUͳͲͷίʔυϑΥʔϚολɺίʔ υνΣοΧFUDʜ
*%&Λ׆༻ͨ͠FNQPXFSNFOU w (P-BOE (P-BOE (P-BOE w ίϯύΠϧͷલஈͷνΣοΫػߏͱͯ͠ɺ*%&ͷߏจνΣοΫػೳΛར༻ w ίʔσΟϯάͷαΠΫϧΛΑΓ͘ɻίʔσΟϯάͷϦζϜ͕େ͖͘վળ w
*%&ͷ੩తղੳɺܕʹΑΔڧ͍߹ੑͷ׆༻ w ਖ਼͍͠είʔϓͷγϯϘϧݕࡧɻείʔϓΛݟޡΔ͜ͱ͕ͳ͍ w ϦϑΝΫλϦϯάɻਖ਼͍͠είʔϓͷɺਖ਼͍͠मਖ਼͕Մೳ w ৴པੑͷߴ͍ิ w ଟগͷ࣮εϐʔυϦζϜΛ٘ਜ਼ʹͯ͠Ͱɺ*%&ͷิʹҕͶΔ w ࢥ͍ग़͢λεΫʹ಄ͷ$16Λফඅͤ͞ͳ͍ w ؒҧ͍ͷࠞೖΛۃྗݮΒ͠ɺ࣮ϦζϜΛ҆ఆͤ͞ΔTQFFEVQ
ফ
ϋΠύϑΥʔϚϯεͳ ϓϩάϥϛϯάͷ ඞཁੑ
ϋΠύϑΥʔϚϯεϓϩάϥϛϯά w ϋΠύϑΥʔϚϯεϓϩάϥϛϯάͷඞཁੑʹ֮ ΊΔ w ͖͔͚ͬ w ݄ʹࣾ։࠵͞Εͨ %BWF$IFOFZ͞ ΜʹΑΔ(P5SBJOJOH
w )JHI1FSGPSNBODF(P
Ҿ༻ݩIUUQTHPUBMLTBQQTQPUDPNHJUIVCDPNEBWFDIFOFZIJHI QFSGPSNBODFHPXPSLTIPQIJHIQFSGPSNBODFHP XPSLTIPQTMJEF ϋΠύϑΥʔϚϯεϓϩάϥϛϯά
ϋΠύϑΥʔϚϯεϓϩάϥϛϯά w QPJOUT w ϋʔυΣΞͷੑೳ্ͷӄΓ͕ݱΕ࢝Ί͍ͯΔ w ࠓݱࡏͷϋʔυΣΞʹϚονͨ͠ϓϩάϥϛϯάํࣜʹγϑ τ͢Δඞཁੑ͕͋Δ w ϋʔυΣΞΛ׆༻͠ɺϋΠύϑΥʔϚϯεͳॲཧΛ࣮ݱ
w ϋΠύϑΥʔϚϯεΛग़ͨ͢Ίͷɺ͞·͟·ͳཁ݅Λຬͨ͢ϓ ϩάϥϛϯάݴޠΛར༻͢Δඞཁੑ w 㱺(Pݴޠ
ϋΠύϑΥʔϚϯεϓϩάϥϛϯά w ✅ೲಘײ͕ߴ͘ɺҙຯ߹͍͕େ͖͍ࣔࠦ w ✅αʔϏε͕ղܾ͢ΔྖҬʹΑͬͯɺඇৗʹ େ͖ͳՁΛͭ w গͣͭ͠ͰΑ͍͔Βɺʹ͚͍ͭͨ
νʔϜ։ൃʹ͓͚Δ (Pݴޠ
ΩϟονΞοϓ w ϓϩάϥϛϯάݴޠͷ ཧղ w ར༻͍ͯ͠Δ4FSWJDFͷ ཧղ ($1 %# FUD
w ΞʔΩςΫνϟཧղ w αʔϏεݻ༗ͷυϝΠ ϯࣝͷཧղ w Ϟμϯͳ࣮ํࣜཧղ
ΩϟονΞοϓ w ϓϩάϥϛϯάݴޠ w ར༻͍ͯ͠Δ4FSWJDFͷ ཧղ ($1 %# FUD w
ΞʔΩςΫνϟཧղ w αʔϏεݻ༗ͷυϝΠ ϯࣝͷཧղ w Ϟμϯ w w
ফ
ϒϨͷͳ͍ೝࣝ౷Ұ w ܕγεςϜʹཪ͚͞Εͨڧݻͳ*' w ίϯύΠϧ͕௨͍ͬͯΔݶΓɺίʔσΟϯά্ͷέΞϨεϛε ࠞೖ͠ͳ͍ w JOPVUQBSBN͕໌֬ w ֤छQBSBNΛௐΔඞཁͳ͍
w ࢀরཁૉ͕ଟ͚Εଟ͍΄ͲɺνʔϜͰڧݻͳೝࣝ౷Ұ͕Ͱ͖Δ ͷͰ͔͍ w ਓͷೝࣝΛҰͭʹ͋ΘͤΔͷຊʹқ͕ߴ͍ͷͰɺͰ͔͍
ফ
ͦͷଞ w ϓϩμΫτUFBNͱͯ͠ߋͳΔΞτϓοτΛग़͢ w ফͤͣʹ͑Δ͜ͱ͕Ͱ͖ͨूதྗΛͬͯ w અͰ͖ͨ࣌ؒΛͬͯ w ·ͩ·ͩνʔϜ։ൃʹ͓͚ΔϝϦοτ׆༻ํ๏͋Γͦ͏ w
✅୯ʹݟ͍ͩͤͯͳ͍͚ͩ w ✅ਂ۷Γͯ͠ݟ͚͍ͭͨ
·ͱΊ
͜ͷൃදͰ͓͍͑ͨ͜͠ͱ w શ͘ͷ(Pݴޠॳ৺ऀ͕ w ৽ن։ൃͰϓϩμΫτϦϦʔεલʙϓϩμΫτΫϩʔ ζ·Ͱͷͯ͠Έͯ w ࠷ऴతʹ(PݴޠΛͲ͏ଊ͍͑ͯΔͷ͔ʁ (Pݴޠͷ ϝονϟ೩͑Δ
ϙΠϯτબ
೩͑ΔϙΠϯτ TJNQMFͳݴޠ༷ࢥͰɺෳࡶͳΛղܾ͢Δ ίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτΛ ࠷େݶ׆༻࣮ͨ͠ೳྗͷFNQPXFSNFOU )JHI1FSGPSNBODFͳϓϩάϥϛϯά νʔϜ։ൃʹ͓͚Δ(Pݴޠ
ΤϯδχΞͳΒ೩͑ΔςʔϚͷͣ TJNQMFͳݴޠ༷ࢥͰɺෳࡶͳΛղܾ͢Δ ίϯϐϡʔλϦιʔεɾ(PݴޠͷπʔϧΩοτΛ ࠷େݶ׆༻࣮ͨ͠ೳྗͷFNQPXFSNFOU )JHI1FSGPSNBODFͳϓϩάϥϛϯά νʔϜ։ൃʹ͓͚Δ(Pݴޠ
ࠎͷ͋Δଟ͘ͷςʔϚ ϓϩάϥϛϯάϝϯλϧϞσϧͷ ϙδςΟϒͳӨڹ ফগͳ͘ΞτϓοτΛग़͢
ॳ৺ऀ͔ΒͷελʔτͰ͕ͨ͠ (PݴޠɺͱͯΑ͔ͬͨͧ
࠙ձͰ ͓͠͠·͠ΐ͏ʂ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠