- Today
- Total
목록proxy (2)
개발하는 고라니
최근에 사이드 프로젝트를 진행하고 있다. 기획 및 설계, 구현과 테스트 빌드 그리고 배포까지 스스로 해보는 것이 목표이다. 배포는 클라우드 서비스를 이용해 진행했는데, 처음으로 웹 서버(Nginx)를 사용해보았다. 특히 웹 서버를 사용하면 서버의 정보(예: port)를 숨길 수 있는 'Reverse Proxy'를 할 수 있다. 특정 URL로 접근하는 경우 특정 포트로 넘겨주는 작업을 할 수 있는데, 이는 웹소켓을 연결하는 과정에서 문제가 되었다. 이 글은 Reverse Proxy를 적용한 Nginx 환경에서 WebSocket을 WebSocket Server와 연결할 때 주의할 점에 대해 다룬다. WebSocket 웹소켓 프로토콜은 웹 어플리케이션의 클라이언트와 서버 간 실시간-양방향 통신을 할 수 있는 ..
Proxy JPA에서 Proxy란, 실제 데이터를 갖고있는 Entity가 아니라 Entity의 class를 상속받는 객체이고, Entity를 가리킨다. 그래서 Proxy의 내부는 텅 비어있고, 실제 Entity를 가리키는 Entity target를 갖는다. 결과적으로 Proxy와 실제 class의 모습은 동일하며, 사용자 입장에서는 뭐가 class고 Proxy인지 구분하여 사용할 필요는 없다. 하지만 몇 가지 주의해야할 점은 존재한다. Proxy 객체는 실제 객체의 참조를 보관한다. 그리고 Proxy객체를 호출하면 Proxy객체는 실제 객체의 메서드를 호출하게 된다. 실제 객체를 조회하면 DB에 쿼리(SELECT)를 날려 데이터를 가져오지만, 참조를 조회하면 DB에 쿼리를 날리지 않고 비어있는 Proxy..