SlideShare a Scribd company logo
이미지 썸네일 생성에 관해서
@river 변용훈
1 / 19
이미지 더 중요해 지다.
이미지 품질 , 네트웍 트래픽
모바일 사용자
반응형 이미지
레티나 디스플레이
글로벌 서비스 고려
우리나라의 네트웍 상황은 특별한 경우다.
CDN은 비싸다
2 / 19
thumbnail
3 / 19
# 99designs
# 미리생성
 
PHP 웹 어플안에 이미지 처리 로직이 섞여 있다.
구조가 복잡하다.
미리 정해놓은 크기의 이미지만 가능.
출처: 99designs.com blog
4 / 19
# 99designs
# 변경후
이미지 처리 분리 ‑> 전용 서버 ‑> 공통으로 사용 가능
다양한 이미지 크기에 대응 가능
HDD의 효율적 사용
원보만 잘 관리하면 된다.
출처: 99designs.com blog
5 / 19
http://thumbor.org/
https://github.com/thumbor/thumbor
6 / 19
# thumbor 이미지 처리 서버
이미지 캐싱 서버
Restful URL 제공
python
tornado 웹서버 내장
http://<thumbor-server>
/300x200
/smart
/s.glbimg.com/bb/f/original/2011/03/24/picture.jpg
7 / 19
# 기능
# resize
http://www.google.fr/images/srpr/logo11w.png (538x190)
http://is1.ecplaza.app/unsafe/200x/www.google.fr/images/srpr/logo11w.png (200x71)
http://is1.ecplaza.app/unsafe/200x200/www.google.fr/images/srpr/logo11w.png (200x200)
8 / 19
# 기능
# resize
# filter
.../unsafe/filters:brightness(10):contrast(30)/http://...
.../unsafe/filters:grayscale()/http://...
.../filters:watermark(test.jpg,‑10,‑10,30)/http://...
9 / 19
# 기능
# resize
# filter
# facial
detect
.../unsafe/debug/smart/https://...
.../unsafe/500x100/smart/https://...
10 / 19
# 기능
# resize
# filter
# facial
detect
# feature
detect
.../unsafe/debug/smart/https://...
.../unsafe/300x300/smart/https://...
11 / 19
# 기능
# resize
# filter
# facial
detect
# feature
detect
# 이미지 최적
화
브라우저  webp 지원 여부 감지. 지원하면  webp형식으로 이
미지 생성
jpegtran,  pngcrush 등을 이용한 이미지 최적화
12 / 19
시스템 구성
13 / 19
# 저장소 storage와  result storage
expire 설정 가능
14 / 19
# 시스템 구성
#
supervisord
프로그램을 데몬 형태로 돌림
프로세스 모니터링
스케일링
thumbor를 가동하기 위해 사용
[program:thumbor]
command=/usr/bin/thumbor --ip=127.0.0.1 --port=800%(process_num)s 
--conf=/etc/thumbor.conf
process_name=thumbor800%(process_num)s
numprocs=4
autostart=true
autorestart=true
startretries=3
stopsignal=TERM
; Output logs for each of our processes
stdout_logfile=/var/log/thumbor800%(process_num)s.stdout.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stderr_logfile=/var/log/thumbor800%(process_num)s.stderr.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
15 / 19
# 시스템 구성
#
supervisord
# nginx
(varnish)
upstream thumbor {
server 127.0.0.1:8000;
server 127.0.0.1:8001;
server 127.0.0.1:8002;
server 127.0.0.1:8003;
}
server {
listen 80;
server_name is1.ecplaza.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://thumbor;
proxy_redirect off;
}
}
16 / 19
보안
아무나  URL 조작을 통해서 서비스를 이용하면 안된다.
SECURITY_KEY,  HMAC-SHA1
http://thumbor/unsafe/300x200/smart/path/to/image.jpg
http://thumbor/1234567890123456789012345678/300x200/smart/path/to/image.jpg
17 / 19
라이브러리URL 생성 지원 목적
PHP
Phumbor
Phumbor for Laravel
Java
Pollexor
18 / 19
결론
도입하고 매우 만족 ㅎㅎ
19 / 19

