도서

[Do it!] 점프 투 스프링부트3 with. 이지스퍼블리싱백엔드 기초, 개발, 배포, 운영까지

colin2 2024. 3. 17. 15:41

[Do it!] 점프 투 스프링부트3 with. 이지스퍼블리싱

백엔드 기초, 개발, 배포, 운영까지

비전공자인 나는 그동안 IT 관련 책을 볼 때면 그 어느 책보다 친절한 이지스퍼블리싱의 책을 보곤 했는데, 때마침 내가 스프링부트를 배우는 시점에 이지스퍼블리싱에서 스프링부트3 책이 나왔다.

 

이지스퍼블리싱의 동향을 보면 이지스퍼블리싱이 IT뿐만 아니라 디자인 쪽까지 모든 분야를 섭렵하려는 것이 아닌가 하는 생각이 들 정도로 활발한 활동을 하고 있다는 것을 볼 수 있었고, 그 덕분에 나는 간적적으로나마 많은 분야를 접해보고 경험해볼 수 있었다.

하지만 그 중에서도 지금의 나에게 가장 필요한 것이 바로 이 스프링부트가 아닐까.

 

두잇 시리즈에는 항상 초보자와 중급자를 위한 각각에 맞는 계획표가 있어서 자신의 수준에 따라서 진도를 정할 수 있다.

내가 가지고 있는 스프링 책에도 계획표가 있긴 한데, 570p짜리를 하루 7시간씩 5일만에 끝내는 계획이어서 스프링을 처음 접하는 사람에게는 결코 따라갈 수 없는 진도가 아닐까 싶기는 하다.

그런 부분에서 두잇 시리즈는 혼자서도 따라갈 수 있는 정도의 범위를 잡아주고 있기 때문에 포기하지 않고 진도를 따라갈 수가 있다.

 

 
 

차례를 보면 기본적으로 스프링부트가 무엇이고 왜 나왔는지가 나와있다.

또 이 책에서는 간단하게 사용할 수 있는 데이터베이스인 H2를 사용하고 있는데, 간단한 작업을 하기에는 괜찮지만 연결이 끊기는 경우게 간혹 생길 수 있기 때문에 나는 기본 연동만 따라해보고 오라클로 넘어가거나 할 것 같다.

그리고 이 책에서는 그냥 게시판이 아니라 질문과 답변을 하는 형태를 띄고 있기 때문에 하나의 테이블이 아니라 질문과 답변 테이블을 연결하여 처리하는 방식도 자연스럽게 배울 수가 있다.

 

그럼 조금 더 자세하게 책을 한 번 훑어보자.

스프링부트에는 WAS가 필요없다..?

처음 백엔드 공부를 할 때, 서버 연동하는 것에서부터 많은 시행착오가 있었는데 그 과정이 필요가 없어진다는 건가..

우선 스프링부트도 자바로 만든 프레임워크이기 때문에, JDK 설치를 하고 STS4를 설치한다.

나는 학원에서 STS3로 스프링을 하고 있는데, 복습을 위해 MAC에 설치를 하려 했으나 실행이 되지 않아 지인의 도움을 받아 대략 5시간이 걸려서야 STS3로 프로젝트 진행까지를 마무리할 수 있었다.

그 당시에 STS4도 설치를 해보았었는데, 프로젝트 생성에서부터 달라서 결국 다시 STS3를 설치해야 했다.

그랬던 기억이 있다보니 STS4를 사용하는 것을 보고 조금 안심하기도 했달까..

스프링부트에서도 어노테이션을 많이 사용하는 듯 하다.

 

서버 구동을 하면 가장 많이 보게 되는 404 오류와 500번 오류에 대해서도 설명이 나와있다.

스프링부트에서는 SQL을 직접 작성하지 않고도 데이터베이스의 데이터를 처리할 수 있는 ORM이라는 도구가 있다고 하는데, 이것 또한 흥미가 가는 부분이었다.

과연 ORM에서 복잡한 쿼리를 어떻게 처리할지도 궁금했다.

 

