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
脱FTP!一瞬でS3にファイル転送
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
mi
September 30, 2016
Technology
810
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
脱FTP!一瞬でS3にファイル転送
AWSのS3ストレージにFTPを使用せず、コマンドだけでアップする方法をご紹介します。
mi
September 30, 2016
More Decks by mi
See All by mi
Switchbot で人生をチョット豊かに。
mi
0
200
自己紹介
mi
0
370
computed のすゝめ
mi
2
680
あの素晴らしい猫の本
mi
0
1.2k
作業効率がアップする アプリ紹介
mi
0
130
git
mi
0
78
Other Decks in Technology
See All in Technology
20分でわかるセキュアAPI
nwiizo
0
180
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
140
サイバー捜査員研修(前半)
nomizone
1
1.9k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Retriever と Reranker、結局どうする?
kazuaki
3
690
FPGAが実現する遠方宇宙の高空間分解能天体撮影 -大型地上望遠鏡の視力を補正する「補償光学」とは?-
komei_mt
0
140
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.4k
老害フォレンジッカーはAI羊の夢を見るか?
tadmaddad
0
270
MIRU 2026 チュートリアル
keisuke198619
0
860
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
620
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
470
Featured
See All Featured
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
890
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
A Soul's Torment
seathinner
6
3.4k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
360
Six Lessons from altMBA
skipperchong
29
4.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
440
WENDY [Excerpt]
tessaabrams
11
39k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Typedesign – Prime Four
hannesfritz
42
3.1k
Making the Leap to Tech Lead
cromwellryan
135
10k
Transcript
̛̩̥ʂ ҰॠͰS3ʹϑΝΠϧసૹ 2016/09/07 (ɾωɾ) @mi
ࣗݾհ ૿ຊɹඒཬ (@_upto_me_) ग़ɿ࡚ݝେଜࢢ ࣄɿՈ۩ (LOWYA / vega.inc) ڵຯ͋Δ͜ͱɿJavaScript, ຑ,
ΘΜ͜
ࠓ͢͜ͱ ϑϩϯτΤϯυͷλεΫϥϯφʔgulpͷ ʮgulp-s3ʯΛ༻͍ͯɺAWSͷS3ʹ 1ίϚϯυͰɺϑΝΠϧΛసૹ͢Δํ๏ɻ 㲈 s3ڥʹҰॠͰσϓϩΠɻ
λεΫϥϯφʔͱʁ
λεΫϥϯφʔ ϑϩϯτΤϯυͷ։ൃʹɺίϯύΠϧ࡞ۀɺϑΝΠϧͷѹ ॖ࡞ۀͳͲɺଟ͘ͷλεΫ͕͋Γ·͢ɻ͜ΕΒΛҰׅͰཧɾ ࣗಈԽͯ͘͠ΕΔͷ͕ʮλεΫϥϯφʔʯͰ͢ɻ - CSSJavaScriptͷѹॖɺ݁߹ - SassͷίϯύΠϧ
None
None
ͦΕ͔ΒͲ͏ͳͬͨʁ
2016/03 Ҏ߱
webpack શউརʂʁ ※ 2016/09/07࣌
ࠓճ…
gulp ( Ψϧϓ ) λεΫϥϯφʔ - Node.js্ʹߏங͞ΕͨϏϧυπʔϧ - ϏϧυखॱΛλεΫͱ͍͏ܗͰࣗΒఆٛ -
ઃఆϑΝΠϧͷΑ͏ͳͷΛ͘γϯϓϧʹॻ͚Δ (※) (※ ൺֱରɿGrunt)
gulp ( Ψϧϓ ) λεΫϥϯφʔ - Node.js্ʹߏங͞ΕͨϏϧυπʔϧ - ϏϧυखॱΛλεΫͱ͍͏ܗͰࣗΒఆٛ -
ઃఆϑΝΠϧͷΑ͏ͳͷΛ͘γϯϓϧʹॻ͚Δ (※) (※ ൺֱରɿGrunt)
None
Node.js ( ϊʔυδΣʔΤε ) JavaScript࣮ߦڥ - αʔόʔαΠυͰJavaScriptΛ࣮ߦͰ͖ΔΑ͏ʹͯ͘͠ΕΔͷ ≒ Server Side
JavaScriptɺNodeڥ - େྔͷσʔλΛߴʹαό͘ɻͭΑ͍ʢ֬৴ʣ
࣮ࡍʹs3̏ඵͰ Ξοϓ͠·͢
Ͳʔͬͯ͢Δͷʁ
ҙࣄ߲ ͜ͷαϯϓϧͰϓϩδΣΫτϑΥϧμʹ ʮviewsʯͱ͍͏ެ։༻ϑΥϧμ͕ଘࡏ͠·͢ɻ ͍·͔Βߦ͏࡞ۀɺʮviewsʯϑΥϧμͷதΛ·Δͬͱ s3ʹసૹ͢Δํ๏Λ͝આ໌͠·͢ɻ ಉ͡Α͏ʹ࡞ۀ͍ͨ͠ํɺϓϩδΣΫτϑΥϧμʹ ৽͘͠ެ։༻ϑΥϧμʮviewsʯΛ࡞ͯ͠ɺ ͦ͜ʹhtmlϑΝΠϧΛͭͬ͜ΜͰ͓͍͍ͯͩ͘͞ɻ
खॱ 1. Node.jsΛΠϯετʔϧ 2. GulpΛΠϯετʔϧ 3. ύοέʔδͷΠϯετʔϧ 4. Gulpfile.jsͱaws.json(ઃఆϑΝΠϧΈ͍ͨͳͷ) ࡞
5. ίϚϯυ͏ͭʂ → S3ʹసૹྃ 1ɺ2ɺ3ɺ4࠷ॳͷΈඞཁɻS3ʹϑΝΠϧΛ͋͛Δૢ࡞5
Node.jsΛΠϯετʔϧ
https://nodejs.org/en/download/
Node.jsͷΠϯετʔϧ֬ೝ Πϯετʔϧ͕ऴΘͬͨΒλʔϛφϧίϚϯυϓϩϯϓτͰ ʰ node -v ʱͱଧͬͯΈ͍ͯͩ͘͞ɻόʔδϣϯใ͕֬ೝͰ͖ΕOKʂ
GulpͷΠϯετʔϧ ※ άϩʔόϧΠϯετʔϧͦͷϚγϯ্ͷͲ͔͜ΒͰ ར༻Ͱ͖ΔΑ͏Πϯετʔϧ͢Δ͜ͱɻ ※ ϩʔΧϧΠϯετʔϧͦͷϓϩδΣΫτͷ ϑΥϧμͰͷΈར༻Ͱ͖ΔΑ͏Πϯετʔϧ͢Δ͜ͱɻ
GulpͷάϩʔόϧΠϯετʔϧ λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ npm install -g gulp
GulpͷΠϯετʔϧ֬ೝ λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ gulp -v CLI όʔδϣϯ͕දࣔ͞ΕΕOK
ϓϩδΣΫτϑΥϧμʹ ύοέʔδΛΠϯετʔϧ͢Δ λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ cd ϓϩδΣΫτϑΥϧμͷύε npm init nam install —save-dev
gulp gulp-s3 ➔ ͍Ζ͍ΖӳޠͰ࣭͞Ε·͕͢ɺશͯΤϯλʔͰOK
ϓϩδΣΫτϑΥϧμΛ֬ೝ͢Δͱɺ - node_modules [ϑΥϧμ] - package.json [ϑΝΠϧ] ্هͷ2͕ͭग़དྷ͍ͯΔͱࢥ͍·͢ɻ ಉ֊ʹҎԼ2ͭϑΝΠϧΛ࡞͍ͯͩ͘͠͞ɻ
- gulpfile.js - aws.json ඞཁϑΝΠϧͷՃ
aws.json keyɿΞΫηεΩʔ ID secretɿγʔΫϨοτΞΫηεΩʔ bucketɿαΠτͷURI regionɿap-northeast-1
aws.json *".Ϣʔβʔʢ͕ࣗ࡞ͨ͠ΞΧϯτ໊ʣ
gulpfile.js
ίϚϯυଧͬͯΈΑ͏ʙʂ”
λʔϛφϧίϚϯυϓϩϯϓτͰԼهίϚϯυ࣮ߦ gulp deploy
None
None
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