More Related Content

What's hot

Cv finance manager
Cv finance managerCv finance manager
Cv finance manager
Mohamed Abdul Nabi
 
Internship Report on Financial Statements Analysis of FSIBL by Moez Ansary
Internship Report on Financial Statements Analysis of FSIBL by Moez AnsaryInternship Report on Financial Statements Analysis of FSIBL by Moez Ansary
Internship Report on Financial Statements Analysis of FSIBL by Moez Ansary
Moez Ansary
 
General Banking Activities & Financial Performance of Agrani Bank Limited
General Banking Activities & Financial Performance of Agrani Bank LimitedGeneral Banking Activities & Financial Performance of Agrani Bank Limited
General Banking Activities & Financial Performance of Agrani Bank Limited
Emran Hosain
 
Internship report.pdf p03793
Internship report.pdf p03793Internship report.pdf p03793
Internship report.pdf p03793
zahurul88
 
Dbbl slide estiak
Dbbl slide estiakDbbl slide estiak
Dbbl slide estiak
estiak ahmed
 
Guidelines on Commercial Paper for Banks
Guidelines on Commercial Paper for BanksGuidelines on Commercial Paper for Banks
Guidelines on Commercial Paper for Banks
Shah Naoaj Shahed
 
Access Bank's loan application process
Access Bank's loan application processAccess Bank's loan application process
Access Bank's loan application process
Temitope Damilola Oyewusi, PMP
 
SSS Circular no 2011-003
SSS Circular no 2011-003SSS Circular no 2011-003
SSS Circular no 2011-003
SSS Philippines
 
Total Banking System of Jamuna Bank Limited
Total Banking System of Jamuna Bank LimitedTotal Banking System of Jamuna Bank Limited
Total Banking System of Jamuna Bank Limited
Md. Samiul Islam
 
Emphasize on overall banking activities & analyze the performance over last f...
Emphasize on overall banking activities & analyze the performance over last f...Emphasize on overall banking activities & analyze the performance over last f...
Emphasize on overall banking activities & analyze the performance over last f...
International Islamic University Chittagong, Batch 28 A9
 
ICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDER
ICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDERICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDER
ICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDER
MD. FAZLA RABBE SARDER
 
CV -Accountant, Sales Executive & HR
CV -Accountant, Sales Executive & HRCV -Accountant, Sales Executive & HR
CV -Accountant, Sales Executive & HRViju Vr
 
Internship report on credit management policy & procedure by mutual trust ban...
Internship report on credit management policy & procedure by mutual trust ban...Internship report on credit management policy & procedure by mutual trust ban...
Internship report on credit management policy & procedure by mutual trust ban...
Md. Abdullah Al Noman
 
General banking operations of Pubali bank ltd
General banking operations of Pubali  bank ltdGeneral banking operations of Pubali  bank ltd
General banking operations of Pubali bank ltd
Shah Meraz Rizvi
 

What's hot (14)

Cv finance manager
Cv finance managerCv finance manager
Cv finance manager
 
Internship Report on Financial Statements Analysis of FSIBL by Moez Ansary
Internship Report on Financial Statements Analysis of FSIBL by Moez AnsaryInternship Report on Financial Statements Analysis of FSIBL by Moez Ansary
Internship Report on Financial Statements Analysis of FSIBL by Moez Ansary
 
General Banking Activities & Financial Performance of Agrani Bank Limited
General Banking Activities & Financial Performance of Agrani Bank LimitedGeneral Banking Activities & Financial Performance of Agrani Bank Limited
General Banking Activities & Financial Performance of Agrani Bank Limited
 
Internship report.pdf p03793
Internship report.pdf p03793Internship report.pdf p03793
Internship report.pdf p03793
 
