TDD 연습용 게시판
- Java11
- Spring Boot
- Spring Security
- MyBatis
- MySQL
- 아이디(이메일) 로그인
- 카카오 로그인
- 비밀번호 찾기
- 글 목록
- 제목, 내용으로 검색 기능
- 글 작성 버튼
- 제목, 내용, 작성자, 작성일, 카테고리 표시
- 댓글 작성란 (작성자, 내용, 비밀글 여부)
- 답글 작성 버튼
- 수정 버튼
- 삭제 버튼
- 제목, 내용, 카테고리, 비밀글 여부 작성
- 제목, 내용, 카테고리, 비밀글 여부 수정
테스트 주도 개발은 소프트웨어 개발 방법론 중 하나이다. 개발을 하고 테스트를 통해서 기능 테스트를 하는 것이 아닌 테스트 코드를 먼저 작성하고 이에 맞춰서 기능을 개발해나가는 방식이다.
Spring Security는 애플리케이션의 인증과 인가를 처리를 담당하는 스프링의 하위 프레임워크이다. Filter를 기반으로 동작한다.
- 인증 : 사용자의 신원을 파악하는 절차이다.
- 인가 : 사용자가 리소스에 접근할 권한이 있는지 확인하는 절차이다.
JWT는 JSON 포맷을 기반으로 사용자의 정보를 저장하는 웹 토큰이다. Header, Payload, Signature로 구성되어 있다.
- Header : 토큰의 타입과 사용된 알고리즘 등에 관한 정보를 저장하는 부분이다.
- Payload : 인증을 위한 사용자의 정보를 저장하는 부분이다.
- Signature : 토큰의 유효성을 확인하기 위한 정보를 저장하는 부분이다.