웹, 프로그래밍,  JAVA, Spring,  Spring boot, 강의
  • 프로그래밍
  • 기초 학습 권장

반응형 웹 프로그래밍 NEXT STEP! : Spring WebFlux&R2DBC 활용

기본 개념만 훑고 넘어가는 강의는 이제 그만! 최신 Spring Webflux 기술 활용 뿐만 아니라 DB연동까지, 실전 프로젝트로 응용하며 배우는 리액티브 스트림 실무 강의를 만나보세요.

바로 수강
수강 기한
평생 수강
  • 온라인
    총 47강, 약 07시간 13분

Spring Reactive Webflux & R2DBC

단순히 코드가 아닌 Spring Boot를 기반으로 반응형 웹 프로그램의 핵심을 이해하고 심화하여 활용하고 싶으신가요?

강의소개

블로킹 프로그래밍을 논블로킹으로,
더 나아가 DB까지 비동기로 처리하는 리액티브 스택 웹 애플리케이션 개발까지!

Spring 강의

01. Spring 5 버전에서 제공하는 리액티브 스택 기술 완벽 정복!

반응형 웹프로그래밍, 어렵게만 느껴지시나요? CTO, TPM 등의 실무 경험뿐만 아니라 Java, 리액티브 프로그래밍 강의 또한 이어온 현직 강사님께 리액티브 스트림에 필요한 기본 개념과 활용에 필요한 기술을 확실하게 배워보세요.

02. Reactive backpressure 지원 웹 애플리케이션 개발!

논블로킹 방식으로 반응형 웹을 지원하는 Webflux와 리액터 API 활용하여 적은 수의 스레드로도 경제성, 확장성이 높은 비동기, 논블로킹 애플리케이션을 개발해보세요.

03. 프론트 컨트롤러부터 DB까지 비동기로 처리할 수 있는 애플리케이션 개발!

논블로킹 reactive driver로 DB를 접근할 수 있는 Spring Data R2DBC에 대한 개념 이해로 그치지 않고, 미니 프로젝트까지 진행해보면서 여러분들의 애플리케이션을 개발해보세요.

사전 온라인 강의 안내

이 과정을 수강하기 전, 아래 과정부터 확인하세요!

해당 분야에 대한 기초 지식이 부족하다면? 꼭 이 강의를 수강해야 해요!리액티브 프로그래밍의 기본 개념부터 활용까지 7시간 만에 완성할 수 있습니다.

Spring 강의

본 강의에서
무엇을 얻어갈 수 있나요?

비동기적인 웹 애플리케이션 개발에 대한 이해와 실습 능력

  • Spring Boot 기반

    반응형 프로그래밍의 핵심 이해

    반응형 웹 프로그래밍 방식으로 전환하려고 하는 곳이 많은 만큼, 반응형 프로그래밍과 비즈니스 케이스를 확실하게 이해하고 활용하는 것이 필요합니다. 리액티브 스트림 기술 전반에 대한 깊이 있는 학습을 토대로, 적은 리소스로 자원의 효율성을 높여 비즈니스 목표를 달성해보세요!

    Spring 강의
  • Webflux와 R2DBC

    최신 프로그래밍 트렌드

    적은 수의 스레드와 리소스로 동시성을 처리할 수 있는 논블로킹 웹 스택의 핵심기술인 Webflux뿐만 아니라, 기존 동기식 DB 접근 방식에서 반응형 비동기 DB 접근 API를 제공한 R2DBC 기술과 활용 스킬셋을 얻을 수 있습니다.

    Spring 강의
  • 빠른 실무 적용이 가능한

    미니 프로젝트 실습

    실전 프로젝트를 함께 진행해보며 Reactive Streams 기반 비동기 리액티브 스택 웹 애플리케이션 활용까지의 시간을 단축하세요!직접 도서 관리 프로그램 미니 프로젝트를 해보면서 실무에 적용할 수 있는 다양한 기법을 학습합니다.

    Spring 강의

신기술 도입을 주도해온 기술 총괄 현업 강사님께 배우는
반응형 웹 프로그래밍 기술 활용 + 실전 프로젝트!


