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
Go Cloud まとめ
Search
jewel12
October 23, 2018
0
58
Go Cloud まとめ
https://okinawa-go.doorkeeper.jp/events/81388
jewel12
October 23, 2018
Tweet
Share
More Decks by jewel12
See All by jewel12
その広告配信システムは正しく動いているのか? #TechMar
jewelx12
5
6.3k
黒い画面は作れば怖くない
jewelx12
1
170
社内チャットボットをリニューアルした話
jewelx12
0
5.2k
バッチ実行 インターフェースとしての Papermill について考える
jewelx12
0
60
ぎのわん勉強会の告知です
jewelx12
0
870
コードを自動生成したい
jewelx12
0
66
プログラミング言語とパラダイム
jewelx12
0
77
沖縄・宜野湾エンジニア勉強会 #6 LT
jewelx12
0
2k
BigQuery と BigQuery ML
jewelx12
1
92
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
110
6.9k
RailsConf 2023
tenderlove
28
850
How GitHub (no longer) Works
holman
311
140k
Being A Developer After 40
akosma
84
590k
Designing for humans not robots
tammielis
249
25k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
1.9k
Side Projects
sachag
452
42k
Optimizing for Happiness
mojombo
375
69k
What's in a price? How to price your products and services
michaelherold
243
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
4
120
Transcript
(P$MPVE·ͱΊ 0LJOBXBHP !KFXFM@Y
!KFXFM@Y w ΞυςΫձࣾͷ͓ख͍ w ԭೄɾٓΤϯδχΞษڧձ w ςʔϚΛΘͣΤϯδχΞಉ࢜ϫΠϫΠ͢ΔΏΔ͍ձ w ʹ͋ΔͷͰൃදɾ-5ͱʹ͓ͪͯ͠·͢ʂ w
ࠓ(P$MPVEʹ͍ͭͯௐͯΈ·ͨ͠
(P$MPVE w 8SJUFPODF SVOPOBOZDMPVE w $MPVE1MBUGPSNʹґଘ͠ͳ͍ɺϙʔλϒϧͳΞϓϦέʔγϣϯ Λॻͨ͘ΊͷϓϩδΣΫτ w ґଘ෦গͳͯ͘͠ϚϧνΫϥυΛ࣮ݱ͍ͨ͠ w
(PΫϥυڥͰΘΕΔύλʔϯ͕ଟ͍ w $MPVE*OGSBTUSVDUVSF5PPMT ,T *TUJP %PDLFS w ༷ʑͳαʔϏε͕ΫϥυڥͰ(PΛ͍ͬͯΔ -ZGU $BQJUBM 0OF /FUqJY 'SPN1PSUBCMF$MPVE1SPHSBNNJOHXJUI(P$MPVE
(P$MPVE w ·ͩBMQIB൛ w εϥΠυͷ༰มΘΔՄೳੑ͕͋Γ·͢
ϙʔλϒϧ͞ͷ࣮ݱํ๏ w $MPVE1MBUGPSNʹґଘͨ͠ίʔυͷݮ w ґଘͨ͠ίʔυͱ w $MPVE1MBUGPSN4%,ͷΠϯλʔϑΣʔεͷҧ͍ w ࣮ݱํ๏ͷίΞͭ
w ڞ௨"1* w 4%,ηοτΞοϓίʔυͷ*OKFDUJPO
ڞ௨"1* w ֤$MPVE1MBUGPSNΛ͏ͨΊͷॳظԽҎ֎ಉ͡ॻ͖ ํͰΫϥυαʔϏεΛར༻͍ͨ͠ w ಉ͡ॻ͖ํͰΫϥυετϨʔδ3%#ͷಡΈॻ ͖͕Ͱ͖ΔΑ͏ʹ w ྫ͑4
($4όέπͷಡΈॻ͖JP8SJUFS JP3FBEFSΠϯλʔϑΣʔεΛ࣮ͨ͠8SJUFS 3FBEFSΛ͏
όέπಡΈॻ͖ w νϡʔτϦΞϧίʔυΛಡ͏ … b, err := setupBucket(context.Background(), *cloud,
*bucketName) w, err := b.NewWriter(ctx, file, nil) _, err = w.Write(data) w (PPHMF$MPVE42-"NB[PO3%4Λ͏߹ EBUBCBTFTRMͷΠϯλʔϑΣʔεΛ࣮ͨ͠υϥΠό Λ༻͢Δ͜ͱʹͳΔ
ରԠ͍ͯ͠Δڞ௨"1* w #JOBSZ4UPSBHF.Z42-ͷଞʹ w 3FRVFTU-PHHJOH w /4$"$PNNPO-PH'PSNBU4UBDLESJWFSͷϑΥʔϚοτͰ )551ϦΫΤετϩάΛు͍ͯ͘ΕΔ)551)BOEMFSΛఏڙ w )FBMUI$IFDL༻)BOEMFSಉ༷ʹఏڙ
w 5SBDJOH w 0QFO$FOTVTͰऩूͨ͠τϨʔε༻σʔλΛ4UBDLESJWFS "NB[PO93BZʹૹΔ
͜Ε͔ΒରԠ͢Δͷʁ w ͋Μ·Γ͍͑ͯͳ͍ w ࠓͷͱ͜Ζʢ࣌ʣ($1ͱ"84ʹ ͍࣮ͭͯ͞Ε͍ͯΔ w 1VMMSFRVFTUTʹ(PPHMF$MPVE,.4ͷ࣮͕͋Δ
4%,ηοτΞοϓίʔυ w ֤4%,ηοτΞοϓʹύλʔϯ͕͋Δͱ͞ΕΔ ʢ1PSUBCMF$MPVE1SPHSBNNJOHXJUI(P$MPVEΑΓʣ w ͜ͷύλʔϯ෦ΛखͰશ෦ॻ͔ͳ͍Ͱɺඞཁ࠷ݶ ͚ͩίʔυهड़͢Δͱ$MPVE1MBUPGPSNґଘίʔ υ͕ݮΔ w
HPDMPVETBNQMFTHVFTUCPPLXJSF@HFOHPΛݟͯ ͘Ε w ࠷ऴతͳηοτΞοϓίʔυʹͳΔ
HPDMPVETBNQMFT HVFTUCPPLXJSF@HFOHP w XJSF@HFOHP8JSFͱ͍͏πʔϧͰࣗಈੜ͞Εͨ ίʔυ w ࣗಈੜͷͨΊͷఆٛJOKFDU@YYYHP "84͜ ͜ʣ
HPDMPVETBNQMFT HVFTUCPPLXJSF@HFOHP func setupAWS(ctx context.Context, flags *cliFlags) (*application, func(), error)
{ wire.Build( awscloud.AWS, applicationSet, awsBucket, awsMOTDVar, awsSQLParams, ) return nil, nil, nil } w 3%4ଓઃఆͳͲΛऴΘΒͤͯBQQMJDBUJPOTUSVDUͷ ॳظԽΛ͢Δίʔυ͕͘ॻ͚ͨ
8JSF w ηοτΞοϓίʔυͷੜΛ͢ΔͨΊͷ%* %FQFOEFODZ*OKFDUJPO ίϯςφͰɺHPDMPVEͷί Ξπʔϧͱͯ͠ͷҐஔ͚͕ͩ୯ମͰίϯύΠϧλΠϜ %*ίϯςφͱͯ͠༻Ͱ͖Δ w 1SPWJEFSͱ͍͏ґଘੑΛೖ͍ͨ͠ίϯϙʔωϯτ ͷηοτʹରͯ͠ґଘղܾΛߦ͍ɺίʔυੜΛ͢Δ
w ֤छηοτΞοϓίʔυͷύλʔϯHPDMPVEBXT BXTDMPVEʹίϯϙʔωϯτηοτͱͯ͠ஔ͍ͯ͋Δ ͷͰ͜ΕΛ͏ͱॻ͘ηοτΞοϓίʔυ͕͘ͳΔ
8JSF w ͏ͪΐ͍ৄ͘͠!CVEPVHVNJ͞ΜͷHPDMPVE ͱ8JSFΛར༻ͨ͠%*Λࢀর w લʹࣅͨࢿྉ͕ग़͍ͯΔͷʹࠓؾ͍ͨʜʜ w 1SPWJEFSͱ*OKFDUPS w 1SPWJEFSґଘੑΛఆٛͨ͠ίϯϙʔωϯτ
w *OKFDUPS1SPWJEFSΛґଘॱ൪Ͱฒͯίʔυੜ w 1SPWJEFS*OKFDUPSGVODUJPOͰදݱ͞Εɺγάωνϟ ͰґଘੑͷఆٛͱղܾΛ͍ͯͯ͠໘ന͍
·ͱΊ w (P$MPVEͰ$MPVE1MBUGPSNʹґଘ͠ͳ͍ɺϙʔλϏ ϦςΟΛ࣋ͬͨίʔυΛॻ͖͘͢ͳͬͨʢ͕ͣͩ· ͩBMQIBʣ w 8JSF໘ന͍ w (Pʹ͓͚Δ"45ղੳͷ࣮༻ྫͷͻͱͭͱͯ͠ࢀߟ ʹͳΔ