golang.tokyo # 29 の資料です。 https://golangtokyo.connpass.com/event/164955/
HPMBOHUPLZPʰ(PݴޠʹΑΔฒߦॲཧʱΛಡΜͰHPMBOHUPLZP!BCFNPUJPO
View Slide
HPMBOHUPLZPࣗݾհ!BCFNPUJPODPDPOBMB4FSWFS4JEF&OHJOFFS43&νʔϜ(P3BJMT$BLF1)15XJUUFSBCFNPUJPOςχεొࢁ
HPMBOHUPLZPεΩϧͷϑϦʔϚʔέοτݸਓͷࣝɾεΩϧɾܦݧΛؾܰʹചങొձһສਓίίφϥ๏૬ஊίίφϥϛʔπ
HPMBOHUPLZP৽ϓϩϑΟʔϧϖʔδˠɹϚΠΫϩαʔϏεߏͰ։ൃɹɹ(PΞοϓσʔτɹɹɹɹɹʢEFQˠ(P.PEVMFTʣɹɹ(PΞοϓσʔτ
HPMBOHUPLZPγεςϜߏ"1*(BUFXBZ (Pɾ1SPpMF4FSWJDF 3BJMTͷઃܭʙ։ൃ·Ͱ୲/VYU&YQSFTT (P 3BJMTH31$H31$"1*(BUFXBZ 1SPpMF4FSWJDF1SPpMF8FC
HPMBOHUPLZPγεςϜߏ/VYU&YQSFTT (PH31$H31$"1*(BUFXBZ3BJMT"1*4FSWJDF1SPpMF8FC3BJMT1SPpMF4FSWJDF3&45ˠฒߦॲཧΛ͍͍ͨཁ͕݅ग़͖ͯͨ
HPMBOHUPLZPηογϣϯ༰ฒߦॲཧಋೖʹ͋ͨͬͯɺʰ(PݴޠʹΑΔฒߦॲཧʱΛಡΜͰɺ༰ʹ͍ͭͯҰ෦·ͱΊͯΈ·ͨ͠ʂʰ(PݴޠʹΑΔฒߦॲཧʱ*4#/
HPMBOHUPLZPΞδΣϯμͳͥฒߦॲཧ͕͍͠ͷ͔(PͰͷฒߦॲཧύλʔϯ
HPMBOHUPLZPͳͥฒߦॲཧ͕͍͠ͷ͔
HPMBOHUPLZPͳͥฒߦॲཧ͕͍͠ͷ͔ڝ߹ঢ়ଶΞτϛοΫੑϝϞϦΞΫηεಉظσουϩοΫϦιʔεރׇฒߦॲཧͷ҆શੑΛݟۃΊΔ
HPMBOHUPLZPڝ߹ঢ়ଶͭҎ্ͷૢ࡞͕ਖ਼͍͠ॱ൪Ͱ࣮ߦ͞Εͳ͚Ε͍͚ͳ͍ͱ͜ΖͰɺϓϩάϥϜ͕ॱংΛอূ͢ΔΑ͏ʹॻ͔Ε͍ͯͳ͔ͬͨͱ͖ʹൃੜɻڝ߹ঢ়ଶ͍ΘΏΔσʔλڝ߹ɻ͋Δฒߦॲཧͷૢ࡞͕มΛಡΈࠐ͏ͱ͍ͯ͠Δͱ͖ʹɺ΄͔ͷฒߦॲཧͷૢ࡞͕ෆ֬ఆͷλΠϛϯάͰಉ͡มʹॻ͖ࠐΈΛߦ͓͏ͱ͢Δͱى͖Δɻ
HPMBOHUPLZPڝ߹ঢ়ଶൃੜ͢ΔݪҼଟ͘ͷ߹ɺσʔλڝ߹ϓϩάϥϜΛྻʹߟ͑ͨͱ͖ʹࠞೖɻ͋Δίʔυ͕ଞͷίʔυΑΓલʹॻ͍ͯ͋Δ͔ΒɺͦΕ͕ઌʹ࣮ߦ͞ΕΔͱࢥͬͯ͠·͏ɻฒߦॲཧͷίʔυΛॻ͘ͱ͖ɺߟ͑ΒΕΔγφϦΦΛ৻ॏʹᢸ͠ͳ͍ͱ͍͚ͳ͍ɻ֤ૢ࡞͕͔͔࣌ؒͬͯߦΘΕΔͷΛ૾͢Δͱ͔Γ͍͢ɻ
HPMBOHUPLZPΞτϛοΫੑԿ͔͕ΞτϛοΫੑ͕͋Δͱߟ͑ΒΕΔ߹ɺͦΕ͕ૢ࡞͞Ε͍ͯΔಛఆͷίϯςΩετͷதͰׂෆೳɺ͋Δ͍தஅෆՄͰ͋Δ͜ͱΛҙຯ͢Δɻ͋Δͷ͕ΞτϛοΫͰ͋ΕɺͦΕΛෳͷฒߦͳίϯςΩετͰ҆શʹѻ͑Δ͜ͱ͕҉ʹอূ͞Ε͍ͯΔɻ͜ͷੑ࣭ʹΑͬͯཧతʹਖ਼͍͠ϓϩάϥϜΛߏͰ͖ΔΑ͏ʹͳΔɻ
HPMBOHUPLZPϝϞϦΞΫηεಉظϓϩάϥϜͰڞ༗Ϧιʔεʹର͢ΔഉଞతͳΞΫηεॴˠΫϦςΟΧϧηΫγϣϯͱݺΕ͍ͯΔΫϦςΟΧϧηΫγϣϯΛकΔํ๏ͷ͕ͭϝϞϦΞΫηεಉظ
HPMBOHUPLZPϝϞϦΞΫηεಉظ
HPMBOHUPLZPσουϩοΫͯ͢ͷฒߦͳϓϩηε͕͓ޓ͍ͷॲཧΛͪ߹͍ͬͯΔঢ়گɻˠϓϩάϥϜ֎෦͔Βͷհೖ͕ͳ͍ݶΓɺܾͯ͠ಈ࡞͢Δঢ়ଶʹͳΒͳ͍ྫHPQSJOU4VN B CHPQSJOU4VN C B࠷ॳͷؔݺͼग़͠ͰɺBΛϩοΫͯ͠ɺͦͷޙCΛϩοΫ͢Δͱ͢Δɻ͔͠͠ҰํͰɺճͷؔݺͼग़͠ͰɺCΛϩοΫͯ͠ɺͦͷޙʹBΛϩοΫ͠Α͏ͱ͢Δˠ྆ํͷΰϧʔνϯ͓ޓ͍ʹແݶʹͪ߹͏
HPMBOHUPLZPDPGGNBO݅σουϩοΫ͕ൃੜ͢ΔͨΊʹଘࡏ͠ͳ͚Ε͍͚ͳ͍݅૬ޓഉଞ͋Δฒߦϓϩηε͕Ϧιʔεʹରͯ͠ഉଞతͳݖརΛͲͷ࣌ʹ͓͍ͯอ͍࣋ͯ͠Δ݅ͪ͋ΔฒߦϓϩηεϦιʔεͷอ࣋ͱՃͷϦιʔεͪΛಉ࣌ʹߦΘͳ͚ΕͳΒͳ͍ԣऔΓෆՄ͋ΔฒߦϓϩηεʹΑͬͯอ࣋͞Ε͍ͯΔϦιʔεɺͦͷϓϩηεʹΑͬͯͷΈղ์͞ΕΔ॥ͪ͋Δฒߦϓϩηε [email protected]ɺଞͷ࿈ͳ͍ͬͯΔ͋Δฒߦϓϩηε [email protected]Λͨͳ͚ΕͳΒͳ͍ɻͦͯ͠ [email protected] [email protected]Λ͍ͬͯΔɻˠ͜ΕΒͷ๏ଇσουϩοΫͷ༧ʹཱͭɻͲΕ͔ͭͰਅʹͳΒͳ͚Εྑ͍
HPMBOHUPLZPϦιʔεރׇฒߦϓϩηε͕ࣄΛ͢ΔͷʹඞཁͳϦιʔεΛऔಘͰ͖ͳ͍ঢ়گɻϦιʔεރׇ௨ৗɺͭҎ্ͷᩦཉͳฒߦϓϩηε͕ෆެฏʹଞͷϓϩηε͕ՄೳͳݶΓࣄΛޮతʹߦ͓͏ͱ͍ͯ͠ΔͷΛ͍͛ͯΔɺ͘͠·͍ͬͨͤͯ͘͞ͳ͍ͱ͍ͬͨঢ়گΛ҉ʹҙຯ͍ͯ͠ΔɻϦιʔεރׇΛݟ͚ͭΔٕज़ɺܭଌɻݕͯ͠ղܾ͢Δྑ͍ํ๏ͷͭ݁ՌΛϩάग़ྗͯ͠ɺ͕ظ௨Γʹͳ͍ͬͯΔ͔Λଌఆ͢Δ͜ͱɻϦιʔεރׇϓϩάϥϜ͕ඇޮతෆదʹৼͬͯ͠·͏ݪҼͱͳΔɻ
HPMBOHUPLZPฒߦॲཧͷ҆શੑΛݟۃΊΔฒߦॲཧؾΛ͚ͭͳ͍ͱ͍͚ͳ͍؍ଟ͍͘͠ɻίʔυͷಡΈखʹෳࡶ͞ΛͨΒͯ͠͠·͏ͷͰɺίϝϯτΛॻ͘ϙΠϯτɾ୭͕ฒߦॲཧΛߦͳ͍ͬͯΔ͔ɾΛղܾ͢Δʹ͋ͨΓߟ͠ͳ͚Ε͍͚ͳ͍ൣғ͕ͲͷΑ͏ʹฒߦॲཧʹରԠ͍ͯ͠Δ͔ɾ୭͕ಉظॲཧΛ୲͍ͬͯΔ͔ˠಉ྅কདྷͷࣗΛॿ͚ͯ͋͛·͠ΐ͏ɻ
HPMBOHUPLZP(PͰͷฒߦॲཧύλʔϯ
HPMBOHUPLZP(PͰͷฒߦॲཧύλʔϯ߆ଋGPSTFMFDUϧʔϓΰϧʔνϯϦʔΫΛආ͚ΔύΠϓϥΠϯϑΝϯΞτɺϑΝϯΠϯ
HPMBOHUPLZP߆ଋΞυϗοΫ߆ଋ߆ଋΛننଇ ίϛϡχςΟɺ৬ɺίʔυϕʔεʹΑͬͯࢦఆˠकΓଓ͚Δͷ͍͠ଟ͘ͷਓ͕खΛೖΕΔೲظͷഭͬͨ։ൃɺؒҧͬͨίʔυ͕ࠞೖ͠ɺ͕ى͖ΔɻϨΩγΧϧ߆ଋίϯύΠϥΛۦͯ͠߆ଋΛڲਖ਼ɻϨΩγΧϧείʔϓΛͬͯదͳσʔλͱฒߦॲཧͷϓϦϛςΟϒ͚ͩΛෳͷϓϩηε͕͑ΔΑ͏ʹެ։͢Δ͜ͱΛࢦ͢ɻˠ͜ΕʹΑͬͯޡͬͨॲཧΛॻ͍ͯ͠·͏͜ͱΛෆՄೳʹɻ
HPMBOHUPLZPϨΩγΧϧ߆ଋ
HPMBOHUPLZPGPSTFMFDUϧʔϓνϟωϧ͔Β܁Γฦ͠ͷมΛૹग़͢Δ܁Γฦ͕͠ՄೳͳͷΛνϟωϧ্ͷมʹมɻఀࢭγάφϧΛͭແݶϧʔϓ֎෦͔Βఀࢭͷ໋ྩ͕དྷΔ·Ͱແݶʹ܁Γฦ͢ΰϧʔνϯΛ࡞ΔɻEPOFνϟωϧ͕ด͡ΒΕ͍ͯͳ͚ΕɺTFMFDUจΛൈ͚ͯGPSϧʔϓຊମͷΓͷॲཧΛଓ͚Δɻ
HPMBOHUPLZPΰϧʔνϯϦʔΫΛආ͚Δΰϧʔνϯͷੜίετ͕খ͍͕͞ɺੜ͖͍ͯΔݶΓ($͞Εͣͬͯ͠·͏ɻˠ࣮֬ʹॲཧ͍ͯ͘͜͠ͱ͕ඞཁΰϧʔνϯ͕ऴྃʹࢸΔ·ͰͷྲྀΕΰϧʔνϯ͕ॲཧΛྃ͢Δ߹ճ෮Ͱ͖ͳ͍ΤϥʔʹΑΓॲཧΛଓ͚ΒΕͳ͍߹ఀࢭ͢ΔΑ͏ʹ໋ྩ͞Εͨ߹࠷ॳͷͭͷྲྀΕجຊతʹ࣮ߦ͞ΕΔɻͭΊͷΩϟϯηϧॲཧʹؔͯ͠ɺͷΰϧʔνϯ͕ਖ਼͘͠ճऩ͢Δɻ
HPMBOHUPLZPΰϧʔνϯϦʔΫΛආ͚Δ
HPMBOHUPLZPύΠϓϥΠϯγεςϜͷநԽʹ͑Δಓ۩ͷͭɻσʔλΛड͚औͬͯɺԿΒ͔ͷॲཧΛߦͳͬͯɺͲ͔͜ʹ͢Ұ࿈ͷ࡞ۀˠ͜ΕΒͷૢ࡞ΛεςʔδͱݺͿύΠϓϥΠϯΛ͏͜ͱͰɺ֤εςʔδͰͷݒ೦ࣄ߲ΛΓ͚ΒΕɺ͜Εଟ͘ͷརΛͨΒ͢ɻ֤εςʔδΛಠཱͯ͠मਖ਼͢Δ͜ͱ͕Ͱ͖ɺεςʔδಉ࢜ͷΈ߹ΘͤํΛεςʔδͷमਖ਼ͱಠཱͯ͠มߋ͕Մೳɻ֤εςʔδͰͷॲཧΛ্ྲྀԼྲྀͷεςʔδͱฒߦʹߦ͑Δɻ
HPMBOHUPLZPύΠϓϥΠϯ
HPMBOHUPLZPύΠϓϥΠϯύΠϓϥΠϯεςʔδͷੑ࣭εςʔδड͚औΔͷͱฦ͢ͷ͕ಉ͡ܕͰ͋ΔεςʔδҾ͖ճͤΔΑ͏ʹ۩ମԽ͞Εͯͳ͚ΕͳΒͳ͍ˠੑ࣭Λຬ͍ͨͯͨ͠ͷͰɺΈ߹ΘͤΔ͜ͱ͕Ͱ͖ͨɻ
HPMBOHUPLZP(PͰͷฒߦॲཧύλʔϯ߆ଋGPSTFMFDUϧʔϓΰϧʔνϯϦʔΫΛආ͚ΔύΠϓϥΠϯϑΝϯΞτϑΝϯΠϯ
HPMBOHUPLZPϑΝϯΞτύΠϓϥΠϯͷ͋ΔεςʔδͰಛʹܭࢉྔ͕େ͖͘ͳͬͨ߹্ྲྀͷεςʔδɺͦͷܭࢉྔ͕େ͖͍εςʔδͷॲཧ͕ऴΘΔͷΛػͯ͠ϒϩοΫ͞Εͯ͠·͏ɻˠෳͷΰϧʔνϯΛ্ͬͯྲྀͷεςʔδ͔ΒͷೖྗΛฒྻʹΛҾͬுͬͯ͘ΔͨΊʹɺෳͷΰϧʔνϯΛىಈ͢Δϓϩηε
HPMBOHUPLZPϑΝϯΞτεςʔδ͕࣍ͷ݅ͷ྆ํʹ߹க͢Δ߹ʹϑΝϯΞτͷར༻Λݕ౼ͯ͠ΈΔͦͷεςʔδ͕ΑΓલͷܭࢉ݁Ռʹґଘ͍ͯ͠ͳ͍࣮ߦ͕࣌ؒʹٴͿಛʹॱෆಉੜॏཁɻˠͲͷεςʔδ͕ฒߦॲཧʹͳ͍ͬͯΔ͔ɺεςʔδ͕Ͳͷॱ൪Ͱ࣮ߦ͞ΕΔ͔ɺͲͷॱ൪Ͱ͕ฦ͞ΕΔ͔ʹอূ͕ͳ͍ͨΊϑΝϯΞτͤ͞Δखॱɺ֘εςʔδΛෳىಈ͢Δ͚ͩ
HPMBOHUPLZPϑΝϯΠϯෳͷσʔλͷετϦʔϜΛɺ୯ҰͷετϦʔϜʹ౷߹
HPMBOHUPLZPϑΝϯΞτϑΝϯΠϯ
HPMBOHUPLZP·ͱΊฒߦॲཧʹ͓͍ͯؾΛ͚ͭͳ͍ͱ͍͚ͳ͍؍͕ཧ͞ΕͨDIBOOFMॲཧ͕ͪ͋ΔͨΊɺଞΰϧʔνϯͷ੍ޚॲཧͷฒྻԽʹ͑ΔݱࡏDPOUFYU͕͋ΔͷͰɺEPOFDIBOͱҧ͏ϝϦοτཧղ͓ͯ͘͠ඞཁ͋Γ