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

discussion: Refactor Mail Service #77

Open
seongbin9786 opened this issue Nov 26, 2021 · 6 comments
Open

discussion: Refactor Mail Service #77

seongbin9786 opened this issue Nov 26, 2021 · 6 comments
Labels
discussion Discussion about anything

Comments

@seongbin9786
Copy link
Member

  1. 현재의 서브 도메인 단위의 최상위 폴더 구성에 mail이라는 기술이 같은 레벨에 있으면 폴더 구조가 모호해지는 것 같은데 해결 방법이 무엇인지는 모르겠습니다. (Hexagonal Architecture가 적절할 것으로 예상)
  2. mail 패키지 아래를 applicationinfra로 분할한다면 인터페이스와 구현체의 구분이 원활할 것 같습니다.
@seongbin9786
Copy link
Member Author

@arsgsg1 @Devconf @enrouteeee 지금이 더 좋을까요? 어떻게 하면 좋을까요?

@seongbin9786 seongbin9786 added the discussion Discussion about anything label Nov 26, 2021
@seongbin9786
Copy link
Member Author

너무 늦게 확인한 것 같지만 ArgumentResolver, Config, ControllerAdvice 계열의 객체들도 마찬가지로 framework-specific이고 infra에 속하는데 같은 레벨의 패키지에 있네요. ErrorResponse의 경우도 Advice에서만 활용되도록 정의됐다면 마찬가지로 infra에 속할 것 같습니다

@Devconf
Copy link
Member

Devconf commented Nov 26, 2021

패키지를 application과 infra로 분할하는것이 좋을것 같아요. framework-specific 한 부분을 spring 패키지 하위에 application, infra로 나눠서 분리하는거 어떨까요?

@seongbin9786
Copy link
Member Author

seongbin9786 commented Nov 26, 2021

패키지를 application과 infra로 분할하는것이 좋을것 같아요.

아 최상위부터 application과 infra로 분리하는 걸까요?

framework-specific 한 부분을 spring 패키지 하위에 application, infra로 나눠서 분리하는거 어떨까요?

spring 패키지가 최상위 패키지 중 하나가 되는 건가요?

@Devconf
Copy link
Member

Devconf commented Nov 26, 2021

spring 패키지가 최상위 패키지 중 하나가 되는 건가요?

네 현재 최상위 패키지중에 common 아라는 패키지가 있는데 이 부분도 spring-specific 한것들이 모여있는거 같아서요. 그래서 common을 아예 spring 패키지 안에 넣는건 어떤지 제의견인데 다른분들은 어떤지 궁금하네요

@seongbin9786
Copy link
Member Author

JavaMailSender 빈의 설정에 보면 메일 계정 패스워드가 평문으로 git에 올라왔는데 TODO:

  1. 설정을 환경 변수로 뺀다: application.yml에서 ${ENV_KEY} 형태로 value로 주면 됩니다.
  2. 기존 비밀번호는 변경하고 git에 공유하지 않는다.
  3. 환경 변수 설정 방법:
  • set ENV_KEY=value (Windows) ENV_KEY=value (others)
  • IntelliJ에서 Terminal 설정에서 env 파일을 불러오거나 변수를 지정할 수 있을 것으로 보임

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Discussion about anything
Projects
None yet
Development

No branches or pull requests

2 participants