Server Side Engineer
@sonatard
• University
• Linux Server and Network Engineer
• Canon
• Develop Wireless LAN Module Simulator with SystemC
• Develop TCP/IP protocol stack on RTOS
• Go in my free time from 2014
• Mercari/Souzoh
• Google App Engine Go Engineer
• Mercari Atte
• Next Currency
• Google App Engine Go Engineer
Slide 3
Slide 3 text
3
ຊ
w ϒϩοΫνΣʔϯɺ(Pɺ(PPHMF$MPVE1MBUGPSNͷΤϯδχΞ͕૿͑ͯ͘ΕΔΑ͏पล
ٕज़Λհ͍ͨ͠ͱࢥ͍·͢ʂ
Slide 4
Slide 4 text
• Ծ ௨ ՟ औ Ҿ ॴ ͱ प ล ٕ ज़
• Ծ ௨ ՟ ͱ G o
• N e x t C u r r e n c y ͱ G A E / G o
Slide 5
Slide 5 text
5
Ծ௨՟औҾॴͱपลٕज़
w ϒϩοΫνΣʔϯ
w ࢄܕாٕज़
w औҾཤྺΛ·ͱΊͨϒϩοΫΛܨ͍Ͱߏ͞Ε͍ͯΔ
w ඇதԝूݖ
w தԝूݖ৫͕ใΛಠ͠ͳ͍ͨΊɺࣗ༝ʹΞϓϦέʔγϣϯΛ։ൃͰ͖Δ
ϒϩοΫ
औҾ
औҾ
औҾ
લϒϩοΫͷϋογϡ
Slide 6
Slide 6 text
6
Ծ௨՟औҾॴͱपลٕज़
w ϒϩοΫνΣʔϯΛཧ͢Δϊʔυ ΫϥΠΞϯτ
w ֤ϊʔυ͕ϒϩοΫνΣʔϯΛෳͨ͠ͷΛอ͍࣋ͯ͠Δ
w ৽͍͠ใϒϩʔυΩϟετ͞Εͯਵ࣌11ϊʔυʹߋ৽͞ΕΔ
w ϊʔυҰൠతͳαʔόͷ্Ͱಈ࡞͢Δ
Slide 7
Slide 7 text
7
Ծ௨՟औҾॴͱपลٕज़
w ϊʔυͷ࣮
w Ծ௨՟ͷछྨʹΑ࣮ͬͯ͞Ε͍ͯΔݴޠҟͳΔ
w #JUDPJOܥɹ #5$
-5$
.0/"ͳͲ
w CUDE ެࣜ
ˠ$
w CJUDPOJEˠ(P
w #JUDPJOͷ৽ϓϩτίϧ-JHIUJOH/FUXPSL
w MOE ެࣜ
ˠ(P
w &UIFSFVNܥ &5)
0.(ͳͲଟ͘ͷ௨՟
w HFUI ެࣜ
ˠ(P
w %"114ˠ4PMJEJUZPS7JQFS %"114ઐ༻ݴޠ
w &UIFSFVN্Ͱಈ࡞͢ΔࢄΞϓϦέʔγϣϯ
w ଞͷݴޠ͔Β4PMJEJUZͷτϥϯείϯύΠϧݕ౼͞Ε͍ͯΔ
Slide 8
Slide 8 text
8
Ծ௨՟औҾॴͱपลٕज़
w Ծ௨՟औҾॴ
w தԝूݖ
w Ұൠతͳ8FCΞϓϦέʔγϣϯ
w αʔόɺΫϥΠΞϯτ
w ίΠϯνΣοΫ
ϏοτϑϥΠϠʔɺ#JOBODFɺ#JUUSFYͳͲ
w ΥϨοτͷൿີ伴ɺऔҾॴ͕ཧ͢Δ
w ࢄܕऔҾॴ %&9
%FDFOUSBMJ[FE&9DIBOHF
w ඇதԝूݖ
w ϒϩοΫνΣʔϯΞϓϦέʔγϣϯ
w Yɺ,ZCFS/FUXPSL
w ΥϨοτͷൿີ伴ɺϢʔβ͕ཧ͢Δ
Slide 9
Slide 9 text
9
Ծ௨՟औҾॴͱपลٕज़
w Ծ௨՟औҾॴͷ࣮
w Ұൠతͳ8FCΞϓϦέʔγϣϯͷͨΊɺऔҾॴʹΑ࣮ͬͯݴޠҟͳΔ
w DPJOUBQˠ(P
w ϏοτϑϥΠϠʔˠ$
w ίΠϯνΣοΫˠ3VCZPO3BJMT
w #JOBODFˠ+BWB
Slide 10
Slide 10 text
10
Ծ௨՟औҾॴͱपลٕज़
w ΥϨοτ
w Ծ௨՟Λཧ͢Δ
w ൿີ伴Ͱૹ͕ۚՄೳ
w ΥϨοτͷछྨ
w ϗοτΥϨοτ
w ίʔϧυΥϨοτ
Slide 11
Slide 11 text
11
Ծ௨՟औҾॴͱपลٕज़
w ΥϨοτͷछྨ
w ϗοτΥϨοτ
w Πϯλʔωοτʹଓ͞ΕͨΛར༻ͨ͠ΥϨοτ
w ൿີ伴͕Ұॹʹཧ͞Ε͍ͯΔ
w ֎෦ͷૹ͕ۚଈ࣌ʹՄೳ Ϣʔβͷଈ࣌ग़ۚͷͨΊʹආ͚ΒΕͳ͍
w ͕ΫϥοΫ͞ΕΔͱൿີ伴͕౪ʹ͍͋ɺࢿ࢈Λͯ͢౪·ΕΔϦεΫ
w ίʔϧυΥϨοτ
w Πϯλʔωοτʹଓ͞Ε͍ͯͳ͍ΥϨοτ
w ૹۚ͢ΔͨΊʹ1$ʹଓͯ͠τϥϯβΫγϣϯΛ࡞ޙɺτϥϯβΫγϣϯ͚ͩΛϒϩʔ
υΩϟετ͢Δ͜ͱͰૹۚΛ࣮ݱ͢Δ
w ख࡞ۀʹΑΔΦϖϨʔγϣϯ͕ඞਢʹͳΔͨΊɺऔҾॴΛར༻͢ΔϢʔβଈ࣌ʹૹ͕ۚͰ
͖ͳ͍
w ཧతʹ౪·Εͳ͍ݶΓ౪ʹ͋͏͜ͱͳ͍
Slide 12
Slide 12 text
12
Ծ௨՟औҾॴͱपลٕज़
w ΥϨοτͷ࣮
w CUDEˠ$
w CJUDPJOEˠ(P
w HFUIˠ(P
w &MFDUSVNˠ1ZUIPO
w 1BSJUZˠ3VTU
w #SFBE8BMMFU$PSFˠ$
w J04൛4XJGU
w "OEPJSE൛+BWB
w $PQBZˠ+BWBTDSJQU
Slide 13
Slide 13 text
13
Ծ௨՟औҾॴͱपลٕज़
w Ծ௨՟औҾॴ
w ϒϩοΫνΣʔϯ
w ΥϨοτ
8FCαʔό %#
ΞϓϦ
8FC
ϗοτΥϨοτ ϒϩοΫνΣʔϯ
ίʔϧυ
ΥϨοτ
Slide 14
Slide 14 text
• Ծ ௨ ՟ औ Ҿ ॴ ͱ प ล ٕ ज़
• Ծ ௨ ՟ ͱ G o
• N e x t C u r r e n c y ͱ G A E / G o
Slide 15
Slide 15 text
15
Ծ௨՟ͱ(P
w ͳͥԾ௨՟ք۾ͷ࣮(P͕ଟ͍ͷ͔ʁ
w جຊจ๏͕γϯϓϧ
w ࡉ͔͍ॻ͖ํͷٞʹͳΒͳ͍
w ։ൃऀͷֶश͕༰қ
w ϝϯςφϯε͍͢͠
w ύϑΥʔϚϯε
w ૉʹॻ͚ͩ͘ͰेͳύϑΥʔϚϯε͕ग़Δ
w ฒྻॲཧͷ࣮͕༰қ
w HPSPVUJOF
DIBOOFM
w ॆ࣮ͨ͠ඪ४ϥΠϒϥϦ
w OFUIUUQ
DSZQUPʜ
w ॆ࣮ͨ͠ඪ४πʔϧ
w HPGNU
HPJNQPSUT
EFQ
HPMJOU
HPWFU
Slide 16
Slide 16 text
• Ծ ௨ ՟ औ Ҿ ॴ ͱ प ล ٕ ज़
• Ծ ௨ ՟ ͱ G o
• N e x t C u r r e n c y ͱ G A E / G o
Slide 17
Slide 17 text
17
/FYU$VSSFODZͱ("&(P
ελʔτΞοϓ
ΤϯδχΞ͕গͳ͍
Slide 18
Slide 18 text
18
/FYU$VSSFODZͱ("&(P
ϓϩμΫτͷ։ൃ
ಛʹࠩผԽཁҼͷػೳ։ൃʹूத͍ͨ͠
Slide 19
Slide 19 text
19
/FYU$VSSFODZͱ("&(P
ػೳ։ൃʹूதͰ͖Δڥ࡞Γ
Slide 20
Slide 20 text
20
/FYU$VSSFODZͱ("&(P
w ϓϩμΫτͷ։ൃ
w Πϯϑϥ
w ։ൃڥ
w σϓϩΠڥ
w $*ڥ
w ςετ ϑϨʔϜϫʔΫɺॻ͖ํ
w ϑϨʔϜϫʔΫϥΠϒϥϦͷબఆ
w ηΩϡϦςΟ
w ΞϓϦέʔγϣϯͷΞʔΩςΫνϟݕ౼
w %#ͷઃܭ
w "1*ͷઃܭ
w ϏδωεϩδοΫͷίʔσΟϯά
w ϏδωεϩδοΫΛ༻͍ͯΞϓϦέʔγϣϯΛߏங͢Δίʔυ
w ΫϥΠΞϯτνʔϜ͚ͷυΩϡϝϯτ
w ϩάղੳ
Slide 21
Slide 21 text
21
/FYU$VSSFODZͱ("&(P
w ٕज़બ
w Πϯϑϥ
w (PPHMF"QQ&OHJOF
w ݴޠ
w (P
w ΠϯλʔϑΣʔεهड़ݴޠͱ௨৴ϓϩτίϧ
w 1SPUPDPM#V⒎FSTPO)551
Slide 22
Slide 22 text
22
Πϯϑϥ(PPHMF"QQ&OHJOFΛ࠾༻ͨ͠ཧ༝
w Φʔτεέʔϧ
w ࡞ͨ͠αʔϏε୯ҐͰɺෛՙʹԠͯࣗ͡ಈతʹΠϯελϯεΛ૿ݮ
w Ձ͕֨ٸಅͨ͠ࡍͳͲͷεύΠΫతͳΞΫηεʹڧ͍
w #MVF(SFFO%FWFMPQNFOU
w σϓϩΠ୯Ґ͝ͱʹόʔδϣϯཧ
w τϥϑΟοΫͷҠߦɺϩʔϧόοΫͳͲ͕ίϚϯυͰՄೳ
w ੬ऑੑ͔Βͷ৵ೖͷϦεΫͷԼ
w 04ͷཧ͕ෆཁ
w 04ͷ੬ऑੑɺϛυϧΣΞ 44)αʔό8FCαʔό
ͷ੬ऑੑͷߟྀ͕ෆཁ
w ࣗͨͪͰ࣮ͨ͠ΞϓϦέʔγϣϯͷ੬ऑੑʹूதͰ͖Δ
Slide 23
Slide 23 text
23
ݴޠ(PΛ࠾༻ͨ͠ཧ༝
w ͳͥԾ௨՟ք۾ͷ࣮(P͕ଟ͍ͷ͔ʁͱಉ༷ͷཧ༝
w ্هʹՃ͑ͯ
w (PPHMF"QQ&OHJOFͱͷ૬ੑ͕͍͍
w (PͷΠϯελϯεɺΦʔτεέʔϧ࣌ͷεϐϯΞοϓNTͳͲͰྃ͢Δ
w ੩తܕ͚ݴޠ
w ࢿۚΛѻ͏ͨΊ։ൃΑΓ҆શੑΛॏࢹ
Slide 24
Slide 24 text
24
௨৴ϓϩτίϧ1SPUPDPM#V⒎FSTPO)551Λ࠾༻ͨ͠ཧ༝
w ۙ(31$͕಄
w ͨͩ͠("&Ͱ(31$ະରԠ
w ΠϯλʔϑΣʔεهड़ݴޠ *%-
Ͱ͋Δ1SPUPDPM#V⒎FST͕ັྗ
w ϦΫΤετɺϨεϙϯεɺϝιουΛ1SPUPDPM#V⒎FSTͰఆٛ
w ఆٛϑΝΠϧ͔ΒαʔόɺΫϥΠΞϯτͷίʔυΛੜ
w αʔό(P
w J044XJGU
w "OEPJSE+BWB
w ϑϩϯτ5ZQF4DSJQU
w ϦΫΤετϨεϙϯεͷ༷͕มΘͬͨ߹ʹɺΫϥΠΞϯτίϯύΠϧͰؾ͕
ͭ͘͜ͱ͕Մೳ
26
ษڧձͷ͝հ
ۚ
CMPDLDIBJOUPLZP
(P.PCJMFϋϯζΦϯ
The Go gopher designed by Renée French.
The golang.tokyo gopher made by Takuya Ueda.
Licnesed under the Creative Commons 3.0 Attribution License.
ۚ
HPMBOHUPLZP
(P.PCJMFϋϯζΦϯ
Slide 27
Slide 27 text
27
DPJOUBQࣄલొΑΖ͓͘͠ئ͍͠·͢ʂ
w ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠
w IUUQTDPJOUBQKQ