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
DESAMIS Go Training Season 1 Day 2
Search
Yutaka Kato
April 13, 2021
Technology
0
1.2k
DESAMIS Go Training Season 1 Day 2
デザミス社内 Go 研修 (第1期) の2日目の資料です。
今回は Go と VS Code の環境構築です。GitHub で Hello, world! を含むプルリクエストを作成できればゴール。
Yutaka Kato
April 13, 2021
Tweet
Share
More Decks by Yutaka Kato
See All by Yutaka Kato
Introducing Kaginawa
mikan
0
31
DESAMIS Go Training Season 1 Day 12
mikan
0
810
DESAMIS Go Training Season 1 Day 11
mikan
0
820
DESAMIS Go Training Season 1 Day 10
mikan
0
830
DESAMIS Go Training Season 1 Day 9
mikan
0
850
DESAMIS Go Training Season 1 Day 8
mikan
0
900
DESAMIS Go Training Season 1 Day 7
mikan
0
900
Introducing Go CDK (Developer Preview)
mikan
0
660
DESAMIS Go Training Season 1 Day 6
mikan
0
990
Other Decks in Technology
See All in Technology
AI JIMY - 登壇(インストール編)
hanacchi
0
150
ハードウェアを動かすTypeScriptの世界
9wick
3
1.2k
20240509 CloudWatch でいろいろなものを監視してみよう
masaruogura
1
120
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
12
7.9k
TiDBにおけるテーブル設計と最適化の事例
cygames
0
790
[PyconUS 2024] Having fun with Pydantic and pattern matching
enforcerpl
0
160
汎用ポリシー言語Rego + OPAと認可・検証事例の紹介 / Introduction Rego & OPA for authorization and validation
mizutani
1
150
エムスリーQAチーム紹介資料 / Introduction of M3 QA Team
m3_engineering
1
320
使われないものを作るな!出口から作るデータ分析基盤 / Data Platform Development Starting from the User Needs
amaotone
16
4.6k
Blazor WASM × Code-first gRPC で始める C# ⼤統⼀理論
sansantech
PRO
1
380
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
390
データ基盤を支える技術
chanyou0311
5
2.9k
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
21
1.6k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Six Lessons from altMBA
skipperchong
22
3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
26
2.3k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
242
1.2M
KATA
mclloyd
16
12k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The Invisible Side of Design
smashingmag
294
49k
Building Applications with DynamoDB
mza
88
5.7k
Fireside Chat
paigeccino
22
2.7k
Transcript
(Pݚमୈظ %": :VUBLB,BUP 3% %&4".*4 %&4".*4ࣾݚम
ຊͷΰʔϧ w 🚩ΰʔϧ w (Pͷ։ൃʹඞཁͳಓ۩Λἧ͑Δ w ಓ۩ͷجຊతͳ͍ํΛशಘ͢Δ w ❌ΰʔϧͰͳ͍ w
ݴޠͷߏจػೳΛशಘ͢Δ
ݚमܭը ճ ࣍ ༧ఆ λΠτϧ ୈճ Ր (Pͷجຊ
ୈճ Ր ڥߏஙͱ(JU (JU)VCͷجຊ ୈճ Ր جຊߏจ ୈճ Ր ߏମɺεϥΠεɺϚοϓ ୈճ Ր ඪ४ϥΠϒϥϦΊ͙Γ ୈճ Ր ϞδϡʔϧγεςϜͱ֎෦ϥΠϒϥϦ ୈճ Ր )FSPLV(Pೖ ୈճ Ր "84-BNCEB(Pೖ ୈճ Ր ฒߦॲཧϓϩάϥϛϯά ୈճ Ր ୯ମςετٕ๏ ୈճ Ր σʔλϕʔεΞΫηε ୈճ Ր 'ZOFʹΑΔ(6*ΞϓϦέʔγϣϯ։ൃ ୈճ Ր ࣾ(PϓϩδΣΫτͷίʔυղઆ
࣮ࢪҊ w ຊݚमͷશࢀՃऀͷ04͕8JOEPXTͩͬͨͨ ΊɺNBD04-JOVYͷઆ໌ল͖·͢ w ༻ҙͨ͠(JU)VCΞΧϯτʹϩάΠϯͰ͖Δ͜ ͱ '"ͷ४උ Λ֬ೝ͍ͯͩ͘͠͞ w
ಋೖ͢ΔιϑτΣΞ͕طʹ1$ʹಋೖࡁͷ߹ ͦͷखॱΛεΩοϓͰ͖·͕͢ɺઃఆόʔ δϣϯࠩҟʹෆ͕҆͋Δ߹ҰΞϯΠϯε τʔϧ͔ͯ͠ΒຊखॱΛ࣮ࢪ͍ͯͩ͘͠͞
ڥߏங
खॱ֓ཁ (Pͷಋೖ 74$PEFͷಋೖ (JUGPS8JOEPXTͷಋೖ ֦ுػೳͷಋೖ
ϦϙδτϦͷෳ ίʔυͷࣥචͱө ʲҙʳ ͜ͷॱংΛݫक ͍ͯͩ͘͠͞ʂ
(Pͷಋೖ ᶃ ϒϥβΛىಈ͠ɺIUUQTHPMBOHPSHΛ։͍͍ͯͩ͘͞ ᶄ <%PXOMPBE(P>ϦϯΫΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
(Pͷಋೖ ᶃ .JDSPTPGU8JOEPXTͱॻ͔Ε͔ͨΒNTJͷϦϯΫΛ։͍ͯ ͍ͩ͘͞ 1 ʲඋߟʳ ຊݚमHPܥΛఆ͠
͍ͯ·͢ ύονόʔδϣϯҟͳͬͯ ͍ͯߏ͍·ͤΜ
(Pͷಋೖ ᶃ μϯϩʔυ͞ΕͨϑΝΠϧΛ։͍͍ͯͩ͘͞ 1
(Pͷಋೖ ᶃ Πϯετʔϥʔ͕ىಈ͢ΔͷͰɺ</FYU>ΛΫϦοΫɺͦͷޙ ͷը໘શͯͦͷ··</FYU>ͱ<*OTUBMM>ͰਐΊ͍ͯͩ͘͞ 1 ʲඋߟʳ ৽͍͠όʔδϣϯͷ(PΛೖ
ΕΔ߹ɺઌʹݹ͍΄͏Λ ΞϯΠϯετʔϧ͢Δ͜ͱΛ ͓͢͢Ί͠·͢
(Pͷಋೖ ᶃ શ͕ͯ͏·͍ͬͨ͘Βྃը໘ʹͳΔͷͰɺ<'JOJTI>Λ ΫϦοΫ͍ͯͩ͘͠͞ 1 ʲิʳ εΫϦʔϯγϣοτʹ͋Δ
lzͱ͋Δͱ͜Ζɺօ͞ ΜͷڥͰlBNEzʹͳ ΔͣͰ͢
(Pͷಋೖ ᶃ 8JOEPXTϘλϯΛӈΫϦοΫ͍ͯͩ͘͠͞ ᶄ 8JOEPXT1PXFS4IFMMΛ։͍͍ͯͩ͘͞ 1 ʲඋߟʳ ઃఆʹΑͬͯ1PXFS4IFMM
ͷͱ͜Ζ͕lίϚϯυϓϩϯ ϓτzʹͳΓ·͢ɻͦΕΛ։ ͍͍ͯͩ͘͞ɻ 2
(Pͷಋೖ ᶃ දࣔ͞Εͨը໘ʹʮHPWFSTJPOʯ&OUFSͱೖྗ͍ͯͩ͘͠͞ ᶄ ʮHPWFSTJPOHPYʜʯͱදࣔ͞ΕΕಋೖޭͰ͢ 1
74$PEFͷಋೖ ᶃ ϒϥβͰIUUQTDPEFWJTVBMTUVEJPDPNΛ։͍͍ͯͩ͘͞ ᶄ <%PXOMPBEGPS8JOEPXT>ϦϯΫΛ։͍͍ͯͩ͘͞ 1 2
74$PEFͷಋೖ ᶃ μϯϩʔυͨ͠ϑΝΠϧΛ։͍͍ͯͩ͘͞ 1
74$PEFͷಋೖ ᶃ ΠϯετʔϧઌΛ֬ೝ͠ɺ<࣍>ΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ ࣍ͷը໘ͦͷ··<࣍>ΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
74$PEFͷಋೖ ᶃ ՃλεΫΛ֬ೝ͠ɺ<࣍>ΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ <Πϯετʔϧ>ΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
74$PEFͷಋೖ ᶃ 74$PEF͕ىಈ͢ΕޭͰ͢ͷͰ<9>Ͱด͍ͯͩ͘͡͞ ΧελϚΠζཉҰ୴ԡ͠ཹΊ͍ͯͩ͘͞ 1
(JUͷಋೖ ᶃ ϒϥβͰIUUQTHJUGPSXJOEPXTPSHΛ։͍͍ͯͩ͘͞ ᶄ <%PXOMPBE>ϦϯΫΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
(JUͷಋೖ ᶃ μϯϩʔυͨ͠ϑΝΠϧΛ։͍͍ͯͩ͘͞ 1
(JUͷಋೖ ᶃ 6"$ը໘͕ग़ͨΒ<͍>ΛΫϦοΫ͍ͯͩ͘͠͞ 1
(JUͷಋೖ ᶃ ϥΠηϯε (1- Λ֬ೝ͠ɺ</FYU>ΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ ΠϯετʔϧઌΛ֬ೝ͠ɺ</FYU>ΛΫϦοΫ͍ͯͩ͘͠͞ 1
2
(JUͷಋೖ ᶃ ίϯϙʔωϯτΛ֬ೝ͠ɺ</FYU>ΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ ελʔτϝχϡʔઃఆΛ֬ೝ͠ɺ</FYU>ΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
(JUͷಋೖ ᶃ ΤσΟλʔઃఆը໘ʹͳΔͷͰ<6TF7JTVBM4UVEJP$PEFBT (JU`TEFGBVMUFEJUPS>Λબ͍ͯͩ͘͠͞ ᶄ </FYU>ΛΫϦοΫ͍ͯͩ͘͠͞ 1
2
(JUͷಋೖ ᶃ ৽͍͠ϦϙδτϦͷॳظϒϥϯν໊ઃఆը໘ʹͳΔͷͰ <0WFSSJEFUIFEFGBVMUCSBODIOBNFʜ>Λબ͍ͯͩ͘͠͞ ᶄ </FYU>ΛΫϦοΫ͍ͯͩ͘͠͞ 1
2 ʲඋߟʳ (JU)VCΛ͏߹ɺ৽نϦ ϙδτϦͷσϑΥϧτϒϥϯ νNBJOʹͳΓ·ͨ͠ (JU͜Εʹ߹Θͤ·͢
(JUͷಋೖ ᶃ ͔͜͜ΒઌશͯσϑΥϧτͰߦ͖·͕͢ɺσϑΥϧτͷ֬ೝ ͷͨΊεΫϦʔϯγϣοτΛఴ͓͖͑ͯ·͢ 1 1
(JUͷಋೖ ᶃ σϑΥϧτͷ··ਐΊ·͢ 1 1
(JUͷಋೖ ᶃ σϑΥϧτͷ··ਐΊ·͢ 1 1
(JUͷಋೖ ᶃ σϑΥϧτͷ··ਐΊ·͢ 1 1
(JUͷಋೖ ᶃ <7JFX3FMFBTF/PUFT>ͷνΣοΫΛ֎͍ͯͩ͘͠͞ ᶄ <'JOJTI>ΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
֦ுػೳͷಋೖ ᶃ ελʔτϘλϯΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ 7JTVBM4UVEJP$PEFΛ୳ͯ͠ىಈ͍ͯͩ͘͠͞ 1 2
֦ுػೳͷಋೖ ᶃ ը໘ࠨखͷ&YUFOTJPOTΞΠίϯΛΫϦοΫ͠·͢ ᶄ ݕࡧ૭ʹʮ+BQBOʯͱೖྗ͠·͢ ᶅ +BQBOFTF-BOHVBHF1BDLΛݟ͚ͭ<*OTUBMM>ΛΫϦοΫ͠·͢ 1
3
֦ுػೳͷಋೖ ᶃ ݕࡧ૭ʹʮ(Pʯͱೖྗ͠ʮ(Pʯ֦ுػೳΛݟ͚ͭ·͢ ᶄ <*OTUBMM>ΛΫϦοΫ͠·͢ 1 2
֦ுػೳͷಋೖ ᶃ ݕࡧ૭ʹʮ(JU)VCʯͱೖྗ͠ʮ(JU)VC1VMM3FRVFTUTBOE *TTVFTʯ֦ுػೳΛݟ͚ͭ·͢ ᶄ <*OTUBMM>ΛΫϦοΫ͠·͢ 1
2
֦ுػೳͷಋೖ ᶃ ը໘ӈԼʹ<3FTUBSU>Ϙλϯ͕͋ΔͣͳͷͰΫϦοΫ͠·͢ 1
֦ுػೳͷಋೖ ࠶ىಈͨ͠74$PEF͕ຊޠʹͳ͍ͬͯΕޭͰ͢
ϦϙδτϦͷෳ ᶃ ը໘ʹ͋Δ<ϦϙδτϦͷෳ>ϘλϯΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ <(JU)VC͔Βෳ>ΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
ϦϙδτϦͷෳ ᶃ ը໘ʹ͋Δ<ϦϙδτϦͷෳ>ϘλϯΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ <(JU)VC͔Βෳ>ΛΫϦοΫ͍ͯͩ͘͠͞ ᶅ μΠΞϩά͕ग़ͨΒ<ڐՄ>ΛΫϦοΫ͍ͯͩ͘͠͞ 3
1 2
ϦϙδτϦͷෳ ᶃ ϒϥβ͕ىಈ͠։͍ͨϖʔδͰ<$POUJOVF>ΛΫϦοΫ͠·͢ ᶄ ·ͩ(JU)VCʹϩάΠϯ͍ͯ͠ͳ͚ΕϩάΠϯ͠ɺೝՄը໘ʹ ભҠͨ͠Β<"VUIPSJ[F(JU)VC>ΛΫϦοΫ͠·͢ 2
1
ϦϙδτϦͷෳ ᶃ ϒϥβͰμΠΞϩά͕ग़ͨΒࢦࣔʹै͍ͬͯͩ͘͞ ᶄ 74$PEFͰμΠΞϩά͕ग़ͨΒ<։͘>ΛΫϦοΫ͍ͯͩ͘͠͞ 2 1
ϦϙδτϦͷෳ ᶃ ϑΥʔΧε͞ΕͨೖྗཝʹʮVNPUJPOHPUSBJOJOHʯͱೖྗɺ ֘ϦϙδτϦ͕ݟ͔ͭͬͨΒΫϦοΫ͍ͯͩ͘͠͞ 1
ϦϙδτϦͷෳ ᶃ ίʔυͷෳઌΛฉ͔ΕΔͷͰɺϗʔϜσΟϨΫτϦҎԼʹ ʮHPʯʮTSDʯʮHJUIVCDPNʯʮVNPUJPOʯ ͱϑΥϧμΛ࡞ɺͦͷϑΥϧμʹೖ͍ͬͯͩ͘͞ 1
ϦϙδτϦͷෳ ᶃ <ϦϙδτϦͷॴΛબ>ΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ ͠Βͭ͘ͱෳ͕ऴΘΔͷͰ<։͘>ΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
ϦϙδτϦͷෳ ᶃ ը໘ࠨԼͷ<NBJO>ͱ͍͏ϥϕϧΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ <ʴ৽͍͠ذͷ࡞ʜ>ΛΫϦοΫ͍ͯͩ͘͠͞ 1 2
ϦϙδτϦͷෳ ᶃ ϑΥʔΧε͞ΕͨೖྗཝʹʮϢʔβʔ໊QSBDUJDFʯͱೖྗɺ ͦͷޙ&OUFSΛೖྗ͍ͯͩ͘͠͞ ྫNJLBOQSBDUJDF 1
ίʔυͷࣥචͱө ᶃ ࠨϝχϡʔͰΤΫεϓϩʔϥʔΛ։͍͍ͯͩ͘͞ ᶄ Ϣʔβʔ໊ͰϑΥϧμΛ࡞͍ͬͯͩ͘͞ ྫNJLBO 1 2
ίʔυͷࣥචͱө ᶃ ࡞ͬͨϑΥϧμΛӈΫϦοΫͯ͠දࣔ͞ΕΔϝχϡʔͰ <౷߹λʔϛφϧͰ։͘>Λબ͍ͯͩ͘͠͞ 1
ίʔυͷࣥචͱө ᶃ දࣔ͞ΕͨλʔϛφϧͰʮgo mod initʯʻ&OUFSʼΛೖྗ ͍ͯͩ͘͠͞ 1
ίʔυͷࣥචͱө ᶃ ʮgit config --global user.name "͋ͳͨͷ໊લ"ʯʻ&OUFSʼ ᶄ
ʮgit config --global user.email ϝʔϧΞυϨεʯʻ&OUFSʼ 1 2 ʲิʳ ͜ͷ࡞ۀ௨ৗ(JUΛΠϯε τʔϧͨ͠ޙʹ͚࣮ͩߦ ͢Δ͚ͩͰߏ͍·ͤΜ
ίʔυͷࣥචͱө ᶃ Ϣʔβʔ໊ϑΥϧμҎԼʹʮEBZIFMMPʯϑΥϧμΛɺͦͷԼʹ ʮNBJOHPʯϑΝΠϧΛ࡞͍ͯͩ͘͠͞ ᶄ (P֦ுػೳ͕ग़͢ը໘Ͱ<*OTUBMM"MM>ΛΫϦοΫ͍ͯͩ͘͠͞ 1
2 ʲิʳ <*OTUBMM"MM>੩తղੳπʔ ϧͳͲΛಋೖ͠·͢ ͠Β͕͔͔࣌ؒ͘Γ·͢
ίʔυͷࣥචͱө ᶃ ʮ"MMUPPMTTVDDFTTGVMMZJOTUBMMFEʯදࣔΛ֬ೝ͍ͯͩ͘͠͞ ᶄ (P֦ுػೳͷλϒΛ<9>Ͱด͍ͯͩ͘͡͞ 2 1 ʲิʳ
<*OTUBMM"MM>੩తղੳπʔ ϧͳͲΛಋೖ͠·͢ ͠Β͕͔͔࣌ؒ͘Γ·͢
ίʔυͷࣥචͱө ᶃ ڭՊॻ1ʹ͋ΔϓϩάϥϜΛࣸܦ͠ɺอଘ͍ͯͩ͘͠͞ 1
ίʔυͷࣥචͱө ᶃ λʔϛφϧλϒʹΓସ͍͑ͯͩ͘͞ ᶄ ʮgo run day2-hello/main.goʯͰίʔυΛ࣮ߦ͍ͯͩ͘͠͞ 2
1
ίʔυͷࣥචͱө ᶃ ࠨϝχϡʔͷ<ιʔεཧ>ΞΠίϯΛΫϦοΫ͍ͯͩ͘͠͞ ᶄ <มߋ>ϖΠϯͷ<ʴ>ϘλϯΛΫϦοΫ͍ͯͩ͘͠͞ ᶅ <㾎>ΛΫϦοΫ͠ɺίϛοτϝοηʔδΛೖΕͯʻ&OUFSʼ 1
2 3
ίʔυͷࣥචͱө ᶃ ը໘ӈԼͷϒϥϯν໊ͷӈʹ͋ΔൃߦΞΠίϯΛΫϦοΫ͠·͢ ᶄ ֦ுػೳͷը໘Ͱ<$SFBUF1VMM3FRVFTUʜ>ΛΫϦοΫ͠·͢ 1 2
ίʔυͷࣥචͱө ᶃ ϓϧϦΫը໘Λ֬ೝ͠<$SFBUF>ϘλϯΛΫϦοΫ͠·͢ ᶄ ϓϧϦΫ͕࡞͞Ε·ͨ͠ʂ 1
ίʔυͷࣥචͱө (JU)VC্ͰϓϧϦΫ͕࡞͞Ε͍ͯΔ͜ͱΛ֬ೝͰ͖·͢ ϓϧϦΫ͕ϨϏϡʔ͞Εɺ߹֨͢ΕNBJOʹө͞Ε·͢
͕࣌ؒ༨ͬͨΒʜ w ڭՊॻͷୈষͷ࿅शΛղ͍ͯΈ͍ͯͩ͘͞ w ࣮ࢪͱ͝ͱʹϑΥϧμΛΘ͚ͯͩ͘͞ ͍ ྫEBZFY w దٓίϛοτɾࣗͷϒϥϯνͷϓογϡΛ
͓ئ͍͠·͢
࣍ճ༧ࠂ w ࣍ճʮجຊߏจʯͰ͢ w ڭՊॻ ϓϩάϥϛϯάݴޠ(P Λͨ͘͞Μ ͏ͷͰɺΕͳ͍Α͏ʹ͍ͯͩ͘͠͞ w ͔Βͳ͔ͬͨͱ͜Ζ࣭ͳͲɺࣾ
4MBDLHPQIFSTνϟϯωϧʹߘ͍ͩ͘͞