Backend/Spring

(코드관련 이후 추가 예정)단순히 Jwt토큰을 발행해서 사용하려고 했었다. 무려 모든 API를 처리하는 Controller에서 수동으로 JWT토큰을 Parsing하며...하지만 전지전능한 지피티님께서 다음 한마디를 툭 던졌다.GPT : "필터는 단순 유효성 검사 + 사용자 정보 파싱 + 인증 객체 등록까지 책임져요.Controller는 검증 끝난 요청만 받아서 처리합니다."어라? 필터라는 개념이 앞단에서 검증을 끝낸다는 말인가? 그럼 검증 따로 서비스 처리 따로인가?라는 의문에서 시작해서, 스프링 시큐리티를 간략히 공부해보기로 하였다.스프링 시큐리티라고 함은 스프링 기반의 인증과 인가를 처리해주는 보안 프레임워크이다. 상세히 알아보자.대략적으로 아래와 같이 이해하면 될 것같다.Spring Security..
https://github.com/ChabinHwang/24-25-study-java-mvc GitHub - ChabinHwang/24-25-study-java-mvc: server 스프링 스터디 실습을 위한 레포입니다.server 스프링 스터디 실습을 위한 레포입니다. Contribute to ChabinHwang/24-25-study-java-mvc development by creating an account on GitHub.github.com 작년 스터디에서, 서블렛 등을 실제로 구현해보며 구조를 공부한 내용들을 정리해봤다.스프링의 기본 흐름 이해하기:클라이언트 요청 → 디스패처 서블렛 DispatcherServlet → 핸들러 매핑, 어댑터HandlerMapping, Adapter → 핸들러 ..
하단에 실제 코드에 대한 이야기도 있습니다학교 프로젝트 수업에서 게임을 진행하게 되었다. 가장 많이 사용해본Spring을 활용해서 온라인 게임을 구현할 방법이 뭐가 있을까 찾아보다가, Websocket을 활용해 통신을 스프링에서도 지원하는 것을 알게 되었다. 또한 Stomp를 활용하면 좀 더 체계적으로 다양한 기능을 구현할 수 있는 것 같았다. 실시간 FPS게임이 아닌 턴제 게임은 Websocket으로도 충분하다고 생각했다.  STOMP란?Simple Text Oriented Messaging Protocol - 직역하면 단순 텍스트 기반 메시지 프로토콜메시지를 주고받을 때 규칙을 정해서 추가적인 기능들을 구현한 것이다. 웹소켓을 하나만 사용해서 모든 기능 (채팅, 게임, 귓속말 메시지 등을 하나의 웹소..
[2025-03-10 내용추가(하단)]아마 이 글까지 찾아온 여러분들이라면, 어마어마한 양의 블로그를 보고 왔다고 생각된다. 혹은 옆 탭에 켜져있던지.... 이 글을 쓰는 나조차 수많은, 정말 정말 많은 블로그들을 참고하고.....참고 했다(다른 참고..)생략된 코드들도 있으므로(~~에 추가 와 같은 코드들), gpt나 claude에 재차 확인하길 추천! 1. kakao developers에서 해야 하는 설정1. 내 애플리케이션을 만든다2. 앱 설정> 앱 키에서 Rest API키를저장해둔다3. 카카오 로그인 > Redirect URI를http://localhost:8080/login/oauth2/code/kakao로 저장(사용자에 따라 달라질 수 있음)4. 제품설정 > 카카오로그인 > 보안에서 Clie..
구문 커버리지(Statement Coverage)라인(Line) 커버리지라고 부르기도 한다. 코드 한 줄이 한번 이상 실행된다면 충족된다.void test(int n) { // 함수 A 실행 - 1번 if (n > 0) { //- 2번 // 함수 B 실행 - 3번 } // 함수 C 실행 - 4번}위에의 코드를 n 이 음수로 들어오는 테스트 하나만 했다고 하자. 그러면 1~4번 구문중 3번 구문이 실행이 안돼서 구문 커버리지는 3 / 4 * 100% = 75% 인 테스트가 된다.조건 커버리지(Condition Coverage)여기서의 조건은 모든 조건식을 얘기한다. 내부 조건이 true/false의 경우를 충족하는 지를 본다.void test(int a, int b) { // 함수 A 실행 ..
서론이전 해커톤을 진행하면서, api에 사용자 정보를 담아 '직접' 전송했었다. 그때도 'api요청을 조작해서 다른 사용자 정보를 전달하면 어떡하지?'라는 생각을 했지만 시간이 빠듯하기도 해서 해결하지 못하였다. 이후 찾아보니 서버에서 추가로 개별 토큰을 발행해 해결한다는 것을 보고, 이에 대해 공부하고자 한다.(구현 코드는 추후 추가 예정)JWTheader : 해시 알고리즘의 종류가 담겨 있음{ "alg" : "HS256", "typ" : "JWT"}payload : 실제 사용될 정보를 담고 있음{ "email" : "example@naver.com", "age" : "23"}signature : (헤더+페이로드)와 서버가 가진 key값을 합친것을 헤더 알고리즘으로 암호화한다JWT를 활용해 Spring..
chabin37
'Backend/Spring' 카테고리의 글 목록