본 강의가 특별한 이유는
무엇인가요?

1

Spring 웹 영역으로의 리액티브 프로그래밍 확장

기존 리액티브 강의에서는 Webflux의 기술을 맛보기로 학습할 수 있었다면,이번 강의에서는 Project Reactor에서 제공하는 API와 Webflux를 활용하여 서비스를 개발할 수 있습니다.추가적으로 MySQL과 RDBMS과 연동해보며 Spring Data Framework와 R2DBC를 배워보세요.

2

온/오프라인 강의를 지속해온 현직 개발자의 노하우 공개

개발 역량과 강의력은 엄연히 다른 분야입니다.러닝스푼즈 프로그래밍 카테고리 BEST 강의 <리액티브 프로그래밍 with 람다(lamdbda)> 강사님과 함께 반응형 웹 프로그래밍 실력을 업그레이드하세요.

3

리액티브 스트림 지원 통신 프로토콜 이해

스프링 웹 리액티브 모듈의 일부로 Spring MVC에서 HTTP 요청으로 사용하던 ClassicRestTemplate을 대체하는 반응형 논블로킹 API인 WebClient와 리액티브 스트림 지원 프로토콜인 RSocket을 이해하고 활용 스킬셋을 얻을 수 있습니다.

여기서 잠깐! 혹시 개발이 처음이신가요?

  • * 본 강의는 과정 특성상 난이도가 높아 Java 개발 경험이 필수로 필요하며 Java 입문자가 수강하기에는 다소 어려울 수 있습니다.
  • * Java 람다 및 함수형 프로그래밍, Spring Framework, Reactive 프로그래밍에 대한 기본 이해가 필요합니다.

이런 내용을 배우시게 될 거예요!

1

Spring Boot 개발 환경 구성

2

Spring Webflux, Reactive Core 이해

3

Flux와 Mono 기본 개념 및 활용

4

함수형 프로그래밍의 핵심

5

WebClient & RSocket

6

Spring Data R2DBC MySql & MongoDB 연동

수강 대상

이런 분들은 꼭 들으셔야 해요!


스프링 프레임워크를 활용한 개발자 중 반응형 웹 프로그래밍에 관심있는 개발자


반응형 프로그래밍에 관심 있는 개발자


비동기, 논블럭킹 웹 프로그램에 관심 있는 개발자

강사소개

우리 강사님을 소개할게요!

Spring 강의

김종권

이력사항
  • 現 대기업 AA(Application Architect), TPM
  • 브리치 CTO
  • 하나투어 차세대 프로젝트 아키텍처팀 리더, 시스템운영팀 리더
  • SK커뮤니케이션즈 iOS개발팀 네이트온 앱 개발
  • 대규모 SI 프로젝트 수행 경력
  • 한국 썬 교육센터 Java 전임강사 (초급~고급 과정 교육)
프로젝트
  • 삼성화재 차세대 프로젝트
  • 삼성생명 종합상품 프로젝트
  • 신세계 I&C eCVan 프로젝트

1. 자기소개 부탁드립니다.

현재 대기업에서 AA(Application Architect)와 TPM 직무를 수행하고 있으며, 이전에는 브리치와 스타트업에서 CTO로써 기술 총괄 업무를 담당하며 개발문화 도입 및 신기술 도입, 시스템 안정화를 위한 다양한 업무 경험을 보유하고 있습니다.그리고 모바일 관련 앱 개발과 Java 기반 차세대 프로젝트의 아키텍처 총괄 리더 업무를 담당하였으며, 다수의 대규모 프로젝트의 실무 개발 경험을 보유하고 있으며, 한국 썬 교육센터에서 Java 전임강사로 활동을 하면서 Java기초에서 고급 과정까지 강의 활동을 하였기에 실무 개발자들보다는 이론에 강하며 입문자의 눈높이에 맞춰 교육을 진행할 수 있다고 할 수 있습니다.이 강의를 수강하시는 분들이 수강 종료 후에는 Spring 기반의 반응형 웹 프로그래밍 및 DB 연동 기술을 이해하고 활용할 수 있는 개발자로 성장할 수 있는 발판을 마련하셨으면 합니다.

