작년에 진행하던 프로젝트를 마무리하고 나서 틈틈히 공부하는 책이 있다.
사실 웹 개발을 오래하다 보면, 쉽게 간과하기 쉬운 부분이 Javascript와 CSS와 같은 부분이다. 왜냐하면, 요즘에 나오는 HTML Editor 툴과 개발에 사용하는 IDE의 성능이 상당히 향상되어서 양질의 코드를 생산할 수 있기 때문이다.
그러나 요즘에 사용하는 자바스크립트는 이전의 그것과 전혀 다른 모습을 띄고 있다. 한 마디로 스크립트 언어이기에 배우기 쉽고, 인터넷의 웹에서 비슷한 Sample들을 쉽게 가져 올 수 있기 때문에 별로 배울 가치가 없다라고 생각하면 큰 코 다친다.

AJAX라는 기술이 Web 2.0을 대표하는 기술로 이야기 되어진 이후로, Javascript를 좀도 체계적이고, 라이브러리처럼 쓸수 있는 많은 Javascript Framework들이 만들어 졌다. Yahoo의 YUI, Roby on Rails에서 기본적으로 사용할 수 있는 Prototype, 최근에 마이크로 소프트의 ASP.NET을 위해서 Visual Studio에서 지원하는 JQuery 그리고, ExtJS와 같은 상용 프레임워크까지 셀수 없이 많은 새로운 Javascript Framework가 나타나고 있다.

하지만 자바 스크립트라는 언어의 근간을 이해하지 못하면, 좀더 효율적으로 사용하지 못할 거라고 생각 한다. 그렇기 때문에, 공부의 우선순위가 떨어져서 한번을 공부해야지 했던것이 이제야 살펴 볼수 있는 기회를 갖게 되었다.

책을 읽어가면서 내가 느낀것은, 한마디로, 내가 10여년전에 사용하고 이해하던 자바스크립트와는 전혀 다른 세계였다. OO를 적용한 객체지향적인 속성과 재활용을 위한 여러가지 기능과 속성들을 이해해야만 한다.  너무나도 자유롭고 쉬운 문법을 가지고 있지만, 확장과 변경을 위해서는 언어의 특성을 완전히 이해해야만 한다.

위의 보이는 사진속의 책이 내가 최근에 공부하고 있는 책이다.
책은 각 쳅터의 주제에 맞는 쉬운 예제들을 보여주고 있다. 이를 통해서 기본 원리들을 익힐 수 있도록 구성되어 있다. DOM을 통한 Object를 찾고 접근하고 제어하는 방법과 Dynamic HTML의 속성들을 이용하여 접근할 수 있는 Object들의 사용법도 익히면, 책의 내용을 이해할 수 있는 기본적인 소양을 갖추고 있다고 할 수 있다.

책의 내용을 결코 어렵지 않지만, 이전에 알고 있던 자바스크립트에 대한 선입견을 버리지 않는다면 쉽게 이해하기 어려울 것이다.

나와 같이 개발에 참여하고 있는 개발자는 ExtJS를 이용하는데, 큰 어려움을 가지고 개발 작업을 진행했다. 사실 ExtJS를 구매하고 개발에 이용하는 목적은 개발의 효율성과 리소스를 절약하려는 목적이었는데, 이에 대한 효과는 전무하였다.
나름 대로 분석을 해보면, 주어진 컴포넌트는 API 다큐멘트를 찾아보면 알수 있지만, 이의 변형이나 새로운 형태로 변형을 가할 때는 Javascript와 Prototype 라이브러리에 대한 이해가 적었기 때문이다. 그렇기 때문에 다른 컴포넌트를 이용할 때도 기본기는 항상 중요하다.

약 380페이지의 책중에서 현재 110페이지를 읽고, 코드를 짜보고 있다. 책 속에는 개발시 필요한 디버커 툴을 소개해 주고 있는데, 개인적으로는 Firefox의 plug-in인 Firebug를 좋아하고 자주 사용하고 있다. 이외의 다른 툴들은 책의 내용을 참고하면 된다. 그리고 Junit와 유사한 Javascript Unit 테스트 툴들도 소개하고 있다. 아직은 별로 관심 없는 부분이다.




Posted by 행복상자