들어가기 전에본격적인 프로젝트를 들어가기 전에 가장 중요하게 여기고 공부했던 부분이 바로 JPA이다. SpringBoot를 사용하고, 데이터베이스를 사용한다면 JPA를 사용하지 않을 수 없을 것이다. JPA에 관한 개념 및 사용방법은 대수아의 다음 글을 참고하면 된다.바닥부터 알아보는 Spring Data JPA with MySQLJPA 에서 가장 중요한 개념 중 하나가 바로 Entity이다. Entity는 정말 편리하지만, 반환 시에는 Dto를 사용하라는 말을 많이 들어보았을 것이다. 처음에는 그 이유를 몰랐는데, 직접 개발을 해보니 정말 맞는 말이었다.이 글에서는 Entity와 Dto의 개념과, Entity 반환 시 생길 수 있는 문제점, 분리해서 사용해야 하는 이유, Entity와 Dto 변환 위치..
서론우선 지금 진행중인 프로젝트에서 하나의 서비스에 두 개의 엔티티에 대해서 로그인을 진행해야 하는 상황이 생겼습니다.기존에 작성했던 회원 엔티티에 대해서는 로그인이 제대로 작동했지만 상담사 엔티티는 회원 엔티티가 다르게 작성되어 기존에 작성한 코드로는 상담사 로그인을 할 수 없었습니다.따라서 여러 방법을 시도하여 방법을 물색했고, 수 많은 에러를 본 후 결국 성공했던 방법을 공유하고자 합니다. 이러한 방법으로 해결은 할 수 있구나 하는 관점에서 봐주시면 감사하겠습니다.결론 (해결 방법)각각의 엔티티에 대한 @Configuration을 하나의 Security Config에 @Bean으로 등록한다. 이 과정에서 공통적으로 사용하는 PasswordEncoder 같은 bean들은 최상위에 한번만 정의합니다.@..
서론Spring JPA를 학습하면서 궁금하거나 잘 알지 못했던 부분들을 정리하려고 합니다.1편application.properties vs application.ymlSpring Boot는 크게 application.properties , application.yml 와 같은 파일 형식으로 환경 설정 파일을 구성할 수 있습니다. 결론application.properties는 Key-Value 형식으로 직관적이고 간단하기 때문에 간단한 설정에 용이하며application.yml은 YAML 형식으로 들여쓰기를 통해 계층적인 구조와 중복되는 속성을 표현하기에 용이하다는 특징이 있습니다. application.propertiesKey-Value 형식을 사용합니다.간단하고 직관적인 구조기 때문에 작성 문법을 배울..
AWS S3란?AWS S3(Simple Storage Service)의 약자로 주로 파일 서버로 사용된다. AWS S3의 이점확장성(Scalability)파일 서버는 트래픽이 증가함에 따라 서버 인프라 및 용량 계획을 변경해야 하는데, S3가 확장 및 성능 부분을 대신 처리해준다.내구성(Durability)여러 영역에 여러 데이터 복사본을 저장하므로 한 영역이 다운되더라도 데이터를 사용할 수 있고, 복구가 가능하다. 어떻게 이미지 업로드를 할 수 있을까?클라이언트에게 MultipartFile로 이미지 파일을 받는다.이를 S3로 업로드하고, 이 S3에서는 이미지를 접근할 수 있는 public URL을 반환해준다.이 URL을 통해 이미지 어디서나 접근하고 다운로드 할 수 있다.이 URL을 DB에 저장하여..