웹/모바일 개발/웹개발

[프로그래밍 도서] 웹 개발자를 위한 웹을 지탱하는 기술

라스모르 2012. 6. 7. 11:55


웹을 지탱하는 기술
국내도서>컴퓨터/인터넷
저자 : 야마모토 요헤이(Yamamoto Yohei) / 김성훈역
출판 : 멘토르출판사 2011.05.30
상세보기





보통 웹 개발을 한다고 할 때 그 기반이 되는 HTTP 프로토콜에 대한 RFC 문서를 보았을 개발자가 얼마나 있을까? 그것도 영어로 된, 긴 스펙(Spec) 위주의 설명을 담은 문서를 말이다. HTTP가 웹 기술의 기본이지만 굳이 그러한 규약이나 세부 명세를 모르더라도 개발자라는 타이틀을 가지고 일을 하는데 큰 무리가 없을 정도로 이미 많은 개발 언어와 관련 메소드 또는 라이브러리 들이 존재한다. 또한 상식적으로 내가 겪고 있는 문제를 다른 개발자도 겪었을 거라고 생각하고 접근하면 어떠한 문제에 부딪혔어도 이미 대부분 구글링으로 해결이 가능한 상태인 경우가 많다. 그렇게 게으르게 몇 년을 살아오다가 요즘 다시 개발 트렌드에 대해 여기저기서 많은 정보를 흡수하다보니 다시 기본(Basic)이 궁금해졌다. 구글링으로 여기저기 단편화된 나의 얕은 기본을 다시 한번 확인하고자 하는 생각도 조금 보태서...  그것이 큰 기대없이도 코드 한 줄 없는 이 책을 선택한 이유이다.  


아키텍쳐보다도 아키텍쳐에 대한 스타일을 이야기하는 책


이미 이 책을 보았다면 알겠지만 이 책에는 단 한 줄의 실행해 볼 만한 예제코드도 없다. 제목처럼 웹을 지탱하는 기술이라 하여 HTML이나 HTTP, URI 등에 대해 다루고 있지만 그것을 예제를 통해 보여줄 생각은 애초에 없다. 때문에 눈과 손으로 확인가능한 코드가 있어야 안심(?)이 되는 초보 개발자나 아직 경험이 많지 않은 개발자라면 그다지 큰 감흥이 없을 수도 있다. 반대로 경험이 많은 개발자에게는 '머야 새로울게 없는 얘기를 하고 있잖아'라는 시덥잖다는 반응을 부를 수도 있다. 그리고 나처럼 많은 도움이 되는 허당 개발자도 있겠다. 



어쨋든 이 책은 구체적인 구현보다는 개념을 이야기하는 책이다. 그 표현을 빌리자면 '아키텍쳐보다도 아키텍쳐에 대한 스타일을 이야기하는' 그런 책이다.  



웹을 웹답게 설계한다는 것, 과연 웹다운 설계란 무엇일까?


책을 다보고 다시 첫 장으로 돌아와 저자의 이야기를 보았다. 너무나 쉬운 웹이지만 그 웹을 웹답게 '설계'하는 것은 쉽지 않다고 얘기한다. 그렇다. 어쩌면 너무 쉽기 때문에 편하게 가려고 '그렇게 해서는 안되는 것'도 '그렇게 만들었던 경험'이 나에게도 많다. 그렇게 해서는 안된다라고 하지만 실상 그것을 어겼다고 해서 당장 어떤 문제가 표면적으로 발생할 가능성이 거의 없다는 것을 이미 알거나 또는 그 자체를 모르기 때문이다. 기실 그렇게 만들어 놨어도 그걸 머라 할 사람조차 없기 때문이기도 하다. 



웹을 웹답게 설계하는 것 즉, 웹다운 설계가 여기서 얘기하는 단 하나의 핵심주제이고 이 책의 전체에 걸쳐 얘기되는 부분이다. 



과연 웹다운 설계라는 것이 무얼까? 웹을 만들면서 데이터구조와 DB 설계를 고민한 적은 무수히 많았지만 지금 만드려고 하는 웹서비스가 어떻게 하면 정말 웹다운 서비스를 제공할 수 있을 것인지에 대한 근원적 설계(?)에 대한 고민을 해 본 적은 거의 없다. 그런 측면에서 웹다운 설계라는 것이 존재하고 또 그렇게 만들어야 할 필요가 있으며 그것을 위해서는 지금까지 대수롭지 않게 넘겼던 스펙을 진지한 자세(!)로 이해하는 것이 중요하다고 저자는 말한다. 그리고 그 기반위에서 좋은 웹서비스 설계를 위한 조금 더 구체적인 방법들을 제시한다. 



스펙을 알아야 좋은 설계를 할 수 있다고 말하는 저자는 그러한 스펙으로 HTTP 프로토콜과 URI에 대해 설명한다. 사실 HTTP나 HTML, XML 등에 대해서는 익히 많은 경험이 있지만 URI에 대해서는 깊게 생각해 본적이 없다. 그냥 브라우저 주소창에 나오는 웹주소일 뿐인데 URI를 만드는 것도 설계의 범주안에서 생각해야 한다는 주장은 특별히 새롭지는 않았어도 충분히 의미있고 공감할 수 있는 내용이다. 



좋은 웹서비스의 설계가 궁극적으로 이 책에서 얘기하고자 하는 주제이기 때문에 일본 우편검색 서비스를 예제로 하여 웹서비스의 설계방법에 대해 얘기한 후반부의 내용은 많은 도움이 되었다. 요즘 많이 들을 수 있는 REST한 (RESTful) 개발에 대해서도 좀 더 구체적으로 개념을 이해하는 계기가 되었다. 



개발자에게 도움이 될 만한 책으로 추천


웹 개발 경험이 있는 모든 개발자를 대상으로 한다고 하니 이러한 내용에 관심이 있다면 추천할 만한 책이다. 내가 이 책을 선택한 것은 REST라는 아키텍쳐 스타일에 대한 궁금함과 JSON에 대한 개념 그리고 제목대로 웹을 지탱하고 있는 스펙에 대해 한번 더 확인하기 위한 목적때문이었지만 구체적인 이유가 없다하더라도 웹 기술을 사용하는 개발자에게는 도움이 될 만한 좋을 책으로 추천해주고 싶다.