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
cowsys
July 03, 2018
12
17k
Go言語による2年半の新規プロダクト開発とその総括
cowsys
July 03, 2018
Tweet
Share
More Decks by cowsys
See All by cowsys
20180302_酔いどれGCPUG_SearchAPIと、おれたち
cowsys
1
840
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
A better future with KSS
kneath
240
18k
How to Ace a Technical Interview
jacobian
281
24k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
54
48k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
720
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Claude Code のすすめ
schroneko
67
210k
Fireside Chat
paigeccino
41
3.8k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
The untapped power of vector embeddings
frankvandijk
1
1.5k
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ݴޠɺͱͯΑ͔ͬͨͧ
࠙ձͰ ͓͠͠·͠ΐ͏ʂ ͋Γ͕ͱ͏ ͍͟͝·ͨ͠