728x90

 

2월 27일 일요일 / 35일 차

 


 

Part 4 - CH 05, 06, 07

RxSwift, RxCocoa, MVVM 복습

 

 

 

RxSwift 복습 중

 

 

내용 요약
RxSwift

구성 요소
 - Observable
    - Rx 코드의 기반
    - T 형태의 데이터 snapshot을 '전달' 할 수 있는 일련의 이벤트를 비동기적으로 생성하는 기능
    - 하나 이상의 observers가 실시간으로 어떤 이벤트에 반응
    - 세 가지 유형의 이벤트만 방출
 - Operator
    - 주로 비동기 입력을 받아서 출력만 생성하기 때문에 퍼즐처럼 자신들끼리 조합하고 결합할 수 있다
 - Scheduler


Observable
 - Rx의 심장
 - Observable = Observable Sequence = Sequence
 - 비동기적(asynchronous)
 - Observable 들은 일정 기간 동안 계속해서 이벤트를 생성(emit)
 - marble diagram: 시간의 흐름에 따라서 값을 표시하는 방식
 - 참고하면 좋을 사이트: RxMarbles

Single
 - Success 또는 Error 이벤트를 한번만 방출하는 Observable

Maybe
 - 성공적으로 Complete 되더라도 아무런 값을 방출하지 않는 형태의 Complete을 포함함

Completable
 - Completed 또는 Error 만 방출함
 - Completable Create를 이용하여 생성 (Single이나 Maybe처럼 as로 Observable을 변환할 수 없음)
 - 어떠한 값도 방출하지 않음
 - 동기식 연산의 성공 여부를 확인할 때 유용함

Subject
 - Observable이자 Observer
 - PublishSubject : 빈 상태로 시작하여 새로운 값만을 subscriber에 방출한다
 - BehaviorSubject : 하나의 초기값을 가진 상태로 시작하여, 새로운 subscriber에게 초기값 또는 최신값을 방출한다
 - ReplaySubject : 버퍼를 두고 초기화하며, 버퍼 사이즈 만큼의 값들을 유지하면서 새로운 subscriber에게 방출한다

Filtering Operator
 - .next이벤트에 조건부 제약 조건을 적용해 처리하고자 하는 요소만 받을 수 있도록 할 수 있다

Transforming Operator

Traits
 - Single
 - Maybe : Single과 유사하지만 completed 이벤트까지 포함함
 - Completable : complete와 failure만 가짐

subject
 - PublishSubjext<T>() : 이벤트를 내뿜다가 Subscribe가 나타나면 그 시점 이후에 발생한 이벤트만 전달하는 개체
 - BehaviorSubject<T>(value: T) : 초기값을 가짐, Subscribe가 나타나면 이후에 발생한 이벤트를 전달함 뿐만 아니라 발생한 시점 이전의 값까지 전달
 - ReplaySubject<T>.create(bufferSize: Int) : 버퍼 사이즈 만큼의 저장소를 가지고 있어서 뒤늦게 나타난 이벤트여도 버퍼 사이즈 만큼의 이벤트를 전달하고 이후의 이벤트도 전달함

Filtering Operators (방출한 값을 받아 다양한 규칙으로 걸러냄 )
 - Filter : 클로저 내부의 true, false로 나타낼 수 있는 조건문을 작성하고, 조건문의 true로 대응하는 값만 결과로 전달함

Transforming Operators (방출한 값을 받아 원하는 형태로 다양하게 변형하여 결과로 나타냄)
 - Map : hint타입의 element를 내뿜는 Observable의 이벤트를 받아서 String으로 바꿔서 결과를 내보냄

Combining Operators (Filtering, Transforming Operators 처럼 Sequence의 출력값을 핸들링해서 결과값을 내뿜는다는 점에서는 동일하지만 여러가지 Sequence를 조합한다는 점에서 다름)

Time Based Operators (시간에 따라 Sequence의 이벤트 방출이나, Subscribe을 제어하는 Operators)

RxCocoa (Cocoa 프레임워크를 Rx로 감싸은 것)

 

 


 

 

Time Based Operators 복습

 

 

복습할 내용

 

- RxSwift

 - RxCocoa

- MVVM

 

 

 

 

오늘의 공부 후기

 

오늘은 가장 최근에 배웠지만 중요한 내용들인 RxSwift, RxCocoa, MVVM에 대해 복습하는 시간을 가졌습니다.

1회독을 할 때 직접 타이핑하면서 하니 이해도가 약간 떨어지는 듯하여 헷갈렸던 부분을 복습하며 이해하려고 노력했습니다.

 

RxSwift에 대해서 전반적인 내용 정리는 됐으나 직접 사용하기에는 어려운 점이 남아있었으며,

MVVM 역시 기본 개념이나 사용하는 이유 등은 알았지만 리팩토링 하는 방법,

MVVM으로 직접 개발할 수 있는 단계는 아니라고 느껴서 많은 연습이 필요할 것 같습니다.

 

챌린지도 이제 2주 정도 앞두고 있습니다.

헷갈리는 내용들이 조금 있다보니 생각했던 것만큼 진도를 빠르게 못 나가고 있지만

가장 심화과정인 파트 5에서 그동안 배운 내용을 토대로 진행하기 때문에

복습을 통한 확실한 이해가 필요하다고 생각됩니다.

 

 

 

 

 

 

 

 

 

https://bit.ly/37BpXi

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

 

 

 

728x90

+ Recent posts