w ాক
w Ϋϥεϝιουגࣜձࣾ
w ϞόΠϧΞϓϦαʔϏε෦
w "1*։ൃɺ"84ڥߏஙɺӡ༻
Slide 3
Slide 3 text
ࠓ͢͜ͱ
w %PDLFSΛ͏Ϟνϕʔγϣϯ
w &$4 PO&$
ΛબͿཧ༝
w &$4جຊϓϥΫςΟε
w $*$%
w #MVF(SFFOσϓϩΠ
Slide 4
Slide 4 text
%PDLFSΛ͏Ϟνϕʔγϣϯ
Slide 5
Slide 5 text
%PDLFSΛ͏Ϟνϕʔγϣϯ
w ຊ൪Ͱಈ͘ڥͰ։ൃ
w ։ൃڥߏங
w ىಈ͕ૣ͍
w ൣғͷ
Slide 6
Slide 6 text
ຊ൪Ͱಈ͘ڥͰ։ൃ
Slide 7
Slide 7 text
%PDLFSͰ࣮ݱͯ͠Δൣғ
w ϛυϧΣΞ .Z42-
3FEJT
w ΞϓϦέʔγϣϯ (P
3BJMT
w ͨͩ͠։ൃ࣌*%&ͷิίϚϯυ࣮ߦ
͕खؒͷͨΊ։ൃڥʹΠϯετʔϧ
͍ͯ͠Δ
Slide 8
Slide 8 text
خ͍͠ͱ͜Ζ
w ϛυϧΣΞͷόʔδϣϯઃఆΛ։ൃϝϯόʔ
Ͱ߹ΘͤΒΕΔ NZTRM
SFEJT
FUD
w ຊ൪ڥʹ͍ۙڥͰ։ൃͰ͖ΔͷͰຊ൪Ͱ͠
͔͓͖ͳ͍ෆ۩߹͕։ൃ࣌ʹ͓͖Δ
w $*࣌ʹϏϧυͨ͠ΠϝʔδͰσϓϩΠͰ͖Δͷ
Ͱຊ൪σϓϩΠ࣌ʹࣄނ͕ى͖ʹ͍͘
Slide 9
Slide 9 text
$*࣌ͷΠϝʔδͰσϓϩΠ
Slide 10
Slide 10 text
։ൃڥߏங
Slide 11
Slide 11 text
؆୯ʹͤΔ
w EPDLFSDPNQPTFͰϛυϧΣΞΛؚΊ
ͯ؆୯ʹىಈͰ͖ΔͷͰϑϩϯτΤϯδχ
ΞͷਓʹڥΛ͍͢͠
w ຊ൪Ͱ͏%PDLFSpMFͰϏϧυͨ͠Πϝʔ
δΛ͔ͭͬͯΒ͏͜ͱͰ"1*ΛͬͯΒ
͍ͳ͕Βσόοάͯ͠Β͑Δ
Slide 12
Slide 12 text
ڥΛԚ͞ͳ͍
# データベースを作成
docker-compose run api rails db:create
docker-compose run api rails db:migrate
EPDLFSDPNQPTFΛ͑
ຊདྷඞཁͳϥΠϒϥϦͷΠϯετʔϧΛ͠ͳ͍Ͱ
ॳظηοτΞοϓ͕Ͱ͖Δ
Slide 13
Slide 13 text
ىಈ͕ૣ͍
Slide 14
Slide 14 text
ىಈͷ͞
w ϓϩηεͷىಈ૬Ͱ্ཱ͕ͪΔͷͰىಈ
͕ૣ͍
w 7BHSBOU$IFGͱൺΔͱ͔ͳΓߴ
Slide 15
Slide 15 text
ൣғͷ
Slide 16
Slide 16 text
ൣғͷ
w ։ൃऀ%PDLFSpMFͰΞϓϦέʔγϣϯ͕
ಈ͘͜ͱΛอূ͢Δ
w ӡ༻ऀ%PDLFS͕ಈ͘ΠϯϑϥΛอূ͢Δ
w ໌֬ʹൣғ͕͔ΕΔ͜ͱʹΑΓͦΕͧ
Εͷ࡞ۀʹूதͰ͖Δ
'MVFOUEMPHFOUSJFT
w ϩάͷ੍ޚ͕qVFOUEͰߦ͑Δ
w ूܭɺΞϥʔτ͕MPHFOUSJFTͰ؆୯ʹͰ͖Δ
w ৽͍͠ར༻සͷߴ͍ϩάߴػೳͳMPHFOUSJFTɺݹ͍ϩά4Ͱ҆͘อଘͰ͖Δ
wMPHFOUSJFT͕ߴՁ
wqVFOUEͷϝϯςφϯεͱઃఆ͕ඞཁ
1SPT
$POT
Slide 34
Slide 34 text
Πϯελϯεަ
w &$ͷγϟοτμϯͱίϯςφͷγϟο
τμϯ࿈ಈ͠ͳ͍
Slide 35
Slide 35 text
&$ͷऴྃ
&$ͷγϟοτμϯ࣌ʹ
ίϯςφಥવऴྃͤ͞ΒΕΔ
Slide 36
Slide 36 text
υϨΠχϯά
w &$4ΫϥελʹBDUJWFͱESBJOJOHεςʔ
λε͕͋Δ
w ESBJOJOHঢ়ଶͷ&$4Ϋϥελ্ͷαʔϏ
είϯςφΛऴ͍ྃͤͯ͘͞
ϒϥϯνӡ༻
w NBTUFSʹϚʔδ࣌ɺςετ࣮ߦΠϝʔδΛϏϧυ
w UBHʹ$JSDMF$*ͷCVJME൪߸ΛؚΊΔ͜ͱͰ
ࣗಈͰҰҙʹͳΔΑ͏ʹ͍ͯ͠Δ
Slide 43
Slide 43 text
ϒϥϯνӡ༻
w ຊ൪ڥͰΤϥʔ͕ൃੜ͠NBTUFSਐΜͰ͠·ͬͯΔ
w pYϒϥϯνΛ࡞ͦ͠ΕΛҰ୴EFWFMPQͰ֬ೝޙQSPE
ڥʹσϓϩΠ
Slide 44
Slide 44 text
FROM golang:1.9 AS builder
# ①
WORKDIR /go/src/github.com/example/api
COPY . .
ENV GOOS=linux \
GOARCH=amd64
# ②
RUN curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh \
&& dep ensure -v \
&& bash ./build.sh
ENTRYPOINT go test ./...
FROM alpine
# ③
COPY --from=builder /go/src/github.com/example/api /api
ENTRYPOINT ["/api"]
ᶃ(01"5)ԼʹιʔεΛஔ
ᶄϥΠϒϥϦΛΠϯετʔϧ࣮͠ߦϑΝΠϧΛϏϧυ͢Δ
ᶅCVJMEFSͰϏϧυ࣮ͨ͠ߦϑΝΠϧΛίϐʔ
Slide 45
Slide 45 text
&$3Πϝʔδλά
w $JSDMF$*Ͱػցతʹ͚ͭΔλά
w σϓϩΠεΫϦϓτ࣮ߦ࣌ʹͲͷڥʹσϓϩΠ
͔ͨ͠Θ͔Δλά
Slide 46
Slide 46 text
σϓϩΠ
w ։ൃڥʹCVJME͕ޭ͢ΔͨͼʹσϓϩΠ
w σϓϩΠ͢ΔUBHΛεςʔδϯάʹσϓϩΠ
w εςʔδϯάͰςετ͞ΕͨUBHΛຊ൪ʹσϓϩΠ
Slide 47
Slide 47 text
#MVF(SFFOσϓϩΠ
Slide 48
Slide 48 text
ඞཁੑ
w σϓϩΠ&$4ͷϩʔϦϯάΞοϓσʔτ
w ͨͩ͠ɺ&MBTUJ$BDIFɺϝϯςφϯεΟ
ϯυΞοϓάϨʔυʹதஅ͕ඞཁͳϛυ
ϧΣΞ͋Δ
w ຊ൪ڥͰެ։લςετ
Slide 49
Slide 49 text
ߏ
-JTUFOFS3VMFͷ
5BSHFU(SPVQΛ
ೖΕସ͑Δ
Slide 50
Slide 50 text
&MBTUJ$BDIFͷΞοϓάϨʔυ
৽͍͠&MBTUJ$BDIFΛ࡞͠
ػܥͷଓઌΛ͔͑ͯ
#MVF(SFFOΛೖΕସ͑Δ
New