Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
mission2 연습문제 20
#pragmatic
2년 전
509

연습문제 20.

  1. 5 분 동안 '네트워크 인터페이스가 꺼짐' 이벤트를 세 번 받으면 운영직원에게 알려라.

(Stream) stream 을 3 개씩 모아 결정할 수 있는 buffer operator 를 이용한다. 각 value 에 시간을 담아서 세 번째 buffer 와 첫 번째 buffer 의 차이가 5분 이하이면 운영직원에게 알린다.

https://reactivex.io/documentation/operators/buffer.html

  1. 일몰 후에 층계 밑에서 동작이 감지된 다음 층계 위에서 동작이 감지되면 위층의 전등을 켜라.

(Pubsub + FSM) 전등에 state machine 을 만들고 동작 감지 센서를 subscribe 한다.

전등의 FSM

State A --(층계 밑에서 동작 감지 event)--> State B --(층계 위에서 동작 감지 event)--> State C

이 때, State C 가 되면 전등에 불을 킨다.

  1. 다양한 보고 시스템에 주문이 완료되었음을 알리고 싶다.

(Pubsub) 보고 시스템이 주문 완료를 보내는 시스템을 subscribe 한다.

  1. 고객에게 자동차 대출을 집행할 수 있는지 평가하기 위하여 애플리케이션에 세 가지 다른 서비스에 요청을 보내고 응답을 기다림

(Stream) stream 의 mergemap operator 를 통해 요청 3개를 보내고 기다린다.

https://rxjs.dev/api/operators/mergeMap