Rhymix도 Jsdelivr에 올려주세요~
현재 XE는 1.7.5.2를 마지막으로 올라오지 않고 있네요.
https://github.com/jsdelivr/jsdelivr/tree/master/files/xe-core
최신 버전 등록은 불가능 하나요?
Rhymix도 업데이트 버전 관리해서 이곳에도 배포해주세요~
현재 XE는 1.7.5.2를 마지막으로 올라오지 않고 있네요.
https://github.com/jsdelivr/jsdelivr/tree/master/files/xe-core
최신 버전 등록은 불가능 하나요?
Rhymix도 업데이트 버전 관리해서 이곳에도 배포해주세요~
댓글 7
그리고 cdn적용 결과 지금은 속도가 더 빠르게 잡히더라고요. (몇 몇 js파일) - xe.min.js jquery.js 그외.. (varnish 같이 적용 중)
압축해도 이런것들은 한계가 있고, 국내말고도 서비스할 목적이라면 cdn으로 불러오는게 유리하지 않나요?
게시판 모듈의 예를 들어 보지요. 현재 XE는 board.js가 따로 있고 board.min.js가 따로 있습니다. board.js가 원본소스이지만 아무도 이걸 직접 사용하지는 않습니다. 개발팀이 새 버전을 릴리즈하기 전에 빌드 스크립트(Grunt)를 통해 board.min.js를 생성하여 넣어주면 다들 그것만 사용하죠. 만약 board.js를 수정하더라도 board.min.js를 재생성하는 것을 잊으면 수정내역이 전혀 반영되지 않습니다. (__DEBUG__ 기능을 사용하는 경우 제외)
RhymiX에서는 이것이 프론트엔드 개발자들의 적극적인 참여와 디버깅 작업을 방해한다고 판단하고, board.js만 사용하도록 변경했습니다. 그 대신 minify 프로그램을 코어에 내장하고 있어서, 실제 사용 시점에 board.min.js를 자동으로 생성해 줍니다. board.js를 수정하면 board.min.js도 실시간으로 재생성됩니다. 물론 board.min.js는 퍼미션 때문에 기존의 위치가 아닌 files/cache 폴더 아래에 생성되지만, 템플릿 핸들러에서 모든 경로를 자동으로 변환해 주기 때문에 기존의 스킨은 전혀 수정할 필요가 없습니다.
현재 계획대로 ZipperUpper 애드온의 기능까지 넣으면 각 페이지에 필요한 모든 스크립트와 모든 CSS를 하나로 합쳐서 자동으로 압축 전송해 줄 수 있게 됩니다. 코어 개발자들이 직접 압축한 *.min.js 파일뿐 아니라 모든 모듈, 레이아웃, 스킨 등이 동일한 혜택을 보게 되는 거죠. 단, 이렇게 압축된 파일은 각 사이트에 커스터마이징되기 때문에 CDN에서 공통으로 불러올 수는 없습니다.
참고: https://github.com/rhymix/rhymix/pull/34
아마 좀더 생각해 보면 예전의 jQuery CDN 로딩 애드온처럼 일부 스크립트의 로딩 경로를 변경하는 방법이 있을지도 모르겠네요. 그러나 현실적으로 큰 차이가 없거나 더 느려지는 경우가 많다고 보기 때문에 우선순위는 아닙니다. 웹서버에 spdy 또는 http2를 적용하고 *.css, *.js 파일에 모두 몇 달씩 캐싱을 걸어주면 이미 열어둔 커넥션을 재사용하거나 최초 1회 외에는 아예 요청을 안 하게 되므로 외부 서버와 handshake하는 것보다 빠르거든요.