독서/IT

[스프링 부트3 백엔드 개발자 되기] 후기, 스프링 부트 교재

양선규 2024. 1. 15. 00:00
728x90
반응형

 

책 표지

 

결론부터 말하면, 10점 만점에 4점이다. 스프링 부트를 시작할 다른 사람에게 굳이 추천하고 싶지는 않은 책이다.

 

책을 끝까지 완독 후 후기를 작성하려 했으나 다른 일정과 겹쳐서 마지막 Git 버전관리와 AWS 배포 부분은 읽지 못했다.

그러나 시간이 나더라도 굳이 다시 펼쳐서 끝까지 읽고 싶지는 않은 마음이고...

완독하지 못했더라도 가장 중요한 웹사이트는 끝까지 만들어 보았으니 짧은 후기를 쓸 정도는 된다고 생각한다.

 

독자의 수준이나 기초지식에 따라서 책에 대한 견해가 달라질 수 있으니 나를 설명하겠다.

- 정보보안 전공, 보안과 관련된 지식과 네트워크, 서버, 웹 등 기초 CS지식정도 보유.

- JAVA, Python 기초문법 숙지한 상태.

- "개발"을 해본적은 한번도 없다. 개발 공부는 이 책이 처음.

 

이 책은 "클론코딩하기 좋은 책" 이다.

자바 기본문법 정도를 익힌 사람이라면, 이 책의 내용을 그대로 따라가기만 해도 웹사이트를 완성할 수 있다.

저자의 Git에 들어가면 완성본 코드를 참고할 수도 있어서 중간에 막힐 걱정은 전혀 안해도 된다.

다만 시간이 지나 책이 너무 오래되었을 경우엔 장담할 수 없지만.. 어쨌든 지금까지는 괜찮다.

책을 따라가기만 해도 문제없이 웹사이트를 완성해볼 수 있으므로, 스프링을 처음 접하는 사람이 웹개발 전체적인 흐름에 대한 감을 잡을 수 있다.

 

 

 

다만 좋은 책 이라고 하지 않고 "클론코딩하기 좋은 책" 이라고 한 이유는.. 설명이 너무 부실하다. 너무너무 부실하다.

어떤 컨트롤러나 리포지토리같은 코드가 있다고 하면, 사용되는 함수나 메소드에 관한 설명 등이 너무 두루뭉실하다.

정확히 어떤 기능을 하는지 메소드 하나하나 상세하게 말해주는 게 아니라, 코드 몇줄 뭉쳐놓고 "이 부분은 이런이런 기능", "이 부분은 이런이런 기능" 이렇게 그냥 얼렁뚱땅 설명해버린다. 읽는 입장에서 나는 한줄 한줄 정확히 어떤 메소드가 어떤 기능인지, 정확히 어떻게 맞물리는지 확실하게 알고 가야 뒤쪽 코드도 이해가 되는 법인데, 그냥 뭉뚱그려놓고 "이러이러한 기능을 합니다 ~" 이래 버린다. 

 

나는 그래서 대충 아 그렇구나~ 하고 넘어가고, 정 모르겠는 부분은 직접 구글링해서 찾아보면서 이해하고 넘어갔는데 이게 책의 처음부터 끝까지 반복되다 보니 엄청난 스트레스다... 책만 보고 넘어가게 되면 머리엔 아무것도 안 남아있고 그냥 손가락만 운동한 느낌이 든다. 그렇다고 모든걸 하나하나 구글링하면서 찾고 이해하고 넘어가자니, 이러면 책을 산 이유가 있나..? 싶은 생각도 들었다.

 

또한 뒤로 갈수록 설명이 더욱 부실해진다. 점점 대충대충, 더 뭉뚱그려서, 코드는 더 복잡해지는데 설명은 더 대충대충이다. 앞에서 대충 넘어갔던 부분들과, 뒤쪽으로 갈수록 부실해지는 설명이 맞물려 책을 읽으면 읽을수록 내가 대체 뭘 읽고 있는건지 뭘 하고 있는건지 모르게 된다. 너무 욕만 하나... 하지만 사실이다.

내가 진짜 모든 코드 하나하나 아이한테 알려주는 것처럼 상세한 걸 바라는 게 아니다. 적어도 "책에서 다루는 코드만큼은" 확실하게 설명하고 이해시켜 주는 게 당연한 것 아닌가? 이 당연한 것을 이 책은 해내지 못하고 있다.

책이 많이 두꺼운 편은 아니다. 400페이지가 못 되는데, 그냥 페이지 수를 좀 늘리더라도 코드 설명을 상세하게 해주기만 했어도 훨씬 좋았을 텐데 말이다. 왜 그러지 않았는지 나로선 잘 모르겠다.

 

