책 리뷰_자바 개발자를 위한 97가지 제안
사진 설명을 입력하세요.
개발자의 고민 상담 시간
출처 입력
이 책은 자바 개발 경험과 함께 평생 소프트웨어 업계에 매진한 전문가의 경험을 담고 있다.
자바로 개발을 하며 평소 의문을 품었던 부분을 해결해 줄 가뭄 속 단비 같은 존재이며 이외 독자에게도 앞으로 어떻게 여러 가지 혜안을 가져다줄 책이다.
즉, 신입부터 경력자까지 자바 개발자가 갖추어야 할 자세나 문제 해결 능력, 미래 방향을 제시한다.
모든 내용을 당장 받아들이긴 어려울 수 있다. 쉬운 주제부터 당장 이해하기 어려운 내용까지 다루고 있어 경험이 쌓일 때마다 다시 읽어보면 새롭게 느껴질만한 흥미로운 내용이 많다.
다시 한번 말하지만 수십 명의 선배 개발자분들의 이야기를 다루고 있다. 자바 개발자이거나 현재 다른 언어로 개발 중인 모든 선배들의 경험과 해결책을 다룬다고 볼 수 있다.
기억에 남는 제안 위주로 다시 떠올려보았다.
제안 04. 컨테이너를 제대로 이해하자
출처 입력
사진 설명을 입력하세요.
컨테이너를 컨테이너답게 사용하려면 어떻게 해야 하는지 다룬다. 구분 없이 모든 것을 집어넣는 시절에서 벗어나 필요한 것만 넣어 배포하는 등 해결책을 제시한다.
제안 08. 문제와 업무를 더 작은 단위로 나누기
출처 입력
사진 설명을 입력하세요.
신입 때 가장 힘들었던 일은 할당받은 업무가 누군가에겐 굉장히 단순한 일이지만 나에게는 광범위하게 보였던 것이다. 기능을 구현하거나 개선하기 위해선 각 단계마다 절차가 있을 텐데 단위별로 구분하지 않고 막무가내로 달려들기 일 수였다. 시간을 계속 허비하며 해결책을 찾다 보니 commiit 하는 것도 잊은 채 계속 진행하게 된다. 나중에 뒤돌아봤을 때는 대체 어디서부터 꼬인 건지 종잡을 수 없을 정도로 코드는 난잡하고 머릿속은 새하얗게 변하길 반복. 이러한 문제가 생기지 않도록 어떠한 기준으로 각 업무 단위를 나누어야 할지 알려준다.
제안 16. 선언적 표현식은 병렬성으로 가는 지름길이다
출처 입력
사진 설명을 입력하세요.
초보 개발자에게는 새로운 방향을 제시하고 구 버전의 기능으로 단순 반복 개발만 하던 사람에게는 경종을 울릴만한 내용이다. 그동안 미루어왔던 스트림(Stream)을 배워야 할 이유와 장점을 나열한다.
제안 46. 주석의 종류
출처 입력
사진 설명을 입력하세요.
올바른 종류의 주석과 줄/블록 단위 주석의 엉뚱한 사례, 코드가 아무리 지저분하더라도 왜 주석을 남겨야 하는지 설명한다.
제안 53. 새로운 자바 기능을 학습하자
출처 입력
사진 설명을 입력하세요.
자바 8에서 스트림이 도입된 이후 버전업을 반복하여 계속 새로운 기능들이 추가되었다는 것은 누구나 알고 있다. 그러나 해당 기능들을 학습하지 않는 것이 각자 스스로도 가장 잘 알고 있는 문제일 텐데, 학습할 계기가 될 수 있도록 신규 기능이 가지는 장점에 대하여 예제를 통해 독자를 설득한다.
제안 65. 프로덕션 환경은 지구상에서 가장 행복한 곳이다
출처 입력
사진 설명을 입력하세요.
단순 개발만 하는 환경에서 나아가 주변 환경을 다루는 방법에 대해 다룬다. 같은 내용을 반복하고 항상 같은 이슈가 발생할 것을 알면서도 방치하는 지루한 개발에서 벗어나는 해결책을 설명한다.
제안 97. 젊은 객체, 늙은 객체, 그리고 가비지
출처 입력
사진 설명을 입력하세요.
바쁘게 개발해오며 잊고 지냈던 부분을 떠올린다. 가비지 컬렉터가 존재하는 이유와 적절한 전략 그리고 가비지 컬렉터가 잘 작동하기 위한 방법을 다룬다.
각 제안은 2~4페이지로 부담되지 않는 분량이다. 그러나 단순히 읽고 넘어가는데 그치지 않고 나의 지식으로 만들기 위해서는 많은 고민이 필요하다.
그러나 97가지 제안을 각 제안마다 고민하며 넘어가기에는 책에 집중하기 어려울 수 있습니다. 이 책을 가장 효과적으로 기억에 남기기 위해 새로운 방법을 제안한다.
1. 관심 있는 제안부터 막힘없이 읽자. 이후 나머지 제안이나 이해되지 않는 내용들도 다시 읽어보자.
2. 97가지 제안이 끝나고 나면 기고자 소개 내용을 살펴보자. 기고자의 소개를 읽고 다시 해당 제안으로 돌아가 읽어보며 각 기고자가 어떠한 기분으로 각 주제를 다루었을지 고민해 본다.
3. 처음으로 돌아가 모든 제안을 다시 읽어보자.
4. 각 제안마다 본인의 생각을 통해 정리해본다. 내용에 동의하는지 / 왜 동의하는지 자신의 경험에 비추어 적용할 수 있는 다른 사례들을 떠올려보고 / 동의하지 않는다면 그 이유와 좀 더 나은 방안을 생각해 본다.
이 책에서 다루는 방법처럼 다양한 주제들에 대해 선후배분들과 가감 없이 대화할 수 있는 커뮤니티가 있으면 좋겠다는 생각이 들었다. 틈나는대로 계속 읽어보기에는 매우 적합한 책이다.
#책리뷰 #자바