“한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다.”

스프링6를 쓰고 있다. 엄밀히 말하자면 스프링 부트 3.x를 쓰고 있다. 웹에서 벗어나 있다가 쓰기 시작했을 때가 스프링 2.x였을 터다. 다시 자바 세상을 떠나 있다 복귀했을 때는 스프링 부트라는 게 유행하고 있었고, 프로젝트에서 쓰기 시작했을 때는 2.5 버전이었던 것으로 기억한다. 그 애플리케이션을 3.5.6까지 현재 끌어올렸다. 2.x에서 3.x으로 버전을 올릴 때가 중간 중간에 버전 업 후에 실행이 안 되는 경우들이 있었다. 알고보니 열심히 경고했던 코드들이 삭제되어 더 이상 사용할 수 없어, 강제로 코드 수정을 해야 하는 상황들이었다. 용법이 바뀌는 건 이해하는데 설정이 사라지는 건 좀 어려웠다. 열심히 구글링해서 이해하려 애쓰면서 고쳐서 돌렸던 경험이 있다.
그때 자료를 찾아다니면서 느낀 점이 초심자 말고 어느 정도 익숙한 사람이라도 핵심만 모아둔 책이 있으면 좋겠다였다. 형태가 어찌 되었든, 뭔가 남이 만든 프레임워크를 사용하기 위해서는 가이드가 필요하다. 원래대로라면 메뉴얼을 보면서 하나씩 해결해나가는 게 정상일 수도 있겠지만, 그러기에는 너무 바쁘다. 다르게 접근하면 이런 것 때문에 많은 시간을 낭비하고 싶지 않다. (물론 그 과정에서 배우는 게 생기니 그렇게 손해보는 짓은 아니나 시간만큼은 아쉽다) 그렇다면 선택지는 2가지다. 누군가 정리해둔 자료를 찾아내서 보거나, 아니면 AI에게 묻는 거다. 정리해둔 자료를 찾기 위해서는 그 만큼의 시간을 써서 검색을 열심히 해서 옥석을 가려 찾는 건데, 솔직히 운이 좀 작용하는 것 같다. AI에게 묻는 건, 나의 질문 스킬을 올려야 하는 거니, 뭐라도 좀 명확하면 쉽게 풀리고 아니면 난감하다.
그런 상황에서 이 책은 많은 점을 시사한다. 구성을 보면 굵직한 주제로 나눠져 있으니 저 방대한 걸 어찌 다루나 싶다가도 막상 접근해보면 엑기스만으로 돼 있다. 잘 알고 있는 내용을 보면 새로운 사실을 기대해서 실망하다가도 결국 내가 놓치는 게 없이 잘 알고 있구나 하는 재확인의 시간이 되어, 되새기는 때가 되기도 하고, 모르는 부분은 정말 몰랐던 내용들인데, 하필 내가 당장 쓸 일이 없는 거라 수박 겉핥기 식이었다가도, 아는 거 반, 새로운 거 반으로 써먹을만한 걸 찾아서 기쁘기도 했다.
1장 스프링 코어는 읽으면서 힘든 장이었다. 핵심이기도 하지만, 사실 스프링 부트를 쓰다보니 자동으로 많이 해결해줘서 디테일한 내용을 보는 게 다소 어색했다. 물론 세세하게 조절해야 할 때는 많은 도움이 될 수도 있겠지만, 내 입장에서는 그저 어려운 느낌이랄까. 또 하나 생각난 게 미국적(?)인 스타일이라고 해야 하나, 자유도가 높은 게 조금은 난감했다. 이렇게도 되고 저렇게도 되는 게 일할 때는 혼란스러울 때가 많아서 그랬던 것인지.
2장 스프링 MVC는 과거에 많이 썼던 내용들이다. 지금 하는 업무에서는 쓸일이 없다. 그러나 웹을 해야 한다면 무조건 알아둬야 할 내용이다.
3장 스프링 MVC: REST 서비스는 현재 아주 열렬히 사용 중인 내용들이다. 역시 잘 알고 있는 부분도 많고 새롭게 느껴진 것들이 있어서 활용하려면 연구 좀 해봐야겠다.
4장 스프링 웹플럭스는 스프링 클라우드 게이트웨이를 현재 업무에 녹여보려고 애쓰면서 건드려본 내용이다. 어떻게 쓰는 게 좋은지 좀 애매했는데 많은 도움이 될 것 같다. 물론 여기서 도입된 WebClient는 현재도 잘 쓰고 있어서 어색하진 않다.
5장 스프링 시큐리티도 잘 쓰고 있다. 안 쓰면 큰일날 수준이다. 보안의 핵심 요소라, 더 많이, 더 자세하게 이해하고 쓰고 싶다.
6장 데이터 액세스는 아는 어쩌면 업무를 함에 있어 꼭 숙지해야 할 내용들도 가득 차 있다 해도 과언이 아닐 것이다. 이 부분을 잘 이해해야 데이터가 엉키거나 잘못되지 않을 것이므로. DB 데이터를 처리하는 데 있어 핵심 기술들이니 잘 알아둬야 한다.
7장 스프링 트랜잭션 관리는 6장에서 쓴 기술들이 제대로 처리되도록 해주는 기술이다. 트랜잭션을 다루지 못하면 데이터를 보장할 수 없고, 업무가 정상 처리되지 않는다.
8장 스프링 배치, 이게 좀 제대로 된 처리일 텐데, 본인은 보통 스프링 쿼츠를 통해 처리하고 있어서, 좀 애매했지만, 이걸 제대로 이해해서 표준화하는 게 좋겠다 싶었다.
9장 NoSQL 스프링 데이터 액세스. 현재로서는 쓸 일이 없으니, 확인만 했다. 아마 쓸 일이 생긴다면 이 내용을 십분 활용해보면 좋겠다 싶다.
10장 스프링 자바 엔터프라이즈 서비스와 원격 기술은 앞서 스프링 배치에 언급했던 스프링 쿼츠 내용이 나온다. 그외에도 예전부터 엔터프라이즈 하면 나오던 기술들이 나온다. 마찬가지로 현재 쓸 일이 없으니 이런 게 있다는 정도로 이해하고 넘어갔다.
11장 스프링 메시징. 카프카를 현재 쓰지만 직접 쓰진 않고 타 서비스에서 쓰고 있어서, 이해해두면 좋을 것 같다.
12장 스프링 인티그레이션은 좀더 공부가 필요한 파트다. 현재로서는 가장 익숙치 않은 내용이라 이걸 마중물로 더 많이 자료를 찾아봐야 할 듯 싶다.
13장 스프링 테스트는 몇 년째 쉽게 해결되지 않는 부분들이다. 어떻게 해서든지 커버지를 높혀 코드 안정성을 높이고 싶은데, 제대로 된 기준과 방향을 정하지 못했다. 이 내용이 그에 도움이 될 듯 싶다.
14장 캐싱은 사용하고는 있는데, 제대로 쓰고 있다곤 할 수 없는데, 그래서 이런 가이드가 무척이나 도움이 된다. 이 내용을 기반으로 현재 운영 중인 코드를 체계적으로 변경해야 할 것 같다.
그런고로 이 책에서 알려주는 내용은 굉장히 도움이 될 만한 핵심 내용들로 가득 차 있다. 처음에 언급한대로 스프링 부트를 많이 쓰고는 있지만, 조금만 내용을 건드리려고 하면 여기 나오는 내용들이 그 기반이 될 것이다. 그러니 이 책은 옆에 두고 필요할 때마다 곱씹으며 보고 도움을 받는 게 좋겠다. 그럴 가치 충분하다.
댓글 남기기