본문 바로가기

Spring2

Session 기반 로그인 회의 결과 이번 프로젝트에서는 Spring Security를 쓰지 않기로 했다.이유는 로그인이 주된 기능이 아니기 때문에, 로그인 기능의 비중을 줄이기 위해서이다. 지금까지 써보지 않은 Session 식별자를 쿠키에 저장하는 방식을 쓸 것이다.Session 식별자 vs Token: Session(세션)과 Token(토큰)의 차이는? (velog.io) Session(세션)과 Token(토큰)의 차이는?우선 HTTP의 프로토콜 상태에 알아보자. HTTP 는 stateless 한 특성 때문에 각 통신의 상태는 저장되지 않는다. 하지만 서비스에서는 어떤 유저가 기능을 사용하는지 특정할 수 있어야하는데 이를 위velog.io Session 기반 로그인을 위해 추가한 클래스들은 아래와 같다.1. WebConfig.. 2024. 5. 8.
성능개선(DB 호출 수 줄이기, DB 처리 속도 향상시키기) 1. 경로 저장시 DB 호출이 너무 많음문제 발생먼저 경로 저장시 너무 많은 DB 접근이 이뤄지는 것을 확인할 수 있었다.경로 저장시 route, bound, road, guide 총 4개의 테이블에 저장을 해야하는데, 이상적인 DB 접근을 생각해보면 총 4번만 접근하면 된다.하지만 지금은 너무 많은 접근이 이뤄지고 아래 코드를 보면 문제점을 금방 찾을 수 있다.아래는 HistoryService의 saveHistory의 문제를 일으키는 부분이다.for (KakaoRouteAllResponseDto.Section allSection : sections) { KakaoRouteAllResponseDto.Road[] roads = allSection.getRoads(); KakaoRouteAllRe.. 2023. 11. 4.