Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

[Book] Ajax prototype.js : 프로토타입 완전분석

Ajax prototype.js : 프로토타입 완전분석

Ajax prototype.js : 프로토타입 완전분석 - 8점
김영보 지음/위키북스


이 책을 읽은지는 꽤 되었는데 이제야 올린다. 개발관련 블로그이기도 하고 개발자로서는 별수 없이 책을 끼고 살아야 하는데 온라인 북샵을 찾아다니다 보면 의외로 개발관련 책들에 대해서는 리뷰들이 별로 없다는 느낌을 많이 받았기 때문에 그나마 내가 읽은 책에 대해서는 후기정도를 남길려고 한다.

이 책은 자바스크립트 프레임워크인 prototype.js에 대한 책이다. prototype.js에 대한 책은 국내에 이 책이 유일하고 자바스크립트 프레임워크중에서도 이 책이 유일하다. 그래서 프로토타입을 공부하려면 이 책밖에는 선택권이 없다.

프로토타입에 대한 책이기 때문에 Javascript에 대한 기본적인 지식은 필요하다.(솔직히 기본적인걸로는 이 책을 이해하기가 꽤 어렵다.) 그리고 이 책은 상당히 레퍼런스적인 측면을 가지고 있다.

보통의 책들이 처음에는 어려운 얘기를 하면서 뒤로 가면서 점점 큰 예제가 나온다던가 하는 등의 방식을 취하지만 이책은 그냥 설명서같은 트낌의 레퍼런스 성향을 짙게 가지고 있다. 온라인에도 프로토타입에 대한 설명서는 있다. 하지만 난 책을 좀 선호하기 때문에 자바스크립트도 모르면서 무작정 구입했다.

프로토타입의 각 클래스의 모든 메서드들을 간단한 예제를 통한 사용법과 실제 prototype.js안에 어떻게 구현되어 있는 지를 자세히 설명해 주고 있기 때문에 책을 죽~ 보고 프로토타입을 어떻게 사용해야 하는지 알 수 있게 되는 것은 아니다. 보통의 책들도 책한권 읽었다고 할 수 있게 되는 것은 아니지만 이책은 처음부터 끝까지 메서드에 대한 설명만 있기 때문에 더욱 그렇다.

그래서 나처럼 자바스크립트를 잘 모르는 상태에서 읽다보니 이해를 잘 못해서 좀 재충읽게 되었고 한번 읽었다고 메서드를 외우는 것도 아니라서 그냥 눈으로 죽~ 봤다. 보고나서두 뭘 어쩌라는 건지 몰라서 괜히 샀나 하는 생각이 들었었다. 하지만 prototype.js를 계속 쓰려면 꽤 도움이 되는듯 하다. 필요한 메서드가 있을 때 바로 찾아서 어떻게 쓰는지 어떻게 사용하는지 찾아볼 수 있었고 prototype.js내부에 어떻게 구현되어 있는지 설명되어 있기 때문에 자바스크립트 짤때도 소스 참고하기에 상당히 좋다.

한개의 기능을 위해 자바스크립트를 통째로 사용하기는 좀 아깝기 때문에.... 참고로 이책은 프로토타입 1.5기반으로 작성되어 있고 프로토타입은 현재 1.6까지 나와있다.


덧) 처음볼때는 무슨 소리인지도 모르고 보긴 했지만 여태 내가 읽은 책중에는 가장 많이 참고하고 찾아본 책이다. 자바스크립트 코딩을 할때도 비슷한 경우에 어떤식으로 코딩했는지도 참고할 수 있고 Prototype Framework의 메서드를 어떻게 사용해야 하는지 찾기도 유용하다.
(2008-03-15)
2007/12/16 01:52 2007/12/16 01:52

엘리먼트에는 항상 id와 name을 둘 다 써주자.

서버단이 어떻든.... 자바스크립트가 점점 강세가 되든간에 어쨌든 웹브라우저에서 표현하는 것은 HTML이다. 그렇기 때문에 HTML은 무척 중요하다. 하지만 보통은 개발자가 이 HTML을 생성하지 않는다. 요즘은 웹2.0으로 넘어오면서 동의를 하던 말던 웹표준이다 크로스브라우징이다 해서 많이 중요해졌기 때문에 좀 잘 갖춰져있다 하는 회사에서는 디자이너 외에도 퍼블리셔(또는 코더)를 따로 두고 요즘은 UI나 UX쪽도 따로 두기도 한다.

하지만 그렇지 않은 회사들도 그렇다는 거지. ㅡ..ㅡ

어쨌든간에 HTML의 각 엘레먼트에는 id와 name이라는 속성을 가지고 있다. 이 둘은 자신이 누군지를 표시하는데 약간의 다른 차이가 있다. 나두 개발을 시작하기 전에는 이 둘이 머가 다른지 몰랐다. 이 둘의 속성은 마치 같은 일을 하는 것처럼 보이기 때문인데...

id는 그 이름처럼 identifier이다. 즉 한 페이지에서 같은 id를 가진 엘리먼트는 단 1개밖에 존재할 수 없다. 그렇지만 name같은 경우는 같아도 상관없다. 그래서 checkbox나 radiobutton같은 경우는 name을 똑같이 주어서 그룹핑을 한다. name은 같을수도 있고 다를수도 있기 때문에 생각없이 그냥 name만을 지정하는 경우가 상당히 많은 것 같다.

그리고 html을 만들때 가장 많이 사용하는 드림위버에서 input을 만들면 name속성만 지정된다. (따로 옵션설정이 가능한지 모르겠지만...) 그래서 드림위버에서 만든 html을 받으면 id속성이 하나도 없다. 하지만 둘다 주는게 더욱 좋다. 특별한 이유가 아니면 보통 id랑 name을 같은 이름으로 준다.

2007/12/15 23:44 2007/12/15 23:44