프로그램 소개
Xpress Engine 기반에서 작동하는 애드온으로, 웹에 노출되는 소스코드를 줄여줍니다.
- 미리보기: http://elkha.kr/xe/24563 (소스보기를 확인하시길 바랍니다)
- 다운로드: http://www.xpressengine.com/index.php?mid=download&package_srl=22235916
- 웹에 출력되는 HTML 소스코드 압축
- HTML코드에 포함되는 Javascript 압축
- HTML코드에 포함되는 CSS 압축
- Javascript 파일 (.js) 압축
- CSS 파일 (.css) 압축
웹 호스팅 이용자를 위한 추천 설정
기본 설정으로 쓰시면.. ^^;;
XE 스킨 저작자, 서비스 관리자를 위한 추천 설정
- 특정 경로 제외
.js .css 파일이 수정될 때마다 해당 파일을 압축하여 응답이 지연될 수 있습니다.
작업중인 스킨이 있다면 해당 경로를 입력하시길 바랍니다.
입력 예: layouts/mylayout/ layouts/new_layout/ modules/member/skins/working/ - HTML 공백제거
줄바꿈까지 제거
서버 관리자를 위한 추천 설정
- [HTML] 압축 범위
- gzip deflate 지원할 경우:
ob_gzhandler 해제 - gzip deflate 지원하지 않는 경우:
ob_gzhandler 해제 / zlib.output_compression 적용 - PHP 연산이 이미 많은 경우 html 파싱을 보류할 수 있습니다:
HTML 압축 안함
- gzip deflate 지원할 경우:
- [.js|.css] 특정 문자열 제외
php 연산을 고려하여 min 파일이나 캐시경로를 압축대상에서 제외할 수 있습니다.
입력 예: files/cache/ .min.
애드온 설정
- [HTML] 압축 범위
ob_gzhandler 사용하도록 설정된 경우 일부 태그를 파싱하지 않을 수 있습니다.
- ob_gzhandler 관여 안함
- ob_gzhandler 해제
웹서버(apache,nginx)에서 gzip deflate 전송을 지원할 경우 적합한 옵션입니다.
- ob_gzhandler 해제 | zlib.output_compression 적용추천
zlib.output_compression 옵션을 킵니다. 웹서버에서 gzip deflate 전송을 지원하지 않고, zlib 압축을 지원할 경우 필수적입니다.
- HTML 압축 안함
HTML 코드에 출력되는 Javascript, CSS 코드도 압축하지 않습니다.
- [HTML] 공백제거
- 속도, 성능에 중점을 두는 경우:
2칸 이상 제거(기본 값) - 소스코드를 줄이는데 중점을 두는 경우:
줄바꿈까지 제거 단, 용량차이는 발생하지 않습니다.
- 속도, 성능에 중점을 두는 경우:
- [HTML] Javascript
HTML 태그에 첨부된 Javascript 코드에서 에러가 발생할 경우 해당 기능을 비활성화 합니다.
- [.js|.css] 캐시파일이 위치할 경로
캐시 폴더가 nfs 인 경우 file_exists, filemtime 함수로 부하가 발생할 여지가 있습니다.
이 경우 Javascript, CSS 압축 옵션을 비활성화 하시길 바랍니다. - [.js|.css] 특정 문자열 제외
수정이 빈번한 파일의 경우 파일명 일부를 입력하여 해당 문자를 포함한 파일들을 압축하지 않습니다.
경로 설정과 무관하게, 로컬 파일이 아니면 압축하지 않습니다.
- [.js|.css] Javascript 압축
php 확장자로 압축할 시 http 서버가 js 파일에 gzip 전송을 지원하지 않더라도 압축전송이 가능합니다.
캐싱 만료는 1일입니다. (Cache-Control: max-age=86400)[.js|.css] CSS 압축옵션도 동일합니다.
주의사항
- XE 1.5.4.3, 1.7.3.4 / PHP 5.2~5.4 환경에서 제작/테스트 하였으며, 하위버전 호환을 보증하지 않습니다.
- 페이지를 최초로 호출할 시 js/css 압축을 위해 페이지 출력이 지연될수 있습니다.
사용권
이 프로그램에 포함된 라이브러리(CssMin, JSMinPlus)는 각 사용권에 따릅니다.
이 프로그램을 공개적으로 재배포 하지 않는 한, 자유롭게 사용할 수 있습니다.
이 프로그램을 수정하지 않는 한, 공개적으로 재배포하거나 패키지 프로그램의 일부분으로 재판매할 수 있으며 배포된 원본의 이 프로그램은 기존의 사용권을 그대로 따라야 합니다.
이 프로그램을 수정한 경우 재배포를 허용하지 않습니다.
업데이트
- v0.3
- php 5.2 백지가 뜨는 현상 '[.js|.css] CSS 압축' - '@import 구문에 포함된 파일까지 압축' 선택 옵션 제거
- 에디터 오류 - 무의미하게 빈 공간 생성하던 것을 고침.
- HTML파싱 성능 향상 및 '[HTML] 공백제거' 옵션 제거
- v0.2
- (중요) html - javascript 닫힘 태그가 사라지는 버그 수정
- (중요) php.ini 에서 output_handler 설정한 경우 서버 설정에 따르고 '압축 범위' 설정은 무시됨.
- (중요) '압축 범위'옵션이 자동이고, zlip 가능한 경우 ob_gzhandler 해제하고 zlip 대체함.
- (중요) css import 문법을 인식하고 대상 import 파일을 압축할 수 있음. (import 대상 파일을 편집하더라도 반영되지 않음)
- (중요) http 서버가 gzip 전송 지원하지 않더라도, js/css 파일을 php 확장자로 생성하여 압축 전송 지원하고 24시간동안 캐싱함.
- html - css 불필요한 문자열 더 많이 감지함.
- html - js 불필요한 문자열 더 많이 감지함.
댓글 11
-
이창용
2013.08.05 12:44
-
엘카
2013.08.05 18:56
http://www.xpressengine.com/tip/19979181 이 글을 말씀하신 것 같네요.
애드온의 기능 중 javascript,css 파일을 압축해서 전송하는 부분이 minify 라이브러리와 중복됩니다.
- 님의 웹서버(apache,nginx)에서 js/css 파일에 gzip deflate 적용한다면:
minify 라이브러리를 제거하고 애드온의 js/css 압축기능을 활성화 하는 것이 좋습니다. - 위 1번 내용을 잘 이해하지 못했거나, gzip deflate 적용이 안된 경우 (주로 웹 호스팅 이용자)
애드온의 js/css 압축기능을 해제하고 minify 라이브러리를 적용하는게 유리합니다.
minify 라이브러리는 매 페이지 요청마다 [여러건의 redirect, php reqeust]가 발생하는 단점이 있는 반면,
웹서버에서 [gzip deflate 지원하지 않는 경우에도 gzip 전송]을 가능하게 해주는 장점이 있습니다.결론적으로 말해서, 애드온에서 minify 라이브러리와 중복되는 기능은 둘 중 하나만 적용하시는게 좋습니다.
minify 라이브러리와 마찬가지로, 웹서버에서 gzip deflate 지원하지 않아도 압축전송이 가능한 기능이 다음 버전에 추가될 예정입니다.
- 님의 웹서버(apache,nginx)에서 js/css 파일에 gzip deflate 적용한다면:
-
귀머거리하늘
2013.08.07 16:18
애드온 설치후 회원가입창에서 생일 입력탭이 작동하질 않는데 어떻게 해줘야 할까요 ㅜ.ㅡ
XE 1.7.3.4 버전을 쓰고있습니다.
-
엘카
2013.08.08 05:32
- 애드온 설정에서 [HTML] Javascript 옵션을 끄시거나
- 애드온 파일 중 Trimmed.class.php 소스코드에서 78번 째 줄
$regex = sprintf('@(<\s*(%s)[^>]*\>)(.+)(?=<\s*/\s*\2\s*>)@is', $regex);
이것을 아래와 같이 바꿔보시길 바랍니다.
$regex = sprintf('@(<\s*(%s)[^>]*\>)(.+?)(?=<\s*/\s*\2\s*>)@ius', $regex);
이용에 불편드려 죄송합니다. -
귀머거리하늘
2013.08.08 12:35
일단 엘카님 답변 감사합니다. 그리고 또 죄송합니다 위에 답변해 주신 내용을 적용해도 되질 않는군요 ㅜ.ㅡ
일단 마우스가 저런식으로 작동하지 않구요.
이 옵션을 꺼봐도 똑같은 상황이 였습니다. 위 불러주신 코드를 적용시키고 사용안함과 사용함을 둘다 테스트 해보았습니다.
이부분을 사용 안함으로 체크하면
css 가 적용이 안되서 그런지 투명한 형태로 나옵니다.
그렇다고 이것까지 같이 끄게 생일달력은 제대로 표시되나 속도향상이 전혀 되지 않는 문제점이 있네요 ㅜ.ㅡ
여타 다른 브라우저 크롬 같은 경우는 사이트에서 속도저하가 일어나지 않던데
익스플로러 에서만 굳이 속도저하가 일어나 엘카님 에드온을 적용해서 많은 속도향상을
가져올수 있어서 참 좋았는데 생일이 입력되지 않는 문제점 때문에 사용에 에로점이 있네요 ㅜ.ㅡ
제가 사용하고 있는 레이아웃이 문제인걸까요? 쿡래빗을 사용하고 있습니다.
-
엘카
2013.08.12 08:47
0.2버전으로 업데이트 해보시고,,
그래도 문제가 발생한다면 크롬을 사용하신다면 F12버튼을 누르고 console 탭에 보시면 에러 내용이 있을 것입니다.
그 에러를 알려주시거나, 해당 웹 페이지 주소를 귀띔해주시면 원인추적이 가능합니다.
이용에 불편드려 죄송합니다.
-
귀머거리하늘
2013.08.12 22:07
0.2 버전으로 업데이트 해도 같은 현상이네요. 생일 입력이 안되고 위젯 편집창도 깨지네요.
아래는 현재 설정이구요.
크롬에서 이런 오류가 뜹니다.
이렇게 떠야할 위젯 편집창이
이렇게 버튼으로 깨져나오구요.
위젯 창에서의 에러 입니다.
-
엘카
2013.08.13 12:20
xpressengine.com 의 파일이 유실되어 문제가 발생한 것으로 보입니다.
제어판에서 CDN기능을 해제해보시길 바랍니다.
-
귀머거리하늘
2013.08.15 08:01
에고 제 설정이 문제였군요 잘 됩니다. 감사합니다. 그리고 죄송했습니다 ㅎㅎ;;
-
방문자
2013.10.18 17:16
저만 그런건지는 모르겠지만, 1.7.3.6 버젼을 사용중인데 스케치북 웹진형 게시판에서 블락들이 다닥다닥 붙어서 나오게 됩니다. 따로 설정한 이미지들도 나오지 않구요.
-
개드립 치고 싶다ㅠ
2014.12.29 20:28
Trimmed 클라스..아니 클래스(zipped_xe/Trimmed.class.php)에서 심각한 버그가 발견되었습니다.
PHP의 preg_replace는 \v (Vertical Tab)을 지원하지 않고 이를 사용할 시 \v 대신 문자 'v'로 치환되는데요,
get_regex_js 및 기타 함수에서 \v를 사용함이 발견되었습니다.
이는 자바스크립트에서 'var'를 'ar'로 변환시켜 스크립트를 깨지게 합니다.
줄 136, 137, 144, 150, 157, 203의 \v를 모두 삭제해주시기 바랍니다. Vertical Tabs의 사용 빈도가 낮으며 \s가 Vertical Tabs를 포함하고 있을 걸로 추측됩니다.
번호 | 제목 | 글쓴이 | 최근 수정일 | 조회 수 |
---|---|---|---|---|
공지 | 메뉴에 새글 표시 모듈에서 텍스트가 올라가는 현상 | Elkha | 2013.08.31 | 122381 |
» | Zipped XE [11] | 엘카 | 2019.11.22 | 31233 |
17 | Gray Style | Elkha | 2018.08.29 | 52336 |
16 | Elkha - T.S.K. | 엘카 | 2017.04.22 | 52630 |
15 | Elkha - monochrome [1] | 엘카 | 2014.10.17 | 64939 |
14 | Elkha - Sky [1] | 엘카 | 2013.10.06 | 41772 |
13 | Elkha - Banner (배너 위젯) | Elkha | 2013.10.06 | 38583 |
12 | Elkha - Pieces | Elkha | 2013.10.05 | 37983 |
11 | Gray Style 2 | Elkha | 2013.10.05 | 52700 |
10 | Daerew 4 | Elkha | 2013.10.05 | 44572 |
9 | Lisense | 엘카 | 2017.12.11 | 35063 |
8 | Gray Widget Style (위젯 스타일) | Elkha | 2012.05.11 | 41386 |
7 | Gray Style 2 - v1.5 | 엘카 | 2012.04.25 | 46327 |
6 | Elkha - neutral | Elkha | 2012.04.14 | 50279 |
5 | Sky 2 - v1.5 | Elkha | 2012.04.13 | 43542 |
4 | eFAQ | Elkha | 2012.04.13 | 46345 |
3 | Elkha - x610 | Elkha | 2012.04.13 | 45561 |
2 | Elkha - Complicated | Elkha | 2012.04.13 | 37216 |
1 | Basix | Elkha | 2012.04.13 | 31716 |
안녕하세요 오늘 애드온 봣는데요
제가 xe팁 속도개선팁에서 minify 요건가 이거 팁을 했는데 요것도 비슷한원리같은데 둘다같이사용해도
효과를 볼수있나요