Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Tatsuhiko Kubo
6,170 views
ngx_small_lightで動的サムネイル生成 #yapcasia2012
Technology
◦
Read more
6
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 34
2
/ 34
3
/ 34
4
/ 34
5
/ 34
6
/ 34
7
/ 34
8
/ 34
9
/ 34
10
/ 34
11
/ 34
12
/ 34
13
/ 34
14
/ 34
15
/ 34
16
/ 34
17
/ 34
18
/ 34
19
/ 34
20
/ 34
21
/ 34
22
/ 34
23
/ 34
24
/ 34
25
/ 34
26
/ 34
27
/ 34
28
/ 34
29
/ 34
30
/ 34
31
/ 34
32
/ 34
33
/ 34
34
/ 34
More Related Content
PDF
カンタン画像サムネイル作成「Smalllight」
by
livedoor
PDF
Web時代の大富豪的プログラミングのススメ
by
Hideyuki Takeuchi
PPTX
今から始めるDocument db
by
Kazunori Hamamoto
PDF
Measurement of Maximum new NAT-sessionsper second / How to send packets
by
@ otsuka752
PPT
アメーバピグにおける自作サーバ運用
by
Akihiro Kuwano
PDF
ngx_small_light at 第2回闇鍋プログラミング勉強会
by
Tatsuhiko Kubo
PPTX
20141017 introduce razor
by
do_aki
PDF
お金をかけないDBチューニング
by
Kazuya Sato
カンタン画像サムネイル作成「Smalllight」
by
livedoor
Web時代の大富豪的プログラミングのススメ
by
Hideyuki Takeuchi
今から始めるDocument db
by
Kazunori Hamamoto
Measurement of Maximum new NAT-sessionsper second / How to send packets
by
@ otsuka752
アメーバピグにおける自作サーバ運用
by
Akihiro Kuwano
ngx_small_light at 第2回闇鍋プログラミング勉強会
by
Tatsuhiko Kubo
20141017 introduce razor
by
do_aki
お金をかけないDBチューニング
by
Kazuya Sato
What's hot
PDF
pixivのインフラを支える技術
by
Ryuta Kamizono
PDF
Windows Azure Community Open Day 2012
by
Microsoft Openness Japan
PDF
PHPで大規模ブラウザゲームを開発してわかったこと
by
Kentaro Matsui
PDF
サーバーサイドボトルネックの探し方
by
Yugo Shimizu
PDF
Fission で 始める Containerless Kubernetes #serverlesstokyo
by
y_taka_23
PPTX
Microsoft azure
by
ssuser184f93
PDF
CloudAtCostを使ってみた
by
nemumu
PDF
ストリーム処理エンジン「Zero」の開発と運用
by
Eiichi Sato
PPTX
ゼロから始めるBlob
by
Kazunori Hamamoto
PDF
GPUをJavaで使う話(Java Casual Talks #1)
by
なおき きしだ
PDF
国内レンタルサーバとAWSで負荷テストしてみました。
by
株式会社雲屋ネットワーク
PDF
第8回KPF発表資料
by
cryks
PDF
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
by
Masahiro NAKAYAMA
PDF
No SSH (@nojima; KMC関東例会)
by
京大 マイコンクラブ
PPTX
60分でつかった気になるMicrosoft Azure
by
Kazumi Hirose
PDF
Rubyによるお手軽分散処理
by
maebashi
PDF
Java EE勉強会 開発合宿 成果発表
by
Akihiro Harai
PDF
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
by
Yuuki Namikawa
PPT
Scala on Hadoop
by
Shinji Tanaka
PDF
約束なんていらないPromiseよりもasync/awaitだ!
by
kaz3391
pixivのインフラを支える技術
by
Ryuta Kamizono
Windows Azure Community Open Day 2012
by
Microsoft Openness Japan
PHPで大規模ブラウザゲームを開発してわかったこと
by
Kentaro Matsui
サーバーサイドボトルネックの探し方
by
Yugo Shimizu
Fission で 始める Containerless Kubernetes #serverlesstokyo
by
y_taka_23
Microsoft azure
by
ssuser184f93
CloudAtCostを使ってみた
by
nemumu
ストリーム処理エンジン「Zero」の開発と運用
by
Eiichi Sato
ゼロから始めるBlob
by
Kazunori Hamamoto
GPUをJavaで使う話(Java Casual Talks #1)
by
なおき きしだ
国内レンタルサーバとAWSで負荷テストしてみました。
by
株式会社雲屋ネットワーク
第8回KPF発表資料
by
cryks
20140828 #ssmjp 社内チューニンガソンで優勝したはなし
by
Masahiro NAKAYAMA
No SSH (@nojima; KMC関東例会)
by
京大 マイコンクラブ
60分でつかった気になるMicrosoft Azure
by
Kazumi Hirose
Rubyによるお手軽分散処理
by
maebashi
Java EE勉強会 開発合宿 成果発表
by
Akihiro Harai
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (後編)
by
Yuuki Namikawa
Scala on Hadoop
by
Shinji Tanaka
約束なんていらないPromiseよりもasync/awaitだ!
by
kaz3391
Viewers also liked
PDF
Inside pixiv's infrastructure〜application cluster side〜
by
Tatsuhiko Kubo
PDF
ngx_small_light
by
Tatsuhiko Kubo
PDF
pixiv thumbnails
by
Tatsuhiko Kubo
PDF
JPEGのDCTブロックで コンテンツ指向のトリミング
by
Yohsuke Furuta
PDF
RICOH THETAの全天球画像でペーパークラフト
by
Takehiko YOSHIDA
PPTX
Apache Storm 0.9 basic training - Verisign
by
Michael Noll
PPTX
Scaling Apache Storm (Hadoop Summit 2015)
by
Robert Evans
PDF
Twitterのリアルタイム分散処理システム「Storm」入門
by
AdvancedTechNight
PDF
ストリームデータ分散処理基盤Storm
by
NTT DATA OSS Professional Services
PDF
pixivの画像アップロードシステム
by
Tatsuhiko Kubo
PDF
Easy scripting in Go
by
naoty_bot
Inside pixiv's infrastructure〜application cluster side〜
by
Tatsuhiko Kubo
ngx_small_light
by
Tatsuhiko Kubo
pixiv thumbnails
by
Tatsuhiko Kubo
JPEGのDCTブロックで コンテンツ指向のトリミング
by
Yohsuke Furuta
RICOH THETAの全天球画像でペーパークラフト
by
Takehiko YOSHIDA
Apache Storm 0.9 basic training - Verisign
by
Michael Noll
Scaling Apache Storm (Hadoop Summit 2015)
by
Robert Evans
Twitterのリアルタイム分散処理システム「Storm」入門
by
AdvancedTechNight
ストリームデータ分散処理基盤Storm
by
NTT DATA OSS Professional Services
pixivの画像アップロードシステム
by
Tatsuhiko Kubo
Easy scripting in Go
by
naoty_bot
More from Tatsuhiko Kubo
PDF
mruby_nginx_module at pyfes 2013.11
by
Tatsuhiko Kubo
PDF
mruby_nginx_module〜Embedded mruby into Nginx〜
by
Tatsuhiko Kubo
ZIP
dtl - diff template library
by
Tatsuhiko Kubo
PDF
mruby_nginx_module
by
Tatsuhiko Kubo
PDF
ngx_small_light
by
Tatsuhiko Kubo
PDF
memcached proxy server development and operation
by
Tatsuhiko Kubo
ZIP
memcachedからKyotoTycoonへ
by
Tatsuhiko Kubo
ZIP
Memorypool Key
by
Tatsuhiko Kubo
ZIP
String Match Algrithm
by
Tatsuhiko Kubo
ZIP
Diff
by
Tatsuhiko Kubo
mruby_nginx_module at pyfes 2013.11
by
Tatsuhiko Kubo
mruby_nginx_module〜Embedded mruby into Nginx〜
by
Tatsuhiko Kubo
dtl - diff template library
by
Tatsuhiko Kubo
mruby_nginx_module
by
Tatsuhiko Kubo
ngx_small_light
by
Tatsuhiko Kubo
memcached proxy server development and operation
by
Tatsuhiko Kubo
memcachedからKyotoTycoonへ
by
Tatsuhiko Kubo
Memorypool Key
by
Tatsuhiko Kubo
String Match Algrithm
by
Tatsuhiko Kubo
Diff
by
Tatsuhiko Kubo
ngx_small_lightで動的サムネイル生成 #yapcasia2012
1.
ngx_small_lightで 動的サムネイル生成
Tatsuhiko Kubo cubicdaiya@gmail.com at YAPC::Asia 2012
2.
自己紹介 •
久保 達彦 (bokko) • @cubicdaiya • インフラ兼ソフトウェアエンジニア@pixiv
3.
ngx_small_light • 画像サムネイル生成サーバ with
Nginx • サムネイルの生成パターンをURLで指定 • mod_small_lightのNginx移植版
4.
URLのパスを変えるだけで
いろんなサムネイルを生成♪ /tank.jpg /small_light(p=medium)/tank.jpg /small_light(p=small)/tank.jpg オリジナル Mサイズ Sサイズ
5.
設定ファイル server {
listen 80; server_name localhost; # small_lightを有効にする small_light on; # 変換パターンを定義 small_light_pattern_define medium dw=500,dh=500; small_light_pattern_define small dw=120,dh=120; location ~ small_light[^/]*/(.+)$ { set $file $1; rewrite ^ /$file; } }
6.
ngx_small_lightのディレクティブ
7.
small_light • ngx_small_lightのon/off(デフォルトはoff) small_light on;
8.
small_light_pattern_define •
サムネイル生成パターンに名前を付ける small_light_pattern_define medium dw=500,dh=500; 以下の二つのURLは同じレスポンスを返す http://localhost/small_light(dw=500,dh=500)/tank.jpg http;//localhost/small_light(p=medium)/tank.jpg dw, dh:生成するサムネイルの幅と高さ
9.
small_light_material_dir
• 合成用素材ディレクトリ small_light_material_dir /var/materials; • embedicon, ix, iyと組み合わせて使う http://localhost/small_light(embedicon=icon.jpg,ix=0,iy=0)/tank.jpg • tank.jpgの座標(0, 0)に/var/materials/icon.jpgを埋め込む
10.
最後に
• ngx_small_lightはgithubで公開中 https://github.com/cubicdaiya/ngx_small_light •
11.
おまけ
12.
僕がngx_small_light をつくったわけ
13.
去年、某社の技術資料を見た僕の当時の上司が、
サムネイルの動的生成か。 よし、うちもやろう!
14.
半年後
15.
そういや、そんなことあったなぁ
一から書くの面倒だし、 mod_small_lightってのを使ってみよう
16.
二日後
17.
原型留めてないくらい改造した mod_small_lightを見せに行く
bokko++ うちでも使える ように改造したよ∼♪
18.
原型留めてないくらい改造した mod_small_lightを見て・・・
・・・ ♪ ♪♪
19.
Nginxでやらない?
20.
Nginxでやらない?
21.
Nginxでやらない?
22.
mod_small_lightに 約350行の巨大パッチあてた次の日に
23.
mod_small_lightに 約350行の巨大パッチあてた次の日に Nginxでやらない?
24.
mod_small_lightに 約350行の巨大パッチあてた次の日に Nginxでやらない?
大事なことなので三回言いました
25.
mod_small_lightにあてた 約350行の巨大パッチ
26.
mod_small_lightにあてた 約350行の巨大パッチ パッチってレベルじゃねぇ!!!
27.
そもそもの前提として • 当時既にpixiv内のHTTPサーバは大体 ApacheからNginxに置き換わってた
28.
結局、
そうするか Apacheで いきましょう @cubicdaiya @kamipo
29.
半年後
30.
ngx_small_lightリリース
31.
当時の弊社のNginxマスターからの反応
32.
ngx_small_lightは こうして生まれました!
33.
一部誇張されていますが 概ね事実です!!!
34.
ご静聴ありがとございました
Download