2015년 5월 10일 일요일

추천할 만한 자바 관련 실용서 한권을 발견하다: 네이버를 만든 기술, 읽으면서 배운다 - 자바편



"자바 관련해서 어떤 책을 읽으면 좋을까?"

이펙티브 자바

종종 주변에서 듣는 질문인데, 이 질문을 받게되면 자바를 배운지 얼마 안 되는 사람들에게는 조슈아 블록의 "Effective Java"를 추천해주곤 했다. 하지만 현업에서 어느 정도 자바를 사용하고 있는 사람들에게는 딱히 짚어서 추천해줄 만한 책을 고르기 쉽지 않았다.

자바에 관한 책이 없는 것도 아니고 오히려 굉장히 많은 책들이 출판되었는데, 왜 그럴까 싶었는데. 곰곰히 생각을 해보니, 자바 개발 환경과 사용 환경이 워낙 다양해지고 세분화되었기 때문에 출간된 만든 책들이 그 중 일부만을 다루고 있는 경우가 많았기 때문이 아닐까 싶었다. 그리고, 어느 정도 자바를 사용하는 사람들에게는 현업에서 겪게되는 문제들을 이해하고 해결하는데 도움이 되는 책들을 추천해주고 싶었는데 그에 적합한 책을 발견하지 못했기 때문인가도 했다.


네이버를 만든 기술, 읽으면서 배운다 자바편

우연한 기회로 이 책(네이버를 만든 기술, 읽으면서 배운다 - 자바편. 이하 자바편)의 서평을 쓰는 일에 참여하게 되면서 간만에 자바 관련 서적을 읽게 되었는데, 300페이지 좀 안되는 마지막 장을 덮으면서 드는 생각이 자바 관련 추천 서적에 이 책의 이름을 올려두면 괜찮겠다 라는 것이었다. 

물론, 이 자바편 책은 기술서의 분류로 보자면 이론과 실용중에 실용에 굉장히 가깝게 닿아 있는 책이다. 따라서 이 책만 읽어서 책에 나오는 내용들에 대한 근본적인 이해를 얻기는 쉬운일이 아니다. 하지만 그 지점에 현업을 통해 다양한 상황에 대한 경험이 있는 독자들은 좀 더 큰 도움을 얻을 수 있을 것이라 생각된다. 네이버라는 비교적 큰 규모의 시스템에서 발생하는 다양한 문제점들이 자바의 특성들과 어떻게 연결되고 어떻게 해결 될 있는지 저자들의 글을 하나 하나씩 읽다보면 독자들의 경험과 책에서 읽은 내용이 융합되어 지식이나 경험을 향상 시킬 수 있는 기회가 될 수 있을 것 같다.

다만, 기술블로그에 작성된 글을 모아서 펴낸 기본적인 한계 때문인지, 구성이 체계적이지 않은 점은 책의 처음부터 끝까지를 읽고 뭔가를 얻고자 하는 독자들중 일부에게는 허전함으로 남을 수도 있을 것 같다. 마치 풀코스의 정찬을 기대했는데, 몇가지 일품요리들만 나온 격이랄까. 하지만 반대로 긴 시간 들이지 않고 핵심만 얻고자 하는 독자들에게는 장점으로 다가설 수 있는 부분으로 보인다. 특히, 4장 람다에 대한 이야기나 2부에서 쓰레드 덤프, 힙 덤프에 대한 내용, 3부 전체를 할애한 가비지 컬랙션등에 대한 내용은 앞으로 다가올 자바의 핵심, 그리고 여전한 핵심들에 대한 좋은 설명들을 제공하고 있다.

자바는 현재 다양한 곳에서 중심적인 역할을 수행하고 있다. 이는 프로그래머라면 자바를 사용하던 사용하지 않던 느끼고 있을 지점이라 생각한다. 그리고 그 다양한 역할에 따라 다양한 기술들이 만들어지고 사용되고 있는 중이다. 이 책을 통해서 그런 다양한 기술들의 기본이 되는 부분에 대한 지식과 생각들 얻을 수 있을 것으로 기대한다. 그리고 기술서로 드물게 300페이지 이내의 책이라 맘 먹고 읽으면 2~3시간 안에도 읽을 수 있다. 더불어 앞서 말한바와 같이 블로그의 글을 묶어서 펴낸 책이라는 것의 장점인 부분이 있는데, 챕터 하나 하나가 일종의 별개의 글이라 글의 순서에 구애받지 않고 읽고 싶은 글을 먼저 읽어도 전혀 문제가 없다.




요약 : 현업에서 자바를 사용하는 개발자인데, 람다나 GC에 대해서 잘 모르고 있다면 추천.

Man of Month를 마치며

벌써 2020년 1월 14일이다. 19년의 마지막 달에 Man of Month라는 팀의 제도를 시작한다고 했었는데, 12월이 지나고 그 다음 달도 거의 절반이 흐른 것이다. MoM을 시작하면서 하겠다고 계획했던 것들도 실제 한 것들과 비교해보니...