Java & Spring
[SpringBoot] CORS 설정
CORS란? CORS 설명 링크 : https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS 목적 : 애플리케이션 간에 출처(Origin)가 다를 경우 스크립트 기반의 HTTP 통신(XMLHttpRequest, Fetch API)을 통한 리소스 접근이 제한 되는데, CORS는 출처가 다른 스크립트 기반 HTTP 통신을 하더라도 선택적으로 리소스에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 정책 * 로컬 환경에서 Postman을 사용하여 애플리케이션의 엔드포인트를 호출할 경우에는 CORS 설정이 필요없음 * 프런트엔드 웹앱과의 HTTP 통신에서 에러를 만나게 될 수 있음 적용방법 1. webConfig로 일괄 관리 @Configuration public ..
[AWS] EC2 명령어
AWS EC2 스크린 및 세션 명령어 참고링크 : https://minimin2.tistory.com/123 기본 Screen 명령어 (스크린 설정하면 SSH 연결된 git bash 종료해도 파일 실행 유지됨) : screen에 들어가서는 특정 명령을 주기 위해 모두 ctrl+a 로 시작합니다. # screen 생성 $ screen -S [이름] # screen 목록 확인하기 $ screen -ls # screen 다시 들어가기 $ screen -r [이름] # screen에서 빠져나가기(종료되지 않음) ctrl+a d # screen 종료하면서 빠져나가기 ctrl+a k # screen 연결 해제 screen -d 스크린명 # screen 전체 제거 pkill screen 기타 Screen 및 세션 명..
![[AWS] EC2와 Cyberduck 연결](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FVfpT5%2FbtrRJQeQGBz%2FAAAAAAAAAAAAAAAAAAAAAF1QLCFZb4REESgQYwUjDrFrAVuXZpYMMBU2g-XxmIpa%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DpmFAdACiTbGa6h841Licfd4HXZ4%253D)
[AWS] EC2와 Cyberduck 연결
목적 : CyberDuck이라는 유틸을 사용하면 로컬에 있는 데이터를 간편하게 EC2로 전송할 수 있습니다. 일반적으로 EC2 인스턴스로부터 SSH키를 받아 git repository와 연결 후, git clone 으로 프로젝트를 받아오는 방식을 사용하지만, 상황에 따라 로컬에서 빌드한 파일을 바로 EC2에서 실행해야 할 때 유용합니다. 다음과 같이 사이버덕과 EC2 연결 후 원하는 파일을 드래그&드랍으로 전송하면 됩니다. *주소에 따라 다른 인스턴스에도 적용 가능합니다. (GCP 등)
![[MySQL] AWS_RDS와 Workbench 연결하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FBobtA%2FbtrRMAvgJ48%2FAAAAAAAAAAAAAAAAAAAAAJ5PGtVVqVMZK0eXsnhNBvhDAt2es-Hz-WMDQOFPSDF9%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DrH43lI9hGAG1vIMR%252FfDGCiyIcI0%253D)
[MySQL] AWS_RDS와 Workbench 연결하기
RDS 엔드포인트 : AWS_RDS 접속 후 확인 가능 Username : RDS에서 설정한 DB ID P/W : RDS에서 설정한 DB P/W (Store in vault로 자동 저장 기능 사용 가능) Port : RDS에서 설정한 포트번호
![[SpringBoot] hibernateLazyInitializer 및 순환참조 에러](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FRHysl%2FbtrRzxNzGtw%2FAAAAAAAAAAAAAAAAAAAAAJB9oGk8CEFCYT5XIsosBdDaPVltF2je2x0fW79T-0km%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DDjfI6Tdi5m4HMaZf2sjEhRIaIvg%253D)
[SpringBoot] hibernateLazyInitializer 및 순환참조 에러
에러로그 hibernateLazyInitializer 문제 상황 보다시피 매우 엿같은 상황이 발생했다. 엔티티 매핑을 한 후 발생하는 에러다. 현재 상황은 Payment 엔티티에 @ManyToOne + Lazy적용, Battery 엔티티에 @OneToMany가 적용된 상황 좌측은 단방향만 개통된 상황 (Battery의 @OneToMany가 없을 때) : Lazy에 따른 오류 우측은 양방향이 개통된 상황 : 순환참조 문제 해결 방법 : Dto에서 필드를 선언해서 내보낼 때, 엔티티를 바로 내보내지 말고, Dto를 내보내라한다. : 이게 옳은 방법인건지는 모르겠으나 필자는 이렇게 해결했다. 단일 객체 DTO 변환 방법 1. BatteryPayment클래스를 따로 만든다 2. 여기에 내가 필요한 값만 필드로 ..