You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2025-03-09-reactive-programming.md
+12-8Lines changed: 12 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,11 +35,11 @@ image:
35
35
36
36
위 문장은 리액티브 프로그래밍에 대한 요약이다. 말만 들으면 무슨 말인지 잘 이해가 되지 않을 것이다. 처음이면 당연하다. 차근차근 정리해보겠다.
37
37
38
-
## Declarative Programming (선언형 프로그래밍) 과의 비교
38
+
## Imperative Programming(명령형 프로그래밍) 과의 비교
39
39
40
-
우리가 일반적으로 프로그래밍 하는 방식을 **선언형 프로그래밍** 이라고 한다.
40
+
우리가 일반적으로 프로그래밍 하는 방식을 **명령형 프로그래밍** 이라고 한다.
41
41
42
-
선언형 프로그래밍에서는 작업을 순차적으로 진행한다. 각 작업은 한 번에 하나씩 그리고 이전 작업 다음에 실행 데이터는 모아서 처리되고 이전 작업이 데이터 처리를 끝낸 후에 다음 작업으로 넘어간다. 즉, **동기식** 이다. 동기는 작업 완료에 대한 응답을 기다리는 방식이다.
42
+
명령형 프로그래밍에서는 작업을 순차적으로 진행한다. 각 작업은 한 번에 하나씩 그리고 이전 작업 다음에 실행 데이터는 모아서 처리되고 이전 작업이 데이터 처리를 끝낸 후에 다음 작업으로 넘어간다. 즉, **동기식** 이다. 동기는 작업 완료에 대한 응답을 기다리는 방식이다.
43
43
44
44
반면에 리액티브 프로그래밍은 비동기 방식이다. 작업 완료에 대한 응답을 기다리지 않아도 된다.
45
45
@@ -512,15 +512,15 @@ ids.take(1) // 테스트를 위해 1개만 받아오도록 처리
512
512
513
513
Reactive Programming 은 개념은 간단하다. 하지만 실제로 사용을 해보고자 하면 쉽지 않다. 많은 학습이 필요한 방식이다. 하지만 제대로 적용한다면, 더 좋은 성능을 낼 수 있는 어플리케이션을 만드는데 도움이 될 것이다. (무조건 쓰는게 좋다는 뜻은 아님.)
514
514
515
-
참고로 Reactive Programming 은 기존 방식(선언형 프로그래밍)에 비해 학습 해야할 것이 많아 진입 장벽이 있는 편이고, 디버깅과 에러 추적이 쉽지 않다. 모든 것에는 트레이드 오프가 따르는 것 같다.
515
+
참고로 Reactive Programming 은 기존 방식(명령형 프로그래밍)에 비해 학습 해야할 것이 많아 진입 장벽이 있는 편이고, 디버깅과 에러 추적이 쉽지 않다. 모든 것에는 트레이드 오프가 따르는 것 같다.
본문에서 이야기 한 대로 Reactive Programming 은 프로그래밍 패터다임 중 하나이다.
566
566
567
-
React.js 는 UI 라이브러리이다. 컴포넌트의 상태가 변경되었을 때, 변경사항에 따라 UI 를 렌더링 한다. 선언형 프로그래밍 (declarative programming) 을 사용한다.
567
+
React.js 는 UI 라이브러리이다. 컴포넌트의 상태가 변경되었을 때, 변경사항에 따라 UI 를 렌더링 한다. 선언형 프로그래밍 (declarative programming, 선언형 프로그래밍은 원하는 결과를 묘사하는 방식으로 코드를 작성하는 프로그래밍 패러다임이다. 세부사항은 라이브러리나 프레임워크가 담당한다.) 을 사용한다.
568
568
569
-
따라서 크게 관련있거나 하지는 않는다.
569
+
따라서 크게 관련있거나 하지는 않다.
570
+
571
+
참고: [How does React run your code?](https://react.dev/reference/rules/components-and-hooks-must-be-pure#how-does-react-run-your-code)
572
+
573
+
> React는 선언적입니다. 무엇을 렌더링할지 React에 알려주면 React가 사용자에게 가장 잘 표시하는 방법을 알아냅니다.
0 commit comments