
@OneToOne 연관관계에서 Lazy(지연로딩)으로 설정하기?
OneToOne매핑으로 Member와 Recruit를 1:1 양방향 관계를 맺었다.이때 mappedBy를 통해 Member엔티티가 Recruit의 외래키를 가진 관계로 표현하였다.

OneToOne매핑으로 Member와 Recruit를 1:1 양방향 관계를 맺었다.이때 mappedBy를 통해 Member엔티티가 Recruit의 외래키를 가진 관계로 표현하였다.

Nginx의 메인 설정 파일이다. 전역 설정, worker 수, 로그 경로, 포함할 설정 등을 정의한다.

Docker를 통해 배포를 진행할 때 DockerHub를 사용하여 이미지를 pull하고 push하는 방식을 사용하여왔다. 하지만 개발하고있는 프로젝트를 모두가 접근 가능한 DockerHub에 올린다면 누구나 이를 pull받아 실행할 수 있다는 문제가 있다.
![[Spring Boot] 환경변수 설정 (Docker, Github Actions)](/assets/img/posts/velog/16218d1a963c670a9d10.png)
Spring 프로젝트에서의 환경변수는 다양한 방법으로 설정이 가능하다. 거기에 Spring을 도커로 이미지화하고, 배포하는 과정에서도 환경변수를 처리하는 방식이 나눠지기도 한다.
![[Spring Boot] JPA 컬렉션 조회 정리](/assets/img/posts/velog/f6a832a1c81ecbf359f5.png)
Spring Boot 프로젝트를 진행할 때마다 안다고 생각하지만 항상 막히는 부분이 있다. 바로 JPA이다.특히 컬렉션 조회에서 주의해야 할 부분을 인지하지만 머릿속에 정리가 잘 안되어있어 헷갈리는 부분이 많았다.

API 응답으로 모든 쿼리 결과를 주는 것은 비효율적이다. 쿼티 엔티티의 개수가 증가함에 따라 오버헤드도 커지게 된다.
![[Spring Boot] DAO(Repository) 테스트 코드 작성](/assets/img/posts/velog/7b69745d76a79492b405.png)
Spring Boot DAO(Data Access Object)인 Repository 계층의 단위 테스트하는 방법을 정리해보았다.
주어진 웹 서버로 접속하였다. 위와 같은 페이지를 마주칠 수 있다. 아무거나 입력하고 submit하면 no...를 반환한다. 아마도 특정 조건을 만족하는 무언가를 입력해야 flag를 반환하는듯 하다.이제 문제 파일을 살펴보자

항상 프로젝트를 배포하고 마지막에 진행하는 작업은 HTTP 프로토콜을 HTTPS로 변경하는 작업이었다. 항상 이 작업을 할 때마다 복잡한 과정에 대한 이해를 하지 않고 진행하다 보니 에러가 생겨도 어디가 원인인지를 찾기가 굉장히 힘들었다.
![[Spring Boot] Docker를 통해 Spring Boot 배포 시 로그 남기는 방법](/assets/img/posts/velog/a9d71a6cdfa8ee3182d5.png)
처음으로 Spring Boot를 빌드하여 도커를 통해 EC2에 배포했을 때는 다음의 명령어로 이미지를 실행하였다.