본문 바로가기

패스트캠퍼스/100% 환급 챌린지_2

패스트캠퍼스 환급챌린지 55일차 : Netplix 구독형 멤버십 프로젝트로 배우는 Spring Security 강의 후기

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://abit.ly/lisbva

 

 

안녕하세요 :)

오늘은 챌린지 55일차로, 이렇게 챌린지 마지막 일요일을 보내고 있습니다.

 

오늘 배울 내용은,

Part D. 스프링 시큐리티 활용

Ch 1. 스프링 시큐리티와 리액티브 프로그래밍

"01. 리액티브란" 입니다.


 

오늘은 리액티브(Reactive)에 대해 배우는 시간이였다. 기존에 동작하던 프로그래밍 흐름과는 조금 다른 흐름으로 생각해야 했다.

리액티브는 웹 애플리케이션을 개발할 때 사용할 수 있는 강력한 방법 중 하나로 떠오르고 있는데, 소프트웨어 개발에서의 다른 기술과 마찬가지로 무조건적인 방법은 아니며, 필요한 상항에서 적절히 사용할 수 있어야 한다.

대규모 작업의 실행을 처리해야 할 때 효과적으로 작용할 수 있고, 일반적인 프로그래밍 방식에서는 대규모 작업을 처리하는데 오래 걸릴 수 있다. 즉, 클라이언트는 작업이 완전히 종료될 때까지 기다려야 응답을 받을 수 있다. 리액티브 프로그래밍에서는 특정 작업을 동시에 처리하도록 나눌 수 있기 때문에 클라이언트는 조금 더 빨리 결과를 받을 수 있다.

이번 시간에는 리액티브 프로그래밍으로 구현되는 애플리케이션에서 스프링 시큐리티를 어떻게 적용할 수 있을지에 대해 알아보았다. 리액티브 애플리케이션이라는 주제는 매우 방대하기 때문에 모든 내용을 다 담을 수 없기에 필수 개념정도만 알아보았다.

리액티브 앱이란? 앱을 구현할 때에는 크게 두 가지 방식으로 기능을 구현할 수 있다.

방식 1. 명령형으로 전체 데이터를 한 번에 처리하는 방식이다.
- 서버에서 노출한 엔드포인트를 클라이언트가 호출
- 호출 시 모든 데이터를 백엔드로 보냄
- 클라이언트는 서버에서 요청을 처리하는 동안 응답을 기다림

방식 2. 리액티브 방식으로 나눠서 처리하는 방식이다.
- 호출 시 모든 데이터를 백엔드로 보내지 않음
- 서버에서는 데이터를 받는 대로 처리하며, 모든 데이터를 받을 때까지 기다리지 않음

두 프로그래밍 방식을 비유하자면, 배달 앱을 생각해보면 된다.
1. 명령형 : N개의 주문이 모일 때까지 기다림 -> A매장으로 모든 주문을 한번에 전달 -> 한번에 음식을 전달
2. 리액티브 : 주문이 1개만 들어와도 진행함 -> A매장으로 1개 주문을 전달 -> 배달

또 이외에도 리액티브 사양과 프로젝트 리액터 / 리액티브 애플리케이션의 시작 / 리액티브 애플리케이션의 특징 / 리액티브와 스프링 시큐리티에 대해 알아보는 시간을 가지며 이해하는데 도움이 많이 된 것 같다.