그리고 이 점프 투 스프링부트3 책에서는 부트스트랩으로 UI 작업을 하고 있다.

이전에 프론트앤드 부분을 깨작였을 때는 굳이 부트스트랩을 사용하지 않고 내 손으로 직접 CSS 작업을 하는 것을 좋아했기에 다뤄본 적이 없었는데, 이번 기회에 부트스트랩도 다뤄볼 수 있을 것 같아서 설레이는 마음이랄까.

 
 
 
 
 

수업 중에 이 페이징 작업 때문에 멘붕이 좀 올 뻔 했다.

 

분명 인터넷에 찾아보면 이미 다른 분들이 정해놓은 방법이 있을 테지만, 우리 선생님은 직접 그 값을 찾아내길 원하셨기에 페이징 작업을 위해 만든 변수가 10개가 넘었고, 그 값이 정확한지 아닌지를 확인하기 위해 시간이 많이 써야 했다.

한 번이 아니라 할 때마다 다시 그 값을 구하셨다.. 허허.

스프링부트에는 회원가입과 로그인을 도와주는 스프링 시큐리티라는 것이 있다고 한다.

스프링에서 권한이 있는 아이디를 가리기 위해 등급을 정하거나 따로 처리를 하여 메뉴를 관리했는데, 이를 도와주는 기능이 있다고 하니 역시 편의성을 위해서 나온 프레임워크구나 하는 생각이 들었다.

 

우선 이 스프링부트 책에서 다루는 SBB의 기능은 여기까지이지만, 그 외에도 더 나아가서 구현할 수 있는 기능들에 대해서도 도전 과제를 내주고 있다.

학원 수업을 따라가며 공부를 하다 보면 아는 게 없다보니 복습을 하는 정도가 다이고, 그 이상의 무언가를 하기가 쉽지 않은데, 이 책은 거기에서 끝나는게 아니라 더 나아가기 위해서 어떤 것을 할 수 있는지도 알려주어 더 깊이있게 공부할 수 있게 해준다.

책을 보며 또 한 가지 좋았던 것은 AWS에 대해서도 알려주고 있다는 것이었다.

이전에 영상을 보며 AWS를 조금 해본 적이 있었는데, 기본 지식이 없이 따라했다 보니 내가 뭘 누르고 있고, 어디에 뭐가 있는지, 심지어 내가 뭘 하고 있는지도 제대로 알지 못했다.

1년은 무료라고 해서 다뤄본 거였는데, 어느순간 큰 금액은 아니지만 결제가 된다는 알림을 받고 멘붕이 온 적이 있었는데, 지금도 AWS를 잘 아는 것은 아니지만 이곳은 이용하는 서비스에 따라 금액이 추가가 되고, 무료인 1년 동안에도 유료인 서비스를 사용하게 되면 금액이 나올 수 있는 구조였던 것이다.

그래서 주변에서 종종 AWS에서 잘못해서 몇 백만원, 몇 천만원이 결제되었다는 이야기를 종종 들을 수 있었다.

그때마다 다들 하는 말은 AWS는 사용하는 것보다 삭제하는 것이 중요하다는 것이었다.

하여 나중에 배포를 하기 위해서는 제대로 공부를 해야겠다 했는데, 이 기회에 기본은 배울 수 있지 않을까 싶다.

지금 학원에서 배우고 있는 스프링 책은 버전이 맞지 않아 책만 봐서는 혼자서 프로젝트를 온전히 진행하기가 불가능하지만, 이 책은 지금을 기준으로 나와있는 책이기 때문에 버전 문제도 없이 진행을 할 수 있을 것 같아서 아주 기분이 좋은 상태이다.

책이 괜찮은지는 이미 보장이 되어 있기에 이제 차근차근 책을 따라 질문과 답변 게시판을 추가하며 스프링부트를 알아가는 것만 남았다.

이렇게 일을 열심히 해주시는 이지스 퍼블리싱에 언제나 감사할 따름이다.