반응형
Reactive Programming 이란우선 설명하기 전에 위키에서 어떻게 설명을 하고 있는지 확인을 해보면,
컴퓨팅 에서 반응형 프로그래밍은 데이터 스트림 과 변경 사항의 전파 와 관련된 선언적 프로그래밍 패러다임 입니다 .
이라고 설명을 한다.
https://en.wikipedia.org/wiki/Reactive_programming
내용이 좀 이해가 안가서 쉽게 풀어서 설명을 다시 하면,
데이터 흐름과 전달에 관한 프로그래밍 패러다임 이다.
일반적인 프로그래밍이나 알고리즘 등 코딩을 짜면 순서의 흐름대로 imperative Programming(명령형 프로그래밍) 을 하게 된다.
하지만 Reactive Programming 은 데이터 흐름을 먼저 정의하고 데이터에 변경이 있을시 관련된 작업들을 실행한다.
쉽게 풀면 어떤 수동적인/ 누군가에 의한 이벤트에 의해 실행하는것이 아닌, 시스템에 이벤트가 발생하면 알아서 처리가 되는것이다.
명령형 프로그래밍은 pull 방식, Reactive Programming 은 push 방식이라고 한다.
Pull 방식은 데이터를 사용하는 곳(Consumer)에서 데이터를 직접 가져와서 사용한다면,
Push 방식은 데이터의 변화가 발생한 곳에서 새로운 데이터를 Consumer에게 전달한다.
예시
A | B | C | SUM |
1 | 2 | 3 | 6 |
위와 같은 표가 있고 이 표에서 A를 1에서 10으로 변경을 한다고 하면
명령형 프로그래밍은 10+2+3을 다시 계산해서 SUM 에 값을 수정하지만
Reactive Programming은 A의 값이 9 증가하였으니 즉각적으로 SUM 의 값을 9 증가 시킨다.
변화가 일어나지 않은 B와 C 를 굳이 다시 더할 필요가 없기에 그렇다.
즉 사람이 행하는것이 아닌 프로그램이나 시스템이 자동적으로 환경이 변하면 이벤트를 받아서 동작함으로 상호작용 하는 방식이다.
반응형
'IT > Knowledge' 카테고리의 다른 글
zustand 란?(React 에서) (13) | 2024.10.23 |
---|---|
RxJava 란? (11) | 2024.10.18 |
키네시스 스프링(Kinesis Spring) 이란 (12) | 2024.10.15 |
Race condition이란 (15) | 2024.10.07 |
웹 GL(WebGL) (21) | 2024.10.03 |
댓글