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
39
DESAMIS Go Training Season 1 Day 12
mikan
0
1k
DESAMIS Go Training Season 1 Day 11
mikan
0
1.1k
DESAMIS Go Training Season 1 Day 10
mikan
0
1k
DESAMIS Go Training Season 1 Day 9
mikan
0
1.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
880
DESAMIS Go Training Season 1 Day 6
mikan
0
1.2k
Other Decks in Technology
See All in Technology
スタートアップの事業成長を支えるアーキテクチャとエンジニアリング
doragt
0
1.1k
はじめての OSS コントリビューション 〜小さな PR が世界を変える〜
chiroito
4
340
社内外から"使ってもらえる"データ基盤を支えるアーキテクチャの秘訣/登壇資料(飯塚 大地・高橋 一貴)
hacobu
PRO
0
320
改竄して学ぶコンテナサプライチェーンセキュリティ ~コンテナイメージの完全性を目指して~/tampering-container-supplychain-security
mochizuki875
1
350
個人から巡るAI疲れと組織としてできること - AI疲れをふっとばせ。エンジニアのAI疲れ治療法 ショートセッション -
kikuchikakeru
4
1.6k
マルチドライブアーキテクチャ: 複数の駆動力でプロダクトを前進させる
knih
0
2.6k
機密情報の漏洩を防げ! Webフロントエンド開発で意識すべき漏洩パターンとその対策
mizdra
PRO
10
3.6k
第65回コンピュータビジョン勉強会
tsukamotokenji
0
150
Capitole du Libre 2025 - Keynote - Cloud du Coeur
ju_hnny5
0
120
持続可能なアクセシビリティ開発
azukiazusa1
6
250
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
360
クレジットカードの不正を防止する技術
yutadayo
17
7.7k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Side Projects
sachag
455
43k
Git: the NoSQL Database
bkeepers
PRO
432
66k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6.1k
Designing for humans not robots
tammielis
254
26k
For a Future-Friendly Web
brad_frost
180
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Producing Creativity
orderedlist
PRO
348
40k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
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νϟϯωϧʹߘ͍ͩ͘͞