bloomLog

고정 헤더 영역

글 제목

메뉴 레이어

bloomLog

메뉴 리스트

  • 홈
  • 태그
  • 분류 전체보기 (28)
    • iOS (19)
      • RxSwift (14)
      • Swift (4)
    • Temporary (2)
    • 개발일기 (4)
    • 네이버 부스트캠프 (1)

검색 레이어

bloomLog

검색 영역

컨텐츠 검색

전체 글

  • TMDB에서 생긴일 - 2

    2025.05.24 by kimrindev

  • TMDB에서 생긴일 - 1

    2025.05.11 by kimrindev

  • [RxSwift] Debugging & KVO

    2025.01.21 by kimrindev

  • [CS] Short - Circuit Evaluation

    2025.01.11 by kimrindev

  • [RxSwift] Playground & Error Handling

    2025.01.08 by kimrindev

  • [RxSwift] Infallible

    2025.01.03 by kimrindev

  • [RxSwift] Operator

    2025.01.01 by kimrindev

  • [RxSwift] Sharing Subscription and the share Operator

    2024.12.26 by kimrindev

TMDB에서 생긴일 - 2

왜 Combine을 쓰게 됐을까? 그리고 그 선택은 나에게 어떤 문제를 던졌는가 앱을 리팩토링하면서 가장 먼저 떠올랐던 고민은 “데이터 흐름을 어떻게 깔끔하게 정리할 수 있을까?” 였다.기존에는 RxSwift를 써봤던 경험이 있어서 흐름 자체는 익숙했지만, 이번 프로젝트에서는 Combine을 처음으로 써보고 싶었다. 가장 큰 이유는 Swift에서 공식적으로 제공하는 프레임워크이기도 하고, Apple 생태계 안에서 좀 더 자연스럽게 녹아드는 구조를 경험해보고 싶었기 때문이다. 내가 구성한 구조는 꽤 단순하고 이상적이었다.TMDB API를 호출해 데이터를 ViewModel에서 받아오고@Published로 선언한 배열에 데이터를 넣고ViewController에서는 Combine으로 .sink를 걸어주고데이터가..

개발일기 2025. 5. 24. 00:29

TMDB에서 생긴일 - 1

상영 중 영화만 검색? 그게 전부는 아니었다 처음에는 상영 중인 영화만 검색할 수 있도록 기능을 구성했었다. 근데 가만 생각해보니까,"영화 검색이라는 게 꼭 상영 중인 영화만 대상으로 해야 하는 걸까?" 라는 생각이 들었다. 단순히 예매만 하려는 게 아니라, 이미 본 영화나 시리즈 전작이 궁금할 수도 있고, 개봉 예정작을 찾아보려는 사용자가 분명 있을 거라고 생각했다. 예를 들어 을 보고 나서 전편이 뭐였지? 하며 검색할 수도 있는 거고, 상영 끝난 영화가 입소문 타면서 다시 궁금해질 수도 있는 거니까.그래서 사용자의 검색 목적은 단순히 예매가 아니라 더 넓은 탐색에 있다고 판단했고, 상영 중 영화로만 범위를 제한하는 건 오히려 불편함을 줄 수 있다는 생각에 전체 영화 검색 기능을 추가하게 됐다.TMDB..

개발일기 2025. 5. 11. 00:20

[RxSwift] Debugging & KVO

Debugging Compile ErrorsWhen writting elegant RxSwift/RxCocoa code, you are probably relying heavily on the compiler to deduce types of Observables. This is one of the reasons why Swift is awesome,but it can also be frustrating sometimes. RxSwift/RxCocoa 코드를 작성할때, 컴파일러가 Observable의 타입을 유추하도록 크게 의존하게 됩니다. 이는 Swift가 멋진이유중 하나이지만, 때론 좌절감을 줄수도 있습니다.(아마 타입 추론과 연관된 얘기인듯? ) RxSwift는 클로저와 제네릭을 자주사용함, 이로인..

iOS/RxSwift 2025. 1. 21. 22:37

[CS] Short - Circuit Evaluation

단락평가 short-circuit Logic은 논리연산에서 불필요한 계산을 건너뛰는 동작방식을 의미합니다. 논리 연산이 이미 결과를 확정지었을때 , 나머지 연산을 수행하지 않고 종료하는 최적화 기법 입니다. 예시로는 논리연산에서 AND 연산자(&&)와 같이 두 조건중 하나라도 false라면 결과는 항상 false입니다. 따라서 첫번째 조건이 false인 경우, 두번째 조건은 평가 하지 않습니다.또는 OR연산자(||) 와 같이 두조건중 하나라도 true 라면 결과는 항상 true 입니다. 따라서 첫번째 조건이 true라면, 두번째 조건은 평가하지않습니다.  && 와 || 은  단락 평가에 따라 반환하는 값이 결정**이 된다는 특징이 있다.정리하자면 최적화 기법은 && 연산자 || 연산자를 사용할때 쓸수 있..

Temporary 2025. 1. 11. 21:00

[RxSwift] Playground & Error Handling

PlaygroundsIf you are unsure how exactly some of the operators work, playgrounds contain almost all of the operators already prepared with small examples that illustrate their behavior.RxSwift의 연산자(operators)가 정확히 어떻게 작동하는지 확실하지 않다면, Playgrounds에서 제공되는 작은 예제를 확인할 수 있습니다.Playgrounds에는 **거의 모든 연산자에 대한 예제**가 준비되어 있으며, 이를 통해 연산자의 동작을 쉽게 이해할 수 있습니다.  To use playgrounds, please open Rx.xcworkspace, bu..

iOS/RxSwift 2025. 1. 8. 23:05

[RxSwift] Infallible

Infallinble is another flavor of `Observable` which is identical to it, but it's guaranteed to never fail and thus emit error. This means that when creating your own Infallible (using Infallible.create or one of the method mentioned in "Creating your first Observable"), you will not be allowed to emit errors.   Infallible은 Observable의 또 다른 유형 으로, Observable과 동일하지만 절대 실패하지 않으며, 에러를 방출할수 없습니다. 즉,I..

iOS/RxSwift 2025. 1. 3. 21:00

[RxSwift] Operator

There are numerous operators implemented in RxSwift > Marble diagrams for all operators can be found on ReacitveX.io RxSwift에는 수많은 연산자가 구현되어 있습니다.모든 연산자의 Marble Diagram 은 Reactive.io 에서 확인할수 있습니다.  Almost all operators are demonstrated in Playgrounds [https://github.com/ReactiveX/RxSwift/tree/main/Rx.playground]To use playgorunds please open `Rx.xworkspace` , build `RxSwift-macOS` scheme and the..

카테고리 없음 2025. 1. 1. 21:00

[RxSwift] Sharing Subscription and the share Operator

But what if you want that multiple observers share events (elements) from only one subscription? 만약 여러 Observer가 하나의 구독에서 생성된이벤트(요소) 를 공유하도록 만들고 싶다면 어떻게 해야할까요?   There are two things that need to be defined   1. How to handle past elements that have been recevied before the new subscriber was interested in observing them (replay latest only, replay all, replay last n). 2. How to decide when to f..

iOS/RxSwift 2024. 12. 26. 21:00

추가 정보

인기글

최신글

페이징

이전
1 2 3 4
다음
TISTORY
bloomLog © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바