Backend
Algorithm
Project
ETC
codesche’s blog
/
Project
/
miniblog
/
miniblog
Backend
Algorithm
Project
ETC
codesche’s blog
/
Project
/
miniblog
/
miniblog
Share
Backend
Algorithm
Project
ETC
miniblog
miniblog
Search
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
OAuth 인증 적용 위한 테스트 코드 작성
•
테스트코드 수정 - 굵은 글씨로 표시한 부분 참고
핵심 요약
18일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
스프링 시큐리티로 OAuth2를 구현하고 적용하기
•
스프링 시큐리티를 사용하여 OAuth2 구현 시작
•
가장 먼저 쿠키 관리 클래스를 구현하고, OAuth2에서 제공받은 인증 객체로 사용자 정보를 가져오는 역할을 하는 서비스를 구현하기
•
기존 ‘시큐리티 설정하기’ 에서 구현했던 WebSecurityConfig 클래스 대신 사용할 OAuth2 설정 파일을 구현하기
•
마지막에는 직접 테스트할 수 있도록 뷰를 구성
17일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
토큰 발급받기
•
구글 클라우드 콘솔에 접속하여 구글 클라우드 사용 동의 절차를 진행한 이후에 새 프로젝트 생성하기
•
프로젝트 이름 지은 다음에 만들기 버튼 클릭
16일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
OAuth란?
OAuth는 제3의 서비스에 계정 관리를 맡기는 방식이다. 흔히 볼 수 있는 네이버로 로그인하기, 구글로 로그인하기 같은 것이다.
•
리소스 오너(resource owner)
•
리소스 서버(resource server)
15일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
JWT 서비스 구현 - 테스트 코드
•
테스트 코드 작성
14일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
JWT 서비스 구현
•
의존성 추가
13일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
회원가입, 로그인 뷰 작성하기
•
뷰 컨트롤러 구현
12일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
회원가입 구현하기
•
사용자 정보 담고 있는 객체 작성
•
AddUserRequest 객체를 인수로 받는 회원 정보 추가 메서드 작성 - 서비스
11일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
시큐리티 설정하기
•
requestMathcers(): 특정 요청과 일치하는 url에 대한 액세스를 설정한다.
•
permitAll(): 누구나 접근이 가능하게 설정한다.
•
anyRequest(): 위에서 설정한 url 이외의 요청에 대해 설정한다.
•
loginPage(): 로그인 페이지 경로 설정한다.
10일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
회원 도메인 만들기
•
의존성 추가하기
9일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
생성 기능 마무리
•
article.js 에 코드 작성
•
article.js 파일을 열어 [등록] 버튼을 누르면 입력 칸에 있는 데이터를 가져와 게시글 생성 API에 글 생성 관련 요청을 보내준다.
•
id가 create-btn인 엘리먼트를 찾아 그 엘리먼트에서 클릭 이벤트 발생 시 id가 title, content인 엘리먼트의 값을 가져와 fetch() 메서드를 통해 생성 API로 /api/articles/ POST 요청을 보낸다.
8일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
트러블슈팅
•
스프링 부트 3.2 버전 매개변수 이름 인식 문제
•
에러 해결 후 정상적으로 글 상세 화면이 잘 나오는 것을 확인할 수 있다.
7일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
블로그 글 목록 뷰 구현
•
요청을 받아 사용자에게 뷰를 보여주려면 뷰 컨트롤러가 필요함
•
뷰 컨트롤러 메서드는 뷰의 이름을 반환하고, 모델 객체에 값을 담음
•
뷰에 전달하기 위한 객체 생성
6일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
타임리프
•
뷰 작성 - example.html
5일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
타임리프
•
타임리프는 템플릿 엔진이다.
•
문법
4일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
블로그 글 삭제 API 구현
•
BlogService.java
3일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
블로그의 모든 글 조회하는 API 구현
•
BlogService.java
응답을 위한 DTO 생성
2일차
본 프로젝트는 “스프링부트 3 백엔드 개발자 되기” 서적을 참고하여 진행하였음
엔티티 구성
리포지토리 만들기
1일차