Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
日々大量の素材を扱うために改善したこと/webgenba-meetup-03
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
hamuyuuki
March 08, 2018
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
日々大量の素材を扱うために改善したこと/webgenba-meetup-03
2018/03/07 Web現場Meetup #3
hamuyuuki
March 08, 2018
Transcript
42 slides
ʑେྔͷૉࡐΛѻ͏ͨΊ ʹվળͨ͜͠ͱ 2018/03/07 WebݱMeetup ϐΫελגࣜձࣾɹҏ౻ ༟ر mits / 33114786
ࣗݾհ • ҏ౻ ༟ر • 2015/08 ʙ ϐΫελגࣜձࣾ • 2017/01
ʙ PIXTA VIETNAM ʹग़ • 2018/01 ʙ ٕज़ਪਐάϧʔϓ
ϐΫελגࣜձࣾͷ͝հ
ձࣾ֓ཁ • ઃཱ: 2005/08/25 • ཧ೦: ࠽ೳΛͭͳ͗ɺੈքΛϙδςΟϒʹ͢Δ • ࣄۀ༰: PIXTA,
fotowa, Snapmart ͷӡӦ • ڌ: ຊ, , λΠ, γϯΨϙʔϧ, ϕτφϜ, ؖࠃ
https://pixta.jp ຊޠΛؚΉ6ݴޠͰల։த
ࠓ͢͜ͱ • എܠ • ࣮ࢪ༰ • ࠓޙͷ՝ • ·ͱΊ
എܠ
ૉࡐ͕ PIXTA Ͱൢച͞ΕΔ·Ͱ 1. Ξοϓϩʔυ 2. ਃʢૉࡐʹλΠτϧɾλάΛඥ͚ʣ 3. ৹ࠪʢૉࡐͷΫΦϦςΟΛஅʣ 4.
ൢച։࢝ʂ
ૉࡐ͕ PIXTA Ͱൢച͞ΕΔ·Ͱ 1. Ξοϓϩʔυ 2. ਃʢૉࡐʹλΠτϧɾλάΛඥ͚ʣ 3. ৹ࠪʢૉࡐͷΫΦϦςΟΛஅʣ 4.
ൢച։࢝ʂ
Ξοϓϩʔυ • ϚΠϖʔδܦ༝ͷΞοϓϩʔυ • গྔͷૉࡐΛ PIXTA Ͱൢച͍ͨ͠ࡍʹ༻ • FTPαʔόʔܦ༝ͷΞοϓϩʔυ •
େྔͷૉࡐΛ PIXTA Ͱൢച͍ͨ͠ࡍʹ༻
Ξοϓϩʔυ • ϚΠϖʔδܦ༝ͷΞοϓϩʔυ • গྔͷૉࡐΛ PIXTA Ͱൢച͍ͨ͠ࡍʹ༻ • FTPαʔόʔܦ༝ͷΞοϓϩʔυ •
େྔͷૉࡐΛ PIXTA Ͱൢച͍ͨ͠ࡍʹ༻
FTPαʔόʔܦ༝ͷΞοϓϩʔυ • ετοΫϑΥτۀքͰҰൠతͳํ๏ • େྔͷૉࡐΛอ͍࣋ͯ͠Δ ΫϦΤΠλʔ ͕ޮ Α͘ΞοϓϩʔυͰ͖ΔͨΊʹଘࡏ͢Δ FTP
Server ΫϦΤΠλʔ Ξοϓϩʔυ
چFTPΞοϓϩʔυγεςϜ PIXTA (Batch) S3 FTP Server ΫϦΤΠλʔ ᶃΞοϓϩʔυ PIXTA
(Admin) ϐΫελ ελοϑ ᶄ࿈བྷʢϚΠϖʔδ্ʣ ᶅFTP=>S3ಉظґཔ ᶅFTP=>S3ಉظґཔ ᶆS3ಉظ ᶇ݁ՌΛ௨ ᶈαϜωΠϧੜ ᶉૉࡐใΛอଘ Worker
چFTPΞοϓϩʔυγεςϜ PIXTA (Batch) S3 FTP Server ΫϦΤΠλʔ ᶃΞοϓϩʔυ PIXTA
(Admin) ϐΫελ ελοϑ ᶄ࿈བྷʢϚΠϖʔδ্ʣ ᶅFTP=>S3ಉظґཔ ᶅFTP=>S3ಉظґཔ ᶆS3ಉظ ᶇ݁ՌΛ௨ ᶈαϜωΠϧੜ ᶉૉࡐใΛอଘ Worker
Ξοϓϩʔυ݅ͷਪҠ , , , ,
,
چFTPΞοϓϩʔυγεςϜ PIXTA (Batch) S3 FTP Server ΫϦΤΠλʔ ᶃΞοϓϩʔυ PIXTA
(Admin) ϐΫελ ελοϑ ᶄ࿈བྷʢϚΠϖʔδ্ʣ ᶅFTP=>S3ಉظґཔ ᶅFTP=>S3ಉظґཔ ᶆS3ಉظ ᶇ݁ՌΛ௨ ᶈαϜωΠϧੜ ᶉૉࡐใΛอଘ Worker
• ॲཧϑϩʔͷෳࡶ͞ʹΑΔӨڹ • Ξοϓϩʔυ݅૿ՃʹΑΔɺ͞ΒͳΔ γεςϜͷεέʔϧԽ
࣮ࢪ༰
• ॲཧϑϩʔͷෳࡶ͞ʹΑΔӨڹ • Ξοϓϩʔυ݅૿ՃʹΑΔɺ͞ΒͳΔ γεςϜͷεέʔϧԽ
৽FTPΞοϓϩʔυγεςϜ PIXTA (API) S3 FTP Server Lambda ΫϦΤΠλʔ ᶃΞοϓϩʔυ
ᶄS3ʹಉظ ᶅΠϕϯττϦΨ ᶆαϜωΠϧੜʢಈըʣ ᶆαϜωΠϧอଘʢը૾ʣ ᶆૉࡐใΛอଘ S3 Worker
• ॲཧϑϩʔͷෳࡶ͞ʹΑΔӨڹ • Ξοϓϩʔυ݅૿ՃʹΑΔɺ͞ΒͳΔ γεςϜͷεέʔϧԽ
چFTPΞοϓϩʔυγεςϜ PIXTA (Batch) S3 FTP Server ΫϦΤΠλʔ ᶃΞοϓϩʔυ PIXTA
(Admin) ϐΫελ ελοϑ ᶄ࿈བྷʢϚΠϖʔδ্ʣ ᶅFTP=>S3ಉظґཔ ᶅFTP=>S3ಉظґཔ ᶆS3ಉظ ᶇ݁ՌΛ௨ ᶈαϜωΠϧੜ ᶉૉࡐใΛอଘ Worker
৽FTPΞοϓϩʔυγεςϜ PIXTA (API) S3 FTP Server Lambda ΫϦΤΠλʔ ᶃΞοϓϩʔυ
ᶄS3ʹಉظ ᶅΠϕϯττϦΨ ᶆαϜωΠϧੜʢಈըʣ ᶆαϜωΠϧอଘʢը૾ʣ ᶆૉࡐใΛอଘ S3 Worker
• ॲཧϑϩʔͷෳࡶ͞ʹΑΔӨڹ • Ξοϓϩʔυ݅૿ՃʹΑΔɺ͞ΒͳΔ γεςϜͷεέʔϧԽ
چFTPΞοϓϩʔυγεςϜ PIXTA (Batch) S3 FTP Server ΫϦΤΠλʔ ᶃΞοϓϩʔυ PIXTA
(Admin) ϐΫελ ελοϑ ᶄ࿈བྷʢϚΠϖʔδ্ʣ ᶅFTP=>S3ಉظґཔ ᶅFTP=>S3ಉظґཔ ᶆS3ಉظ ᶇ݁ՌΛ௨ ᶈαϜωΠϧੜ ᶉૉࡐใΛอଘ Worker
৽FTPΞοϓϩʔυγεςϜ PIXTA (API) S3 FTP Server Lambda ΫϦΤΠλʔ ᶃΞοϓϩʔυ
ᶄS3ʹಉظ ᶅΠϕϯττϦΨ ᶆαϜωΠϧੜʢಈըʣ ᶆαϜωΠϧอଘʢը૾ʣ ᶆૉࡐใΛอଘ S3 Worker
AWS Lambda ͱ
৽FTPΞοϓϩʔυγεςϜ PIXTA (API) S3 FTP Server Lambda ΫϦΤΠλʔ ᶃΞοϓϩʔυ
ᶄS3ʹಉظ ᶅΠϕϯττϦΨ ᶆαϜωΠϧੜʢಈըʣ ᶆαϜωΠϧอଘʢը૾ʣ ᶆૉࡐใΛอଘ S3 Worker
• Inotify + Ruby ͰϑΝΠϧγεςϜΛࢹ • S3ʹϑΝΠϧΛಉظ ᶄS3ʹಉظ
৽FTPΞοϓϩʔυγεςϜ PIXTA (API) S3 FTP Server Lambda ΫϦΤΠλʔ ᶃΞοϓϩʔυ
ᶄS3ʹಉظ ᶅΠϕϯττϦΨ ᶆαϜωΠϧੜʢಈըʣ ᶆαϜωΠϧอଘʢը૾ʣ ᶆૉࡐใΛอଘ S3 Worker
ᶅΠϕϯττϦΨ • ΠϕϯττϦΨʹ S3 ΛՃ • Suffix ʹରͱͳΔϑΝΠϧΛࢦఆ • ը૾ɺಈըͦΕͧΕͷ֦ுࢠ
• Event types ʹରͱͳΔΠϕϯτΛࢦఆ • ObjectCreatedͰΦϒδΣΫτ࡞Λର
৽FTPΞοϓϩʔυγεςϜ PIXTA (API) S3 FTP Server Lambda ΫϦΤΠλʔ ᶃΞοϓϩʔυ
ᶄS3ʹಉظ ᶅΠϕϯττϦΨ ᶆαϜωΠϧੜʢಈըʣ ᶆαϜωΠϧอଘʢը૾ʣ ᶆૉࡐใΛอଘ S3 Worker
ᶆLambda • ը૾ϑΝΠϧʹ͍ͭͯ Lambda ͰαϜω ΠϧΛੜͯ͠ɺS3 ʹอଘ • ಈըϑΝΠϧʹ͍ͭͯ αϜωΠϧੜΛ
SQSܦ༝Ͱґཔ • ૉࡐใΛ APIܦ༝Ͱอଘ
ᶆLambda(ը૾αϜωΠϧੜ) import GraphicsMagick from 'gm'; export default class JpgProcessor {
constructor({ awsRegion, srcBucket, srcKey }) { . this.gm = GraphicsMagick.subClass({ imageMagick: true }); . } processImage() { return this._resizeThumbnail(); } _resizeThumbnail() { return this.gm(this.imageDataBody) .resize(THUMBNAIL_SIZE, THUMBNAIL_SIZE) .toBuffer(this.imageType, (err, buffer) => { . . }; } }
݁Ռ • ॲཧϑϩʔͷෳࡶ͞ʹΑΔӨڹ • ૉࡐΞοϓϩʔυΛτϦΨʹ͢Δ͜ͱͰɺॲཧϑϩʔ ΛҰํํʹͯ͠ෳࡶ͞Λͳͨ͘͠ • Ξοϓϩʔυ݅૿ՃʹΑΔɺ͞ΒͳΔγεςϜͷ εέʔϧԽ •
ϐΫελελοϑͷ࿈བྷΛͳ͘͠ɺLambdaΛ༻ ͢Δ͜ͱͰεέʔϧԽΛਤͬͨ
ࠓޙͷ՝
Amazon EBS ͷϚϯτ • ॳɺFTPαʔόʔ্Ͱ s3fs Λͬͯ s3 ΛϚ ϯτ͍͕ͯͨ͠ɺύϑΥʔϚϯε͕ग़ͳ͔ͬͨ
• FTPαʔόʔ Ͱɺ1000GBͷEBSΛϚϯτ ͍ͯ͠Δ • 5ಈ͍͍ͯͯίετ͕ 500$ ~ 1000$
Amazon EBS ͷϚϯτ
·ͱΊ
·ͱΊ • ॲཧϑϩʔͷෳࡶ͞ʹΑΔӨڹ • ૉࡐΞοϓϩʔυΛτϦΨʹ͢Δ͜ͱͰɺॲཧϑϩʔ ΛҰํํʹͯ͠ෳࡶ͞Λͳͨ͘͠ • Ξοϓϩʔυ݅૿ՃʹΑΔɺ͞ΒͳΔγεςϜͷ εέʔϧԽ •
ϐΫελελοϑͷ࿈བྷΛͳ͘͠ɺLambdaΛ༻ ͢Δ͜ͱͰεέʔϧԽΛਤͬͨ
We are hiring!
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ mits / 33114786
More Decks by hamuyuuki
See All by hamuyuuki
VS CodeのExtensionを作ってみた/pixta-techcamp-05
hamuyuuki
0
1.4k
Other Decks in Technology
See All in Technology
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
1.2k
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
180
大江戸Ruby会議でデータベース クライアントの話をするのは 間違っているだろうか
yahonda
1
120
20261113_JAWS_Osaka
takuyay0ne
0
420
速くなるほど、深く考える AI時代のQAに学ぶ
kobayashiyorimitsu
0
200
AWS Quick 入門 | 目指せ Quick マスター 01
inariku
PRO
2
340
「任されビリティ」で引き受けて「よしなりてぃ」に頼らず任せる / Accept tasks with "makasarebility" and hand them over without relying on "yoshinarily"
pauli
0
490
思考過程から秘密が漏れる:Amazon Bedrock上のKimi K3を5つの方法で攻めたら、25回中22回漏洩した話
yama3133
1
160
高品質と高スピードを支える品質のシフトレフトのアプローチ
goyoki
3
960
Kiro Crew の Bot (続く役目を任せる窓口) | 目指せ Kiro マスター 12
inariku
PRO
2
380
セキュリティ専任チームなしで攻撃を先回りするSREが実践したSIEM on Amazon OpenSearch Service
cscengineer
PRO
1
870
Claude Securityを使ってみた / claude-security-claude-code-meetup-nagoya
tnir
0
110
Featured
See All Featured
Mind Mapping
helmedeiros
1
440
Bash Introduction
62gerente
615
220k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.9k
Context Engineering - Making Every Token Count
addyosmani
9
1.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
60k
The Cult of Friendly URLs
andyhume
79
7.1k
4 Signs Your Business is Dying
shpigford
187
23k
Visualization
eitanlees
153
17k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Design in an AI World
tapps
1
390
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
121
130k