Hyun's Wonderwall

[도서리뷰] 자바/스프링 개발자를 위한 실용주의 프로그래밍 본문

Study/Java, Spring

[도서리뷰] 자바/스프링 개발자를 위한 실용주의 프로그래밍

Hyun_! 2024. 7. 3. 01:37

 

자바 스프링을 시작한 지가 벌써 1년이 넘었다. 시간이 무섭도록 빠르다!
내가 스프링을 처음 공부했던 것은 작년 3월 인터넷 강의 스터디를 통해서였다. C++ 알고리즘 공부를 어느 정도 해본 상황이었어서, 자바 문법을 간단히 익히고 용기 있게 바로 스프링에 도전했었다. 그러나 얼마 못 가 내가 얼마나 무모했는지를 깨달았는데, 강의 자체도 어려운 강의였는데 나는 객체 지향과 웹 기초 지식(HTTP 등) 조차 없었다. 결국 막막한 이론 부분은 감만 잡고 넘어가버리고 코드를 따라 치고 구현하는 것을 확인하기 급급했던 기억이 난다..

 

이론 지식이 빈약하다보니 프로젝트 실전에 뛰어들었을 때 더욱 많은 에러를 만났다. ERD 설계를 잘못하거나 Service끼리 필드 주입을 해주어 순환 참조가 나는 등... 프로젝트 중 에러가 발생할 때마다 그때그때 찾아서 공부를 보충하니 항상 시간을 많이 소모했다. 스프링 이론 공부를 꼼꼼히 할 필요성을 느끼고 있던 차였는데, 운 좋게도 위키북스의 "자바/스프링 실용주의 프로그래밍 서포터즈"로 선발되어 <자바/스프링 개발자를 위한 실용주의 프로그래밍> 책을 읽어보게 되었다.

 

1부는 아래와 같이 구성된다. 자바는 객체 지향 언어이다. 백엔드에서 레이어드 아키텍처를 구성해서 레이어단을 서로 이동하기 위해 VO, DTO, DAO, 엔티티를 활용한다. 객체와 개체를 먼저 설명하고, '행동'을 설명한다. 

구현 위주가 아닌 행동 위주의 사고를 통해 유연한 설계를 하는 자세한 예시를 통해 설명해서 이해가 잘 되었다.

객체 지향의 핵심 원칙인 SOLID 원칙에 대해서도 각각에 대해 예시 코드와 함께 친절히 설명해주었다.

 


2부에서는 개발하다 보면 한 번은 겪게 되는 순환 참조와, 안티패턴, 서비스, 레이어드 아키텍쳐, 모듈을 다룬다. 평소 아키텍쳐와 설계 지식이 모호하게 잡혀있었어서 많은 도움이 되었다.

 


3부는 도메인, 스프링 활용법, 테스트를 다룬다. 테스트 부분은 아직 다 보지 못했는데 열심히 읽어서 프로젝트 개발에 테스트를 적극적으로 사용해보고 싶다.

 

🌟 종합 의견: 평소 내가 궁금했던 부분과 잘 모르던 부분들을 다루어서 좋았다. 트러블 슈팅, 디자인 패턴에 대한 세미나/세션을 듣는 기분이었다. 개발 입문서가 아니라서 그런지, 다른 딱딱한 개발 서적들과 비교해서 문체가 생기있고 재미있다고 느껴졌다. 설명도 예시 코드도 매우 친절해서 백엔드를 공부하는 동료 개발자들에게도 추천하고 싶다👍👍

 

🔗책 보러가기: https://product.kyobobook.co.kr/detail/S000213447953