심층분석
-
[3] Filter심층분석 2024. 3. 12. 18:10
Filter란 client의 요청과 응답을 정제하는 역할인데, Dispatcher Servlet에 요청이 전달되기 전 / 후에 url 패턴에 맞는 모든 요청에 대해 부가 작업을 처리할 수 있는 기능을 제공합니다. ( 다중 필터가 모여 체인을 형성할 수 있습니다. ) 즉, 필터는 스프링의 독자적인 기능이 아니라 톰캣과 같은 웹 컨테이너에 의해 관리가 되는 것이고, 스프링 범위 밖에서 처리되는 것이다. 주로 Filter는 요청에 대한 인증, 권한 체크등에 사용됩니다. 구체적으로 들어온 요청이 디스패치 서블릿에 전달하기 전에 검사해 인증 토큰 유무 / 유효성 검사를 합니다. ( 저는 프로젝트 구현할때 JWT를 구현하는데 있어서 사용하였습니다. ) https://github.com/T-Notes/Tnote-Ba..
-
[2] Redis심층분석 2024. 3. 12. 01:08
Redis 소개 Redis는 key-value 구조의 비정형 데이터를 저장하고 관리하기 위한 DBMS입니다. 데이터베이스, 캐시, 메시지 브로커로 사용되며 In-Memory 데이터 구조를 가진 저장소이며, 오픈소스로써 NoSQL로 분류되기도 합니다. ( PUB/SUB 형태의 기능을 제공하여 메세지 전달이 가능합니다. ) 또 Redis는 Remote Dictionary Server의 약자로써 외부에서 사용 가능한 key-value 쌍의 해시맵 형태의 서버라 별도의 쿼리문 없이 key 값으로 빠르게 데이터를 가져올 수 있습니다. 하지만, 메모리에 데이터를 저장하기에 저장 공간에 제약이 있어서 주로 보조 데이터 저장소로 사용되며, 이를 극복하기 위해서 레디스 클러스터 기능을 제공하여 주 저장소로도 사용합니다...
-
[1] OAuth심층분석 2024. 2. 26. 15:43
OAuth OAuth는 결국 구글 / 인스타와 같은 다양한 플랫폼의 특정한 사용자가 데이터에 접근하기 위해서 제3자 클라이언트 ( 우리의 서비스 가 사용자의 접근 권한을 위임받을 수 있는 프로토콜이다. 정리하면, 서비스를 이용하는 유저의 타사 플랫폼 정보 접근하기 위해 타사 플랫폼으로부터 위임 받는것이다 OAuth2.0 사용자가 다른 웹 사이트의 자신의 정보를 웹이나 애플리케이션에 접근 권한을 부여할 수 있는 개방형 표준이다. OAuth는 로그인뿐만 아니라 데이터 접근 권한도 포함하기에 "인증" 뿐만 아니라 "인가" 도 포함하고 있다. 구글링을 하다보면 여러 flow를 볼 수 있는데, 개인적으로 용어에 대해서 혼동이 있었다. 그래서 먼저 용어에 대해서 정리를 하겠다. 더보기 용어 [ 용어 정리 ] 1. ..