Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5기 이세희, 이중원] Spring Boot JPA 게시판 구현 미션 제출합니다. #274

Open
wants to merge 106 commits into
base: 세희,중원mission
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 80 commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
8f4025a
#1 init: project
shoeone96 Nov 16, 2023
441bfe9
테스트입니다.
Sehee-Lee-01 Nov 16, 2023
a78f785
Merge branch 'main' of https://github.com/spring-comes-to-us/springbo…
shoeone96 Nov 16, 2023
34f4b79
테스트2입니다.
Sehee-Lee-01 Nov 16, 2023
a1738dd
테스트2입니다.
Sehee-Lee-01 Nov 16, 2023
a99ef1b
Merge branch 'main' of https://github.com/spring-comes-to-us/springbo…
shoeone96 Nov 16, 2023
83d5714
#2 feat: 엔티티 생성
Sehee-Lee-01 Nov 16, 2023
4e759bd
Delete build directory
Sehee-Lee-01 Nov 16, 2023
5ea2032
Delete .gradle directory
Sehee-Lee-01 Nov 16, 2023
b9daf38
Delete .idea directory
Sehee-Lee-01 Nov 16, 2023
6c006f5
Delete .DS_Store
Sehee-Lee-01 Nov 16, 2023
e2d0a4d
chore: .gitignore에 .idea/ 추가
Sehee-Lee-01 Nov 16, 2023
ff82c0c
chore: db 생성 시 default 유저 넣는 sql 작성
shoeone96 Nov 16, 2023
f31e85e
#3 feat: 반환 객체 통일하기 위한 Response class 생성
shoeone96 Nov 16, 2023
b709faa
#3 feat: 로직 상 예외를 발생시키기 위한 Custom Exception class 생성
shoeone96 Nov 16, 2023
6082617
#3 feat: 전역 예외처리를 위한 Exception Handler 세팅
shoeone96 Nov 16, 2023
ee63df4
refactor: exception 관련 내용 board 패키지로 이동
Sehee-Lee-01 Nov 16, 2023
a5c243a
chore: application.yaml 데이터 소스, jpa 설정
Sehee-Lee-01 Nov 16, 2023
3482633
#4 feat: PostDto 구현
Sehee-Lee-01 Nov 16, 2023
50f6f71
#4 feat: PostDto 컨버터 구현
Sehee-Lee-01 Nov 16, 2023
8794784
feat: 유저가 없을 때 에러 메시지 정의
Sehee-Lee-01 Nov 16, 2023
14621ee
fix: Response @Getter 설정
Sehee-Lee-01 Nov 16, 2023
3b62670
#4 feat: UserRepository 구현
Sehee-Lee-01 Nov 16, 2023
e0252e3
#4 feat: PostRepository 구현 및 PostService/PostController save 기능 구현
Sehee-Lee-01 Nov 16, 2023
a67657a
Auto stash before merge of "main" and "origin/main"
shoeone96 Nov 16, 2023
ff34236
conflict: 버전 충돌 ErrorMessage
shoeone96 Nov 16, 2023
0887c1a
chore: test 환경 분리
shoeone96 Nov 16, 2023
4ea0c15
#4 test: 정상적으로 글이 들어오는 컨트롤러 테스트
shoeone96 Nov 16, 2023
a6570dd
#4 test: 정상적으로 글이 들어오는 서비스 테스트
shoeone96 Nov 16, 2023
77a14e2
chore: test table 작성 및 검증 의존성 추가
shoeone96 Nov 16, 2023
052285e
#4 글 작성 시 발생할 수 있는 validation 항목 추가
shoeone96 Nov 16, 2023
6701616
#4 feat: binding result에 따른 검증 로직 컨트롤러에 추가
shoeone96 Nov 16, 2023
c28676a
chore: 에러 발생 시 로그 남기는 로직 추가
shoeone96 Nov 16, 2023
60a0c97
chore: Exception 멤버 변수들 final 로 선언
shoeone96 Nov 16, 2023
ac06b82
#4 feat: binding result 관련 에러 사항 추가
shoeone96 Nov 16, 2023
973c558
#5 feat: Post 조회용 dto 구현
Sehee-Lee-01 Nov 17, 2023
68f1e21
#5 feat: Post 페이지 조회 서비스 구현
Sehee-Lee-01 Nov 17, 2023
e3603d7
#5 feat: Post 페이지 조회 api 구현
Sehee-Lee-01 Nov 17, 2023
347ff16
#9 refactor: Post 페이지 조회 기능 N+1 문제 해결
Sehee-Lee-01 Nov 17, 2023
c815867
#6 feat: 게시글 단건 조회 api 작성
shoeone96 Nov 18, 2023
17566f3
#6 feat: 단건 조회 시 반환할 dto 작성
shoeone96 Nov 18, 2023
8036d3b
#6 feat: 게시글 단건 조회를 위한 서비스 로직 작성
shoeone96 Nov 18, 2023
a7a7eca
#6 feat: 단건 조회 시 게시글이 존재하지 않는 경우의 예외 메시지 추가
shoeone96 Nov 18, 2023
eac94d7
#6 feat: 단건 조회 시 반환하는 데이터 정보 record dto 작성
shoeone96 Nov 18, 2023
7d4dfa2
#6 refactor: 단건 조회 시 user 정보 가져올 때 쿼리가 두 번 나가는 문제 EntityGraph로 해결
shoeone96 Nov 18, 2023
d44f3e6
#7 feat: 게시글 수정 dto 구현
Sehee-Lee-01 Nov 18, 2023
a9391aa
#6 refactor: 게시글 단건 조회 dto에 userId 추가
Sehee-Lee-01 Nov 18, 2023
2a64530
#6 feat: 게시글 수정 시 작성자 불일치 예외 메시지 구현
Sehee-Lee-01 Nov 18, 2023
95b9732
#6 feat: 게시글 엔티티에 수정 메서드 구현
Sehee-Lee-01 Nov 18, 2023
8a6378a
#6 refactor: 유저 엔티티에 EqualsAndHashCode 추가
Sehee-Lee-01 Nov 18, 2023
ba4f41a
#6 feat: 게시글 수정 api 구현
Sehee-Lee-01 Nov 18, 2023
ae5fa99
#6 feat: 게시글 수정 서비스 로직 구현
Sehee-Lee-01 Nov 18, 2023
108c70f
#10 refactor: ResponseEntity를 사용해 status를 추가하는 방법으로 해결
shoeone96 Nov 21, 2023
9a12053
#8 chore: rest-docs 이용을 위한 의존성 및 build 세팅
shoeone96 Nov 21, 2023
d2692bf
#8 chore: rest-docs html 파일 변환을 위한 adoc 파일 생성
shoeone96 Nov 21, 2023
2fa505e
#8 test: rest-docs 생성 및 각 controller 정상 구동 api 테스트 작성
shoeone96 Nov 21, 2023
49a4958
#8 refactor: rest-docs 생성 중 coding convention field 명 camel case 미실시 수정
shoeone96 Nov 21, 2023
46557fc
chore: 통일 안된 Entity 및 Dto 에서의 ID 변수 타입 통일 필요
shoeone96 Nov 21, 2023
1f061a9
#11 feat: Post 생성 유효성 검사 로직 구현
Sehee-Lee-01 Nov 22, 2023
13ad54e
#11 feat: PostDto(생성) 유효성 검사 로직 구현
Sehee-Lee-01 Nov 22, 2023
2ca6a2c
#11 feat: PostUpdateDto(수정) 유효성 검사 로직 구현
Sehee-Lee-01 Nov 22, 2023
bd83f36
#11 feat: PostDetailResponseDto 유효성 검사 로직 구현
Sehee-Lee-01 Nov 22, 2023
e962e44
#11 feat: PostResponseDto 유효성 검사 로직 구현
Sehee-Lee-01 Nov 22, 2023
157dc09
#11 refactor: binding result error 검사 메서드 분리
Sehee-Lee-01 Nov 22, 2023
7b69b9d
#11 refactor: BindingException getMessage 구현
Sehee-Lee-01 Nov 22, 2023
66ec769
#11 feat: 유효성 검사 관련 ErrorMessage 추가
Sehee-Lee-01 Nov 22, 2023
f75c0f9
#11 feat: BindingException 핸들러 추가
Sehee-Lee-01 Nov 22, 2023
13ff128
#11 refactor: long을 wapper 클래스(Long)로 변경
Sehee-Lee-01 Nov 22, 2023
69acf0a
chore: 프로젝트 정리(사용하지 않는 import,등 제거
shoeone96 Nov 22, 2023
26ebf0d
refactor: BindingResult 추가하여 binding 실패 시 예외 발생시키는 로직 update api에 추가
shoeone96 Nov 22, 2023
2510704
#13 test: api controller 전체 테스트 및 edge case 테스트
shoeone96 Nov 22, 2023
1ba412c
#13 refactor: Post 업데이트할 때 유효성 검사 로직 추가
Sehee-Lee-01 Nov 23, 2023
f59424a
#13 test: PostService 레이어 CRUD 테스트 구현
Sehee-Lee-01 Nov 23, 2023
d3eda17
#13 refactor: PostControllerTest 클래스에 @Transactional 적용
Sehee-Lee-01 Nov 23, 2023
34eef46
refactor: parameterIzedTest 테스트 표기 명 생성
shoeone96 Nov 24, 2023
c42fa94
refactor: parameterIzedTest 테스트 표기 명 생성
shoeone96 Nov 24, 2023
05826c7
#13 test: 도메인 테스트 케이스 작성
shoeone96 Nov 24, 2023
661ba81
refactor: 메서드명 구체적으로 변경
Sehee-Lee-01 Nov 24, 2023
478bca4
refactor: 불필요한 예외 핸들러 삭제
Sehee-Lee-01 Nov 24, 2023
88523f3
refactor: BindingException 처리 로직 Validation 안으로 처리하도록 수정
Sehee-Lee-01 Nov 24, 2023
e8e7829
Update build.gradle
Sehee-Lee-01 Dec 1, 2023
3ff9bc5
refactor: 스키마 생성과 데이터 삽입 sql 분리 설정
Sehee-Lee-01 Dec 1, 2023
61d22fc
refactor: .gitignore에 HELP.md 포함하도록 설정
Sehee-Lee-01 Dec 1, 2023
6fa10aa
refactor: lombok testImplementation 의존성 삭제
Sehee-Lee-01 Dec 1, 2023
1095fbd
docs: README.md 불필요한 문구 삭제
Sehee-Lee-01 Dec 1, 2023
8c9b2f1
Merge branch 'main' of https://github.com/spring-comes-to-us/springbo…
Sehee-Lee-01 Dec 1, 2023
1470348
refactor: Post 생성 후 status 201 반환하도록 ResponseEntity 적용
Sehee-Lee-01 Dec 1, 2023
e70a179
refactor: PostDto를 PostCreateDto로 이름 변경
Sehee-Lee-01 Dec 1, 2023
2c112ec
Update src/main/java/com/example/board/dto/PostResponseDto.java
Sehee-Lee-01 Dec 1, 2023
cc326c9
Update src/main/java/com/example/board/exception/BaseException.java
Sehee-Lee-01 Dec 1, 2023
3cf530f
Update src/test/java/com/example/board/controller/PostControllerTest.…
Sehee-Lee-01 Dec 1, 2023
0a1d87d
refactor: Response.java 를 record 로 변경
shoeone96 Dec 1, 2023
ac3890a
Update src/main/java/com/example/board/service/PostService.java
shoeone96 Dec 1, 2023
85f75ee
refactor: Util 클래스 생성자 제한
shoeone96 Dec 1, 2023
1ad12bc
Update src/test/java/com/example/board/model/PostTest.java
shoeone96 Dec 1, 2023
943f484
refactor: test 개행 refactor
shoeone96 Dec 1, 2023
caf0ca2
Merge branch 'main' of https://github.com/spring-comes-to-us/springbo…
shoeone96 Dec 1, 2023
7a0f39b
refactor: GlobalExceptionHandler 개행 수정
Sehee-Lee-01 Dec 1, 2023
95be154
refactor: User 엔티티 EqualsAndHashCode callSuper=true로 설정
Sehee-Lee-01 Dec 1, 2023
3ec250a
#16 chore:docker redis 세팅
shoeone96 Dec 2, 2023
b49186f
#16 chore: Redis Template 설정
shoeone96 Dec 2, 2023
dff1bc6
#16 feat: PostCounter 작성
shoeone96 Dec 2, 2023
6c1dcdc
#16 feat: Redis를 이용한 PostCountRepository 작성
shoeone96 Dec 2, 2023
5e95e7d
#16 feat: 유저가 글 작성 시 Redis에 값 업데이트할 Service로직 작성
shoeone96 Dec 2, 2023
6eaf5b2
#16 feat: 글 작성 로직에서 상황 별 글 작성 제한 로직에 따라 발생할 Exception 추가
shoeone96 Dec 2, 2023
5c2b46a
#16 refactor: post 작성 메서드에 user별 post count를 체크할 redis 로직 추가
shoeone96 Dec 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
225 changes: 225 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
# Created by https://www.toptal.com/developers/gitignore/api/gradle,java,macos,windows,visualstudiocode,intellij+all
# Edit at https://www.toptal.com/developers/gitignore?templates=gradle,java,macos,windows,visualstudiocode,intellij+all

### Intellij+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf

# AWS User-specific
.idea/**/aws.xml

# Generated files
.idea/**/contentModel.xml

# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml

# Gradle
.idea/**/gradle.xml
.idea/**/libraries

# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
.idea/artifacts
.idea/compiler.xml
.idea/jarRepositories.xml
.idea/modules.xml
.idea/*.iml
.idea/modules
*.iml
*.ipr

# CMake
cmake-build-*/

# Mongo Explorer plugin
.idea/**/mongoSettings.xml

# File-based project format
*.iws

# IntelliJ
out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Cursive Clojure plugin
.idea/replstate.xml

# SonarLint plugin
.idea/sonarlint/

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

# Editor-based Rest Client
.idea/httpRequests

# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser

### Intellij+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.

.idea/*

!.idea/codeStyles
!.idea/runConfigurations

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*

### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon


# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

### macOS Patch ###
# iCloud generated files
*.icloud

### VisualStudioCode ###
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

vscode로 작업하실 일이 있으셨나요? 아니면 vscode가 필요한 경우가 예상되셨던 건가요? 궁금해서 여쭤봅니다!!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

당시에는 혹시 몰라서 넣긴 했는데 현 과제에서는 모두 인텔리제이만 사용해서 제외해도 상관없을 것 같긴합니다!

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

음 관습적으로 visual studio code를 넣다보니 들어간 것 같습니다. 이전에 파이썬 코드를 넣을 일이 있어 들어간 적도 있고 react를 같이 쓰는 프로젝트도 있고 그렇지만 이 코드에서는 필요 없는 것 같습니다.

.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix

### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide

### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db

# Dump file
*.stackdump

# Folder config file
[Dd]esktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp

# Windows shortcuts
*.lnk

### Gradle ###
.gradle
**/build/
!src/**/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties

# Cache of project
.gradletasknamecache

# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath

### Gradle Patch ###
# Java heap dump
*.hprof

# End of https://www.toptal.com/developers/gitignore/api/gradle,java,macos,windows,visualstudiocode,intellij+all

.idea/
28 changes: 28 additions & 0 deletions HELP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Getting Started
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HELP.md는 gitignore에 추가하셔도 될 것 같다 생각합니다!


### Reference Documentation

For further reference, please consider the following sections:

* [Official Gradle documentation](https://docs.gradle.org)
* [Spring Boot Gradle Plugin Reference Guide](https://docs.spring.io/spring-boot/docs/3.1.5/gradle-plugin/reference/html/)
* [Create an OCI image](https://docs.spring.io/spring-boot/docs/3.1.5/gradle-plugin/reference/html/#build-image)
* [Spring Web](https://docs.spring.io/spring-boot/docs/3.1.5/reference/htmlsingle/index.html#web)
* [Spring Data JPA](https://docs.spring.io/spring-boot/docs/3.1.5/reference/htmlsingle/index.html#data.sql.jpa-and-spring-data)

### Guides

The following guides illustrate how to use some features concretely:

* [Building a RESTful Web Service](https://spring.io/guides/gs/rest-service/)
* [Serving Web Content with Spring MVC](https://spring.io/guides/gs/serving-web-content/)
* [Building REST services with Spring](https://spring.io/guides/tutorials/rest/)
* [Accessing data with MySQL](https://spring.io/guides/gs/accessing-data-mysql/)
* [Accessing Data with JPA](https://spring.io/guides/gs/accessing-data-jpa/)

### Additional Links

These additional references should also help you:

* [Gradle Build Scans – insights for your project's build](https://scans.gradle.com#gradle)

2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ Spring Boot JPA - Rest API를 강의를 듣고, 게시판 구현 미션을 수
1. 여러분 repo는 알아서 해주시고 😀(본인 레포니 main으로 하셔두 되져)
2. prgrms-be-devcourse/spring-board 레포로 PR시 branch는 본인 username을 적어주세요 :)
base repo : `여기repo` base : `username` ← head repo : `여러분repo` compare : `main`

- 테스트3
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이건 어떤 의미인가요??

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

앗 저번에 그 git push 권한 문제 때문에 테스트 한 것을 지우는 것을 깜빡했던 것 같습니다...!

61 changes: 61 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
plugins {
id 'java'
id 'org.springframework.boot' version '3.1.5'
id 'io.spring.dependency-management' version '1.1.3'
id "org.asciidoctor.jvm.convert" version "3.3.2"
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'

java {
sourceCompatibility = '17'
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
asciidoctorExt

Sehee-Lee-01 marked this conversation as resolved.
Show resolved Hide resolved
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.projectlombok:lombok'
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

테스트에 롬복이 필요한 경우가 없는 것 같은데 불필요한 디펜덴시인 것 같습니다! Slf4j를 사용하시고 지우시는 걸 깜빡하신 걸까요??

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

매의 눈이시군요,,, 감사합니다!!👍

testImplementation 'org.springframework.boot:spring-boot-starter-test'
implementation 'org.springframework.boot:spring-boot-starter-validation'

// ascii-docs
asciidoctorExt 'org.springframework.restdocs:spring-restdocs-asciidoctor'
testImplementation 'org.springframework.restdocs:spring-restdocs-mockmvc'

}

ext {
snippetsDir = file('build/generated-snippets')
asciidocDir = file('src/docs/asciidoc')
}

tasks.named('bootBuildImage') {
builder = 'paketobuildpacks/builder-jammy-base:latest'
}

tasks.named('test') {
useJUnitPlatform()
}

asciidoctor {
inputs.dir snippetsDir
configurations 'asciidoctorExt'
dependsOn test
outputs.dir asciidocDir // 추가된 부분
}
17 changes: 17 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: "3.8"

services:
mysql:
build:
context: ./mysql
dockerfile: Dockerfile
ports:
- "3308:3306"
volumes:
- "data_volume:/var/lib/mysql"
environment:
MYSQL_PASSWORD: "root"
MYSQL_ROOT_PASSWORD: "root"
MYSQL_DATABASE: "board"
volumes:
data_volume:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

scripts 같은 패키지에 Dockerfile과 함께 두면 더 좋을 것 같습니다.

Binary file added gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
7 changes: 7 additions & 0 deletions gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading