🤯 안드로이드 개발자 충격! iOS TCA 살펴보기. 이 방식이 맞는걸까? 🤯

🤯 안드로이드 개발자 충격! iOS TCA 살펴보기. 이 방식이 맞는걸까? 🤯

이 글은 Android 개발자인 필자가 TCA 일부를 사용해 보고 경험한 내용을 바탕으로 정리하였고, 이 방식이 맞는 것일까의 내용을 포함한다.

오류가 있을 수 있으니 오류가 있다면 적극 알려주면 좋겠다.

TCA는 iOS에서 요즘 많이 활용하고 있는 The Composable Architecture이다.

TCA는 다음을 기준으로 한다.

  • State management
  • Composition
  • Side effects
  • Testing
  • Ergonomics

하지만 실제 사용해 보면 리덕스라고 보는 것이 맞다. 웹에서는 리덕스가 너무 복잡하기 때문에 사용하지 않는 걸로 들었다.

실제 TCA도 매우 복잡한 구조를 가지고 있지만 swiftUi와 함께 사용하기에는 좋다고 한다.

이 글에서는 안드로이드 개발자가 가볍게 TCA를 사용하면서 경험한 내용을 정리해 본 글이니 참고만 하시길.(오류는 언제나 댓글로)

이 글에서는

  • 필자가 생각하는 Composable 구조는?
  • 간단한 샘플 코드를 통한 알아보기

Read More

😱 2025 안드로이드 탐구영역, Coroutines Flow 때문에?! (feat. 쉬운 해설)

😱 2025 안드로이드 탐구영역, Coroutines Flow 때문에?! (feat. 쉬운 해설)

이 글은 2025 안드로이드 탐구 영역에 나온 문제 중 flow와 관련한 문제를 해석한 글이다.

안드로이드 탐구 영역 후기 글

무슨 문제인가?

코루틴 flow에 대한 문제가 크게 2문제가 있었다. 이 중 코루틴 영역에 포함한 1개의 문제를 살펴보려 한다.

이 문제는 StateFlowflow {}를 복합적으로 사용하는 문제이다.

이 문제에 나오는 Flow에 대한 내용은 이전에 필자의 블로그에 작성했던 다양한 글이 있으니 링크를 추가한다.

이 글에서는

  • 2025 안드로이드 탐구 영역에 나온 문제 일부를 정리한다.
  • Coroutiens flow에 대한 이해가 필요하다.

Read More

(😨 오류 정정) 🤔 2025년도에도 개발자들은 코루틴 예외 처리 때문에 밤샘각? 😨 (2025학년도 안드로이드 탐구영역 문제풀이)

(😨 오류 정정) 🤔 2025년도에도 개발자들은 코루틴 예외 처리 때문에 밤샘각? 😨 (2025학년도 안드로이드 탐구영역 문제풀이)

이 글은 2025 안드로이드 탐구 영역에 나온 문제 중 일부를 해석하는 글의 형태로 작성합니다. 문제 전체를 담지 않고, 중요한 해설을 작성합니다.

정정

24.12.11 해석에 오류가 있으며, 코드 검증 과정에서 오류를 확인하여 수정합니다.

댓글로 오류가 있다고 알려주신 Larry, 송준영님 감사합니다.

안드로이드 탐구 영역 후기 글

어떤 문제일까?

코루틴 Exception 발생 시 예외 범위를 물어보는 질문에 대한 해석을 담는 글이다.

대략 적어보면

- 최상위 Job A는 viewModelScope.launch로 생성되고 내부에서 B, C를 생성한다.
- B에서는 coroutineScope 내에서 D, E를 생성한다.
- C에서는 withContext(Dispatchers.IO) 내에서 F를 생성한다.

모든 Job이 Finish 되었다고 가정

A-F까지 모두 Job이 리턴된다는 사실과 모든 Job이 동작 완료되었을 때를 가정한다.

이 부분에 대한 글은 이미 과거에도 작성했어서 링크를 추가해두겠다.

이 두 개의 글을 이해한다면 사실 해석할 필요도 없지만, 새로운 마음으로 글을 적어본다.

이 글에서는

  • 2025 안드로이드 탐구 영역에 나온 문제 일부를 정리한다.
  • Job에 대한 이해가 필요하다.

Read More

Kotlin Coroutines Flow의 Cold/Hot flow(Stream)의 데이터 흐름(Data flow) 이해해 보기

이전 글에서 데이터 흐름(Data flow)을 이해해 보는 데 있어 필요한 것은? 짝퉁 개발자처럼 논하기란 주제로 글을 작성했다.

이번 글에서는 이 글에 나온 내용 중 Coroutines Flow에 대한 데이터 흐름을 이해하기 위한 글을 작성해 보았다.

이 글에서는

  • Coroutines Flow
  • 지속적인 흐름
  • Cold/Hot stream
  • ReactiveX에서 제공하는 subject에 대해서 이해하기

Read More

데이터 흐름(Data flow)을 이해해 보는 데 있어 필요한 것은? 짝퉁 개발자처럼 논하기

데이터 흐름(Data flow)을 이해해 보는 데 있어 필요한 것은? 짝퉁 개발자처럼 논하기

제미나이에게 개발에서 데이터 흐름이란?를 알려달라고 했다.

개발에서 데이터 흐름은 어떤 시스템이나 소프트웨어에서 데이터가 생성되고, 변환되며, 저장되고, 전송되는 과정을 의미합니다. 마치 물이 강을 따라 흐르듯이, 데이터는 시스템 내에서 특정한 경로를 따라 이동하며 가치를 창출합니다.

위키백과도 한번 확인해 보았다.

위키 백과 데이터 흐름 - 링크

데이터 흐름(Data flow, 데이터 플로)란 하나의 작업을 수행하기 위하여 실행되는 각각의 세부 작업들 사이에서 자료가 입력되고 출력되는 모습을 의미한다.

결국 같은 말이다.

우리가 매우 흔하게 사용하는 데이터 흐름을 가볍게 이해하는 표현으로 서문을 작성해 보았다.

이 글에서 데이터 다양한 데이터 흐름을 이해하는 데 도움이 될만한 내용을 정리해 본 글인데, 실제 함수 위주이니 참고만 한다고 생각하길

이 글에서는

  • 함수의 blocking vs nonblocking
  • Observer pattern + stream
  • UDF(unidirectional data flow)
  • 매우 주관적으로 작성한 글이다.
  • 데이터 흐름(Data flow)에 대한 새로운 형태를 만드는 짝퉁 설명이니 재미로 읽기를

Read More