Dbbl slide estiak
Dbbl slide estiakDbbl slide estiak
Dbbl slide estiak
 
Guidelines on Commercial Paper for Banks
Guidelines on Commercial Paper for BanksGuidelines on Commercial Paper for Banks
Guidelines on Commercial Paper for Banks
 
Access Bank's loan application process
Access Bank's loan application processAccess Bank's loan application process
Access Bank's loan application process
 
SSS Circular no 2011-003
SSS Circular no 2011-003SSS Circular no 2011-003
SSS Circular no 2011-003
 
Total Banking System of Jamuna Bank Limited
Total Banking System of Jamuna Bank LimitedTotal Banking System of Jamuna Bank Limited
Total Banking System of Jamuna Bank Limited
 
Emphasize on overall banking activities & analyze the performance over last f...
Emphasize on overall banking activities & analyze the performance over last f...Emphasize on overall banking activities & analyze the performance over last f...
Emphasize on overall banking activities & analyze the performance over last f...
 
ICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDER
ICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDERICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDER
ICB Islamic Bank Limited Foreign Exchange Procedure | MD. FAZLA RABBE SARDER
 
CV -Accountant, Sales Executive & HR
CV -Accountant, Sales Executive & HRCV -Accountant, Sales Executive & HR
CV -Accountant, Sales Executive & HR
 
Internship report on credit management policy & procedure by mutual trust ban...
Internship report on credit management policy & procedure by mutual trust ban...Internship report on credit management policy & procedure by mutual trust ban...
Internship report on credit management policy & procedure by mutual trust ban...
 
General banking operations of Pubali bank ltd
General banking operations of Pubali  bank ltdGeneral banking operations of Pubali  bank ltd
General banking operations of Pubali bank ltd
 

Viewers also liked

썸네일
썸네일썸네일
Digital image processing
Digital image processingDigital image processing
Digital image processingfirdouszoya159
 
Expressive processing - Making Models
Expressive processing - Making ModelsExpressive processing - Making Models
Expressive processing - Making Models
Nammin Lee
 
백세코딩
백세코딩백세코딩
백세코딩
동수 장
 
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
XpressEngine
 
아마존, 구글 사례 중심의 영상처리기술 응용 트렌드
아마존, 구글 사례 중심의 영상처리기술 응용 트렌드아마존, 구글 사례 중심의 영상처리기술 응용 트렌드
아마존, 구글 사례 중심의 영상처리기술 응용 트렌드
Juhyeun Han
 
Introduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. ApplicationsIntroduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. Applications
Mario Cho
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
Luminary Labs
 

Viewers also liked (8)

썸네일
썸네일썸네일
썸네일
 
Digital image processing
Digital image processingDigital image processing
Digital image processing
 
Expressive processing - Making Models
Expressive processing - Making ModelsExpressive processing - Making Models
Expressive processing - Making Models
 
백세코딩
백세코딩백세코딩
백세코딩
 
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
 
아마존, 구글 사례 중심의 영상처리기술 응용 트렌드
아마존, 구글 사례 중심의 영상처리기술 응용 트렌드아마존, 구글 사례 중심의 영상처리기술 응용 트렌드
아마존, 구글 사례 중심의 영상처리기술 응용 트렌드
 
Introduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. ApplicationsIntroduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. Applications
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar to 이미지 썸네일 생성에 관하여 (thumbor)

프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
Chang W. Doh
 
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망Sang Seok Lim
 
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
Chang W. Doh
 
실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기
IMQA
 
Kgw2015 lg엔시스 안무정_최종본
Kgw2015 lg엔시스 안무정_최종본Kgw2015 lg엔시스 안무정_최종본
Kgw2015 lg엔시스 안무정_최종본
무정 안
 
