From 5fcfdcc7f53b14a7e2a7bd658537546dbf811685 Mon Sep 17 00:00:00 2001
From: JUN KIM <67573836+wnsrl1228@users.noreply.github.com>
Date: Thu, 30 May 2024 21:05:23 +0900
Subject: [PATCH 01/15] Create README.md
---
README.md | 43 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..c8e1d5d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,43 @@
+
+
+## [짤 제목 바로가기](https://memetitle.com)
+
+

+
+
+

+
+
+
+
+
+
+
+
+## 기술 스택
+
+### 프론트엔드
+
+
+
+### 백엔드
+
+
+
+### 인프라
+
+
+
+
+
+## 서비스 요청 흐름도
+
+
+
+## 배포 과정
+
+
+
+## DB ERD
+
+
From 856aa8791a124f600a13485e1aa73f5ffba48ab1 Mon Sep 17 00:00:00 2001
From: JUN KIM <67573836+wnsrl1228@users.noreply.github.com>
Date: Thu, 13 Jun 2024 19:01:20 +0900
Subject: [PATCH 02/15] Update README.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
api 문서 추가
---
README.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/README.md b/README.md
index c8e1d5d..dbfc7c1 100644
--- a/README.md
+++ b/README.md
@@ -41,3 +41,5 @@
## DB ERD
+## API 문서
+
From cfd861a874fb6bcec14248eb8894adf95bcc095b Mon Sep 17 00:00:00 2001
From: wnsrl
Date: Thu, 11 Jul 2024 18:15:27 +0900
Subject: [PATCH 03/15] env: java 11 -> 17
---
build.gradle | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/build.gradle b/build.gradle
index 1bde523..bdf80db 100644
--- a/build.gradle
+++ b/build.gradle
@@ -8,7 +8,7 @@ group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
- sourceCompatibility = '11'
+ sourceCompatibility = '17'
}
configurations {
From cc28a150f8f2a65a8858a4515e7ea64db95b3854 Mon Sep 17 00:00:00 2001
From: wnsrl
Date: Thu, 11 Jul 2024 19:21:33 +0900
Subject: [PATCH 04/15] =?UTF-8?q?refactor:=20Collectors.toList()=EB=A5=BC?=
=?UTF-8?q?=20.toList()=EB=A1=9C=20=EB=B3=80=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../com/memetitle/comment/dto/response/CommentsResponse.java | 4 ++--
.../com/memetitle/member/dto/response/RankingResponse.java | 2 +-
.../java/com/memetitle/meme/dto/response/MemesResponse.java | 2 +-
.../java/com/memetitle/meme/dto/response/TitlesResponse.java | 2 +-
.../com/memetitle/meme/dto/response/TopTitlesResponse.java | 2 +-
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/memetitle/comment/dto/response/CommentsResponse.java b/src/main/java/com/memetitle/comment/dto/response/CommentsResponse.java
index c8eaac8..f4b6dc4 100644
--- a/src/main/java/com/memetitle/comment/dto/response/CommentsResponse.java
+++ b/src/main/java/com/memetitle/comment/dto/response/CommentsResponse.java
@@ -22,7 +22,7 @@ public class CommentsResponse {
public static CommentsResponse ofComments(Page comments) {
final List commentElement = comments.stream()
.map(CommentElement::of)
- .collect(Collectors.toList());
+ .toList();
return CommentsResponse.builder()
.comments(commentElement)
@@ -36,7 +36,7 @@ public static CommentsResponse ofComments(Page comments) {
public static CommentsResponse ofCommentDtos(Page comments) {
final List commentElement = comments.stream()
.map(CommentElement::of)
- .collect(Collectors.toList());
+ .toList();
return CommentsResponse.builder()
.comments(commentElement)
diff --git a/src/main/java/com/memetitle/member/dto/response/RankingResponse.java b/src/main/java/com/memetitle/member/dto/response/RankingResponse.java
index 072726c..db80d72 100644
--- a/src/main/java/com/memetitle/member/dto/response/RankingResponse.java
+++ b/src/main/java/com/memetitle/member/dto/response/RankingResponse.java
@@ -21,7 +21,7 @@ public class RankingResponse {
public static RankingResponse ofRankDto(Page rankDtos) {
final List rankingElements = rankDtos.stream()
.map(RankingElement::of)
- .collect(Collectors.toList());
+ .toList();
return RankingResponse.builder()
.ranks(rankingElements)
diff --git a/src/main/java/com/memetitle/meme/dto/response/MemesResponse.java b/src/main/java/com/memetitle/meme/dto/response/MemesResponse.java
index 22671f3..c3b8217 100644
--- a/src/main/java/com/memetitle/meme/dto/response/MemesResponse.java
+++ b/src/main/java/com/memetitle/meme/dto/response/MemesResponse.java
@@ -18,7 +18,7 @@ public class MemesResponse {
public static MemesResponse ofMemes(Slice memes) {
final List memeElements = memes.stream()
.map(MemeElement::of)
- .collect(Collectors.toList());
+ .toList();
return MemesResponse.builder()
.memes(memeElements)
diff --git a/src/main/java/com/memetitle/meme/dto/response/TitlesResponse.java b/src/main/java/com/memetitle/meme/dto/response/TitlesResponse.java
index 2a25d63..909dfa3 100644
--- a/src/main/java/com/memetitle/meme/dto/response/TitlesResponse.java
+++ b/src/main/java/com/memetitle/meme/dto/response/TitlesResponse.java
@@ -20,7 +20,7 @@ public class TitlesResponse {
public static TitlesResponse ofTitles(Slice titles) {
final List titleElements = titles.stream()
.map(TitleElement::of)
- .collect(Collectors.toList());
+ .toList();
return TitlesResponse.builder()
.titles(titleElements)
diff --git a/src/main/java/com/memetitle/meme/dto/response/TopTitlesResponse.java b/src/main/java/com/memetitle/meme/dto/response/TopTitlesResponse.java
index c5071d2..4c2cc26 100644
--- a/src/main/java/com/memetitle/meme/dto/response/TopTitlesResponse.java
+++ b/src/main/java/com/memetitle/meme/dto/response/TopTitlesResponse.java
@@ -17,7 +17,7 @@ public class TopTitlesResponse {
public static TopTitlesResponse ofTopTitles(List topTitles) {
final List titleElements = topTitles.stream()
.map(TitleElement::of)
- .collect(Collectors.toList());
+ .toList();
return TopTitlesResponse.builder()
.titles(titleElements)
From d530a4c272c25c77d2b495d7d6f4af1a2b23afa6 Mon Sep 17 00:00:00 2001
From: wnsrl
Date: Sat, 13 Jul 2024 21:13:03 +0900
Subject: [PATCH 05/15] migration: spring boot 2.7.5 -> 3.2.7, javax -> jakarta
---
build.gradle | 2 +-
.../com/memetitle/auth/AdminMemberArgumentResolver.java | 4 +---
.../java/com/memetitle/auth/AuthHandlerInterceptor.java | 4 ++--
.../com/memetitle/auth/LoginMemberArgumentResolver.java | 2 +-
.../java/com/memetitle/auth/domain/RefreshToken.java | 6 +++---
.../com/memetitle/auth/infrastructure/JwtProvider.java | 1 +
.../com/memetitle/auth/presentation/LoginController.java | 3 +--
src/main/java/com/memetitle/comment/domain/Comment.java | 2 +-
.../java/com/memetitle/comment/domain/CommentLike.java | 2 +-
.../comment/dto/request/CommentCreateRequest.java | 2 +-
.../comment/dto/request/CommentModifyRequest.java | 2 +-
.../comment/presentation/CommentController.java | 2 +-
src/main/java/com/memetitle/global/aspect/LogAspect.java | 5 +++--
.../common/interceptor/PathMatcherInterceptor.java | 4 ++--
.../global/exception/GlobalExceptionHandler.java | 9 +++++----
.../com/memetitle/global/filter/MDCLoggingFilter.java | 4 ++--
src/main/java/com/memetitle/member/domain/Member.java | 3 +--
.../member/dto/request/ProfileModifyRequest.java | 4 ++--
.../memetitle/member/presentation/MemberController.java | 2 +-
src/main/java/com/memetitle/meme/domain/Meme.java | 6 +++---
src/main/java/com/memetitle/meme/domain/Title.java | 3 +--
src/main/java/com/memetitle/meme/domain/TitleLike.java | 2 +-
src/main/java/com/memetitle/meme/domain/TopTitle.java | 2 +-
.../memetitle/meme/dto/request/TitleCreateRequest.java | 2 +-
.../com/memetitle/meme/presentation/TitleController.java | 2 +-
.../memetitle/auth/presentation/LoginControllerTest.java | 3 +--
26 files changed, 40 insertions(+), 43 deletions(-)
diff --git a/build.gradle b/build.gradle
index bdf80db..a14c4f4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,6 +1,6 @@
plugins {
id 'java'
- id 'org.springframework.boot' version '2.7.5'
+ id 'org.springframework.boot' version '3.2.7'
id 'io.spring.dependency-management' version '1.1.4'
}
diff --git a/src/main/java/com/memetitle/auth/AdminMemberArgumentResolver.java b/src/main/java/com/memetitle/auth/AdminMemberArgumentResolver.java
index af7cb82..464feda 100644
--- a/src/main/java/com/memetitle/auth/AdminMemberArgumentResolver.java
+++ b/src/main/java/com/memetitle/auth/AdminMemberArgumentResolver.java
@@ -1,10 +1,8 @@
package com.memetitle.auth;
import com.memetitle.auth.dto.AdminMember;
-import com.memetitle.auth.infrastructure.JwtProvider;
import com.memetitle.global.exception.AuthException;
import com.memetitle.global.exception.ErrorCode;
-import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.MethodParameter;
import org.springframework.web.bind.support.WebDataBinderFactory;
@@ -12,7 +10,7 @@
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
@Slf4j
public class AdminMemberArgumentResolver implements HandlerMethodArgumentResolver {
diff --git a/src/main/java/com/memetitle/auth/AuthHandlerInterceptor.java b/src/main/java/com/memetitle/auth/AuthHandlerInterceptor.java
index efb471e..d3e1c4b 100644
--- a/src/main/java/com/memetitle/auth/AuthHandlerInterceptor.java
+++ b/src/main/java/com/memetitle/auth/AuthHandlerInterceptor.java
@@ -8,8 +8,8 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.Optional;
@Slf4j
diff --git a/src/main/java/com/memetitle/auth/LoginMemberArgumentResolver.java b/src/main/java/com/memetitle/auth/LoginMemberArgumentResolver.java
index f3bf1ce..f328854 100644
--- a/src/main/java/com/memetitle/auth/LoginMemberArgumentResolver.java
+++ b/src/main/java/com/memetitle/auth/LoginMemberArgumentResolver.java
@@ -10,7 +10,7 @@
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.method.support.ModelAndViewContainer;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
@RequiredArgsConstructor
public class LoginMemberArgumentResolver implements HandlerMethodArgumentResolver {
diff --git a/src/main/java/com/memetitle/auth/domain/RefreshToken.java b/src/main/java/com/memetitle/auth/domain/RefreshToken.java
index 6d47443..e341bc8 100644
--- a/src/main/java/com/memetitle/auth/domain/RefreshToken.java
+++ b/src/main/java/com/memetitle/auth/domain/RefreshToken.java
@@ -4,9 +4,9 @@
import lombok.Getter;
import lombok.NoArgsConstructor;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
@Entity
@Getter
diff --git a/src/main/java/com/memetitle/auth/infrastructure/JwtProvider.java b/src/main/java/com/memetitle/auth/infrastructure/JwtProvider.java
index 4d75955..48bddcc 100644
--- a/src/main/java/com/memetitle/auth/infrastructure/JwtProvider.java
+++ b/src/main/java/com/memetitle/auth/infrastructure/JwtProvider.java
@@ -12,6 +12,7 @@
import org.springframework.stereotype.Component;
import javax.crypto.SecretKey;
+
import java.math.BigInteger;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
diff --git a/src/main/java/com/memetitle/auth/presentation/LoginController.java b/src/main/java/com/memetitle/auth/presentation/LoginController.java
index 36aa734..7415276 100644
--- a/src/main/java/com/memetitle/auth/presentation/LoginController.java
+++ b/src/main/java/com/memetitle/auth/presentation/LoginController.java
@@ -6,11 +6,10 @@
import com.memetitle.auth.dto.response.TokenResponse;
import com.memetitle.auth.service.LoginService;
import lombok.RequiredArgsConstructor;
-import lombok.extern.java.Log;
import org.springframework.http.*;
import org.springframework.web.bind.annotation.*;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponse;
import static org.springframework.http.HttpHeaders.SET_COOKIE;
diff --git a/src/main/java/com/memetitle/comment/domain/Comment.java b/src/main/java/com/memetitle/comment/domain/Comment.java
index 88beb50..c198a0f 100644
--- a/src/main/java/com/memetitle/comment/domain/Comment.java
+++ b/src/main/java/com/memetitle/comment/domain/Comment.java
@@ -11,7 +11,7 @@
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
-import javax.persistence.*;
+import jakarta.persistence.*;
import java.time.LocalDateTime;
@Entity
diff --git a/src/main/java/com/memetitle/comment/domain/CommentLike.java b/src/main/java/com/memetitle/comment/domain/CommentLike.java
index dbe36c8..36a35a6 100644
--- a/src/main/java/com/memetitle/comment/domain/CommentLike.java
+++ b/src/main/java/com/memetitle/comment/domain/CommentLike.java
@@ -7,7 +7,7 @@
import org.hibernate.annotations.OnDelete;
import org.hibernate.annotations.OnDeleteAction;
-import javax.persistence.*;
+import jakarta.persistence.*;
@Entity
@Getter
diff --git a/src/main/java/com/memetitle/comment/dto/request/CommentCreateRequest.java b/src/main/java/com/memetitle/comment/dto/request/CommentCreateRequest.java
index 0abfd73..cbcf280 100644
--- a/src/main/java/com/memetitle/comment/dto/request/CommentCreateRequest.java
+++ b/src/main/java/com/memetitle/comment/dto/request/CommentCreateRequest.java
@@ -3,7 +3,7 @@
import lombok.Getter;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
@NoArgsConstructor()
@Getter
diff --git a/src/main/java/com/memetitle/comment/dto/request/CommentModifyRequest.java b/src/main/java/com/memetitle/comment/dto/request/CommentModifyRequest.java
index c8fcfc2..8bafc22 100644
--- a/src/main/java/com/memetitle/comment/dto/request/CommentModifyRequest.java
+++ b/src/main/java/com/memetitle/comment/dto/request/CommentModifyRequest.java
@@ -3,7 +3,7 @@
import lombok.Getter;
import lombok.NoArgsConstructor;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
@NoArgsConstructor()
@Getter
diff --git a/src/main/java/com/memetitle/comment/presentation/CommentController.java b/src/main/java/com/memetitle/comment/presentation/CommentController.java
index b9fedee..5e5a7b3 100644
--- a/src/main/java/com/memetitle/comment/presentation/CommentController.java
+++ b/src/main/java/com/memetitle/comment/presentation/CommentController.java
@@ -12,7 +12,7 @@
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.net.URI;
import static org.springframework.data.domain.Sort.Direction.DESC;
diff --git a/src/main/java/com/memetitle/global/aspect/LogAspect.java b/src/main/java/com/memetitle/global/aspect/LogAspect.java
index c272e82..5b879d0 100644
--- a/src/main/java/com/memetitle/global/aspect/LogAspect.java
+++ b/src/main/java/com/memetitle/global/aspect/LogAspect.java
@@ -3,12 +3,13 @@
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.*;
import org.springframework.http.HttpStatus;
+import org.springframework.http.HttpStatusCode;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
@Aspect
@Slf4j
@@ -23,7 +24,7 @@ public void controller() {
public void afterReturning(ResponseEntity> responseEntity) {
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
if (request != null) {
- HttpStatus statusCode = responseEntity.getStatusCode();
+ HttpStatusCode statusCode = responseEntity.getStatusCode();
if (statusCode != null) {
log.info("[Response sent: {} {} {}]", request.getMethod(), request.getRequestURI(), statusCode);
} else {
diff --git a/src/main/java/com/memetitle/global/common/interceptor/PathMatcherInterceptor.java b/src/main/java/com/memetitle/global/common/interceptor/PathMatcherInterceptor.java
index 8129be6..9645f49 100644
--- a/src/main/java/com/memetitle/global/common/interceptor/PathMatcherInterceptor.java
+++ b/src/main/java/com/memetitle/global/common/interceptor/PathMatcherInterceptor.java
@@ -2,8 +2,8 @@
import org.springframework.web.servlet.HandlerInterceptor;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
public class PathMatcherInterceptor implements HandlerInterceptor {
private final HandlerInterceptor handlerInterceptor;
diff --git a/src/main/java/com/memetitle/global/exception/GlobalExceptionHandler.java b/src/main/java/com/memetitle/global/exception/GlobalExceptionHandler.java
index c905c0d..16fdd91 100644
--- a/src/main/java/com/memetitle/global/exception/GlobalExceptionHandler.java
+++ b/src/main/java/com/memetitle/global/exception/GlobalExceptionHandler.java
@@ -2,7 +2,7 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
+import org.springframework.http.HttpStatusCode;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
@@ -27,7 +27,7 @@ public class GlobalExceptionHandler extends ResponseEntityExceptionHandler {
protected ResponseEntity