| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
- 토이프로젝트
- SOPT
- SWIFT
- sopt ios
- sopt 35기
- 자바
- swift concurrency
- 프로그래머스
- 자바 스터디
- 플러터
- IOS
- 새벽녘 소소한 기록
- Flutter Toy Project
- java
- 영화후기
- 일기
- 리뷰
- 자바공부
- 키노
- 티스토리챌린지
- TCA
- 영화
- 영화리뷰
- 오블완
- 코딩공부
- 독서일기
- 영화기록
- 영화일기
- 백준
- Flutter
- Today
- Total
목록TCA (4)
새벽의 기록
지난 글에서 이어지는 내용입니다.https://dawning-record.tistory.com/143 [iOS] Clean Architecture 기반 이미지 업로드 파이프라인 구축기 (feat. AWS S3/TCA)YAPP 27기 iOS 파트원으로써 참여한 Neki 프로젝트의 1차 스프린트에서 앱의 핵심 기능 중 하나인 이미지 업로드 기능을 구현했습니다.단순히 API를 호출하는 것을 넘어, AWS S3의 Presigned URL 방식을 도dawning-record.tistory.com 네트워크 파이프라인은 뚫렸는데, 정작 고해상도 이미지를 여러 장 선택하니 앱이 버벅이며 기기가 뜨거워지는 현상을 목격했습니다.이번 글에서는 업로드를 위해 이미지를 데이터 엔티티로 변환하는 '전처리 과정'에서 발생한 메모리..
YAPP 27기 iOS 파트원으로써 참여한 Neki 프로젝트의 1차 스프린트에서 앱의 핵심 기능 중 하나인 이미지 업로드 기능을 구현했습니다.단순히 API를 호출하는 것을 넘어, AWS S3의 Presigned URL 방식을 도입하고, TCA(The Composable Architecture)와 Clean Architecture 원칙을 준수하며 데이터 흐름을 설계하는 데 집중했습니다. 특히 다중 이미지 업로드 시의 동시성 제어와 네트워크 계층의 유연성을 확보하기 위해 고민했던 과정을 기록합니다. https://github.com/YAPP-Github/27th-App-Team-2-iOS/pull/57 [Feat] #53 - S3 이미지 업로드 파이프라인 Core 모듈 통합 및 재사용성 개선 by OneTe..
앱은 단순히 더하기 빼기만 하지 않는다. API 통신, 타이머, 데이터 저장 같은 복잡한 요구사항과 작업들을 해야 한다. TCA에서는 이를 Effect라고 부른다. 목표: 지난번 만든 카운터 앱에 "1초 뒤에 증가하기" 버튼 추가.Reducer는 순수 함수여야 한다. 즉, 같은 입력(State, Action)이 들어오면 항상 같은 결과가 나와야 한다. 하지만 DispatchQueue.main.asyncAfter 같은 건 순수하지 않다.그래서 TCA는 return .none 대신 return .run { send in ... } 을 사용해서 비동기 작업을 수행한다. import SwiftUIimport ComposableArchitecture@Reducerstruct CounterFeature { @..
UIKit만을 사용하던 과거와는 달리, 최근 흐름에 속하는 SwiftUI에서의 데이터 바인딩은 굳이 ViewModel을 두지 않더라도 View 자체에서 프로퍼티 래퍼를 사용하는 방식으로 구현할 수 있다. 다만 "비즈니스 로직까지 View에서 처리해야 하는가?"라는 질문에 대한 답이 "No"라면, 이에 대한 해결책으로 등장하는 흐름이 "단방향 데이터 흐름 (Unidirectional Data Flow)"이다. 여기서 데이터 바인딩이 아니라 비즈니스 로직을 View로부터 보다 효율적으로 분리하는 과정에서 떠올리게 된 단방향 데이터 흐름 구조가 Flux였고, TCA는 이 단방향 데이터 흐름이라는 Flux 컨셉을 받아 발전시킨 아키텍처 라이브러리다. ✔️선언형 프로그래밍 방식 (SwiftUI)에서 적합한 데이터..