[2018] 프런트엔드 성능 최적화
[2018] 프런트엔드 성능 최적화[2018] 프런트엔드 성능 최적화
[2018] 프런트엔드 성능 최적화
NHN FORWARD
 
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model
Han Lee
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
NAVER Engineering
 
반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2
Lee Ji Eun
 
반응형 웹 디자인
반응형 웹 디자인반응형 웹 디자인
반응형 웹 디자인
준극 김
 
인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장
인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장
인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장
eungjin cho
 
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
Jaeseung Ha
 
Image 2 Torrent 발표자료
Image 2 Torrent 발표자료Image 2 Torrent 발표자료
Image 2 Torrent 발표자료
재영 이
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
Dongho Kim
 
반응형이미지
반응형이미지반응형이미지
반응형이미지
영배 현
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
IMQA
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?
흥배 최
 
이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]
이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]
이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]
WSConf.
 
고성능 애니메이션 개발 기법 및 성능 최적화
고성능 애니메이션 개발 기법 및 성능 최적화고성능 애니메이션 개발 기법 및 성능 최적화
고성능 애니메이션 개발 기법 및 성능 최적화
Byung Ho Lee
 
2010 v1.0 아이디비 퍼스널클라우드의 중심에서다
2010 v1.0 아이디비 퍼스널클라우드의 중심에서다2010 v1.0 아이디비 퍼스널클라우드의 중심에서다
2010 v1.0 아이디비 퍼스널클라우드의 중심에서다승일 최
 

Similar to 이미지 썸네일 생성에 관하여 (thumbor) (20)

프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
 
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
HTML5 관점에서 본 2014 모바일 웹 앱 개발 동향과 사례 및 발전 방향 전망
 
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
 
실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기실 사례로 보는 고객 디지털 경험 지키기
실 사례로 보는 고객 디지털 경험 지키기
 
Kgw2015 lg엔시스 안무정_최종본
Kgw2015 lg엔시스 안무정_최종본Kgw2015 lg엔시스 안무정_최종본
Kgw2015 lg엔시스 안무정_최종본
 
[2018] 프런트엔드 성능 최적화
[2018] 프런트엔드 성능 최적화[2018] 프런트엔드 성능 최적화
[2018] 프런트엔드 성능 최적화
 
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model
 
NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황NAVER의 웹/HTML5환경 대응 현황
NAVER의 웹/HTML5환경 대응 현황
 
반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2
 
반응형 웹 디자인
반응형 웹 디자인반응형 웹 디자인
반응형 웹 디자인
 
인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장
인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장
인메모리 DBMS기반 보안 빅데이터 분석 솔루션 개발 사례 - 리얼타임테크 한혁 연구소장
 
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
NDC2018 안드로이드+유니티 네이티브 프로파일링 삽질기
 
Image 2 Torrent 발표자료
Image 2 Torrent 발표자료Image 2 Torrent 발표자료
Image 2 Torrent 발표자료
 
20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)20140514 team blender_v01 (Korean)
20140514 team blender_v01 (Korean)
 
반응형이미지
반응형이미지반응형이미지
반응형이미지
 
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)모니터링 영역의 변천사_클라우드, 디지털 경험까지)
모니터링 영역의 변천사_클라우드, 디지털 경험까지)
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?
 
이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]
이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]
이환 - 이미지는 마크업의 반이다. [WSConf. Seoul 2016/2017]
 
고성능 애니메이션 개발 기법 및 성능 최적화
고성능 애니메이션 개발 기법 및 성능 최적화고성능 애니메이션 개발 기법 및 성능 최적화
고성능 애니메이션 개발 기법 및 성능 최적화
 
2010 v1.0 아이디비 퍼스널클라우드의 중심에서다
2010 v1.0 아이디비 퍼스널클라우드의 중심에서다2010 v1.0 아이디비 퍼스널클라우드의 중심에서다
2010 v1.0 아이디비 퍼스널클라우드의 중심에서다
 

이미지 썸네일 생성에 관하여 (thumbor)