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.5k
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
38
DESAMIS Go Training Season 1 Day 12
mikan
0
1k
DESAMIS Go Training Season 1 Day 11
mikan
0
1k
DESAMIS Go Training Season 1 Day 10
mikan
0
1k
DESAMIS Go Training Season 1 Day 9
mikan
0
1k
DESAMIS Go Training Season 1 Day 8
mikan
0
1.1k
DESAMIS Go Training Season 1 Day 7
mikan
0
1.1k
Introducing Go CDK (Developer Preview)
mikan
0
840
DESAMIS Go Training Season 1 Day 6
mikan
0
1.2k
Other Decks in Technology
See All in Technology
生成AIによる情報システムへのインパクト
taka_aki
1
230
2025新卒研修・HTML/CSS #弁護士ドットコム
bengo4com
3
8.9k
Claude Codeから我々が学ぶべきこと
s4yuba
1
270
AIエージェントを支える設計
tkikuchi1002
12
2.9k
AI コードレビューが面倒すぎるのでテスト駆動開発で解決しようとして読んだら、根本的に俺の勘違いだった
mutsumix
0
140
【CEDEC2025】ブランド力アップのためのコンテンツマーケティング~ゲーム会社における情報資産の活かし方~
cygames
PRO
0
220
経験がないことを言い訳にしない、 AI時代の他領域への染み出し方
parayama0625
0
290
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
1.4k
Kiroでインフラ要件定義~テスト を実施してみた
nagisa53
2
230
Google Cloud で学ぶデータエンジニアリング入門 2025年版 #GoogleCloudNext / 20250805
kazaneya
PRO
9
1.9k
データ基盤の管理者からGoogle Cloud全体の管理者になっていた話
zozotech
PRO
0
190
AWS表彰プログラムとキャリアについて
naoki_0531
1
150
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.3k
Building Applications with DynamoDB
mza
95
6.5k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Side Projects
sachag
455
43k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Cost Of JavaScript in 2023
addyosmani
51
8.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νϟϯωϧʹߘ͍ͩ͘͞