설모의 기록
Web Socket? 웹에서 채팅을 구현할 때 사용하는 Web Socket 에 대해 알아보겠습니다. 보통 서버에게 정보를 요청할 때 HTTP/HTTPS 통신을 거치게 되는데요. HTTP/HTTPS 통신은 클라이언트가 요청을 했을 때 서버가 해당하는 정보를 응답해주는 구조입니다. 그러나 채팅은 누군가가 대화를 보내면 내가 서버에 요청을 보내지 않아도 서버가 저에게 정보를 주어야 합니다. 이럴 때 사용하는게 웹소켓입니다. 내가 원하는 정보에 대해 구독을 신청하고, 토픽에 대한 메세지를 발행하면 해당 토픽을 구독하고 있는 모든 사용자에게 보내주는 방식입니다. HTTP/HTTPS 는 같은 사용자가 서버에게 여러 번 자원이나 정보를 요청하는 경우에 매번 연결을 요청해야 하며 그 때마다 Header 에 요청 정보를..
데이터베이스에서의 연관관계와 JPA 에서의 연관관계 Spring 을 공부하면서 가장 헷갈리는 내용이 연관관계 매핑입니다. 데이터베이스의 외래키와 똑같이 생각하다가 함정에 빠지는 것이 태반입니다.데이터베이스에서는 외래키라는 하나의 컬럼을 가지고 연관관계를 표현합니다. 그러나 JPA 에서는 객체를 매핑합니다. 따라서 JPA에서의 연관관계 매핑은관계의 방향다중성 (다대일? 일대다? 다대다?)연관관계의 주인이 세가지가 중요합니다. 아래에 정리한 내용에서 위의 3가지를 알아볼 것입니다. 단방향 연관관계연관관계 중 다대일(N:1) 을 먼저 알아보겠습니다. 다음에서 설명할 예제의 객체들은 다음의 관계입니다.사람은 가족이 있습니다.사람은 하나의 가족에만 소속될 수 있습니다.사람과 가족은 다대일 관계입니다.위의 관계를 ..
JPA Persistence Spring JPA 를 공부하다보면 persistence 라는 말을 많이 들어보게 됩니다. (출처 : 네이버 영어사전) 무슨 소리지...하고 매번 넘어갔었는데 이번 기회에 정리를 하게 되었습니다. JPA 에서의 영속성은 위의 단어 해석처럼 Entity를 영구적으로 저장해주는 환경을 의미합니다. 책의 내용을 바탕으로 자세하게 정리해보겠습니다. EntityManagerFactory 와 EntityManager데이터베이스를 하나만 사용하는 애플리케이션은 보통 EntityManagerFactory 를 하나만 생성합니다. EntityManagerFactory 는 여러 EntityManager 를 생성하는 객체입니다. 두 객체의 차이점은 아래와 같습니다.EntityManagerFacto..