의견등록 - 로그인 후 등록 가능합니다.

예전에 리사이징 문제로 골머리가 아픈적이 있는데... 프로그램을 사용하기가 클라이언트 쪽에서 너무 부담스러워서 해서... 어찌어찌 해결한적은 있는데... 도움이 되실까 모르겠네요..

응용프로그램을 사용하면 박선자님 말씀대로 imagemagick 이나 이노닉스의 제품군을 사용하면 간편하게 설치해서 설정만 잡아주면 됩니다.

하지만 응용프로그램을 쓰지 않는 경우는 JSP라면 class를 생성해서 리사이징에 대한 정의를 내려야 하고..

ASP의 경우는 LoadPicture 라는 함수를 이용해서 가로와 세로사이즈를 읽어낸 후 원하는 사이즈와 비교하여 Round 시키는 방법이 있구요...

자바스크립트로 하게 되면 코드는 조금 복잡하지만 ASP의 경우에 비해 여러가지 제약을 안받는다는 장점은 있죠.. 하지만 가끔 엉뚱한 사이즈로 이미지를 다시 리사이징 하는 경우가 생기곤 합니당..

흠.. 서버단 구성 원리는 이럴거 같네요..

1. 클라이언트에 의해 파일업로드

(파일 다중 업로드 컴포넌트 + 웹에디터 적용)

2. 이미지로더 구분(GIF,JPG,BMP,PNG)

3. 바이트 스트리밍(중간 처리과정)

(임시 저장소 필요)

4. 인스턴트 매니저(중간 파일 관리기능)

- 같은 뎁스로 인스턴트 컨트롤러를 둬서 사진에 대한 액션을 걸 수 있겠죠

- Encoder, Decoder, Converter, Compressor, Effector, Resizing(철자가 맞는지는 모른다며;;;)

(임시 저장소 공유)

5. 바이트 스트리밍(중간 처리과정)

(4번과 6번사이의 통신을 이루고, 파일을 분산배치하기 위한 사전 준비 단계)

6. 파일매니저(서버와 직접 통신)

6.1 임시저장 -> 6.2 확장자 분류 -> 6.3 분산처리 -> 6.4 분산저장완료 -> 6.5 영역매칭

요정도의 원리로.. 구성해서 돌리긴 했는데...

업로드 컴포넌트를 1의 경우에서 적용하고, 웹에디터를 함께 적용할 수 있겠네요..(당시 웹에디터만 적용)

그리고.. 이미지의 파일개수가 많아져서 서버를 증설하는 경우 파일매니저를 엔진화하여 중앙 서버에 재구성하고

하위 서버로 분산배치 시키는 역할을 6의 경우에서 구성하고 더불어 재처리 과정을 부여하면 될 것으로 봅니다.

(어찌어찌 구성하는데 성공해서... 돌리긴 했지만.. 그다지 서버에 대해 많이 알지못해.. 안정적이지 못했다며..)

보통 대형 쇼핑몰의 경우는

1. 중앙서버(컴포넌트관리, 인스턴트 처리(리사이징 및 각 효과), 파일분산엔진, 파일매니저)

2. 이미지 DB서버(다수)

개념으로 구성하는 걸로 압니다. 2대의 서버를 쓰게 되더라도 똑같은 구성으로 할 수 있겠죵..

흠.. 개발 언어에 따라 JSP는 Class를... ASP는 이미지 관련 함수와 썸네일 구성.. PHP도 역시 이미지 관련 함수와 썸네일 구성 및 자바스크립트를 적용하게 되는데...

JAVA의 경우 다른 언어에 비해 깔끔하게 리사이징 돼서 보여지긴 하지만... 불필요하게 무거워질 수도 있으니 Class생성시 간단하면서도 필요한 기능만 있도록 구성하는게 나으실거고...

ASP와 PHP는 썸네일을 함께 연동한다 하더라도... 깔끔하진 않네요...

스크립트 만으로도 썸네일과 연동해서 코드를 잡을 수는 있는데.. 역시 깔끔하진 않습니다 ^^;;;;

도움이 되실런지.;;

이미 해결하셨다면... 그저 잘 모르는 곰 한마리가 아는것만 이야기 한걸로 하셔도 된다며....(__);

08.03.20 18:07 | PM곰돌OI님 | 신고 | 수정 | 삭제
답글 0
입력상자 늘리기

음.. 정확하게는 모르겠지만, imagemagick처럼 서버단에서 리사이징 해주는 서버응용프로그램이 있고,

이미지들을 보관하고 관리하는 별도의 서버를 여러대로 분산처리 해 두는 것으로 알고 있습니다.

예전 텐바이텐 마케터에게 들은 바입니다.

그분도 정확한 프로그램명이나 환경은 잘 모르고, 이미지 관리용 서버가 여러대이고, 서버단에서 리사이징하는 것은 맞습니다.

08.03.05 15:33 | 그여자님 | 신고 | 수정 | 삭제
답글 0
입력상자 늘리기

비밀번호 확인

의견 등록시에 입력했던 비밀번호를 입력해 주세요.