전체 글(364)
-
[회원관리] Jwt를 활용한 회원관리 기능 세팅
로그인, 회원가입, 로그아웃과 같은 회원관리 기능을 구현하기 위해 Jwt 와 Spring Security를 사용하기로 했다. Jwt(Json Web Token)란 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. Jwt는 토큰 자체를 정보로 사용하는 Self-Contained(자기참조?) 방식으로 정보를 안전하게 전달한다. 주로 회원 인증이나 정보 전달에 사용되는 Jwt는 아래의 로직을 따라서 처리하게 된다. (사실 Jwt 이외에도 여러 회원관리 기능을 구현을 위한 기술들이 존재하지만 프로젝트를 진행하면서 가장 많이 사용해보았고, 익숙한 방법이 Jwt이다보니... 사용한 것도 큰 이유 중 하나이다....) 즉, 회원 정보가 존재하면 스토리지에 저장된 값을 이..
2022.12.28 -
@Bean
@Bean Bean 객체로 등록시켜줄 수 있도록 지정하는 어노테이션 입니다. Bean 객체라는 것은 겍체들을 개발자가 직접 관리하는 것이 아닌 Spring에서 자체적으로 관리되는 객체들을 말합니다. 주로 @Configuration 어노테이션과 함께 사용됩니다. 메소드에 적용하여 사용됩니다. @Configuration public class GamingAppLauncherApplication { @Bean // Bean 객체 등록 public MarioGame mariogame(){ return new MarioGame(); } }
2022.12.23 -
@Configuration
@Configuration 설정 클래스임을 지정해주는 어노테이션 입니다. 해당 어노테이션을 지정해주고 @Bean 어노테이션을 메소드에 명시함으로서 Bean 객체(메소드)를 생성하고 관리될 수 있게끔 해줍니다. @Configuration // 설정 클래스 지정 public class GamingAppLauncher { @Bean // Bean 객체 등록 public MarioGame mariogame(){ return new MarioGame(); } }
2022.12.23 -
서비스 아키텍쳐
TV에서만 보던 라이어게임을 온라인으로 화상 및 채팅을 통해 구현해보고자 했다. 나는 BackEnd 를 담당하고 있기 때문에 FrontEnd 아키텍쳐에 대한 설명은 생략하도록 한다. # WebRTC 화상/보이스 채팅 기능을 위해 카메라와 마이크 등의 미디어 자원을 통해 실시간으로 소통할 수 있는 기술이 필요했다. WebRTC는 카메라, 마이크와 같은 미디어 자원들을 활용해 실시간 커뮤니케이션을 할 수 있는 기술이다. 화상통화, 화상공유 등을 구현할 수 있는 오픈소스이며, p2p 방식으로 피어간의 통신을 지원한다. [장점] Latency(지연시간)가 짧다. 인스타라이브, 유튜브라이브, 트위치와 같은 스트리밍 서비스는 대부분 RTMP를 사용하여 실시간으로 스트리밍 한다고 한다. WebRTC의 latency는..
2022.12.15 -
Weekly I Learned 10주차
[기간] - 11월 21일 ~ 11월 26일 [Weekly I Learned ( 10주차)] 이번 주는 이때까지 만들어온 프로젝트의 중간 발표가 있는 주차이다. 저번 주차 WIL 에서도 말했듯이 라이어 게임이 주제라 WebRTC, WebSocket 기술들이 주가 되는 프로젝트여서 이번에는 구현해본 WebRTC 에 대해서 얘기해보고자 한다. 우선 서비스 아키텍쳐는 이러하다. 프론트 쪽은 차치하고, 현재 중심적으로 볼것은 메인 기능 부분인 WebRTC 부분이다. [WebRTC란?] 화상/보이스 채팅 기능을 위해 카메라와 마이크 등의 미디어 자원을 통해 실시간으로 소통할 수 있는 기술이 필요했다. WebRTC는 브라우저에서 지원하는 프레임워크로 많이 사용되어 안정성이 검증되어있고, 별도의 플러그인 없이 사용이..
2022.11.27 -
Weekly I Learned 9주차
[기간] - 11월 14일 ~ 11월 19일 [Weekly I Learned ( 9주차)] 벌써 실전 프로젝트를 진행하지 2주차다. 다음 주가 드디어 중간발표 주간이기 때문에 만들고자하는 메인 기능들을 빨리 정리하고 구현할 필요가 있었다. 아무래도 메인기능은 게임 기능이다 보니 평범한 http 형식의 로직으로는 게임 주제에 적합하지 않아서 WebSocket 과 Stomp 를 활용해서 구현하고자 했다. WebSocket 이란? TCP 연결을 통해 클라이언트와 서버 간에 전이중 양방향 통신 채널을 설정하는 표준화된 방법을 제공한다. HTTP와 다른 TCP 프로토콜이지만 포트 80 및 443을 사용하고 기존 방화벽 규칙을 재사용할 수 있도록 HTTP를 통해 작동하도록 설계되었다고 한다. WebSockets에는..
2022.11.22