뒤로 갈수록 코드는 복잡해지고 설명이 부실해진다고 위에 썼다. 아무래도 저자가 책을 쓰다가 지쳐 마무리를 제대로 못하고, 마지막에 갈 수록 정성들이지 않고 대충 쓴 것 같다. 아래는 그에 대한 방증이다. 챕터가 끝날때마다 있는 연습문제들이다.

 

같은 문제가 2개

 

완벽하게 같은 문제가 2개다. 그리고 정답은 다르게 쓰여 있다. 단순 오타면 몰라도 이건 좀 심하지 않나. 문제 자체가 똑같다.

 

답이 ORM 이라고 쓰여있었다.

 

이건 문제 자체는 문제가 없다. 근데 답이 문제다. 답이 ORM 이라고 한다.

하지만 이건 관계형 데이터베이스(RDBMS)에 대한 설명이다.

 

이 두 부분만 그런게 아니다. 내가 2개만 가져온거지 이런 식으로 잘못 나온 문제가 엄청 많다.

진짜 문제 검수를 하나도 안한 것 같다. 적어도 책이 발행된 후에 한번이라도 봤으면 문제를 인식했을 텐데 말이다.

문제만 그런 게 아니라 그냥 책 자체의 오타도 꽤 있다.

 

검수는 하나도 안 되어있고, 책의 내용과 설명은 뒤로 갈수록 부실해지고.

페이지를 넘기면 넘길수록 저자가 점점 불성실해진다는 느낌이 든다.

 

정리하겠다.

 

장점 :

- 클론코딩 하기 좋다. 책을 따라만 가도 어렵지 않게 웹사이트를 완성시킬 수 있다.

 

단점 :

- 클론코딩"만" 하기 좋다.

- 문제 검수가 하나도 안 되어 있다. 같은 문제가 2개던가, 답이 잘못되었던가. 한두 개가 아니다.

- 오타가 꽤 있다.

- 코드에 대한 설명이 매우 부실하다. 처음부터 끝까지 내가 직접 구글링하면서 이해하고 찾아야 한다. 특히 책의 후반부는 정말 끔찍했다.

- 읽으면 읽을수록 성의없는 느낌이 든다. 책을 집필하다가 지치셨는지 마무리를 대충 한 것 같다.

 

결론 :

- 추천하지 않는다.

 

 

======================================

 

 

다른 일정이 생겨 이 책을 완독하지 못했다고 했다. 부트캠프에 지원하려고 한다.

현재 "크래프톤 정글 5기" 에 지원한 상태고, 입학시험을 준비하고 있다.

부트캠프는 그다지 생각이 없었으나 마음을 바꾼 이유는, 정글은 "합숙"을 하기 때문이다.

약 5개월간 잠자는 시간만 빼고 하루종일 코딩만 하는데 이게 나의 마음을 흔들었다.

 

어디서 교육을 받든, 커리큘럼이 얼마나 좋든 결국은 내 스스로 공부해야만 하는 법이다. 정글은 커리큘럼도 좋을 뿐더러 반강제로 공부할 수 있는 환경을 만들어 주기 때문에, 여기서 버티기만 한다면 엄청나게 성장할 수 있다고 확신했다.

5개월만 구르면 개발자 구실 정도는 할 수 있겠지. 하는 마음이다.

 

현재 입학시험 자료를 한번 완독한 상태다. 자료를 받기 전엔 엄청 어려울 줄 알고 쫄아 있었는데 생각보단 쉬웠다. 몇번 막히긴 했지만 크게 고생한 것 없이 끝까지 해낼 수 있었다. 자료는 간단한 웹사이트 만들기이다. 프론트와 백을 구현하고 AWS로 배포하는 내용인데 엄청 어려운 난이도는 아니었다. 백은 Flask, DB는 MongoDB를 사용했다.

 

스프링 부트 3 백엔드 개발자 되기 << 이 책으로 공부할 땐 웹개발이 이렇게 어려운 거였나? 하고 머리가 깨질 것 같고 하나도 모르겠고 미칠 노릇이었는데.... 이 책이 정말 별로여서 어렵게 느껴졌던 것인지, 스프링 자체가 어려운 건지, 아니면 정글의 입학시험 자료가 쉬운 건지 아직 판단이 서지 않는다. 다만 정글 준비 오픈채팅에서 아직 끝내지 못한 사람들이 꽤 있는 걸 보니 조금은 자신감을 가져도 될 듯 하다.

일단 지금은 입학시험 공부에 올인하고, 면접까지 끝나 최종 합격하게 되면 정글 합격 후기를 쓰겠다.

 

 

 

2024년, 벌써 28살이다. 정글에 합격해 8월까지 급성장을 이룬 후 바로 취업할 계획이다.

이젠 정말 더 늦으면 안된다. 올해까지만 고생하자.

728x90
반응형