웹 사이트 최적화 덕목들 중에서, JavaScript와 CSS 파일의 압축은 핵심 요소 중 하나다.
여기에 쓰이는 압축 도구로 웹에선 주로 JSMINPacker가 많이 쓰이는데, 압축 효율과 안전성 면에서 YUI Compressor를 따를 수 없다.

YUI Compressor의 터미널 사용 기본 용법을 보면 다음과 같다:

$ java -jar yuicompressor-2.4.1.jar myfile.js -o myfile-min.js --type js|css --charset charset --nomunge --preserve-semi --disable-optimizations

이렇게 놓고 보면 터미널을 열고 일일이 타이핑 하는 수고가 꺼려질 법도 한데, 반갑게도 CSS와 JavaScript 파일은 YUI Compressor TextMate Bundle을 통해서, 단축키 하나(⌃⇧Y)로 간단하게 압축할 수 있게 되었다.
개인적으로 위젯 형태로 만들어 볼까 생각하고 있었는데, 이놈이 더 안성맞춤이군. 8)

요새 모든 소스 코드의 관리에 여기저기서 마구 언급되고 있는 Git를 익혀서 쓰려고 노력하고 있는 중이다. 그런데, git repository browser인 gitk와의 첫 대면은 결코 좋은 인상이 아니었다. Mac에 설치되어 있는 gitk의 User Interface는 TCL/TK 위에서 실행되는 놈이라서 그런지, 아무리 글꼴을 바꾸고 꾸며봐도 영 Mac OS X의 Inteface와 맞지를 않았다.

그래서, 대체할 놈을 찾아보니, 대표적으로 두 놈을 만났다. 바로 GitNubGitX. 우선 인터페이스를 비교해보면, 두 놈 다 코코아 어플리케이션이라 GitK보다 산뜻한 느낌이고 UI 측면에서 GitX가 더 편안한 느낌이 들었으며, RubyCocoa로 짠 GitNub에 비해서 GitX는 순 코코아 프로그램이라 설치도 싶다.


Mac에서 Gitk를 대체할 만한 도구들(이)란 제목의 글 마저 읽기 →

아래 코드를 이해하려면 JavaScript 만의 특성이 가미된 scope과 closures 이해하고 있어야 한다.

function add (x) {
  return function (y) {
    return x + y;
  };
}
var add5 = add(5);
var no8 = add5(3);
alert(no8); // Returns 8 

JavaScript를 좀 더 깊게 이해하고 좋은 코드를 짜기 위해서는 꼭 알고 있어야 할 부분이지만, 처음 접하는 사람들에겐 난해하기 마련인데, 마침 Robert씨가 알기 쉽게 풀어서 설명해 놓은 글을 올려놓았다.

더불어서, 위 소개 글에서도 잘 설명되어 있는 JavaScript Module Pattern을 약간 변형시킨 것으로, 스크립트 사용 용법이 좀 더 일관되고 패턴 속의 어떤 함수와 변수가 공개적으로 접근 가능한지를 훨씬 명확하게 보여주는 Revealing Module Pattern도 참고할 만하다. 이 패턴은 원한다면 실제 private 함수를 좀 더 명확한 이름을 지정해 놓고 공개해서 되돌려줄 수도 있는 장점이 있다.