728x90 반응형 공부/Spring62 [Spring] 스프링 웹 소켓 TextWebSocketHandler 사용법 이번 포스팅에서는 스프링에서 제공하는 TextWebSocketHandler를 사용해서 채팅 기능을 구현해보려고 한다. 대부분의 서버와의 통신 프로토콜은 HTTP를 사용할 것이다. HTTP 통신은 다음과 같은 특징이 있다. 비연결성 (connectionless) : 연결을 맺고 요청을 하고 응답을 받으면 연결을 끊어버린다. 무상태성 (stateless) : 서버가 클라이언트의 상태를 가지고 있지 않는다. 단방향 통신이다. 이러한 HTTP 통신의 경우 채팅과 같은 실시간 통신에 적합하지 않다. 물론 HTTP 통신으로 실시간 통신을 흉내낼 수는 있으나 완벽하지는 않다. 실시간 통신이 필요할 때 사용하는 통신을 소켓 통신이라고 한다. HTTP 통신과 다르게 연결을 맺고 바로 끊어버리는 게 아니라 계속 유지를 하.. 2023. 5. 17. [Spring] JPA 엔티티 다대일(N:1) 연관 관계 매핑 (빌더 패턴 사용) https://growth-coder.tistory.com/172 [Spring] 빌더 패턴에 대한 이해와 사용법 member = new Member(1L, "chulsoo", "seoul"); 어떤 클래스에 대한 인스턴스를 생성할 때 종종 빌더(builder) 패턴을 사용하곤 했다. 지금까지는 단순히 setter로 필드 값을 세팅하는 것보다 좋다고만 알고 있었 growth-coder.tistory.com 이전 포스팅에서 빌더 패턴에 대해서 알아보았다. 그리고 JPA로 엔티티 간의 N:1 연관 관계를 매핑하면서 빌더 패턴을 사용해보았다. 우선 연관 관계부터 세팅해보려고 한다. N:1 양방향 연관 관계 매핑 하나의 팀에 여러 멤버가 존재한다고 가정하면 Team 엔티티와 Member 엔티티는 N:1 관계를 .. 2023. 5. 15. [Spring] 빌더 패턴에 대한 이해와 사용법 member = new Member(1L, "chulsoo", "seoul"); 어떤 클래스에 대한 인스턴스를 생성할 때 종종 빌더(builder) 패턴을 사용하곤 했다. 지금까지는 단순히 setter로 필드 값을 세팅하는 것보다 좋다고만 알고 있었는데 한 번쯤 제대로 짚고가면 좋을 것 같아서 공부한 내용을 정리해보려고 한다. 우선 다음과 같은 클래스가 있다고 해보자. public class Member { private Long id; private String name; private String address; } 이 클래스의 인스턴스를 생성할 때 필드 값을 정의하는 방법 중에 생성자를 사용한 방법이 있을 것이다. public class Member { private Long id; private .. 2023. 5. 12. [Spring] 스프링 시큐리티와 jwt 사용해서 인증 및 인가 구현 (1) https://growth-coder.tistory.com/166 이전 포스팅에서 JWT를 생성하는 JwtUtil 클래스를 만들어보았다. 이제는 스프링 시큐리티를 사용하여 인증 과정을 시큐리티에게 맡기려고 한다. 구현에 앞서 스프링 시큐리티의 로그인 과정을 그림으로 살펴보려고 한다. http 요청이 오면 AuthenticationFilter에서 그 요청을 받는다. username과 password를 인자로 넘겨주어 UsernamePasswordAuthenticationToken을 생성한다. AuthenticationManager 객체는 authenticate 메소드를 가지고 있는데 이 메소드의 인자로 2번에서 생성한 token을 넣어준다. AuthenticationManager의 authenticate .. 2023. 5. 1. 이전 1 ··· 3 4 5 6 7 8 9 ··· 16 다음 728x90 반응형