Spring55 스프링 핵심 원리 - 스프링이란? Repeat is the best medicine for memory 스프링 생태계 스프링으로 개발한다는 것은 위의 그림과 같이 스프링 프레임워크 또는 스프링 부트 사용이 필수적이다. 이외의 오른쪽에 있는 기술들도 제공하는데, 각 용도에 맞춰 필요한 경우 스프링과 함께 편리하게 개발할 수 있도록 도와준다. 이외에도 스프링은 많은 기능들을 제공한다. ( 필요하다면 공식 사이트에 들어가서 확인해보자 ) 이들 중에서 가장 중요한 것은 ' 스프링 프레임워크 ' 자체이며 아래와 같은 사항들이 모두 스프링 프레임워크 안에 들어간 기능이다. 여기에서는 스프링 프레임워크의 핵심 기술들에 대해서 정리하며 학습을 진행하겠다. 단, 스프링 부트를 사용하며 정리할 것인데, 스프링 부트는 스프링 프레임워크의 사용과 관.. Spring/SpringCore - basic 2024. 11. 4. Spring Batch 서버 개발(2) - ItemReader 와 Bulk Insert처리 😎 이 글에서 다룰 것성능적 측면에서 고려했던 DB 접근 기술인 ItemReader 선택 고려사항과 Bulk 처리 Write에서의 고려사항 ItemReader 선택앞서 언급한 내용처럼 배치작업은 결국 일괄적으로 많은 데이터를 한번에 모아서 처리하는 작업이다.즉, 단순한게 표현하자면 요구사항에 맞춰서 데이터를 읽고 처리해주는 것이 핵심인 것이다. 이를 다르게 생각하면 실시간 처리가 어려운 대용량의 데이터를 다루기 위한 기술으로도 볼 수 있다. 따라서 자연스럽게 데이터 처리와 관련하여 효율성을 높이는 것에 최대한 초점을 맞춰 개발을 진행하였고 과정에서 고려했던 내용들을 정리해보겠다. 먼저 데이터를 읽어오는 ItemReader 부분이다. ItemReader ? 영어 단어가 의미하는 뜻이 직관적으로 다가오.. Dev Log/Batch개발(청구-수납) 2024. 11. 2. 시큐리티 기본 원리( 5 ) - SecurityContextHolder( 인증 정보 공유 방식 ) SecurityFilterChain 내부에 존재하는 많은 필터로 시큐리티 관련 작업을 진행한다.모든 작업은 필터마다 기능 단위로 분업하여 진행하기에 앞에서의 작업이 이후 필터가 알기 위한 저장소 개념이 필요하다. 단편적인 예시로 인가 필터가 작업을 하려면 유저의 role 정보가 필요하게 되는데,앞단의 필터에서 유저에게 role값을 부여한 결과를 인가 필터에 도달하기 까지 공유해야 확인할 수 있다. 시큐리티의 정보 공유 방식 즉, 인가 필터 이전에 아이디, 로그인 여부, role 데이터 등의 정보를 저장하고 있을 곳이 필요한데,이러한 정보는 ‘Authentication 객체’가 저장한다 Authentication 객체가 담고 있는 정보는 크게 아래와 같다. Principal : 유저에 대한 정보Cred.. Spring/시큐리티 기본원리 2024. 6. 15. 시큐리티 기본 원리( 4 ) - SecurityFilterChain 구조 지난 포스팅에서 SecurityFilterChain을 등록하고 다중 필터에서 적절하게 맵핑하여 활성화하는 방법에 대해 알아보았다.이번에는 SecurityFilterChain의 구조에 대해서 다뤄보겠다. SecurityFilterChain의 내부 구조하나의 SecurityFilterChain 내부에는 N개의 필터가 있어 각각의 필터가 하나의 로직을 수행하는 시작점으로 작용한다.여기서 시작점으로 작용한다는 의미는 실제 필터는 특정 기능을 수행하도록 만드는 역할만 담당할 뿐,실제 기능의 구현은 스프링 컨테이너 내부에 담긴 Bean이 담당한다. 즉, 각 필터에 따라 스프링 컨테이너 내부의 구현체에 의하여 기능을 제공하는 것이다. SecurityFilterChain에 등록된 필터SecurityFilterCha.. Spring/시큐리티 기본원리 2024. 6. 15. 시큐리티 기본 원리( 3 ) - SecurityFilterChain( 다중 필터 경로 매핑 ) 앞서 시큐리티의 전체적인 흐름을 살펴본 내용에 의하면, DelegatingFilterProxy를 이용해서 요청을 가로채고 FilterChainProxy 에 도달하면 각 SecurityFilterChain의 시큐리티 로직을 통해서 필요한 인증 인가 기능을 구현하게된다. 그리고 SecurityFilterChain의 부분이 실제 우리가 시큐리티에서 필요한 로직과 기능을 구현하는 부분이다. 커스텀 SecurityFilterChain 등록법먼저, 스프링 시큐리티 의존성을 추가하면 기본적인 DefaultSecurityFilterChain 하나가 등록된다. 이후에 우리가 SecurityFilterChain 을 등록하면 DefaultSecurityFilterChain 이 사라지고 커스텀 마이징한 SecurityFil.. Spring/시큐리티 기본원리 2024. 6. 15. 시큐리티 기본 원리( 2 ) - DelegatingFilterProxy / FilterChainProxy 시큐리티의 동작 원리에 큰 구성으로는 DelegatingFilterProxy / FilterChainProxy / SecurityFilterChain이 있다.그 중 DelegatingFilterProxy와 FilterChainProxy이 무엇인지 살펴보자. DelegatingFilterProxy / FilterChainProxy 이란?DelegatingFilterProxy 먼저 DelegatingFilterProxy는 스프링에 시큐리티 의존성이 활성화되어 있다면, 클라이언트의 요청을 가로채어서 등록된 FilterChainProxy로 요청을 보내는 역할을 수행하며, 특정한 시큐리티의 로직을 수행하지는 않는다. 그리고 DelegationgFilterProxy에 FilterChainProxy Bean으로 .. Spring/시큐리티 기본원리 2024. 6. 15. 시큐리티 기본 원리( 1 ) - 내부구조 및 동작원리 스프링과 요청 처리의 구조 클라이언트와 스프링 서버의 관계는 위와 같은 그림으로 나타낼 수 있다. 클라이언트의 요청에 따라 Was 컨테이너를 거쳐 스프링 컨테이너로 가서 요청에 따른 컨트롤러에 도달한다. 시큐리티를 학습함에 있어 위의 도식에서 살펴볼 것은 ‘Filter’이다.그 이유는 Filter를 사용하여 클라이언트의 요청을 가로채고 시큐리티 역할과 로직을 수행하도록 구현되기 때문이다. 클라이언트의 요청에 따른 시큐리티 동작 과정 WAS의 필터에 하나의 필터를 만들어서 넣고 해당 필터에서 요청을 가로챈다.해당 요청은 스프링 컨테이너 내부에 구현되어 있는 스프링 시큐리티 감시 로직을 거친다.시큐리티 로직을 마친 후에 WAS의 다음 필터로 복귀한다. 또한 스프링에서 시큐리티 로직 또한 여러개의 필터들이 나.. Spring/시큐리티 기본원리 2024. 6. 15. 이전 1 2 3 4 5 다음