2. 강의에서는 주로 어떤 내용을 다룰 예정이시고, 어떤 형태로 진행되나요?

단순히 코드에 집중하기 보다는 Spring Boot를 기반으로 반응형 웹 프로그래밍에 필요한 개념과 Reactor, WebFlux, 동시성에 대한 처리 방식, RDB를 논블로킹으로 접근할 수 있는 R2DBC까지 리액티브 스트림 기술을 전반적으로 이해하고 활용에 필요한 기술을 다룰 예정입니다. 주로 다루는 내용은 아래와 같습니다.- Reactive Core 이해 Spring- WebFlux 주요 기술- 논블로킹 HTTP WebClient 함수형 API- 리액티브 스트림 지원 프로토콜 RSocket- R2DBC 기술 이해 및 활용

3. 본 수업이 필요한 이유는 무엇인가요?

Reactive. 즉, 반응형 시스템은 대기 시간이 짧고 처리량이 많은 workload에 이상적입니다. 최근에 여러분이 주로 개발하던 방식의 블로킹 프로그래밍에서 논블로킹에 반응형 웹 프로그래밍 방식으로 전환하려고 하는 곳이 많은 주요 이유는 더 적은 리소스로 더 많은 작업을 수행해야하는 비즈니스 케이스가 많아지고 있고, 자원의 효율성을 높여 최적의 운영 Cost을 확보하기 위함입니다.이런 점에서 이 과정을 통해 필요한 기술과 활용 방법을 빠르게 습득하여 실무에 적용한다면 비즈니스 Goal을 달성하는데 많은 도움이 될 것 입니다.

4. 본 강의에서 배운 내용을 수강생 분들이 어떻게 활용할 수 있을까요?

반응형 프로그래밍이 무조건 좋은 프로그래밍 방식은 아닙니다. Servlet Stack의 동기 방식 웹 프로그래밍이 범용적인 방식이라면, 반응형은 대기 시간이 짧고 처리량이 많은 workload에 이상적이며, 이벤트에 반응하는 반응형 프로그래밍의 핵심인 배압(Backpressure) 이란 것 을 통해 적은 수의 스레드로 확장성이 좋은 비동기, 논블로킹 I/O 애플리케이션을 개발할 수 있습니다. Reactor Operator와 scheduler는 초당 1천만개의 메시지에 대한 높은 처리율을 유지하여 효율적인 메시지 전달이 가능하고, 반응형 프로세싱을 사용하여 더 적은 수의 마이크로 서비스 인스턴스로 더 많은 concurrent user를 만족시킬 수 있고, 방대한 수의 concurrent connection을 처리하는 멀티 코어, 차세대 프로세스를 활용할 수 있습니다. 이런 비즈니스 케이스가 있다면 이 과정을 통해 습득한 기술을 실무에 적용할 수 있습니다.

5. 다른 강의와 어떤 차별점이 있나요?

타 강의는 WebFlux와 R2DBC에 대해 deep하게 접근하기 보다는 개념 위주의 간략한 샘플 강의가 대부분입니다. 하지만 이 강의는 WebFlux, R2DBC기술에서 제공하는 다양한 API와 개념에 대해서 Deep하게 다루며, 이렇게 학습한 내용을 토대로 미니 프로젝트를 해보면서 자기만의 것을 만들 수 있는 실무 중심의 강의라고 할 수 있겠습니다  

6. 마지막으로 수강생들에게 하고 싶으신 말이 있다면?

Reactive. 즉, 반응형 시스템은 대기 시간이 짧고 처리량이 많은 workload에 이상적이며, Reactive Stack의 기초가 되는 Project Reactor를 기반으로 Spring Framework 5 에서는 Spring Boot 기반의 Reactive Microservices를 구축할 수 Spring WebFlux와 Spring Data reactive repositories를 통해 fully reactive stack을 제공하고 있습니다.이 강의가 이런 기술 스택 이해와 활용할 수 있도록 도와 줄 것입니다. 어렵게 느껴지는 반응형 웹 프로그래밍의 높은 계단을 저와 함께 올라가보도록 해요!

