jiwonii97.log
로그인
jiwonii97.log
로그인
[TIL] 240318 - 반응형 프로그래밍(Reactive Programming)
황지원
·
2024년 3월 19일
팔로우
0
TIL
개발
TIL
목록 보기
11/15
개요 🎯
챗봇 서비스를 개발하면서 비동기 서비스에 대한 중요성을 느꼈다.
더 효율적인 비동기적 서비스 개발을 위해
반응형 프로그래밍(Reactive Programming)
에 대해서 공부하고자 한다.
인사이트 👀
정의
비동기 데이터 흐름에 기반을 둔 프로그래밍 패러다임으로 모든 것을 데이터 스트림으로 간주하고, 데이터(이벤트)에 따라 변경 내용을 전파하는 프로그래밍 방식
데이터와 이벤트의 비동기적 흐름에 중점을 둔 프로그래밍 패러다임
데이터는 데이터의 원본에서 대상까지 한 방향으로 흐르며 일련의 변환 및 처리 단계를 거쳐간다.
특징
데이터가 스트림으로 처리되며, 데이터의 변경이나 이벤트 발생에 따라 처리 과정에서 자동으로 업데이트가 진행된다.
데이터의 변경이나 이벤트 발생에 따라 처리 과정에서 자동으로 업데이트
효율적인 비동기 처리, 데이터 흐름의 일관성 유지, 오류 처리 및 예외 상황 처리 등의 이점을 제공
OOP
와 다르게 데이터의 흐름에 더 집중
이 데이터 흐름은 관찰할 수 있거나 필터링하거나 다룰 수 있으며 새로운 흐름을 만들기 위해 다른 흐름과 병합할 수도 있다.
비동기 처리를 지원하여 멀티스레딩 환경에서도 효율적으로 동작
함수형 프로그래밍 패러다임의 도구들을 자유자재로 활용하여 데이터 흐름을 제어
변수 값을 바꾸면 해당 변수를 참조하는 모든 식들이 연쇄적으로 스스로의 값을 갱신한다.
장단점
장점 (+)
동기식 비효율적 처리로 인한 병목현상 해결
다수의 비동기 이벤트를 효과적으로 처리할 수 있기에 사용자 경험을 개선가능
단점 (-)
언제 변할지 모르는 수많은 데이터를 일일히 추적하다보면 성능을 저하시켜 고속처리 사용에는 부적합
속도 느린 사용자 입력 반응 UI 등에서 사용
황지원
함께 도전하고 성장하는 어린 꿀벌, 주니어 개발자 황지원 입니다
팔로우
이전 포스트
[TIL] 240229 - SQL 테이블 Column 관리 (ALTER Table)
다음 포스트
[TIL] 240326 - Pandas.Dataframe
0개의 댓글
댓글 작성