코드 컨벤션 상 jpa의 엔티티에는 builder 어노테이션을 사용하기로 설정하셨는데요. builder 패턴을 쓰면 어떤 이점이 있을까요?
서비스 레이어 간 순환참조가 발생하는 이슈로 트러블 슈팅 경험을 작성하셨는데요. 구체적으로 어떤 케이스에 발생하였고 어떤 방식으로 해결하셨나요? 해결한 방식으로 어떤 이점을 얻을 수 있었고 아쉬운 점은 무엇인가요?
spring security를 이용해 인증/인가를 구현하셨는데요. 동작방식에 대해 자세히 설명해주세요. 또 jwt 토큰을 이용한 로그인에서는 완전한 의미의 로그아웃 구현이 어려운데 그 부분은 어떻게 해결하셨나요? 해결하지 못하셨다면 어떻게 해결하면 안전한 로그아웃을 구현할 수 있을까요?
트랜잭션 처리를 적절히 잘 해주셨습니다.
toString()
**이나 ordinal()
메서드를 사용하거나, 커스텀 메서드를 정의해서 사용함char은 고정된 길이의 문자열을 가지며, 만약 저장될 문자열이 길이보다 짧다면 나머지는 공백을 채웁니다. 고정타입이므로 추후 연산이 필요없기 때문에 검색속도가 빠릅니다.
varchar는 가변타입 문자열이며 최대로 지정한 길이만큼을 저장할 수 있지만 문자열이 그보다 짧다면 저장되는 문자열 길이
만큼만 저장됩니다.
저장용량을 효율적으로 사용햘 수 있다느 장점이 있습니다.
유지보수를 고려한다면 정해진 길이만큼을 사용하는 우편번호, 전화번호 등의 경우에는 char 타입을 사용하며
그 외의 케이스에는 varchar를 사용할 것 같습니다.