반응형
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. . 어떠한 A 라는 기능을 개발하였고, 해당 기능을 테스트 하기 위해서 프로젝트 Run 을 하는 경우가 많습니다. 이 방법으로도 충분히 테스트가 가능하지만! 시간도 오래 걸릴 뿐더러 생산성을 저하시킬 수 있기 때문에 우리는 유닛 테스트 ( Unit Test ) 라는 것을 사용할 수 있습니다. 1. FIRST 원칙 유닛 테스트는 아래와 같이 FIRST 원칙을 지켜야 합니다. 속도 ( Fast ) 느린 테스트는 개발자가 코드를 수정하고 결과를 확인하기까지 시간이 걸려 생산성을 저하시킨다. 따라서 유닛 테스트에서는 빠른 속도로 테스트를 수행할 수 있도록 설계해야한다. 독립적 ( Independent / Isolated ) 유닛 테스트는 각각의 테스트가 독립적으..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 지난 글에서는 간단히 Combine에 대해 알아보았습니다. . 간단히 요약하면 Apple에서 2019년에 만든 프레임워크로서, RxSwift와 같이 비동기 프로그래밍을 간단하게 처리가 가능하다 입니다. [Combine] Combine 이란? 안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 요즘 RxSwift 공부를 통해 비동기 프로그래밍에 대해 블로그도 작성하고 있는데, First-Party 인 Combine 이라는 것이 있더라구요! . 마찬가지 beanistory.tistory.com 이번 포스팅에서는 지난 글에 이어 Publisher, Subscriber에 대해 알아보도록 하겠습니다. 1. 개요 Combine의 핵심은 전부 프로토콜로 이루어져있습니다..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. . 오늘은 제가 다녀온 유물전 전시회에 대해 포스팅 해볼까 합니당. 바로 폼페이 유물전 - 그대, 그곳에 있었다 위치 : 더현대 서울 ALT.1 기간 : 24.01.13 ~ 05.06 이번 유물전의 경우 얼리버드 티켓을 구매하여 저렴하게 다녀왔습니다! . 포스터에 나와 있듯이 한-이탈리아 수교 140주년 기념 특별 전시인 만큼 기대가 매우 되었습니다! . 사실 저의 경우 폼페이 유물전이라 했을 때, 단순히 과거 폼페이 시대의 조각상, 도자기 등 미술품만 전시해 놓은 곳인줄 알았습니다! 하지만 실제 유물전을 보면 단순 미술품을 떠나 그리스-로마 시대의 신의 모습이나 배경이 묻어나있는 작품이 많아 너무나 흥미롭고 재미있는 전시였습니다!! 얼리버드 티켓의 경우..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 요즘 RxSwift 공부를 통해 비동기 프로그래밍에 대해 블로그도 작성하고 있는데, First-Party 인 Combine 이라는 것이 있더라구요! . 마찬가지로 Combine 또한 Apple에서 자체적으로 개발한 비동기 프로그래밍을 지원하는 프레임워크입니다. ( Apple 에서 개발한 RxSwift 라고 보면 됨 크크 🧐 ) . 여튼! Combine에 대해서도 차근차근 공부하며 블로그 작성을 해보도록 하겠습니다. 그럼 시작합네다✋🏻 1. Combine 이란 2019년 Apple에서 만든 새로운 비동기 프로그래밍 프레임워크. Combine | Apple Developer Documentation Customize handling of asynchronou..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘은 Share 에 대해 알아보도록 하겠습니다. . Share에 대해 알아보기 전! Observable의 간단한 특징 하나만 보고 가도록 하겠습니다. . - Observable은 Subscribe 될때마다 Create을 호출해 Observable을 생성합니다. - Observable은 Subscribe를 한 횟수만큼 Subscription 시퀀스를 생성됩니다. . . 이러한 사실을 기억하고 Share에 대해 알아보도록 하겠습니다. 1. Share 1-1. Share 사용 X 바로 소스를 통해 확인하도록 하겠습니다. [ 코드 ] // API 요청이라고 가정 let reqAPI = Observable.of(100).debug("reqAPI(No Share..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘은 Traits에 대해 알아보도록 하겠습니다. 1. Traits 이란. UI 처리에 특화된 Observable 직관적이고 작성하기 쉬운 코드에 도움이 되는 Observable .asObservable 사용시 다시 기본 Observable로 돌아갈 수 있음. 2. Single 1개의 요소를 포함하는 Observable Success(value) 이벤트 또는 Error 이벤트를 한번만 방출합니다. Success = Next + Completed 로 볼 수 있습니다. 즉 Success 가 발생하면 해당 single 은 종료됩니다. 즉 하나의 원소나 에러를 방출하도록 보장된 Observable 의 변형입니다. Single.create { single in s..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 이번 포스팅에서는 Debounce 와 Throttle에 대해 알아보도록 하겠습니다. 1. Debounce 입력 > 입력 안되고 대기 > 일정 시간 후 입력 주로 텍스트 필드 입력에 사용 소스 ( 버튼 클릭 이벤트에 적용 ) debounceBtn.rx.tap.asDriver() .debounce(.seconds(3))// 3초 대기 입력 .drive(onNext: { [weak self] in self?.debounceCount += 1 self?.debounceLabel.text = "\(self?.debounceCount ?? 0)" }) .disposed(by: disposeBag) 2. Throttle 입력 > 바로 입력 > 대기 주로 중복 입력 방..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂입니다. 이번 포스팅에서는 Observable에서 파생된 Driver라는 개념에 대해 알아보도록 하겠습니다. 1. Driver Driver는 기본적으로 Observable에서 파생 Driver은 Main Thread에서 작업하고 싶을 때 Observable 대신 사용할 수 있습니다. . . 즉! UI 작업에 적합하다~ . . Observable 의 경우, 기본적으로 Background Thread에서 작업하므로 Main Thread에서 작업을 하기 위해서는 별도의 명시가 지정해줘야 하지만 Driver는 그러지않아 보다 편리하게 사용할 수 있습니다. . Driver로 변환하고 싶을 때 asDriver() 을 사용하면 된다. 1. asDriver 의 경우 asObser..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. . . "멤피스"에 이어 제가 두 번째 뮤지컬을 보고 왔습니다! 사실 본지는 좀 됐는데 이제야 글 쓰는건 안비밀 . . 저는 어렸을 때부터 탐정 추리! 이런 장르들을 좋아했숨돠! 그래서 그래서 그래서~~ 이번 뮤지컬은 바로바로바로~~ . 뮤지컬 [ 셜록홈즈 : 앤더슨가의 비밀 ] - 서울 장소 - 두산아트센터 연강홀 공연기간 - 23.09.14 ~ 23.11.12 제가 뮤지컬을 봤던 날의 배우진분들 입니다! 뮤알못(?)인 저는 여전히 모르는 분들이였으나 연기력 만큼은 만점이셨습니다! . . 보기 전 포토 존에서 사진 찍는걸 잊으면 안되죠! 쿄쿄 셜록홈즈는 영국의 배경을 두고 있는 작품이다보니, 포토존과 소품들 역시 영국 분위기를 물씬 풍기고 있었숨돠 ㅎ..
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️ 입니다. 이번 포스팅에서는 Subject에서 파생된 Relay라는 개념에 대해 알아보도록 하겠습니다. Subject에 생소하신 분들은 아래 포스팅을 참고해주시면 감사드리겠습니다. [ RXSwift ] Subject 안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️ 입니다. 이번 포스팅에서는 RxSwift에서 자주 사용하는 개념인 Subject에 대해 알아보도록 하겠습니다!! 1. Subject Observer 이자 Observable 입니다. Observe beanistory.tistory.com 1. 개요 Relay의 경우 RxSwift에서 제공되는 것이 아니라 RxCocoa에서 제공하고 있습니다. 왜냐하면 Relay를 사용하여 UI 이벤트를 쉽게 구현하고 처리할 ..