개발자
안녕하세요, 얼마전에 signal에 대해 질문 올렸던 사람입니다. 공부하던 중에 더 궁금한 것이 생겨서 질문 남겨요. 시그널이라는 개념은 어느정도 이해가 된 것 같은데, observable이라는 개념도 있더라구요. 둘의 차이는 뭔가요?
답변 2
일단 저는 observables은 시간에 따라서 변환하는 값을 담은 상자와 같다고 이해하였습니다. 더 깊은 이해를 아래 블로그가 읽어보시는게 좋을거 같습니다. https://poiemaweb.com/angular-rxjs-observable
익명
작성자
2023년 04월 18일
저번에도 좋은 답변 달아주셨는데 감사합니다 성주님 ㅎㅎ 복 많이 받으실거에요!
' Signal '과 ' Observable '은 두 가지 다른 프로그래밍 패러다임에서 비동기 이벤트 처리를 위한 개념입니다. ' Signal '은 ReactiveCocoa, ReactiveSwift, ReactiveObjC 등 리액티브 프로그래밍 라이브러리에서 사용되는 반면, ' Observable '은 RxJS, RxJava, Rx.NET 등 Rx (ReactiveX) 프로그래밍 라이브러리에서 사용됩니다. 두 개념의 차이점은 다음과 같습니다: 1. 정의 및 사용: - Signal: Signal은 이벤트 스트림을 나타내는 개념으로, 주로 이벤트를 생성하고, 변환하며, 다른 이벤트에 결합하는 데 사용됩니다. Signal은 한 번 이벤트가 발생하면, 이벤트 핸들러를 통해 값을 전달합니다. Signal은 종료되지 않고 계속 실행될 수 있습니다. - Observable: Observable은 이벤트 시퀀스를 나타내는 개념으로, 이벤트를 생성하고, 변환하며, 다른 이벤트에 결합하는 데 사용됩니다. Observable은 이벤트 스트림을 구독(subscribe)하고, 이벤트가 발생할 때마다 구독자에게 값을 전달합니다. Observable은 구독자가 구독을 해제(unsubscribe)하거나, Observable이 완료되거나, 에러가 발생할 때까지 실행됩니다. 2. 라이브러리 및 언어 지원: - Signal: ReactiveCocoa, ReactiveSwift, ReactiveObjC와 같은 리액티브 프로그래밍 라이브러리에서 사용됩니다. 주로 Swift와 Objective-C 언어를 위한 라이브러리입니다. - Observable: RxJS, RxJava, Rx.NET 등 ReactiveX (Rx) 프로그래밍 라이브러리에서 사용됩니다. 이러한 라이브러리는 여러 프로그래밍 언어와 플랫폼에 대한 지원을 제공합니다 (예: JavaScript, Java, C#, Python, Ruby 등). 두 개념은 이벤트 처리 및 비동기 프로그래밍을 위한 비슷한 목적을 가지고 있지만, 라이브러리와 구현 방식에 따라 차이가 있습니다. 어떤 개념을 사용할지는 개발 환경, 프로그래밍 언어, 라이브러리 선택 등의 요소에 따라 결정됩니다.
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!