0.4.1 • Published 9 years ago

pictor v0.4.1

Weekly downloads
1
License
MIT
Repository
github
Last release
9 years ago

pictor

English

pictor는 간단한 이미지 업로드/변환/다운로드 서버입니다.

pictor의 이름은 화가의 별자리에서 따왔습니다.

logo

소개

로컬 저장소와 트래픽은 비쌉니다. 클라우드 환경에서는 특히 그렇죠.

세상에는 다양한 싸고 클라우드/원격 저장소 서비스들이 있고, 그 서비스들은 대개 싸고 빠른 HTTP 접근을 제공합니다.

예. 아마존 S3, 카페24PHP스쿨호스팅 같은데서 제공하는 FTP+HTTP 정적 이미지 호스팅 서비스...

pictor는 이런 환경에 맞춰 설계되었습니다.

pictor는 기본적으로 다음과 같이 동작합니다:

  • 업로드는 pictor가 처리합니다. 가능하다면 클라우드/원격 스토리지가 처리할 수도 있습니다.
  • 변환은 pictor가 처리합니다.
  • 다운로드는 가능하다면 클라우드/원격 스토리지가 처리합니다. 원한다면 pictor가 처리할 수도 있습니다.
  • 모든 파일은 클라우드/원격 저장소에 보관됩니다. 물론 로컬 저장소도 사용할 수 있습니다.
  • 모든 변환된 파일(pictor가 생성한)은 언제든지 삭제해도 됩니다. 필요하면 pictor가 다시 생성합니다.

다이어그램

시작하기

  1. install prerequisites for mac osx:
    $ brew install graphicsmagick
    for debian/ubuntu linux:
    $ apt-get install graphicsmagick
    or else see http://graphicsmagick.org
  2. download & install pictor install with npm:
    $ npm install pictor
    or get source from github:
    $ git clone git@github.com:iolo/pictor.git
  3. startup pictor server start as standalone:
    $ ./bin/pictor --host=0.0.0.0 --port=3001
    or startup with pm2
    $ npm install pm2 -g
    $ pm2 start -i 4 -n pictor ./bin/pictor -- --host=0.0.0.0 --port=3001
  4. test run in browser
    $ open http://localhost:3001
  5. test run in console
    TBD...

설정

config 디렉토리에 다양한 환경을 위한 설정 파일들이 있습니다.

PICTOR_ENV 또는 NODE_ENV 환경 변수로 환경을 지정할 수 있습니다.

PICTOR_CONFIG 환경 변수로 설정 파일의 절대 경로를 지정할 수도 있습니다.

자세한 내용은 기본 설정의 소스 코드를 참고하세요.

생성된 문서

고급 주제

  • pictor를 다른 expressjs 앱에 내장하기
  • 커스텀 저장소
  • 커스텀 변환기
  • TBW...

내부

  • 디버그 로그를 보려면:

DEBUG 환경변수를 * 또는 pictor:* 로 설정하고 pictor를 실행하세요.

$ DEBUG='*' ./bin/pictor

참조: http://github.com/visionmedia/debug

config/ --- 환경별 설정(서버측)
libs/ -- nodejs 모듈(서버측) --> jshint, doxx task
    converter/ -- converters
    storage/ -- storage providers
    pictor.js -- the main module
    ...
routes/ -- expressjs 모듈(서버측) --> jshint, apidoc task
tests/
    **/*_test.js -- nodeunit 테스트케이스(서버측) --> nodeunit task
    **/*_test.html -- qunit 테스트케이스(서버측) --> qunit task
public/ -- 정적 웹 리소스 소스(클라이언트측) --> concat, uglify, copy, jade task
    js/ -- 자바스크립트 소스(클라이언트 측) --> jshint task
    ...
build/
    public/ --> 정적 웹 리소스의 빌드 결과(클라이언트측)
      docs/
        api/ --> apidoc이 routes/를 대상으로 생성한 문서 --> apidoc task
        dox/ --> doxx가 libs/를 대상으로 생성한 문서 --> doxx task
      ...
app.js -- 클러스터를 사용하지 않는 실행 모듈(server-side)
bin/pictor -- 클러스터를 사용한 실행 모듈(server-side)
  • 소스에서 API 문서 생성하기
grunt apidoc
open public/docs/api/index.html
  • 소스에서 소스 코드 문서 생성하기
grunt doxx
open public/docs/dox/index.html

--

that's all folks...

may the source be with you...

0.4.1

9 years ago

0.3.4

10 years ago

0.3.2

10 years ago

0.3.0

10 years ago

0.2.0

10 years ago

0.1.5

11 years ago

0.1.4

11 years ago

0.1.3

11 years ago

0.1.2

11 years ago

0.1.1

11 years ago

0.0.3

11 years ago

0.0.2

11 years ago