Skip to content

이미지 압축

Views 18 Votes 0

주요 특징

  • files 테이블에 첨부하는 이미지 파일을 압축 합니다.
  • 압축 대상: jpg(jpeg), png, gif, svg, webp
  • 효과: jpg 이미지는 퀄리티 85로 변환하고 다른 이미지는 무손실이나 손실이 거의 없는 수준에서 압축됩니다.
    image.png

작동 방식

  1. optimize old images: 이미 첨부된 과거 파일을 대상 (수동)
  2. insert trigger (require): 첨부하는 신규 파일을 대상 (자동)
    이미지인 파일이 첨부 완료되면 압축을 실행합니다.
    압축에 성공하면 덮어씌우고 용량을 기록, 압축에 실패했다면 건너뜁니다.

설치 요구조건

  • Rhymix
  • 다음 명령어를 실행 가능해야 합니다: (일반 웹 호스팅 사용 불가!)
    composer.png
    composer require spatie/image-optimizer (modules/imgopt 경로에서 실행, 설치 링크, 위 캡쳐 참조)
    • Ubuntu
      sudo apt-get install jpegoptim optipng pngquant gifsicle webp
      sudo npm install -g svgo
    • Fedora/RHEL/CentOS
      sudo dnf install epel-release
      sudo dnf install jpegoptim optipng pngquant gifsicle libwebp-tools
      sudo npm install -g svgo
    • MacOS
      brew install jpegoptim optipng pngquant gifsicle webp
      npm install -g svgo

매뉴얼 (=관리자 화면)

image.png

캡쳐에 나온 순서대로 서술하겠습니다.

  1. test optimize: 님의 서버에서 이미지 압축이 작동하는지 테스트 합니다.
  2. optimize old images: 이미 첨부된 과거 파일을 압축합니다.
    숫자 값을 20, endless loop 체크해서 optimize 버튼을 누르면 최근 첨부된 이미지를 시작으로 20개 단위로 압축합니다.
    중간에 오류가 나거나 브라우저 탭을 껐다면 다시 endless loop 체크해서 실행하면 됩니다.
  3. insert trigger: 새로 첨부되는 이미지 파일이 압축됩니다.
  4. logs
    • optimize old images: 의해 절약된 용량
    • by trigger (file.insertFile): 의해 절약된 용량
    • bi widget (or test optimize): 추가 기능 개발하다가 의미 없게됨.
  5. create table
    • 압축 결과를 DB 에 기록합니다.
    • 통계가 필요없다면 테이블을 생성하지 않아도 됩니다.
    • InnoDB, MyISAM 둘 중 하나를 선택할 수 있습니다.
      파일 업로드가 빈번하면 InnoDB 형식을 추천합니다.
      참고로 이 사이트에는 MyISAM 선택 했습니다.
  6. config (optional)
    disable_functions 옵션으로 php-fpm 에서 proc_open 등의 명령어를 제한할 경우 이 옵션이 필요합니다.
    curl 받는 내부 아이피를 ip.txt 파일을 생성 및 작성합니다. (ip.sample.txt 참조)

라이센스

  • xetown: https://xetown.com/download/1765105
  • GPL v2
  • https://github.com/spatie/image-optimizer - The MIT License (MIT). Please see License File for more information.
개발자

  1. 상점 모듈 (작성 중) secret

    This is a secret article.

    Date2024.12.06 Author개발자 Views0 Votes0
  2. 이미지 압축 file

    주요 특징 files 테이블에 첨부하는 이미지 파일을 압축 합니다. 압축 대상: jpg(jpeg), png, gif, svg, webp 효과: jpg 이미지는 퀄리티 85로 변환하고 다른 이미지는 무손실이나 손실이 거의 없는 수준에서 압축됩...

    Date2024.11.30 Author개발자 Views18 Votes0
  3. 마이로그 file

    트위터, 페이스북을 모방한 모듈입니다. 주요 기능 친구, 팔로워, 팔로잉 친구: 내가 상대를 친추(라이믹스 고유 기능)했고 상대도 나를 친추했다면. 팔로워: 상대가 나를 친추했지만 나는 상대를 친추하지 않음. 팔...

    Date2024.11.30 Author개발자 Views18 Votes0
  4. Elkha - POPORINA Zerostar 50 file

    POPORINA님이 만든 아이콘을 수정했습니다. 원본 글을 조회할 수 없게 되어서 링크 대신 이 글에 첨부파일로 남깁니다.

    Date2024.11.30 Author개발자 Views6 Votes0
  5. 커뮤니티 글 댓글 추천 제한 모듈 file

    github: https://github.com/Elkha/evote xetown: https://xetown.com/download/1650998

    Date2024.11.30 Author개발자 Views6 Votes0
  6. XE 레벨 아이콘 White | Elkha file

    요약: 흰색과 검은 배경 모두 사용 가능, 레벨 숫자에 컬러, 0~50레벨 xetown: https://xetown.com/tips/1519777

    Date2024.11.30 Author개발자 Views7 Votes0