언어/기타
2012.06.12 23:42

[js] 코드 압축 걸음마

조회 수 1059 추천 수 1 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
행여 저처럼 발걸음을 갓 떼는 분들께 도움이 될까 올립니다


웹프로그래밍에 있어 중요한것중 손가락에 꼽히는것이 파일크기의 경량화가 아닐까 싶습니다
개중에도 js파일은 그뿐 아니라 코드가 클라이언트에게 그대로 노출되기 때문에 가독성을 떨어뜨리는 면에서도 필요합니다.
사실 본인만의 알고리즘으로 압축해서 사실상 암호화를 하는게 낫지만
어차피 클라이언트에게 소스가 모두 전해지니 복호화 알고리즘도 따라가 일정수준 이상에선 별 의미도 없고
(물론 용량압축면에서 의미없다는건 아닙니다)
..실은 제코가 석자라 패스 ㅠㅠ


우선 가장 기본이자 효율도 좋은 GZip
50% (!) 가량의 효율을 볼때도 허다합니다
게다가 한번 해두면 두고두고 효과를 보니 귀찮아도 꼭 반드시 should mustbe 합시다
php나 여타 파일에도 해당됩니다
는 귀찮으니 검색을 해봅시당 헤헤 
...


그리고 구글에서 제공하는 js압축(?)기
http://closure-compiler.appspot.com/home

주석과 공백을 제거하고 변수명을 짧게, 구조문을 간결하게 해줍니다
추가로 알고리즘 압축을 하는지는 불문하고 반드시 거쳐야할 과정

저처럼 주석을 아예 쓰지않는 스타일이라도 용량이 1-20%정도는 줄어듭니다.
개행이 잦거나 띄어쓰기가 많은경우 크게는 30%까지도 줄어듭디다
다운받아 쓸 수도 있으니 자주 쓰지 싶으면 받아서 두고두고 씁시다


거치고 나서는 압축하기전에 본인만이 할수있는 요약을 추가로 하면 좋습니다.
js파일은 보통 여러파일을 여러군데서 import하기 때문에 
전역변수나 함수명등은 구글압축기가 건드리지 않습니다. 따라서 직접해줘야해유

아 그리고 제경우는 json파싱에 js파일을 하나 받아서 import해쓰는데
jquery나 prototype node등 유명(?)한 파일들은 압축버전이 따로 딸려나옵니다만
많은 파일들이 카피라이트나 설명서등이 주석으로 꽤 딸려오니 반드시 청소하고 씁시다.


압축전엔 반드시 원본파일을 백업하는게 좋습니다만
저처럼 게으르거나 백업본을 분실한 경우엔
압축된 코드를 다시 개행하고 공백넣어주고 하는 프로그램도 있습니다.
제가 직접 손으로 짠거보다 깔끔한게 함정..ㅠㅠ
?
  • profile
    맛난호빵 2012.06.13 01:57
    코드님을 압축시킨다는줄...
  • ?
    2012.06.13 17:11
    엌ㅋㅋㅋㅋㅋㅋㅋㅋ그르지마옄ㅋㅋㅋ

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
1004 RPG Maker 물체 밀어서 움직이는 이벤트 조금 더 쉽게 하는 법 zero? 2018.01.02 644
1003 언어/기타 [마지막 3명 모집] [취업연계무료교육] VR/AR 게임 콘텐츠 전문가 양성 과정 교육생 모집 file 황금상자 2017.07.14 702
1002 RPG Maker rpg vxa 로 겜만들때 데미지 설정 공식[링크] 준E 2017.06.08 740
1001 RPG Maker [꿀팁] 간단하게 만들 수 있는 실시간 전투 시스템 1 file 준E 2017.03.31 2019
1000 언어/기타 JSON parser 변환데이터 저장시 생기는 Object Too Deep 해결하기 title: 댓글러lklslel 2016.12.24 851
999 언어/기타 앙뜨프리너십에서 해커톤 부트캠프 모집중이네요 file 마나님이 2016.11.08 908
998 RPG Maker RPG MV에서 플러그인 오류의 원인에 대하여 1 title: 댓글러lklslel 2016.07.08 2359
997 RPG Maker RPG MV 게임 도중에 윈도우 스킨 파일 자체를 통째로 바꿔버리는 방법 (출처: HIME) 최저 2016.07.08 1627
996 언어/기타 게임의 버전을 짜 보자! - 유의적 버전 2.0.0 Yanggaeng 2016.06.07 1123
995 RPG Maker 텍스트 대화 도중 메뉴 여는 방법을 알아냈습니다! 2 file 정궈니 2016.03.12 2938
994 RPG Maker rpgmv 마우스 지원과 터치 지원이 되니. 2 팡소리 2015.10.25 1011
993 RPG Maker RPG Maker MV 와 AJAX를 이용한 웹통신 관련 영상. 2 HT9MAN 2015.10.25 2246
992 언어/기타 RPG게임 뻔한요소들. 8 title: 천무천무 2015.10.05 1644
991 언어/기타 자바스크립트와 관련해서 참고할 만한 사이트들 3 MARCO 2015.10.04 921
990 언어/기타 꿀잼이군요! 3 사람님[대회참가] 2015.05.20 873
989 RPG Maker [RPG2000/3 팁] 간편한 이벤트 단축키 title: 자게이하앵 2015.04.06 1833
988 RPG Maker [RPG2000/3 팁] 간편한 이벤트 단축키 1 file title: 자게이하앵 2015.04.05 748
987 언어/기타 [강의링크] 대비법칙-색상대비-밀당의 재미 약한 반대색 설계 title: 천무천무 2015.04.02 636
986 언어/기타 오다 주웠습니다. 9 사람님[대회참가] 2015.03.30 917
985 언어/기타 무료 이미지 사이트 Pixabay! 9 file 나작소 2015.03.28 909
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51


[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)