토요일, 12월 31, 2011

[독서광] The Architecture of Open Source Applications

2011년도 벌써 다 끝나간다. 올 한 해 블로그를 구독(또는 방문)해주신 모든 애독자 여러분들께서는 내년 한 해에도 새해복 많이 받으시기 바라며, 올해 마지막 블로그를 적어보려고 한다. 2011년을 장식하는 ... 이런 글을 올리고 싶었지만, 1주일에 글을 하나씩 올리는 관계상 특별히 뽑고 자시고 할 것도 없어서 그냥 새로운 글을 올려드리겠다. 오늘 소개할 내용은 The Architecture of Open Source Applications(아래에서는 지면 관계상 AOSA라고 줄여서 설명한다)라는 제목부터 흥미로운 책(?)이다. 이 책은 웹 브라우저로 읽을 경우에는 무료로 읽을 수 있고, 페이퍼백, PDF, ePub 형식으로 구매할 수도 있으므로 필요에 따라 선택이 가능하다. B급 프로그래머의 경우에는 Send to Kindle을 사용해 HTML을 킨들 전용 포맷으로 변환한 내용을 읽고 있는데, 일부 코드 줄바꿈이 어색하긴 하지만 (코드가 적기 때문에) 충분히 읽을만하다.

이 책은 오픈 소스 코드를 다루고 있다는 점에서 Diomidis Spinellis이 지은 Code Reading이나 Code Quality를 연상하게 만들지만, 근본적인 차이가 있다. 이 책은 오픈 소스 프로젝트의 코드 측면이 아니라 아키텍처 측면을 다루고 있다. 흔히 오픈 소스 프로젝트를 소개하는 홈 페이지를 살펴보면 간략한 소개, 다운로드 링크, 설치 방법, API 설명 등은 나오지만 해당 소프트웨어의 아키텍처나 설계 사상을 다루는 경우는 드물다(가물에 콩나듯 있다고 하더라도 논문이나 발표 자료 형태가 대부분이다). 따라서 오픈 소스 프로젝트에 관심이 많은 호사가가 탐험을 하려고 발을 담그면 전반적인 큰 지도가 없는 상황에서 지엽적인 이정표만 보고 길을 찾아야 한다는 어려움이 있다. AOSA는 특정 오픈 소스 소프트웨어가 풀어야 할 도메인을 비롯해, 전반적인 아키텍처와 설계 사상을 소개하고 있으므로 여행 전에 구글 지도로 출발지에서 목적지까지의 길과 주변 사물을 확인하듯 해당 오픈 소스 소프트웨어의 탐험 경로를 개괄하는 데 많은 도움을 준다. 건축 분야에서 기존 건물의 아키텍처를 다루는 책이 엄청나게 많이 나왔고 여기에 대한 연구도 끊임없이 이뤄지는 반면에 전산 분야에서는 사실상 남이 해 놓은 업적에는 별반 관심이 없이 매번 바퀴를 새로 만들고 똑 같은 실수를 반복하고 있으므로 AOSA의 시도는 눈여겨 볼만하다는 생각이다.

물론 3만 피트에서 조감하는 관계상 각 모듈에 대한 세부 설계 내용이나 구현에 필요한 각종 결정 사항과 제약 사항을 시시콜콜 제시하지는 못하지만, 전반적인 큰 그림을 보기에는 부족함이 없다는 생각이다. 주로 특정 오픈 소스를 대상으로 설명하고 있지만, 요즘 뜨고 있는 일부 분야(예: NoSQL, CI(Continuous Integration))는 여러 가지 기존 기술을 비교하고 장단점을 논하는 방법으로 설명을 전개하기도 한다. 각 장을 쓴 저자가 여러 명이기 때문에 일관성은 조금 떨어지지만 분야나 사람에 따라 어떤 관점으로 오픈 소스 소프트웨어의 큰 그림을 그리는지 옆에서 구경하는 재미도 쏠쏠하다. 각 장은 연관성이 전혀(!) 없기 때문에 다큐먼터리 시리즈 중에서 재미있는 편만 골라보듯 자신이 흥미를 느끼는 부분만 골라서 읽고 나중에 시간이 남으면 (잉여력을 십분 발휘해) 다른 분야도 기웃거리면 좋겠다.

그러면 얼마 남지 않은 올 한해를 잘 마무리하시기 바라며, 내년에도 재미있고 흥미로운 글로 독자분들을 찾아 뵙겠다. 'Happy New Year!'

EOB

댓글 5개:

  1. 항상 좋은 책 소개 감사드립니다 ^^
    더군다나 이번 책을 소개해 주셔서 두고두고 읽을 거리가 생겼내요 ~
    2012년 한 해도 건강하시고 굵직한 한 해 되시길 바랍니다 ^^

    답글삭제
  2. 주황님도 새해 복 많이 받으시기 바랍니다. ;)

    - jrogue

    답글삭제
  3. 새해 복 많이 받으세요^^*

    답글삭제
  4. 예, 학생님께서도 새해 복 많이 받으시기 바랍니다 ;)

    - jrogue

    답글삭제
  5. Wow, this book is great!! Additionally, send to kindle is also very handy. Thanx for introducing both. :)
    - klimtever from kindle

    답글삭제