목록전체 글 (42)
Develog

학습 목표 컨테이너 기술이 무엇인지, 도커가 왜 필요한지 알 수 있다. 컨테이너와 이미지, 레지스트리가 무엇인지 이해할 수 있다. 대표적인 레지스트리인 Docker Hub에서 이미지를 검색하고, 사용할 수 있다. 한 개의 이미지를 이용해서 컨테이너를 구축할 수 있다. 두 개 이상의 이미지를 이용해서 컨테이너를 구축하고 서로가 어떻게 연결되는지 알 수 있다. Docker CLI에서 명령어를 사용해서 이미지를 생성/수정/배포하고, 컨테이너를 생성/삭제할 수 있다. 컨테이너 기술과 Docker의 탄생 배경 컨테이너 우리가 무역항을 생각할 때 가장 흔히 볼 수 있는 풍경 중 하나는, 대형 트럭이 컨테이너를 싣고 부두를 왔다 갔다 하는 장면일 것이다. 이러한 컨테이너는 대형 화물선에 실려서 다른 무역항으로 이동하..

학습 목표 Cloud와 Deployment의 의미를 각 각 알고, 내 코드를 남에게 배포할 수 있다. 사용하는 서비스들의 특징과 사용해야 하는 이유를 이해할 수 있다. 커스텀 도메인을 이용해 요청을 원하는 곳으로 라우팅할 수 있다. (advanced) 대부분의 클라우드 서비스 업체는 다음과 같은 기본 장점을 가지고 있다. 1. 신속한 인프라 구축 2. 유연한 인프라 관리 3. 예상치 못한 트래픽 폭주 대응 4. 손쉬운 글로벌 서비스 5. 강력한 보안과 장애 없는 서비스 6. 합리적인 요금제 서버실을 생각하면 우리는 보통 아래와 같은 거대한 서버실을 생각할 것이다. 하지만 우리가 이러한 방식으로 서버를 관리하게 된다면 어마어마한 비용이 발생할 것이다. 단점들을 살펴보자 첫째. 주기적인 관리가 필요하다. 서..

학습 목표 OAuth2가 무엇인지 이해할 수 있다. OAuth2의 인증 방식을 설명할 수 있다. Authorization Code와 Access Token의 차이에 대해 이해할 수 있다. Authorization 서버와 Resource 서버의 차이에 대해 이해할 수 있다. Spring Security에서 OAuth를 구현할 수 있다. 나는 코드스테이츠에서 학습을 하며 매일 위 화면에서 로그인을 하여 출석을 한다. 카카오, 구글과 아무런 상관이 없는 별도의 서비스인데 어떻게 카카오와 구글 계정으로 로그인을 할 수 있는 걸까? 요즘 많은 서비스들이 구글, 카카오, 네이버 등의 계정을 통해 쉽게 회원가입과 로그인을 할 수 있도록 제공하고 있는데 서비스에 따라 회원관리 뿐만아니라 다른 SNS에 게시글을 게시하도..

서버 기반의 인증 방식은 매번 인증 요청이 올 때마다 서버에 점점 많은 부담을 주게 된다. 이러한 인증의 부담을 어떻게 줄일 수 있을지 고민한 끝에 토큰 인증 방식이 탄생하게 되었다. 학습 목표 JWT(JSON Web Token)를 사용하는 이유를 설명할 수 있다. JWT를 이용한 인증 방식을 이해할 수 있다. JWT를 사용하여 얻을 수 있는 장점과 단점을 설명할 수 있다. Spring Security에서 JWT 인증을 구현할 때 필요한 요소를 이해할 수 있다. Spring Security에서 JWT 인증을 구현할 수 있다. 세션 기반 인증은 서버(혹은 DB)에 유저 정보를 담는 인증 방식이었다. 서버에서는 유저가 민감하거나 제한된 정보를 요청할 때마다 즉, 인증이 필요하거나 권한 확인이 필요한 순간마다..

Spring Security의 인가 처리 흐름 1. 사용자가 HTTP 요청을 한다. 2. FilterSecurityInterceptor는 SecurityContextHolder로부터 Authentication을 얻는다. 3. FilterSecurityInterceptor는 FilterInvocation을 생성한다, 4. FilterInvocation을 SecurityMetadataSource에 전달하고 ConfigAttribute를 생성합니다. ConfigAttribute는 다수가 존재할 수 있다. 5. Authentication, ConfigAttribute를 AccessDecisionManager로 전달한다. 6. AccessDecisionManager는 decide(Authentication, Co..

Spring Security의 인증 처리 흐름 1. 사용자가 Username과 Password를 통해 인증을 요청한다. 2. AuthenticationFilter의 구현체인 UsernamePasswordAuthenticationFilter는 전달받은 Username과 Password를 가지고 UsernamePasswordAuthenticationToken을 생성한다. 3. 생성된 Authentication을 AuthenticationManager에 전달한다. 4. AuthenticationManager는 전달받은 Authentication을 다수의 AuthenticationProvider에 전달하여 유효성 검증 및 처리를 위임한다. 5. 입력받은 사용자의 인증 정보의 유효성 검증을 위해 UserDetai..