학습 (15) 썸네일형 리스트형 Multicasting Operator - API 🌟 Reactor Practice: Multicasting 🌟🎯 Table of Contents연산자설명🔄 Publish하나의 소스를 여러 구독자와 공유🌊 RefCount구독자 수에 따른 동적 실행 관리🔥 AutoConnect첫 구독 시 자동으로 소스에 연결🔗 Cache소스의 결과를 캐싱하여 재사용--- Publish: 구독자 공유의 시작 🔄✨ 주요 특징하나의 소스를 여러 구독자와 공유Cold 스트림을 Hot 스트림으로 변환구독자 간 데이터 동기화 가능💡 사용 사례실시간 데이터 브로드캐스팅여러 컴포넌트 간 데이터 공유리소스 집약적인 작업 결과 공유📝 예시 상황주식 시세 정보 실시간 배포센서 데이터의 다중 처리대규모 계산 결과의 공유RefCount: 구독자 기반 실행 제어 🌊✨ 주요 특.. Sequence Seperate Operator - API 🌟 Reactor Practice: Sequence Seperate 🌟🎯 Table of Contents연산자설명🔄 Window데이터 스트림을 작은 윈도우로 분할하는 연산자🌊 Buffer데이터를 List로 모아서 처리하는 연산자📝 GroupBy키 기준으로 데이터를 그룹화하는 연산자Window: 윈도우 크기 지정 🔄✨ 주요 특징데이터 스트림을 작은 윈도우로 분할각 윈도우는 새로운 Flux로 생성크기, 시간, 조건 기반 분할 가능원본 시퀀스를 더 작은 시퀀스로 나눔💡 사용 사례실시간 데이터 배치 처리시계열 데이터 분석스트리밍 데이터 청크 처리대용량 데이터의 실시간 처리📝 예시 상황IoT 센서 데이터의 실시간 분석주식 시장 데이터의 시간별 분석로그 데이터의 청크 단위 처리Flux.range(1.. 변환형 Operator - API 🌟 Reactor Practice: Sequence Modify Operators 🌟🎯 Table of Contents연산자설명🔄 Map각 요소를 동기적으로 변환하는 연산자🌊 FlatMap각 요소를 비동기적으로 변환하고 평탄화하는 연산자📝 CollectList모든 요소를 리스트로 수집하는 연산자🗺️ CollectMap요소들을 Map으로 수집하는 연산자🔗 Concat여러 Publisher를 순차적으로 연결하는 연산자🤝 Merge여러 Publisher를 비동기적으로 병합하는 연산자🎯 Zip여러 Publisher의 요소들을 조합하는 연산자✨ And여러 작업의 완료를 기다리는 연산자--- Map: 기본 변환의 시작 🔄✨ 주요 특징각 요소를 1:1로 변환동기적 변환 수행스트림의 요소 수 유지?.. 필터형 Operator - API 🌟 Reactor Practice: Filtering Operators 🌟🎯 Table of Contents연산자설명🎯 Filter동기적으로 조건에 맞는 데이터를 필터링하는 연산자🚀 FilterWhen비동기적으로 조건을 평가하여 필터링하는 연산자🍏 Next스트림의 첫 번째 데이터를 가져오는 연산자⏭️ Skip처음 몇 개의 데이터를 건너뛰는 연산자🎯 Take처음 몇 개의 데이터만 선택하는 연산자⏳ TakeLast마지막 몇 개의 데이터만 선택하는 연산자🕒 TakeWhile조건이 참인 동안 데이터를 선택하는 연산자Filter: 필터링의 기본 🎯✨ 주요 특징동기적으로 조건을 평가하여 데이터를 필터링Predicate를 사용하여 조건 정의스트림의 각 요소에 대해 조건을 검사💡 사용 사례짝수/홀수 .. 생성형 Operator - API Create Operator API 📥🎯 Table of Contents연산자설명🛠️ Create프로그래머가 직접 Signal을 생성하는 연산자⏳ Defer구독 시점에 데이터 스트림을 생성하는 연산자🔄 FromIterable컬렉션을 리액티브 스트림으로 변환하는 연산자⚡ Generate상태 기반으로 값을 생성하는 연산자🔒 Using리소스를 안전하게 관리하며 데이터를 생성하는 연산자📦 JustOrEmptynull을 포함할 수 있는 단일 값을 위한 연산자🔢 Range연속된 정수 시퀀스를 생성하는 연산자1. Create 연산자프로그래머가 직접 Signal을 생성하여 데이터를 전달하는 방식의 연산자입니다.주요 특징FluxSink를 통한 프로그래밍 방식의 데이터 생성백프레셔 지원다양한 오버플로우 전략 .. Context 📚 이전학습더보기SchedulerContext in Reactive Programming 🌐Context란? 🧩정의: 비동기 작업 간에 상태 또는 데이터를 전달할 수 있도록 설계된 객체.목적:전역 상태를 대체명시적이고 안전한 데이터 전달요청 간 정보 공유를 위한 효율적인 방식 제공사용 사례:인증/인가 정보 전달로깅 및 추적 데이터 전달기본 설정 값 또는 환경 변수 전달Context의 특징 🛠️불변성Context 객체는 불변(immutable)으로 설계됨.새 데이터를 추가하거나 제거할 경우 기존 Context는 변경되지 않고, 새로운 Context가 생성됨.Thread-Local 대체Context는 Thread-Local 변수와 유사한 역할을 하지만, 비동기/논블로킹 환경에서도 안전하게 사용할 수 .. Scheduler 📚 이전학습더보기SinkScheduler 📘Thread에 대한 이해 🧵Thread의 기본 개념정의: 프로세스 내에서 실행되는 가장 작은 실행 단위특징: 독립적인 실행 경로와 스택을 가짐동시성: 여러 작업을 동시에 처리 가능Thread의 종류User Thread (사용자 스레드)애플리케이션 레벨에서 생성/관리개발자가 직접 제어 가능Daemon Thread (데몬 스레드)백그라운드에서 실행데몬 스레드는 백그라운드에서 동작하며, 주요 애플리케이션의 동작에 영향을 미치지 않고 보조 작업을 수행합니다.백그라운드에서 실행데몬 스레드는 메인 스레드가 종료될 때 자동으로 종료됩니다. 즉, 명시적으로 종료 시키지 않아도 됩니다.자동종료데몬 스레드는 메인 스레드가 종료될 때 자동으로 종료됩니다. 즉, 명시적으로 종료.. Sinks 📚 이전학습더보기더보기백프레셔🌟 WebFlux Sinks - 개요 및 주요 개념WebFlux Sinks는 프로그래밍 방식으로 데이터를 리액티브 스트림에 푸시할 수 있는 메커니즘을 제공합니다.외부 이벤트나 수동 트리거가 데이터를 생성하는 시나리오에서 특히 유용합니다.✨ WebFlux Sinks의 주요 특징⚡ Backpressure 지원Sinks는 다운스트림 구독자의 수요를 존중하며, 리소스를 효율적으로 활용합니다.🔒 스레드 안전성동시 접근 및 데이터 방출이 안전하게 관리되어 멀티스레드 환경에서 적합합니다.🎛️ 유연한 데이터 방출여러 전략(unicast, multicast, replay)을 통해 이벤트가 구독자에게 전달되는 방식을 제어할 수 있습니다.🛠️ WebFlux Sinks의 유형🟩 Unic.. 이전 1 2 다음