상세 컨텐츠

본문 제목

자바 성능을 결정짓는 코딩 습관과 튜닝 이야기 - 이상민

Review/Book(DEV)

by thisisnew 2020. 3. 6. 00:28

본문

반응형

나온 지 오래된 책이지만, 자바를 조금 더 알기 위해 읽은 책이다.

 

나름 이제는 자바 앞에서 겁을 느끼지 않는다고 생각했는데, 한 회독을 마치고 나니 이런 생각이 들었다.

 

'나는 자바 코드를 읽을 줄 아는 것이지, 자바를 이해하고 있는 것은 아니었구나.'


이 책에서는 '나초보', '김경험', '이튜닝'이라는 인물들이 등장하여 아래와 같은 다양한 상황에서 이야기를 풀어나간다.

 

01. 디자인 패턴 꼭 써야 한다
02. 도대체 GC는 언제 발생할까?
03. 내가 만든 프로그램의 속도를 알고 싶다
04. 왜 자꾸 String을 쓰지 말라는 거야?
05. 어디에 담아야 하는지…
06. 지금까지 사용하던 for 루프를 더 빠르게 할 수 있다고?
07. static 제대로 한번 써보자
08. 클래스 정보 어떻게 알아낼 수 있나?
09. synchronized는 제대로 알고 써야 한다
10. IO에서 발생하는 병목 현상
11. 로그는 반드시 필요한 내용만 찍자
12. JSP와 서블릿에서 발생할 수 있는 여러 문제점
13. DB를 사용하면서 발생할 수 있는 문제점
14. XML도 잘 쓰자
15. GC가 어떻게 수행되고 있는지 보고 싶다
16. 서버를 어떻게 세팅해야 할까?
17. 반드시 튜닝 및 점검해야 하는 대상은?
18. 모니터링 API인 JMX
19. 어떤 화면이 많이 쓰이는지 알고 싶다
20. 원인을 너무나 찾기 어려웠던 사이트
21. 자바 기반의 배치 프로그램을 튜닝했던 사례
22. 잘 되어 있는 시스템도 튜닝 대상은 있다
23. 복합적인 문제가 발생한 프로젝트
24. 애플리케이션에서 점검해야 할 대상들

어떤 이야기를 풀어나가는지는 나중에 기술 포스팅을 통해 따로 작성할 예정이다.

 

잘 설계된 자바 코드와 그렇지 않은 코드가 애플리케이션에 미치는 영향을 언급하며 진행되는 이야기가 많다.

 

당연한 얘기지만, 한정된 시스템 자원을 계속해서 깎아먹는 코드는 성능에 악영향을 준다.

 

그런 점에서 사소하지만, 누군가 알려주지 않으면 알기 어려운 내용들을 자세하게 설명해주는 고마운 책이다.


'소프트웨어 개발'이라는 것은 단어의 뜻처럼 사용자의 요구를 소프트웨어로 만드는 것이다.

 

하지만 개발자들의 실력이 다 좋을 수는 없기에 구현물들의 품질이 전부 정교한 것은 아니다.

 

그래서 나름 자성의 목소리를 내며, 코드를 개선하는 노력이 생겨나는데 문제는 여기서 발생한다.

 

코드를 개선하는 행위가 이론적 베이스가 아닌 느낌(?)에 따르는 경우가 간혹 생기는 것이다.

 

'이렇게 하는 것이 더 깔끔해 보여서'

 

'이렇게 하면 두 번 할 일을 한 번만 하도록 만들 수 있어서'

 

와 같은 경우를 심심치 않게 볼 수 있는데, 물론... 이렇게 개선된 코드가 모두 틀린 것은 아닐 것이다.

 

하지만 좀 더 이론과 기계의 시각(?)에 근거한 개선에 갈증을 느낀 것은 사실이다.

 

그런 점에서 이 책의 내용은 지극히 근거 기반이고 논리적이다.

 

그래서 정말 납득이 된다.


책의 앞장에 있는 추천사인데, 이 책의 장점을 그대로 말해주고 있다.

 

각 챕터의 내용들은, 버릴 게 없는 주옥같은 노하우들이다.

 

코드의 품질을 올리는 것에 관심이 있다면 한 번쯤 읽어보는 것을 추천한다.

반응형

관련글 더보기

댓글 영역