프로젝트(23)
-
[회원관리] 로그인
로그인 API 기능 Method URL Request Response 비고 로그인 POST /lier/login { ”email”:”wlstpgns51@naver.com”, ”password”:”wls1234!” } data{ ”email”:””, ”nickname”:”” } + response 1. POST 형식 2. Request 요청은 DTO 형식으로 이메일과 비밀번호 두가지만 필요하도록 했다. 3. Response 응답값은 json 형식으로 data 안에 로그인된 이메일과 닉네임이 반환 + Response에 토큰을 넣는다. MemberController // 로그인 @PostMapping(value = "/login") public ResponseEntity login( @RequestBody L..
2023.01.03 -
[회원관리] 회원가입
회원가입 API 기능 Method URL Request Response 비고 회원가입 POST /lier/signup { ”email”:””, ”password”:””, ”passwordConfirm”:””, ”nickname”:”” } data{ ”회원가입 성공 ” } - 회원가입 성공 시, nickname 뒤에 난수 키워드가 붙어서 저장됨 post 형식 Request 요청은 json형태의 DTO 객체를 이용해 요청하였고, 필요한 정보는 이메일, 비밀번호, 재확인용 비밀번호, 닉네임 이렇게 네가지이다. Response 응답 값은 json 형태의 data 에 "회원가입 성공" 이라는 성공 문구가 나오면 정상완료되었다는 뜻이다. 회원가입 성공을 하게되면 각 유저의 구별을 위해 닉네임 뒤에 난수값을 붙여서 ..
2022.12.30 -
프로젝트 세팅
프로젝트 초기 세팅을 진행해보자! 우선 개발도구는 인텔리제이이다. 옛날 옛적 대학교를 갓 나왔던 시절에는 이클립스를 사용하였는데, 현업 실무환경에서는 이클립스를 사용하기도 하지만 인텔리제이로 거의 대부분 사용한다고 한다. Spring 프로젝트를 진행하게 되면 초기에 maven 형식으로 갈 것인지 gradle 형식으로 갈 것인지 우선적으로 정해야한다. 나는 gradle을 선택하기로 했다. 이전에는 maven을 사용했었지만 두개 다 사용해본 느낌으로는 maven은 뭔가 html 느낌에 딱딱하고 일일이 어떤 dependency를 사용했는지 확인해야할 때, 파악하기가 어려웠다. - Java - Java version : 17 - JDK : temurin-11 [build.gradle] gradle 형식으로 진행..
2022.12.30 -
[회원관리] Jwt를 활용한 회원관리 기능 세팅
로그인, 회원가입, 로그아웃과 같은 회원관리 기능을 구현하기 위해 Jwt 와 Spring Security를 사용하기로 했다. Jwt(Json Web Token)란 Json 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반의 Web Token이다. Jwt는 토큰 자체를 정보로 사용하는 Self-Contained(자기참조?) 방식으로 정보를 안전하게 전달한다. 주로 회원 인증이나 정보 전달에 사용되는 Jwt는 아래의 로직을 따라서 처리하게 된다. (사실 Jwt 이외에도 여러 회원관리 기능을 구현을 위한 기술들이 존재하지만 프로젝트를 진행하면서 가장 많이 사용해보았고, 익숙한 방법이 Jwt이다보니... 사용한 것도 큰 이유 중 하나이다....) 즉, 회원 정보가 존재하면 스토리지에 저장된 값을 이..
2022.12.28 -
서비스 아키텍쳐
TV에서만 보던 라이어게임을 온라인으로 화상 및 채팅을 통해 구현해보고자 했다. 나는 BackEnd 를 담당하고 있기 때문에 FrontEnd 아키텍쳐에 대한 설명은 생략하도록 한다. # WebRTC 화상/보이스 채팅 기능을 위해 카메라와 마이크 등의 미디어 자원을 통해 실시간으로 소통할 수 있는 기술이 필요했다. WebRTC는 카메라, 마이크와 같은 미디어 자원들을 활용해 실시간 커뮤니케이션을 할 수 있는 기술이다. 화상통화, 화상공유 등을 구현할 수 있는 오픈소스이며, p2p 방식으로 피어간의 통신을 지원한다. [장점] Latency(지연시간)가 짧다. 인스타라이브, 유튜브라이브, 트위치와 같은 스트리밍 서비스는 대부분 RTMP를 사용하여 실시간으로 스트리밍 한다고 한다. WebRTC의 latency는..
2022.12.15