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

실습서, 딱 말 그대로다. 읽어보니 80% 정도는 현재 내가 업무에 사용하고 있는 내용이었다. 사용하지 않는 부분이래봤자 큰 덩어리 기준으로 타임리프, 챗GPT 연동 정도일까? 물론 디테일하게 들어가면 일부는 사용하고 일부는 사용하지 않는다 정도지만, 그건 목적에 맞는 옵션 중 하나를 썼기 때문에 다른 걸 쓰지 않았다 정도일 뿐, 큰 맥락에서는 다 쓰는 것들이다.
이게 무슨 의미냐 하면, 이 책이 매우, 매우, 매우, 실용적인 내용들로 가득 차 있다는 거다. 뭔가 개념을 알려주기 위해 기능을 나열한다거나 (시작하는 관점에서는 별로 좋아하지 않는다, 어느 정도 알고 난 다음에는 선호한다. 레퍼런스 역할을 해주니까) 그런 건 아니라서, 정말 책에서 설명해주는 내용을 읽고 이해하고, 하라는 대로 따라해보고, 알려주는 샘플 코드를 넣고 실행해보면 자연스럽게 이게 정말 이렇게 동작하는구나, 하고 느껴질 거다. 그만큼 실무에 딱붙이다. 현재 맡고 있는 프로그램을 처음 개발할 때, 만약 이 책이 있었더라면 훨씬 더 수월하게 할 수 있었다고 자신할 수 있다. 좀더 편하게 일할 수 있었을 텐데, 싶을 정도다.
총 3 파트로 이뤄져 있고, 8장으로 구성돼 있다. 본인 입장에서는 알아두면 좋긴 하지만, 현재는 딱히 쓸 일이 없는 게 5장의 1절과 2절이다. 유용하지 않아서? 아니다, 현재 클라이언트 파트는 SPA로 구현돼 있다보니 쓰지 않아서다. 그래도 뭐 알아둔다고 해서 해가 될 것도 아니고, 전개상 이해해야 하니까 본다. JSP는 써봤으니 됐고, 타임리프는 안 써봤지만, 이번 기회에 알아두는 것도 나쁠 일은 아니다. 사실 쓰는 것만 쓰다보니 수많은 서브 프로젝트들을 다 아는 것도 아니라서, 이런 기회에 알아두면 언젠간 쓰지 않을까?
1장에서는 2절을 특히 잘 알아둬야 한다. DI와 IoC, AOP는 내가 처음 스프링 프레임워크를 접했을 때 살짝 잘못된 설명이 난무하던 때라 첫 단추를 조금 잘못 끼우는 바람에 고생했었다. 아주 명확하고 명쾌하게 설명하고 있으니 잘 이해해두면 많은 부분이 이해될 것이다. AOP는 사실 그 이전에 알게 됐던 개념인데, 90년대 말에 처음 알게 되어 매우 흥미롭게 접근했었던 내용이다. 뭐랄까 필수는 아닌데 없으면 매우 곤란하다는 느낌의 기술로 현대에서는 이게 없다면 본인 기준으로는 서비스를 개발하고 유지관리 하는데 너무나 어려울 것 같다. 그러니 잘 이해해두면 좋다. 앞으로 쓸일도 많고.
2장은 2절의 롬복을 잘 봐두자. 자바 쓸 거라면 아마 필수적으로 활용하게 될 내용이다. 코틀린으로 간다면 아마 안 쓰게 될 것 같지만.
3장은 본인이 참여한 프로젝트가 뭐냐에 따라 갈라지게 되겠지만 아마 MyBatis 아니면 JPA를 주로 쓰게 될 것 같다. 물론 DBMS를 사용한다는 가정 하에서. NoSQL 계열이라면 MongoDB를 주의깊게 봐두면 좋을 것 같다. 사실 NoSQL도 안 써서 알아만 두고 넘겼다.
4장은 그냥 다 잘 익혀야 한다. MSA 사용하는 곳이라면 안 쓸 수가 없다. 물론 gRPC 쓴다면 살찍 궤를 달리 하겠지만. RESTful API는 필수라고 생각한다.
5장은 1절과 3절은 무조건 잘 이해해야 한다. 2절에서 나온 타임리프는 쓸 일이 있다면 알아두면 좋겠지만, MSA/SPA 구조라면 쓸 일이 있을지…
6장과 7장도 무조건 알아둬야 한다. 어떤 식으로 빌드를 할지, 어떤 식으로 배포할지, 그건 프로젝트와 구성원 성향에 따라 달라질 수 있으니, 알아두고 적절히 대응하면 된다.
8장은 최신 트렌드를 반영한 소개로 보인다. 요즘 AI 관심 없는 개발자가 어딨겠는가. 물론 AI를 기반으로 서비스를 개발할 것인지, 아니면 AI를 사용해서 코딩을 할 것인지는 상황에 따라 다르겠지만, 알아둬서 나쁠 내용은 아니고, 오히려 활용하든 안 하든 알아둬야 할 기초적인 내용이다. 그러니 생소할 수 있어도 알아는 둬야 한다.
내용을 읽으면서 느낀 점은 저자는 확실히 업무를 해봤고, 또 가르쳐도 봤다는 거다. 대체적으로 군더더기가 없는 내용으로 채워져 있고, 설명한대로 만들면 실무에 바로 넣어도 된다. 결국 이 내용을 기준으로 무엇을 얼마나 더 강화할 것인지 정도의 차이지, 핵심은 빠진 게 없다. 나만해도 내용 중에 안 쓰고 있었던 걸 발견하게 되어 좀더 파악한 다음 현재 업무에 반영해보려는 생각이 들었다. 다시 말해 유용한 정보가 꽤 됐다.
스프링 부트를 기반으로 프로젝트를 시작하고 싶을 때 이 책이 큰 도움이 되리라 믿어 의심치 않는다. 좋은 책 만났다.
댓글 남기기