커리큘럼 (47)

  • SECTION 1. Spring Boot 이해와 환경 구성

    00:51:36

    1-1. Spring Boot Intro

    00:06:15

    1-2. Spring Framework의 이해

    00:15:37

    1-3. Spring Boot

    00:10:28

    1-4. 개발환경 구성

    00:11:36

    1-5. Dev Tools 활용

    00:07:40
  • SECTION 2. Spring WebFlux 이해

    01:36:33

    2-1. Spring WebFlux Overview (1)

    00:16:41

    2-2. Spring WebFlux Overview (2)

    00:08:22

    2-3. Spring WebFlux Overview (3)

    00:26:55

    2-4. Reactive Core 이해 (1)

    00:14:22

    2-5. Reactive Core 이해 (2)

    00:09:10

    2-6. Reactive Core 이해 (3)

    00:10:15

    2-7. Concurrency Model (동시성 모델) 이해

    00:10:48
  • SECTION 3. Controller & WebHandler

    00:42:15

    3-1. DispatcherHandler, WebFlux Config, Controller

    00:12:22

    3-2. Request Mapping

    00:09:04

    3-3. Handler Method

    00:12:29

    3-4. Flux & Mono, Exeption, View Resolution

    00:08:20
  • SECTOIN 4. 함수형 프로그래밍 모델

    00:25:07

    4-1. Functional Endpoints, Handler Function

    00:10:26

    4-2. Router Function

    00:08:15

    4-3. Running a Server, Filtering Handler Functions

    00:06:26
  • SECTION 5. WebFlux Config

    00:15:51

    5-1. WebFlux Config 활용 (1)

    00:10:02

    5-2. WebFlux Config 활용 (2)

    00:05:49
  • SECTION 6. WebClient

    00:52:37

    6-1. WebClient 개요

    00:04:29

    6-2. WebClient Configuration (1)

    00:08:30

    6-3. WebClient Configuration (2)

    00:05:14

    6-4. WebClient retrieve(), Exchange

    00:05:58

    6-5. WebClient - Request Body

    00:05:14

    6-6. WebClient - Fliters, Attributes, Context, Synchronous Use

    00:06:52

    6-7. WebClient Example

    00:04:57

    6-8. 코드 리뷰 (1)

    00:06:03

    6-9. 코드 리뷰 (2)

    00:05:20
  • SECTION 7. CORS

    00:07:47

    7-1. CORS 개요

    00:05:07

    7-2. Global Configuration, CORS WebFilter

    00:02:40
  • SECTION 8. Spring Data R2DBC 이해

    01:11:28

    8-1. Spring Data RDBC 개요 (1)

    00:14:57

    8-2. Spring Data RDBC 개요 (2)

    00:02:38

    8-3. Spring Data RDBC 개요 (3)

    00:08:35

    8-4. Spring Data RDBC 개요 (4)

    00:10:37

    8-5. R2DBC Repositories (1)

    00:08:44

    8-6. R2DBC Repositories (2)

    00:10:49

    8-7. R2DBC Repositories (3)

    00:06:35

    8-8. R2DBC Repositories (4)

    00:08:33
  • SECTION 9. Spring Data R2DBC 활용하기

    00:51:55

    9-1. 프로젝트, Connection Factory 설정하기 (1)

    00:09:12

    9-2. 프로젝트, Connection Factory 설정하기 (2)

    00:08:39

    9-3. Connection 획득 및 Statement 실행

    00:08:15

    9-4. Spring Data RDBC 활용하기 (1)

    00:12:14

    9-5. Spring Data RDBC 활용하기 (2)

    00:13:35
  • SECTION 10. 미니 프로젝트

    00:18:07

    10-1. 도서 관리 CRUD 작성 (1)

    00:12:22

    10-2. 도서 관리 CRUD 작성 (2)

    00:05:45

커리어 성장으로 가는 길, 러닝스푼즈와 함께 하세요!

지금 보고 계시는 강의의 관련 태그로 다른 강의도 찾아보세요.

온라인

반응형 웹 프로그래밍 NEXT STEP! : Spring WebFlux&R2DBC 활용

강의찾기