본문 바로가기
카테고리 없음

한빛리더스 9기 2차 리뷰!!! - [자바스크립트 자료구조와 알고리즘]

by tubebell 2014. 9. 28.

0. 시작하기 전에...

 

나는 알고리즘을 잘 모른다.

(컬투쇼의 정찬우 형님은 이렇게 시작하면 늘 "축하드립니다" 하고 얘기하던데 ㅎㅎㅎ)

 

 

그래서 알고리즘을 별도로 공부도 하고 있고(심지어 지금도!?) 관련 서적도 찾아서 보고 있는 중이다.

그런데 이 '알고리즘'이라는 것이 워낙 전문분야(?)인 데다가, 머리를 많이 굴려야 해서

책들도 정말 어렵게들 써 놓은 경우가 많다. ㅠ.ㅠ

 

공부를 하라고 만든 건지 괴롭히려고 만든 건지.....

 

그래서 쉬운 책을 찾던 차에 이번 리뷰 대상에

'자바스크립트 자료구조와 알고리즘'이 있길래 또 냉큼! 신청해 버렸다!

 

(원제 : Data Structures & Algorithms with JavaScript)

 

 

 

 

1. 자바스크립트로 알고리즘을?

 

책을 받고 보니....

IT 서적 분야에서는 둘째 가라면 서러울 O'REILLY의 책이었다.

 

그래서 이런 디자인이.... 역시... 하면서 고개를 끄덕였더랬다. =_=;;

 

 

[자바스크립트 자료구조와 알고리즘 (Datat Structures & Algorithms with JavaScript)]

마이클 맥밀런 지음

우정은 옮김

 

 

O'REILLY의 책이 좋은 점은 핵심만! 적는다는 것이다.

그리고 최대 단점 역시 핵심만!!! 적어버린다는 것이다.

 

책 뒤에 보면 저런 내용들을 다룬다고 일단 적혀 있다.

 

 

오호~ 그래?

이번엔 얼마나 빠르고 재미있게(위에 적혀 있다) 익힐 수 있는 구성이려나? ^^

 

 

우선 환경 구성을 해야겠지?

 

 

정말 심플! 미니멀하다!

 

사실 우리나라 책들은 환경 설정(앞에는 역사 같은 것도 나오고;;;;)에 거의 한 챕터를 소비하는데

그런 건 솔직히 좀 너무 한다는 생각이 들 때가 많았다.

 

그런데 이건 너무 간단하잖아;;;;;;

 

사실 웹 프로그래밍이니까 뭐 이 정도로 그쳐도 알아서 설치한다고 치고 넘어가자.

(사실 메모장으로 쳐도 될 내용이니 뭐....)

 

 

 

책의 구성은 정말 간단하다.

책 뒤편에 나왔던 자료구조와 알고리즘이 순서대로 챕터로 구성되어 있으며

한, 두 페이지에 챕터에서 다루는 주제에 대한 간단한 설명이 이어진 후

몇 가지 실행 예제가 나온다.

 

예제들은 실행 자체가 그리 어려운 정도는 아니고

위에서 언급한 것처럼 O'REILLY 책 답게 부연설명 거의 없이 딱 내용만 들어 있다.

 

여기에서 몇 가지 문제가 있다.

 

 

 

2. '생략'이 모든 미덕의 근간이 될 수는 없다.

 

아래는 해싱(Hasing) 챕터의 도입 부분이다.

 

 

저 내용을 보고 해싱이 뭔지 한 번에 이해한 사람이 있다면.....

그 사람은 프로그래밍이 천직일 것이다. -_-;;;

 

대부분의 챕터가 저렇게 시작되면서

간결한 설명 이후 바로 실습 예제로 넘어 간다.

 

그렇다면.... 이 책을 산 두 부류의 사람의 반응을 예상해 보자.

 

 

예 1) 자료구조와 알고리즘을 잘 알고 있는 사람

 

'음... 해싱에 대해 다루는 군...

 이 예제는 이렇게 하면 되겠는데?

 역시... 내가 생각한 대로군. 후후후...

 다음에는 무슨 내용이 나오는지 볼까?'

 

 

예 2) 자료구조와 알고리즘을 이 책으로 배우려 했던 사람

 

'음? 해싱? 그게 뭐지?

 구글링 해 볼까?

 아냐, 일단 좀 읽어 보고....

 엇, 뭐야? 설명이 이게 끝이야?

 그 다음 예제 하면 알 수 있는 건가? @_@'

 

조금 과장하긴 했지만.... 책이 워낙 예제 중심이라

이 책을 통해 자료구조와 알고리즘을 이해할 수는 없다. ('어럽다'를 쓰지 않은 것에 주목)

다만, 그 동안 알고 있던 자료구조와 알고리즘에 대해

Web 파트에 적용되는 JavaScript에서는 어떤 식으로 구현할 수 있는지를

예제를 통해 보여주는 형식이라고 할 수 있다.

 

때문에 이 책은 일반 객체지향 언어를 통한 알고리즘 책과 거의 유사한 형태이며

입문서가 아닌 경력자들을 위한 책이라 할 수 있다.

 

 

아래의 그림을 살펴 보자.

 

 

 

이진 트리에 대한 검색 순서를 그림으로 표현한 것인데...

보면 순서가 표시되어 있지 않고 화살표로만 표현되어 있다.

이진 트리라 너무 간단한 것이어서 그랬는지는 모르겠으나....

 

다른 페이지의 깊이 우선 검색을 보면 얘기가 다르다.

 

 

여기에는 순서가 나온다.

이왕 이렇게 표로 첨부할 거였다면, 이진트리에도 한 번 적어주는 것이 낫지 않았을까....

 

실습과 예제 중심의 O'REILLY 책이라고는 하지만

조금 더 상세하고 친절하게 적어주었다면 하는 아쉬움이 남는다.

 

 

 

3. 책을 덮으며

 

이 책은 전형적인 O'REILLY 스타일이다.

심플하고 예제 중심적이며, 그 외의 군더더기는 없다.

 

때문에 이 책은, 위에서 한 차례 언급한 것처럼 이미 자료구조와 알고리즘을 잘 아는 사람에게는

한 번쯤 읽어볼 만한 책이 될 수도 있겠다.

 

하지만, 이 책을 처음으로 하여 자료구조 또는 알고리즘을 공부하려 했던 사람이라면,

특히나 그 사람이 자바스크립트를 알고 있었던 사람이라 하더라도

이 책을 통해 얼마나 깊이 있는 이해를 할 지 좀 의문스럽다.

 

중급 이상의 IT 개발자에게 권하고픈 책이다.

 

 

 

 

댓글