Your SlideShare is downloading. ×
0
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
ngx_small_light
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ngx_small_light

1,023

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,023
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
4
Comments
0
Likes
5
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ngx_small_light Tatsuhiko Kubo bokko@pixiv.co.jp
  • 2. ngx_small_light● Nginxで画像変換を行うための拡張モジュール● mod_small_lightのNginx版 ○ mod_small_light自体はlivedoor(現NHN Japan)が開発 ○ http://code.google.com/p/smalllight/ ○ mod_small_lightをNginxに移植した、と言った方が正しい
  • 3. 設定の書き方
  • 4. 設定の書き方 どこかで見たことがあるような書き方ですよね
  • 5. 本家(mod_small_light)の設定
  • 6. mod_small_lightとの主な違い● 今のところImageMagickのみをサポート ○ mod_small_lightはImlib2もサポートしている● pパラメータを指定した時の挙動が若干異なる ○ pパラメータ以外のパラメータは無視する● infoパラメータを無視する ○ リリース直前になって対応するの忘れてたことに気付く。。。● ofを指定しない限りフォーマットは変換されない ○ mod_small_lightは何も指定しないとJPEGに変換する● あとは同じ・・・のはず ○ パラメータのパーサや画像変換部分のコードは mod_small_lightのコードをほぼ再利用している
  • 7. ところで、Nginxには既に標準の画像変換モジュールがあるHttpImageFilterModule
  • 8. ところで、Nginxには既に標準の画像変換モジュールがあるHttpImageFilterModule 略してImageFilter
  • 9. ImageFilterでさっきと同じようなことをするhttp://img-origin:80/resize/hoge.jpgでImageFilter適用!
  • 10. ngx_small_lightの場合
  • 11. ImageFilterのイケてないところ● 設定が複雑になりがち ○ リクエストパラメータの解析ロジックを埋め込む必要があ る ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド で指定する必要がある
  • 12. ImageFilterのイケてないところ● 設定が複雑になりがち ○ リクエストパラメータの解析ロジックを埋め込む必要があ る ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド で指定する必要があるあ...ありのまま起こったことを話すぜ!
  • 13. ImageFilterのイケてないところ● 設定が複雑になりがち ○ リクエストパラメータの解析ロジックを埋め込む必要があ る ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド で指定する必要があるあ...ありのまま起こったことを話すぜ!俺は設定ファイルを書いていたと思ったらプログラムを書いていた
  • 14. ImageFilterのイケてないところ● 設定が複雑になりがち ○ リクエストパラメータの解析ロジックを埋め込む必要があ る ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド で指定する必要があるあ...ありのまま起こったことを話すぜ!俺は設定ファイルを書いていたと思ったらプログラムを書いていたな...何を言っているか(ry
  • 15. mod_small_lightやngx_small_light の設定ファイルがシンプルな理由● パラメータの解析をモジュール側でやってる● 特定のパスにマッチしたらモジュールにそれを渡すだけ● 特定の変換パターンを定義してpパラメータで指定できる ○ mod_small_light ■ SmallLightPatternDefine ○ ngx_small_light ■ small_light_pattern_define
  • 16. ソースコードはgithubにありますhttps://github.com/cubicdaiya/ngx_small_light
  • 17. ngx_small_lightの現状と今後● まだ作ったばかりであまり詳細に検証できてない ○ 現状experimentalレベルのプロダクトという認識● ImageMagick以外もサポートしたい ○ Imlib2とかGDとか● mod_small_lightをpixiv用に改造する際に作っ た新規パラメータとか取り込みたい● ドキュメントを書こう!

×