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
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
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
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
160
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
450
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
エンタメ企業のM&Aを支えるデータ基盤 ― 統合から店舗のリアルタイム分析まで / Data Engineering Summit 2026
genda
0
170
SAENM ~Jupyterで残すPoCの試行錯誤、未来の自分と仲間を助ける記録!~
terapyon
0
110
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
110
パスキーの自動テストはどこまでいけるのか
teamlab
PRO
0
210
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
4
1.1k
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
4
1.1k
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
6k
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
Featured
See All Featured
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
600
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
GitHub's CSS Performance
jonrohan
1033
470k
Automating Front-end Workflow
addyosmani
1369
210k
4 Signs Your Business is Dying
shpigford
187
23k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
Done Done
chrislema
187
17k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Transcript
ʑେྔͷૉࡐΛѻ͏ͨΊ ʹվળͨ͜͠ͱ 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