DisableEncodeUrlFilter WebAsyncManagerIntegrationFilter SecurityContextHolderFilter HeaderWriterFilter CorsFilter LogoutFilter RequestCacheAwareFilter SecurityContextHolderAwareRequestFilter AnonymousAuthenticationFilter SessionManagementFilter ExceptionTranslationFilter AuthorizationFilter

전체 글
클리언트가 어플리케이션에게 request를 보내면 스프링 컨테이너는 filterChain을 생성함 filterChain은 Servlet과 filter 인스턴스들을 포함하고 있음 Servlet HttpServeletRequest가 지나가야만 하는 곳 DispatcherServlet의 인스턴스 한 Servlet은 하나의 HttpServletRequest와 HttpServletResponse를 다룸 filter 하나 이상의 필터가 사용될 수 있음 하나 이상의 필터를 사용하여 다음 작업을 수행할 수 있음 다운스트림 필터나 서블릿이 호출되지 않도록 할 수 있음 이 경우 필터는 일반적으로 HttpServletResponse를 작성함 다운스트림 필터 인스턴스 및 서블릿에서 사용하는 HttpServletRequest ..
JWT 관련 용어 HMAC 암호화 방식이 대칭키 RSA 암화화 방식이 비대칭임 SHA256 해싱함수 어떤 값이던 함수에 넣으면 동일한 크기의 문자로 나옴 HS256 암호화 방식이 대칭키이고 SHA256 해싱함수를 통해 암호화한것 RS256 암호화 방식이 비대칭칭키이고 SHA256 해싱함수를 통해 암호화한것 Private으로 암호화하고 Public으로 복호화함 데이터를 누구나 볼 수는 있지만 변조는 할 수 없음 서명을 복호화하여 누구나 볼 수 있지만 서명을 바꿔 다시 암호화할 수는 없음
CIA 보안없이 보내면 CIA가 전부 깨짐 누구나 접근 가능해서 보안이 유지가 되지않고 파일이 수정되어 내가 원하는 문서에 접근 할 수 없기 때문임 따라서 데이터가 변조되거나 교체당하지 않게 데이터를 보장해줘야하며 키를 잘 전달해야함 C Confidential -> 기밀성 보안이 유지되어야함 I Integrity -> 무결성 A Ability -> 가용성 내가 원하는 문서에 접근 가능
순환 참조 금지 Spring 프레임워크에서 순환 참조를 금지하는 이유 순환 참조란 두 개 이상의 빈(Bean)이 서로를 참조하는 상황 빈 초기화 문제: 빈 간의 초기화 순서를 결정하는 것이 복잡해지며, 의존성 주입이 제대로 이루어지지 않을 수 있음 무한 루프: 순환 참조로 인해 무한 루프가 발생할 수 있음. 이는 의존성 그래프가 계속해서 빈을 참조하면서 애플리케이션이 시작되지 못하고 계속해서 초기화 단계에서 머물게 됨. 가독성 및 유지보수 문제: 순환 참조가 있는 경우 코드의 가독성이 떨어지고 유지보수가 어려워짐. 빈 간의 의존성이 복잡하게 얽히면 코드를 이해하고 수정하기가 어려워짐.
문제 양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다. # 예제 입력 2 4 2 # 예제 출력 8 이 문제를 풀기 위해서는 약수에 대해서 알 필요가 있다. 약수의 성질은 "N = N의 가장 작은 약수 x N의 가장 큰 약수" 와 같다. 따라서 입력받은 약수의 순서를 정리하고 배열의 첫번째와 마지막을 곱하면 정답이 나온다. import java.util.Arrays;..
문제 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 각 자릿수가 모두 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다. # 예제 입력 3 7 9901 # 출력 3 6 12 처음 이 문제를 보고 도통 이해가 가지 않았다. "각 자릿수가 모두 1로만 이루어진 n의 배수를 찾는다?" 해당 문장이 말하는 뜻은 n의 배수인데 각 자릿수가 1로만 되어있는 값을 말하는 것이다. 즉 [1, 11, 111, 111, 1111 ∙∙∙] 값들 중 n의 배수를 찾으라는 뜻이다. 처음에는 해당 문제가 비교적 간단하다고 생각하였다. n의 값을 7이라고 가정해보자 1 % ..