Vault를 적용하게된 계기는 application.yml 파일에 DB접속 URL 등 다양한 개인정보들이 git에 노출되는것이 문제여서 적용하게 되었다. 기존에는 Jasypt 를 이용해서 암호화 하였는데 이것 역시 secret 키값이 프로젝트 코드속에 있어서 마음만 먹으면 secret 키값을 알아내서 암호화를 풀수 있다.Vault는 분산시스템에서 사용되고 시크릿한 정보들을 스프링 클라우드에서 데이터를 가져온다. 지금 프로젝트에서는 분산 시스템이 아니지만 나중에 분산시스템으로 변경 했을때 사용될수 있을것 같아서 미리 도입해 보았다. 그리고 환경변수에 값을 인입하는 방법도 있지만 그 많은 개인정보들을 환경변수에서 관리하면 데이터들이 늘어날수록 관리의 복잡성이 늘어나서 한계가 있다.환경변수에는 비밀정보가 아닌..
회원가입을 하기 위해서 3가지 흐름이 있다. 회원가입 로직1. 회원가입시 입력한 인증번호 확인2. member 테이블에 회원정보 저장3. account 테이블에 회원 인증정보 저장 위 로직 설명account 테이블이 따로 있는 이유는 회원 종류가 늘어날때 회원 종류의 테이블을 모두 돌아야 해서 회원 종류의 확장을 고려해 account 인증 테이블을 추가하였다.member테이블에 먼저 저장하는 이유는 member 테이블에 있는 전화번호 등 유효성검사를 하고 member 엔티티가 저장되고 생성된 id 값을 account 테이블에 넣기 위해서이다. [기존 코드]기존코드에서는 아래 코드처럼 Service 하나에서 위 로직을 모두 넣었다. @Transactionaloverride fun signUp(creat..