-
Notifications
You must be signed in to change notification settings - Fork 0
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
[#85] 프로젝트 구조 개선 #87
base: develop
Are you sure you want to change the base?
[#85] 프로젝트 구조 개선 #87
Conversation
|
@@ -39,7 +39,7 @@ export const TypeOrmModuleOptions: TypeOrmModuleAsyncOptions = { | |||
enableKeepAlive: true, | |||
keepAliveInitialDelay: 10000, | |||
idleTimeout: 240000, | |||
} as PoolOptions, | |||
} satisfies PoolOptions, |
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.
👍
제가 생각하기엔 Domain = Table Entity 이렇게 생각하고 계신 것 같다는 느낌이 들긴 하네요. 보통 묶여 있긴 하지만 반드시 그런 건 아닌 것 같습니다. 예를 들어서 그래서 원래는 도메인마다 Repository 코드를 가지고 있게 되는 경우가 많은 것 같아요. 예를 들어서 서비스들 중 User Service가 분리되어 있고 Account가 분리 되어 있으면 각각이 이게 근데 중복된 코드를 만들 수 있는 거 아닐까? -> 맞습니다. 그래서 저는 서비스가 나눠지지 않은 그냥 모놀리스 서비스에서는 Common 영역에 Repository 코드를 넣습니다. 코드 복잡도가 높아지지 않게 하는 게 더 좋아서요 저는. 다만 여러 팀이 각자 도메인을 맡아 개발하고 있다면 Common보다는 분리하는 걸 선택했을 것 같습니다. 중복되는 로직이 있더라도 각자가 관리한다면 사실 상관 없는 문제잖아요? 그리고 공통 모듈은 개발에서 병목의 원인이 되기도 해서요. 좋은 코드, 아키텍처는 사실 상황마다 다르다고 생각합니다. 항상 맞는 구조라는 건 없다고 생각하는데, 일반적으로 ~~해서 ~~문제를 해결했다는 형태로 아키텍처들이 소개되고 특히 복잡한 코드 구조에서 복잡도를 낮추는 방향으로 가는 거라서 명확히 구분되는 코드 구조가 항상 좋은 것처럼 생각되곤 하는데, 현실에서는 꼭 그렇지 않다고 생각해요. 물론, '엔지니어 관점'에서는 늘 확장성이 뛰어난 코드 구조가 뭔가 생각하는 게 좋은 방향같긴 합니다. 쓰다보니까 떠올랐는데, 보통 중복되어서 생기는 문제를 막기 위해서 특정 도메인에서 접근해야 하는 패턴을 해당 도메인의 서비스로직을 사용하도록 합니다. 그리고 그 부분을 쓰는 거죠. 만약 서비스가 갈라져있는 상황이라면 gRPC, HTTP 엔드포인트 하나 뚫어서 다른 팀에서 요구하는 도메인 로직을 수행할 수 있게 합니다. |
✨ 구현 기능 명세
🎁 주목할 점
질문사항
노션 질문 정리 링크
😭 어려웠던 점
🌄 스크린샷