11월도 행운의 달인가!
역시 좋은 서적을 포스팅 할 수 있게 해주신 한빛미디어 관계자분께
깊은 감사의 인사를 드리며 이번달도 파이팅있는 포스팅을 시작하겠다.
이번에 리뷰할 서적은 '처음 배우는 스프링 부트 2'다.
커뮤니티 게시판을 구현하며 배우는
입문부터 보안까지
이 책의 저자분께선 줌 인터넷에서 스프링 부트로 개발/운영하며 쌓은 노하우를 통해 스프링 부트 관련 내용을 공유하고 책을 쓰게 되었다고 한다. 현재는 라인플러스에서 빌링 시스템을 개발하고 있다고 나와있다.
저자분의 공식 블로그는 : http://haviyj.tistory.com/ 이므로 궁금한 분들은 접속 바란다!
Duck Programming
프로그래밍을 잘하고 싶어서 만든 블로그
haviyj.tistory.com
필자 역시 저자 분 블로그에 다녀와서 리뷰를 적는 것이다. 읽을 거리가 많다 꼭 가보길 바란다!
이 서적은 스프링 프레임워크에 대한 이해가 있으면 학습하는데 도움이 많이 될 것이다. 그러나 없어도 공부할 수 있도록 가능한 한 쉽게 설명했고 따라하며 공부할 수 있도록 예제코드와 그림도 넣어두었다고 한다.
아! 자바는 할 줄 알아야 이 서적이 이해가 될 것이다.
DAY 1
스프링부트 입문, 환경설정
스프링 부트 세계에 오신 여러분을 환영합니다.
스프링 부트 소개
DAY 2
테스트, 커뮤니티 게시판 구현
스프링 부트 웹을 구현하는 방법은 매우 다양하다.
놀라운 스프링 부트
2일차부터 재미있는 녀석들이 나오기 시작한다니! 스프링 부트에서는 기본적인 테스트 스타터를 제공한다고 나와있다. 테스트 라이브러리가 잔뜩 뭉쳐있다니 환영이다. 뭐 이렇게 테스트 라이브러리가 많은지 놀랐다. 몇 가지 테스트 어노테이션을 살펴보다보니 어느덧 3장도 끝나 있었다. 이제 재미있는 프로젝트다.
챕터 4에서는 커뮤니티 게시판 설계, 프로젝트 준비, 구현까지 많은 내용이 담겨있다.
전형적인 MVC 패턴으로 설계하기 때문에 큰 어려움 없이 진행이 가능하였다.
구현이 조금 어려웠는데, 게시판 구현 순서부터 앱 개발과는 다른 무언가.. 모르는 용어가 잔뜩 나오기 때문에 긴장하며 진행하였다.
스프링을 조금 공부한 적이 있었는데도 이렇게 빨리 까먹다니!
서적에서 게시판 구현 순서를 프로젝트 의존성 구성부터 작성 폼 만들기까지 총 9단계로 진행하였다. 가장 중요한 챕터이자 기본기를 익히기에 너무 좋은 챕터라고 생각했다. 페이징 처리나, 라이브러리 추가, DB넣기, 리스트 기능 등 필수로 알아야 될 지식이 잔뜩 들어있다. 어서 구현해보길 바란다!
DAY 3
스프링 부트 시큐리티 + OAuth2
인증과 권한에 관련된 강력한 기능인 스프링 부트 시큐리티 제공!
래핑 프레임워크
스프링 부트 시큐리티는 스프링 시큐리티의 번거로운 설정을 간소화시켜주는 래핑 프레임워크라고 나와있다. 스프링 시큐리티는 십여년간 보안 노하우를 쌓아 와서 기본적인 틀 안에서 원하대롤 인증, 권한 처리를 편리하게 관리할 수 있다. 훌륭하다! 특히 보안에 대해 민감한 필자로서는 이런 편한 프레임워크는 매우 환영이다.
OAuth2는 많이 알고 계실 것이다.
토근을 사용한 범용적인 방법의 인증을 제공하는 표준 인증 프로토콜이며, OAuth 프로토콜의 버전2다.
이 프로토콜은 서드파티를 위한 범용적인 인증 표준이라고 나와있다.
자! 이제 이 두 친구를 가지고 설계부터 의존성 설정, 구현, 설정까지 총 4단계를 거쳐 프로젝트를 진행 할 것이다.
핵심 코드에 대한 자세한 설명과 프로세스가 매우 자세하게 서적에 나와 있으므로 그냥 보고 따라해도 완성할 수 있을 정도다.
부분 부분 코드 추가와 이유 로직 구현까지 너무 자세하기 때문에 초보자도 쉽게 해볼 수 있다.
DAY 4
REST!
REST, RESTful
REST에 대한 개념을 익혀보자!
6장은 가장 헬이라고 생각했던 챕터 중 하나다. 그만큼 중요한 내용과 필수적으로 알아야 할 지식이 있는 곳이다.
자! 집중하고 REST를 만나러 가볼까.
DAY 5
스프링 부트 배치
만들었으면 운영해보자.
배치(batch)?
여기서 말하는 배치는 무슨 물건을 배치할 때 사용하는 그 단어가 아니다.
컴퓨터 용어에서 '배치'라는 단어는 서적에도 나와있지만 '프로그램의 흐름에 따라 순차적으로 자료를 처리한다'는 뜻이다.
우리가 기초 자격증 공부할 때 많이 보던 '일괄 처리'와 같은 말이다.
배치 처리에 스프링 부트 배치를 사용해보자!
현재 스프링 부트 배치 2.0은 스프링 배치 4.0을 기반으로 한다.
버전이 높을수록 자바 상위 버전과 호환이 좋다는 뜻과 같다. 즉, 람다식 등을 지원해 한층 더 편리한 개발을 지원한다.
일단, 스프링 부트 배치를 이해하고 사용하는 것이 순서일 듯 하다.
배치의 일반적인 시나리오는 순서대로 읽기 -> 처리 -> 쓰기로 되어 있다. 그리고 이러한 배치 처리 흐름에 대하여 관련된 객체의 관계를 사진으로 보여주는데, 반드시 이해가 필요하다.
물론 이해를 한다고 다 되는 것은 아니다. 스프링 부트 휴면회원 배치 설계시 어떤식으로 적용되는지 직접 작성해 보자.
스프링 부트 배치를 설정하고, 휴면회원 배치를 구현하며 테스트 코드도 생성해야한다. 또한 휴면회원 배치 정보도 설정하는 파트도 있다. 많이 신기함을 느꼈던 파트 중 하나다.
여기까지 이해가 다 되었으면 심화학습을 반드시 돌려보자.
정말 잘 빠진 서적이라고 느낀 챕터다.
DAY 6, 7
코드 다이어트를 위한 롬복 프로젝트
많이 듣던 친구가 나왔다.
프로젝트
롬복 라이브러리는 자바를 사용했던 분들이면 한번쯤은 들어본 라이브러리일 것이다.
필자도 그렇다. 그래서 플러그인을 설치하고 의존성 설정 후 몇가지 사용해봤는데, 학부생 때 하던 자바 프로젝트가 어렴풋이 기억이 났다.
뒤어어 구성되어있는 devtools나 스프링 부트 빌드와 배포 부분은 서적을 구매하여 보길 권한다.
재미있었던 것은 앞서 배웠던 OAuth2을 이용하여 각종 sns 개발자 센터에 연동하는 방법을 설명하는 챕터가 있었다는 점이다.
생각보다 되게 단순하여 놀랐다. 그리고 큰 어려움없이 진행이 가능하였다.
2018년에는 좋은 서적만 당첨됐다.
모바일 개발이 재미있어 모바일 위주로 개발을 배우고 삽질하고 했지만, 웹도 기회가 되면 반드시 배워보리라 속으로 다짐했던 것이 이렇게 서적으로 기회를 잡을 수 있게 되었다. 그리고 스프링 여정만 벌써 2번째다. 이제 어느정도 단어도 눈에 익히게 되었고
조금은.. 정말 조금은 스프링 프레임워크에 대한 이해도 생겼다. 아이고 어려버라~~ㅠㅠ
그래도 참 매력있는 분야고 재미있다.
스프링 부트를 배우려는 모든 초급자 분들께 추천하는 서적이다 별표 5개 쾅쾅!
★★★★★
리뷰를 마치며!
저자 : 김영재 | 출판 : 한빛미디어
"<처음 배우는 스프링 부트 2>의 자세한 내용은 한빛미디어 홈페이지에서 확인 하실 수 있습니다."