ngx_small_light             Tatsuhiko Kubo           bokko@pixiv.co.jp
ngx_small_light● Nginxで画像変換を行うための拡張モジュール● mod_small_lightのNginx版 ○ mod_small_light自体はlivedoor(現NHN Japan)が開発 ○ http://code...
設定の書き方
設定の書き方  どこかで見たことがあるような書き方ですよね
本家(mod_small_light)の設定
mod_small_lightとの主な違い● 今のところImageMagickのみをサポート ○ mod_small_lightはImlib2もサポートしている● pパラメータを指定した時の挙動が若干異なる ○ pパラメータ以外のパラメータは無...
ところで、Nginxには既に標準の画像変換モジュールがあるHttpImageFilterModule
ところで、Nginxには既に標準の画像変換モジュールがあるHttpImageFilterModule     略してImageFilter
ImageFilterでさっきと同じようなことをするhttp://img-origin:80/resize/hoge.jpgでImageFilter適用!
ngx_small_lightの場合
ImageFilterのイケてないところ● 設定が複雑になりがち ○ リクエストパラメータの解析ロジックを埋め込む必要があ   る ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド   で指定する必要がある
ImageFilterのイケてないところ● 設定が複雑になりがち  ○ リクエストパラメータの解析ロジックを埋め込む必要があ    る  ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド    で指定する必要があるあ...あり...
ImageFilterのイケてないところ● 設定が複雑になりがち  ○ リクエストパラメータの解析ロジックを埋め込む必要があ    る  ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド    で指定する必要があるあ...あり...
ImageFilterのイケてないところ● 設定が複雑になりがち  ○ リクエストパラメータの解析ロジックを埋め込む必要があ    る  ○ 画質やサムネイルの変換方法(resizeとcrop)をコマンド    で指定する必要があるあ...あり...
mod_small_lightやngx_small_light  の設定ファイルがシンプルな理由● パラメータの解析をモジュール側でやってる● 特定のパスにマッチしたらモジュールにそれを渡すだけ● 特定の変換パターンを定義してpパラメータで指定...
ソースコードはgithubにありますhttps://github.com/cubicdaiya/ngx_small_light
ngx_small_lightの現状と今後● まだ作ったばかりであまり詳細に検証できてない  ○ 現状experimentalレベルのプロダクトという認識● ImageMagick以外もサポートしたい  ○ Imlib2とかGDとか● mod_...
Upcoming SlideShare
Loading in …5
×

ngx_small_light

1,542 views

Published on

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

No Downloads
Views
Total views
1,542
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
6
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

ngx_small_light

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

×