SlideShare a Scribd company logo
Observable C++ expressions
using
Observable Library
-
NHN NEXT 이근원
Index
1. Observable C++ Expression
2. Observable Library
1. Features & Setting
2. Using Subject
3. Using Value
4. Using Property
Observable C++ Expression
- With Average Example
일반적으로 우리가 두 수의 평균을 구하는 방법.
값이 바뀌면 다시 평균을 계산한다.
요걸 Observable library를 사용하면...
값이 얼마가 변하던 다시 계산해줄 필요가 없다!
구독 메소드를 이용해 코드를 reactive하게 만들 수 있다.
-> Observable 라이브러리를 사용해 볼까?
Observable Library
- Feature
github : https://github.com/ddinu/observable
- Header-Only 라이브러리라 사용하기 쉽다.
- MSVC15 (VS 2017), GCC 5.4, 6.2, Clang 3.6~3.9 지원
- 손쉽게 Reactive Programming이나 Observer pattern을 구현할 수 있다.
Observable Library
- Setting
다들 아시겠지만~~ 사용법
- Observable 라이브러리의 Github에서 다운로드.
- Header Only 라이브러리기 때문에
디렉토리 설정만 해주면 된다.
Library Examples
- include & namespace
Library Examples
- With Subject
subject<T> 클래스 생성.
- 인자로 받은 형태를 내부에 std::function 형태로 저장.
- 내부 저장소는 Thread-safe 하지만
함수 호출 순서는 특정할 수 없음.
관심 있는 주제에 대해 구독.
- Subscribe : Subscribe 오브젝트를 반환.
- 오브젝트는 Unsubscribe를 위해 보관.
- 혹은 Release를 호출하여 분리할 수 있음.
이름을 입력 받고 Notify 메소드로 전파.
Library Examples
- With Values
value<T> 클래스 생성.
- 새로운 값이 들어올 때마다 std::equal_to<T>를 이용해 검사
- EqualityComparable하지 않다면 같지 않은 것으로 분류.
- 새 값이 기존 값과 같지 않다면(변화되었다면) Notify
관심 있는 값에 대해 Observe
- 이름이 변경될 때마다 구독된 함수 호출
Library Examples
- With Properties
Observable_property 선언.
- 기본적으로는 value<T>와 같음.
호출할 함수 구현.
- 이것 역시 앞 예제와 같음.
출처
-
Observable Library : https://github.com/ddinu/observable
Post : https://danieldinu.com/posts/observable-cpp-library/

More Related Content

PDF
R2서버정진욱
PDF
웹 서버 실행 환경
PDF
Optimizing merge program
PPTX
7가지 동시성 모델 - 6장. 순차 프로세스 통신
PPT
Gfs Kyu
PDF
배치잡 대외용 이형규
PPTX
TBB 소개
PDF
NET 최선단 기술에 의한 고성능 웹 애플리케이션
R2서버정진욱
웹 서버 실행 환경
Optimizing merge program
7가지 동시성 모델 - 6장. 순차 프로세스 통신
Gfs Kyu
배치잡 대외용 이형규
TBB 소개
NET 최선단 기술에 의한 고성능 웹 애플리케이션

Similar to Observable c++ expressions using the observable library 이근원 (20)

PDF
Angular Library
PPTX
몽고디비교육1일차
PDF
2023.06.12 발표 자료 : JPA / 스프링 구조
PDF
스프링 스터디 1장
PPTX
[오픈소스컨설팅]인프라 자동화 도구 Chef
PDF
Java 이해하기 쉬운 코드 20210405
PDF
Java 이해하기 쉬운 코드 20210405
PDF
Java 이해하기 쉬운 코드
PDF
github actions kubernetes 설치&운영하기
PPTX
Data-binding AngularJS
PDF
[17.02.09] Github introduction (Korean Version)
PPTX
[170403 2주차]C언어 A반
PDF
12books
PDF
Opensource java library deploy public repository
PPTX
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법
PPTX
Pcl 라이브러리 빌드_튜토리얼
PDF
Angular CodeLab 두번째
PPTX
Making the neo pixel library for mblock extension
PDF
Git: A Motivating Introduction
PDF
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
Angular Library
몽고디비교육1일차
2023.06.12 발표 자료 : JPA / 스프링 구조
스프링 스터디 1장
[오픈소스컨설팅]인프라 자동화 도구 Chef
Java 이해하기 쉬운 코드 20210405
Java 이해하기 쉬운 코드 20210405
Java 이해하기 쉬운 코드
github actions kubernetes 설치&운영하기
Data-binding AngularJS
[17.02.09] Github introduction (Korean Version)
[170403 2주차]C언어 A반
12books
Opensource java library deploy public repository
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법
Pcl 라이브러리 빌드_튜토리얼
Angular CodeLab 두번째
Making the neo pixel library for mblock extension
Git: A Motivating Introduction
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
Ad

Observable c++ expressions using the observable library 이근원

  • 1. Observable C++ expressions using Observable Library - NHN NEXT 이근원
  • 2. Index 1. Observable C++ Expression 2. Observable Library 1. Features & Setting 2. Using Subject 3. Using Value 4. Using Property
  • 3. Observable C++ Expression - With Average Example 일반적으로 우리가 두 수의 평균을 구하는 방법. 값이 바뀌면 다시 평균을 계산한다. 요걸 Observable library를 사용하면... 값이 얼마가 변하던 다시 계산해줄 필요가 없다! 구독 메소드를 이용해 코드를 reactive하게 만들 수 있다. -> Observable 라이브러리를 사용해 볼까?
  • 4. Observable Library - Feature github : https://github.com/ddinu/observable - Header-Only 라이브러리라 사용하기 쉽다. - MSVC15 (VS 2017), GCC 5.4, 6.2, Clang 3.6~3.9 지원 - 손쉽게 Reactive Programming이나 Observer pattern을 구현할 수 있다.
  • 5. Observable Library - Setting 다들 아시겠지만~~ 사용법 - Observable 라이브러리의 Github에서 다운로드. - Header Only 라이브러리기 때문에 디렉토리 설정만 해주면 된다.
  • 7. Library Examples - With Subject subject<T> 클래스 생성. - 인자로 받은 형태를 내부에 std::function 형태로 저장. - 내부 저장소는 Thread-safe 하지만 함수 호출 순서는 특정할 수 없음. 관심 있는 주제에 대해 구독. - Subscribe : Subscribe 오브젝트를 반환. - 오브젝트는 Unsubscribe를 위해 보관. - 혹은 Release를 호출하여 분리할 수 있음. 이름을 입력 받고 Notify 메소드로 전파.
  • 8. Library Examples - With Values value<T> 클래스 생성. - 새로운 값이 들어올 때마다 std::equal_to<T>를 이용해 검사 - EqualityComparable하지 않다면 같지 않은 것으로 분류. - 새 값이 기존 값과 같지 않다면(변화되었다면) Notify 관심 있는 값에 대해 Observe - 이름이 변경될 때마다 구독된 함수 호출
  • 9. Library Examples - With Properties Observable_property 선언. - 기본적으로는 value<T>와 같음. 호출할 함수 구현. - 이것 역시 앞 예제와 같음.
  • 10. 출처 - Observable Library : https://github.com/ddinu/observable Post : https://danieldinu.com/posts/observable-cpp-library/