-
Notifications
You must be signed in to change notification settings - Fork 37
[1주차] 멀티 모듈 설계 및 요구사항 구현 #20
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
base: main
Are you sure you want to change the base?
Changes from 3 commits
156c443
ebc22ed
80eb082
63da73e
584d570
eeaa018
193d7e2
d94db02
c50d12e
55847fe
d9fb562
059a02d
d73ce43
64f8161
2b3ca82
4f074bd
1fa8767
692e195
120a9e3
8035a3c
a31de4f
db41dc3
258959a
4a73a75
6384942
18489cf
1f0308f
8c9e34b
ed5d777
c22b5f9
3d04f2f
9ba4f4e
6185376
64b4eae
b1503f7
e03c857
4e5bdd6
0c5671f
48b8ef0
177aa5e
abe1a48
d671748
1621a84
740799f
4d48bb8
8b307a9
bba63d4
cf8e431
5823b43
5d1dcc3
b443b2c
148fec2
97bfd0f
efe440c
34ee5ce
a9dd27d
9915138
a43c1ba
5dec7cc
62916d2
a809cf3
f2953fd
d03b26f
c8a58d7
db929af
5762cec
6da3799
397e132
233eaa1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| HELP.md | ||
| .gradle | ||
| build/ | ||
| !gradle/wrapper/gradle-wrapper.jar | ||
| !**/src/main/**/build/ | ||
| !**/src/test/**/build/ | ||
|
|
||
| ### STS ### | ||
| .apt_generated | ||
| .classpath | ||
| .factorypath | ||
| .project | ||
| .settings | ||
| .springBeans | ||
| .sts4-cache | ||
| bin/ | ||
| !**/src/main/**/bin/ | ||
| !**/src/test/**/bin/ | ||
|
|
||
| ### IntelliJ IDEA ### | ||
| .idea | ||
| *.iws | ||
| *.iml | ||
| *.ipr | ||
| out/ | ||
| !**/src/main/**/out/ | ||
| !**/src/test/**/out/ | ||
|
|
||
| ### NetBeans ### | ||
| /nbproject/private/ | ||
| /nbbuild/ | ||
| /dist/ | ||
| /nbdist/ | ||
| /.nb-gradle/ | ||
|
|
||
| ### VS Code ### | ||
| .vscode/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,36 @@ | ||
| ## [본 과정] 이커머스 핵심 프로세스 구현 | ||
| [단기 스킬업 Redis 교육 과정](https://hh-skillup.oopy.io/) 을 통해 상품 조회 및 주문 과정을 구현하며 현업에서 발생하는 문제를 Redis의 핵심 기술을 통해 해결합니다. | ||
| > Indexing, Caching을 통한 성능 개선 / 단계별 락 구현을 통한 동시성 이슈 해결 (낙관적/비관적 락, 분산락 등) | ||
| ## [1주차] 멀티 모듈 구성 및 요구사항 구현 | ||
| ## 내용 | ||
| ### Doamin | ||
| - Movie | ||
| - Long id PK | ||
| - String title | ||
| - String grade | ||
| - String genre | ||
| - Integer runningTime | ||
| - Date releaseDate | ||
| - String thumbnailUrl | ||
| - Theater | ||
| - Long id PK | ||
| - String name | ||
| - Schedule | ||
| - Long id PK | ||
| - DateTime startTime | ||
| - DateTime endTime | ||
|
|
||
|
|
||
| ### 멀티모듈 구성 | ||
| - api : 외부 통신 레이어 | ||
| - application : 서비스 레이어 | ||
| - domain : 도메인 레이어 | ||
| - infra : 인프라 레이어 | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Layered 형식으로 모듈을 잘 구성 해주셨네요 ! 다만, application 과 api 모듈이 별도로 구분되어야 하는지는 추가적인 고민이 필요해 보입니다. api 모듈에는 Controller 가 존재하고, application 모듈에는 dto 가 존재하는데, 사실 이 둘은 같은 Layer 에 포함되어야 하는 성격이라고 생각됩니다. 즉, 계층을 많이 추가하는 경우 응집성 이 떨어질 수 있다는 단점이 있습니다. |
||
|
|
||
| ### 발생했던 문제와 해결 과정을 남겨 주세요. | ||
| - 멀티모듈 구성에 의존성 오류에서 좀 애를 먹었습니다. | ||
| - 개인적인 시간이 없는 이슈가 가능 문제 였습니다. 다음주 부턴 시간확보를 더 많이 해보겠습니다. | ||
|
|
||
| ### 리뷰 포인트 | ||
| - 도메인 분리가 잘 되었는지 궁금 합니다. | ||
| - 도메인들이 JPA 연관관계를 잘 맺었는지랑 꼭 맺어야 하는지 궁금합니다 (그냥 필요할 때마다 조회를 따로하는건 안되는지 궁금합니다.) | ||
|
|
||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| plugins { | ||
| id 'java' | ||
| id 'org.springframework.boot' version '3.1.0' apply false | ||
| id 'io.spring.dependency-management' version '1.1.0' apply false | ||
| } | ||
|
|
||
| subprojects { | ||
| apply plugin: 'java' | ||
| sourceCompatibility = '17' | ||
|
|
||
| repositories { | ||
| mavenCentral() | ||
| } | ||
|
|
||
| dependencies { | ||
| testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2' | ||
| } | ||
|
|
||
| tasks.withType(Test).tap { | ||
| configureEach { | ||
| useJUnitPlatform() | ||
| } | ||
| } | ||
| } |
| 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.10-bin.zip | ||
| networkTimeout=10000 | ||
| validateDistributionUrl=true | ||
| zipStoreBase=GRADLE_USER_HOME | ||
| zipStorePath=wrapper/dists |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
좌석 테이블이 미반영된 것 같습니다.