| 웹 프로그래밍하면서 기본적으로 사용하게 되는 것은 html 문법은 당연이고, asp나 jsp페이지에서 자바스크립트를 자주 사용하게 됩니다. 따로 배우지 않고도 간단하게는 붙여다 쓰기만 하면 어느 정도 사용할 수 있죠~ 몰라도 돌릴수는 있으니깐요~ 그래서 자바스크립트에 대해 너무 쉽게 취급하고 있는 실정입니다. 그때그때 필요할 때마다, 찾아서 보는 식이죠~ 하지만 자바스크립트도 분명 멋진 프로그래밍 언어 입니다. '대충 대충 쓰면되지' 라는 생각에서 벗어나 자바스크립트 언어를 분명히 보고자 이 책을 보게 되었습니다. 책을 보면서 사실 저자와 출판사의 노고에 감동받았습니다. 이책의 독자 대상은 다음에 적합하다고 판단됩니다. - html을 알고자 하는분, css(매우 상세하지는 않지만)를 알고자 하는분, - 중심은 자바스크립트를 배우고자 하는분.. - 웹프로그래밍을 배우고 싶은데 아직 프로그래밍 경험이 없거나 초보자이신분... 서점에서 많은 자바스크립트 관련책을 찾아 보았습니다. 2000년도에서 2003년도까지 15권 이상의 책을 비교하면서 보았죠... - 부풀리기식의 페이지만 많은책... 비추천입니다... 책은 두꺼운데.. 내용은 별로 없습니다. - API 나열식의 책... 비추천입니다... 쓸만한 예제 없고, 정말 정말 초급 예제... - 없어 보이는 책... 가격이 싼것도 아닌데... 디자인이나 종이질... 영... 아닌책... - 컬러로 화려하게 장식은 했지만, 무겁기만하고, 그다지 내용에 충실하지 않은책... 그나마 보통입니다. 웹에서 구할수는 있지만, 실제 쓰는 예제를 다루기는 하거든요~ 예제들만 따로 구하고 싶은 책이죠 ^^ 이런 불만족스러운 부분들 다 제거하고나서 남은 책입니다. 책 읽어보시면 아시겠지만, 지루하지 않습니다. 책의 구성에 보면, 가정교사, 잠깐만요! 용어설명, 정리해볼까요? 등.. 오랜 수고끝에 만들어진 책임을 알 수 있습니다. 책의 모든 페이지에서 저자가 독자를 위해 노력한 점들을 볼 수 있습니다. 모든 고급기술 서적들고 이책처럼 쓰일수 만 있다면 정말... 환상적일것입니다. 디자인, 내용, 흥미유발 모든면에서 높은 점수를 줄수 있는 책입니다. 흠이라면 흠이랄까... 쪼금더 어려운 고급내용을 다루었으면 하는 아쉬움이 있습니다. 예를 들어 책의 끝부분에서 chapter를 추가하여 기존 ASP, JSP 등 다른 웹프로그래밍 언어와 같이 사용하는 자바스크립트 기술을 제시했더라면 하는 아쉬움이 남습니다. 사실 자바스크립트 혼자서만 쓰이지도 않고, ASP, JSP도 보통 혼자서 사용되는 경우보다는 같이 사용하는 경우가 많으므로 같이 쓰는 형태로 자바스크립트를 설명하는 chapter가 있었으면 보다 좋은 책이 되었을 것입니다. 책의 서술은 정말 깔끔합니다. 홈페이지 만들기 배우면서, 혹은 웹프로그래밍 배우기 전에 보면 그 진가를 볼 수 있을것입니다. 저는 이미 jsp나 asp를 알고 있는 상태에서 이 책을 보게 되었지만, 좋았습니다. 새롭게 안 내용은 적었지만, 정말 잘 쓰여진 책이었습니다. 길벗책들의 첫페이지에서 말하는 내용은 사실입니다. '뭐라고 쓰였는지 보세요~ ' 내용은 사실이었습니다. 무작정 따라하기라는 문구에 거부반응 일으키지 마세요~ 무작정 따라하기만 하는 책은 아닙니다. |
|
길벗 출판사의 고경희 저 "HTML+CSS+자바스크립트 무작정 따라하기" 책 (초판 6쇄 2006년 3월 16일 발행)은 문제 있다.
HTML, CSS, 자바 스크립트 입문서인 이 책은 간결하고 쉬운 설명은 호감이 간다. 그러나 너무나 많은 곳에 틀린 내용과 오자투성이라서 초보인 독자를 곤혹스럽게 한다. 틀린 내용과 오탈자 부분을 이렇게 알리는 것은 이미 구입하여 이 책으로 공부하는 분들에게 교정 정보를 제공하여 도움을 주고, 이 분야의 입문서를 구입하려는 분에게는 책을 선정하는 데 있어 참고가 되고, 저자와 출판사에는 각성을 촉구하기 위해서다. 제가 발견한 오류들은 대략 아래와 같다.
1. 32쪽 4행 : <P>의 align 속성의 속성값이 left, right, center 중의 하나를 선택하라고 되어 있다. ==> 하지만, 선택값은 이 말고도 justify도 있다. 이를 포함시켜야 한다. 특어 동양 문화권에서는 중앙 정렬보다 좌우 정렬이 중요한 개념이니 이 속성값을 빼트려서는 안 된다. 2. 123쪽 7행 : <FRAME> 태그의 속성으로 TARGET를 소개하고 "링크된 파일의 내용이 어느 프레임에 표시될지 알려 줍니다."라고 설명하고 있다. ==> 그러나 <FRAME> 태그에는 TARGET 속성이 없다. TARGET 속성은 <A> 등에 있는 속성을 <FRAME> 태그에도 있는 것인 양 착각하여 설명하고 있다. 3. 126쪽 16행 -19행 : <A> 태그의 TARGET 속성에서 사용되는 속성값 _parent와 _top을 설명하면서 똑 같은 기능이라고 이야기하고 있다. _parent는 "현재 프레임 구성을 없애고 브라우저 창 전체에 링크 내용을 표시합니다. _top을 선택할 때와 같습니다"라고 하고, _top는 "현재 프레임 구성을 없애고 브라우저 창 전체에 링크 내용을 표시합니다. _parent을 선택할 때와 같습니다"라고 기술하고 있다. ==> 속성값의 역할이 똑같다면, 굳이 같은 속성값을 두 개 만들 이유가 없다. _parent는 현재 문서를 부른 링크가 존재하는 문서에 링크된 내용을 표시하라는 것이고, _top은 프레임을 없애고 웹 브라우저 전체 화면에 링크된 내용을 표시하는 것으로 _blank와 비슷하지만, 새 웹 창을 열지 않는 점이 다르다. 4. 132쪽 22행 : 2번에서 지적한 대로 <FRAME>태그의 속성으로 <TARGET>를 잘못 들고 있다. 5. 137쪽 6행 : <INPUT> 태그의 TYPE 속성의 속성값으로 9개를 예시하는데, image를 빼고 있다. ==> 일반적으로 사용하지 않는 file 속성값을 예시하면서 종종 사용하는 image 속성값을 뺀 것은 저자가 의도적으로 빼었다기보다는 실수나 판단 미스로 빠트렸다고 본다. 6. 151쪽 16쪽 : 배경음악 플레이어 프로그램 exobud_mp33(img2).exe가 부록 CD의 Program 폴더에 있다고 설명하고 있다. ==> 그러나 부록 CD의 Program 폴더나 그 하위 폴더, 상위의 다른 폴더를 찾아봐도 전혀 이 파일을 찾을 수 없다. 나중에 알고 보니 Source\폴더의 myJS.exe라는 자체 풀림 실행 압축 파일 안에 압축되어 있었다. 누가 여기에 있을 줄 알았겠는가? 이를 클릭하여 압축을 풀어보니 exobud_mp33(img2).exe가 없고, 이를 bgm 폴더에 압축을 풀어서 저장되어 있었다. 프로그램 소스를 제공하면서 어느 폴더에 저장했는지, 저장했다면, 압축 파일 형태인지, 압축을 해제한 상태로 보관되어 있는지조차 제대로 파악하지 않은 채 부록 CD를 만들고, 책자에서 파일이 있는 위치를 엉터리로 기술하고 있다. 이만큼 출판사와 저자가 책을 날림으로 만들었다. 6. 176쪽 10행 : color 속성을 설명하면서 사용 가능한 값으로 '색상'과 'inhert'를 들고 있다. ==> inhert에 대한 어떤 설명도 없다. 입문용 도서에서 막연히 inhert라고 해도 되는걸까? 이는 영한 사전에도 안 나오는 단어이다. HTML 사전을 찾아보니 '상속받은 값'임을 알 수가 있었다. 7. 191쪽 3행 : text-indent 속성의 사용례로 P {text-indent:3em }로 들고 있다. 중급자들에게도 생소한 속성값의 단위인 em에 대한 어떤 언급도 없다. ==> html 사전을 찾아 보니 em:은 font-size에 대한 상대적인 크기라고 나와 있다. 입문용 도서임을 고려할 때 em에 대한 간단한 설명을 붙이든지 잘 알려진 단위인 px 단위를 써서 예를 보여 주는 것이 나았다. 8. 193쪽 19-21행 : text-decoration 속성의 값 underline,overline,line-through에 대한 사용례를 "[예] 밑줄을 긋습니다. "와 같이 보여주고 있다. ==> "밑줄을 긋습니다"고 하며 예를 보여 준다면 말 그대로 밑줄을 그어 주어야 하는데 말로만 밑줄을 긋는다고 하고 있다. 그만큼 교정에 소흘히 하여 책을 만들었다는 것밖에 안 된다. 9. 224쪽 20행 : <DIV ID="test2">라고 기술하고 있다. ==> 그러나 그 위에 정의된 외부 레이어 스타일 명칭은 "test"이다. <DIV ID="test">로 고쳐져야 한다. 10. 231쪽 2행 : 레이어와 스타일 단원의 "정리해 볼까요"에 이런 정리 내용이 나온다. "레이어를 만들 때 사용하는 태그는 <DIV> 태그와 <SPAN> 태그인데, <DIV >태그는 블록 형태를 지니고 <SPAN> 태그는 단락 중간에 삽입하는 레이어를 만듭니다." ==> .그러나 유감스럽게도 "레이어와 스타일" 단원에서는 <SPAN>태그에 대한 소개나 설명이 전혀 없다. 전혀 설명하지 않고 있다가 정리할 때가 되어서야 마치 이미 설명하였던 것처럼 정리하는 지면에서 언급하면 될까? 또 이런 언급을 보면서 초입자는 얼마나 당황할지 저자와 출판사는 좀 생각해 보았으면 한다. <SPAN> 태그는 중요한 만큼 사전에 꼭 설명이 있어야 한다.
11. 262쪽 20행 : "자바스크립트 인터프리터는 소스에서 사용된 줄바꿈을 중요하게 생각지 않습니다"라고 기술되어 있다. ==> 그러나 줄을 바꾸어 표현된 문장을 한 줄로 이어서 쓰려면 문장 구분자인 ;를 사이에 넣어 주어야 하므로 한 줄 바꾼다는 것은 서로 다른 문장임을 자바스크립트 인터프리터에게 알려주는 의미를 지닌다. 따라서, 자바스크립트 소스에서 줄바꿈은 중요하다고 봐야 한다. 줄 바꿈이 중요하지 않는 경우는 C 언어에서처럼 줄을 바꾸어 쓰거나 한 줄로 이어 쓰거나 똑같게 해석될 때이다. 다만, 이와 관련하여 "문장 하나 하나를 줄 바꾸어 표현할 때에는 ;는 붙이는 것은 의미가 없습니다."는 정도의 설명을 해 주면 좋았다. 12. 428쪽 1행,8행,9행 : screen 객체를 Screen 객체로 잘못 쓰고 있다. ==> 자바스크립트 언어에서 영어 대문자와 소문자는 구분하여 다른 문자로 인식하므로 Screen 객체는 없고, screen 객체만 있다. 저자는 다음에 설명하는 String 객체의 이름의 첫글자가 대문자로 시작되어 screen 객체도 으레 그러려니 착각해서 오기한 것이 아닌가 한다. 그러나 저러나 제목에서까지 전문 용어를 틀리게 기술하는 것은 이 책이 얼마나 부실하게 만들어졌는지 잘 알게 해 준다. 13. 453쪽 7행 : window.open("poem1.htm", "pop1", "scrollbars=no, toolbars=yes, status)라고 기술되어 있다. ==> 그러나 이와 같이 타이핑하여 실행하면 오작동한다. 창의 속성 요소 이름인 toolbar를 toolbars로 잘못 써서이다. 이는 window.open("poem1.htm","pop1","scrollbars=no, toolbar=yes, status=yes")로 고쳐 써야 정상적으로 실행된다. 14. 496쪽 2행 : link 객체를 설명하면서 link 객체와 links 객체를 한데 섞어서 설명하고 있다. ==> 같이 설명하는 것은 좋은데, link 객체와 links 객체는 어떻게 다르고 어떤 개념인지 아무런 언급 없이 어떤 곳에는 links 프로퍼티를 설명하고, 이어서는 link 프로퍼티를 이야기하여 입문자에게는 혼란을 가중시킨다. 좀더 구분하여 명료하게 설명하지 않는 것이 아쉽다. 15. 499쪽 1행 : "document.image.length 같은 프로퍼티를 통해 이미지의 개수를 구할 수도 있다"고 설명되어 있다. ==> 이미지 정보가 배열 형태로 저장되는 객체의 명칭은 image가 아니고 images이다. 용어를 잘못 쓰고 있다. 이는 document.images.length로 고쳐야 한다. 16. 519쪽 마지막 행 : <INPUT NAME="id" TYPE="text" ID="id2" ......>로 되어 있다. ==> 오류가 발생하지는 않겠지만, <INPUT>태그의 NAME의 속성 값과 ID의 속성값을 동일하게 쓰는 관례를 고려한다면, id2는 id의 오기로 생각된다. 이 예제에서 'id2'로 써야 할 이유는 전혀 없다. 17. 543쪽 2행 : "라디오 버튼처럼 여러 가지 요소가 똑같은 이름을 가질 경우에는 배열 형태로 저장되어..."로 설명하고 있다. ==> radio 객체를 설명하면서 라디오 버튼에 비교하는 것은 모순이다. radio 객체가 checkbox 객체와 비슷해서 checkbox를 예로 들어 설명하려다가 실수한 것으로 보인다. 위 문장의 '라디오 버튼'은 'checkbox 버튼처럼' 으로 수정되어야 한다. 18. 560쪽 24행 : expireDate.setDate (Date.getMonth() + 1 ) 부분에서 오류가 발생한다. ==> 위 문장은 expireDate.setMonth (expireDate.getMonth()+1)로 고쳐야 한다. 다음 쪽 23행의 <P> 태그에 대응하는 닫는 태그가 없다. <P>를 빼거나 닫는 태그를 넣어 주어야 한다. 더욱 황당한 점은 여기에 기술된 예제 cookies1.htm와 부록 CD의 cookies1.htm은 내용의 많은 부분이 다르다는 것이다. 아마도 저자는 실행되지도 않는 문제투성이의 소스를 출판사에 넘기고 나서 예제를 실행해 보니 오류가 난다는 것을 확인하고, 부랴부랴 예제를 수정하여 CD에만 정상적으로 작동하는 예제를 포함시킨 것으로 추측한다. 지금 언급한 내용들은 이 분야의 초입자로서 이 책을 일독하고 나름대로 문제가 있다고 생각되는 것들이다. 만일에 이 분야의 전문가가 이 책을 읽어보고 검수한다면, 잘못된 내용이나 오탈자를 더 많이 발견해낼지도 모른다. 서두에서도 언급하였지만, 이 책의 설명하는 문체나 내용 구성은 괜찮았다. 그러나 틀린 내용과 오자와 너무나 자주 맞닥뜨렸을 때의 짜증은 이루 말할 수가 없었다. <img src= ...> 태그 정도밖에 모르는 이 분야의 문외한이 큰 맘 먹고 공부하기 위해 고른 책에서, 책의 타이틀대로 무작정 따라해 보다가 계속 오류가 발생하여 "내 머리가 이상한 걸까? 아니면 내 컴이 귀신 들려서 안 되는 걸까?" 고민하다가 예제 소스가 틀리거나 내용이 잘못되어 오류가 난 것임을 알게 되었을 때 얼마나 허탈한지 출판사 관계자와 저자는 헤아려 주었으면 하는 바람이다. |
| 몇일 전 컴퓨터 학원에 다니고 있는 회사 동료에게 무슨과정을 수강중이냐고 물은 적이 있었습니다. HTML을 배운다고 하더군요. 이미 그 동료가 드림위버와 플래시등 기본 웹 디자인 과정을 끝낸 걸고 알고 있었던 저로서는 이해가 되지 않았습니다. 그 동료의 말에 의하면 웹프로그래밍과정인데 HTML을 다시 배운다더군요. PHP,ASP를 배울려면 HTML은 반드시 알아야할 과정이죠. HTML 초보과정의 필독서라할 수 있는 "테마가 있는 HTML 무작정따라하기"가 출간된지 11개월 만에 만나는 HTML에 보강된 CSS, 동적인 웹페이지를 만들어주는 자바스크립트책입니다. 성공한 1편영화에 속편이 나오듯 책의 출간에서도 통하는 이야기인 듯 합니다. 여기에 1편만한 2편이 없다는 영화계의 속설이 고경희님의 책에서는 통하지 않는 듯 합니다. 저자의 독자에 대한 이해정도가 더해져 완숙의 경지에 다다랐습니다. 이전 책에서 몇 가지 아쉬운 점들이 많은 점에서 보완되었습니다. 먼저 HTML에 비해 상대적으로 CSS에 대한 내용이 조금 빈약했었지만 이 책에서는 하나의 단원에서 완벽하게 설명하고 있습니다. HTML에서 빠져서는 안될 CSS는 반드시 마스트해야합니다. CSS를 모르고서는 페이지 디자인을 일관성있게 만들지 못할 것입니다. 둘째는 페이지디자인의 또 하나의 중요한 요소인 자바스크립트가 삽입되었다는 점입니다. 많은 HTML서적이 HTML+CSS+Javascript를 한 묶음으로 해서 출간되고 있다는 점에서도 이들 3가지 요소는 기본 디자인의 중요한 요소임을 단적으로 보여 주고 있는 것입니다. HTML을 모르는 왕초보도 읽어 보기만 하면 이해될 정도로 쓰여져 있습니다. 번쩍버쩍 빛나는 종이에 지금은 사용될 것 같지 않는 태그, 단순한 태그를 아주 그럴싸하게 나열한 태그로 독자의 눈을 흐려놓은 책과는 다른 꼭 필요하고 반드시 알아야할 태그를 정성스럽게 정리하고 설명해 놓았습니다. 1편 "테마가 있는 HTML 무작정따라하기"에 사용된 잡지같은 종이질은 아닙니다만 오히려 정감이가는 종이로 눈부시지 않고 좋습니다. 이 책의 메인은 셋째마당에서 여섯째 마당에 이르는 자바스크립트에 관한 것입니다. 1편이 HTML과 CSS에 관한 공부다면 이번 책은 Javascript를 중점적으로 공부하도록 의도되어 있습니다. 저도 자바스크립트 책을 몇권봤습니다만 자세한 설명이 없이 프로그램 소스만 나열 되어있어 거기에 소개된 스크립트를 베껴사용하지 않는 한 다른 스크립트를 응용하거나 직접 스크립트를 작성할 수는 없다는 생각이 들었습니다. 자바스크립트의 동작원리와 작성방법을 소개한 셋째마당을 지나면 넷째마당부터는 각종 변수, 데이터 유형, 연산자등을 설명하다 보니 조금 지루한 느낌도 들지 모릅니다. 저는 이 부분에서 마치 대학의 컴퓨터 개론책을 보는 듯하여 조금 지루하다는 생각도 했지만 이 또한 자바스크립트를 응용하기위한 기본과정이므로 소홀히 해서는 안될 것 같습니다. 주로 기본 응용이 안되는 부분은 기본원리를 모르는 부분에서 발생하는 것이죠. 너무 기본 자바스크립트설명에 집중한 나머지 실제 페이지에서는 사용하지 않는 스크립트를 나열한 책이 아닌 실페이지에 바로 사용할 수 있는 스크립트를 자세한 설명으로 초보자가 이해하기 좋도록 해 놓았습니다. 자바스크립트를 조금아는 분들에게도 아주 유용한 책입니다. 초보자와 중급자까지를 대상으로 하는 시중에서 보기드문 알토랑같은 책입니다. 자바스크립트사용은 전문적으로 처음부터 끝까지 작성하는것도 좋겠지만 이보다는 일반유저들이라면 오픈된 소스를 자유자제로 변형하고 잘못된 부분을 찾아 수정할 수 있는 능력을 배양해야 합니다. 겉표지만 번들거리며 내용면에서 저급한 책과는 다른 내실있는 책입니다. 이런면에서 이 책 "HTML+CSS+자바스크립트 무작정따라하기"는 초, 중급자에게 꼭 필요한 책이라고 할 수 있습니다. |
| 컴퓨터 관련 교재를 출간하는 출판사의 대표적 브랜드 하나쯤은 있기 마련인데, 길벗사는 '무작정 따라하기 시리즈'가 그 대표라 하겠다. 무작정 따라하기 시리즈는 그 이름에서도 알 수 있듯 무작정 책에 나온 설명대로만 따라하면 쉽고 빠르게 컴퓨터를 정복할 수 있는 가이드 역할을 해주는 시리즈 책이다. 이 책 역시 '무작정 따라하기 시리즈 NO 72'인 만큼 책에 설명된 내용을 하나 하나 따라가다 보면 어느새 책 끝장에 와 있는 자신의 모습을 발견할 수 있다. 그렇다고 해서 전혀 주의집중도 안한 상태에서 멍하니 책을 들여다 본다고 해서 책 내용을 숙지할 수 있다는 얘기가 아니라는 것쯤은 누구나 알 수 있으리라. 적어도 나름의 노력과 바로 바로 직접 실습해 보는 최소한의 노력 모습은 요구되어 진다. 총 570여 페이지로 구성된 이 책은 부터 시작해 기본 실무 예제 196개가 자세한 소스 설명과 함께 곁들여져 있다. 웹의 뼈대이자 자바스크립트 역시 기본으로 삼고 있는 HTML에 대한 상세한 설명은 스타일 시트 정확히 풀어 쓰면 캐스케이딩 스타일 시트(CSS; Cascading Style Sheet)를 거쳐 자바스크립트를 공부함에 있어서 수월하게 스터디 할 수 있는 길을 터준다. 후반부에는 자바스크립트의 뼈대를 이루는 변수와 함수 등의 기본 문법과 여러 가지 소스들에 대한 설명이 가득 나와있다. 자바스크립트를 사용해 폼(form)을 제어하는 방법까지 포함해서 말이다. 여기에 마우스 커서 모양을 바꾸기 위한 다운로드 사이트 소개와 팝업 창 한 번만 열리게 하기, 팝업 창의 모양 변경하기 등도 게재되어 있다. 컴퓨터 책에서 꼭 필요한 부연설명을 위한 <잠깐만요!>라는 코너도 있고, 그간 배운 내용을 사이 사이 정리할 수 있는 <정리해 볼까요?="">라는 코너도 따로 만들어져 있다. 다른 컴퓨터 책에 비해서 눈에 띄는 점은 <베타테스터 이야기="">가 각 마당이 시작되기 전에 나와 있다는 점인데, 그들의 지적은 적절했다. 전체적으론 초보자들은 물론이요, 한 번쯤 다시 정리하고 싶었던 중급자들에게도 잘 어울렸던 책이 아니었나 한다. 다만 <실행 결과="">가 약간 흐릿해서 전체적 이미지를 떨어뜨린 점도 이야기 하고 싶은 대목이었다.실행>베타테스터>정리해>잠깐만요!> |